学生成绩管理系统正文Word格式文档下载.docx
《学生成绩管理系统正文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统正文Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
在开发平台和数据库系统选择方面VisualBasic6.0是面向单个开发人员的用于构建部门客户端/服务器Windows应用程序和网站的高度集成的开发环境。
通过VisualBasic6.0可以很容易地使用开发环境构建Windows、Web和客户设备应用程序。
并整合了MSAccess2007数据库系统。
校园已正常运行;
开发人员已熟练掌握面向对象的开发工具;
教务人员已实现计算机培训,技术上实现系统是可行的。
2.2经济可行性
本方案由于采用网络方式,因此投入比较多,但此系统建成后,可以实现资源共享,支持选课制,可以直接进行信息的查询以及修改,。
本系统运行后可以节省不少人员,每个人的工资大概都在一万五左右,因此可以带来一些经济效益。
另外,可以省去打印分析的时间,直接用系统进行分析就可以看到最直接的结果。
从经济上说是可行的,另外使用此系统可以减少人为的失误,准确方便,还可带来其他方面的经济效益。
2.3管理可行性
学校规模的不断扩大,学生数量的急剧增加,学生的各种信息量也在不断增长。
面对庞大的信息量,就需要有学生成绩管理系统来提高学生管理工作的效率。
通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。
2.4系统运行可行性分析
本系统使用之后,组织机构上肯定有一定的变动,但这都是局部的,不会影响整个组织。
此为网络系统,可以通过安装防火墙连接到校园网。
由于本软件界面友好,易学易用,方便,因此,对现有人员基本不用进行培训。
所以,具有系统的运行可行性。
3需求分析
3.1、学生成绩管理系统功能需求简介
由于本软件主要是为我系定制开发的,因此针对我系学生成绩管理的实际工作而言,我们经过了反复地论证,最终确定了学生成绩管理系统的设计方案。
该学生成绩管理系统的主要功能为:
(1)掌握每个学生每一门课的成绩信息,并记录在数据库中以便其他管理信息系统的使用;
(2)分权限的管理。
在成绩管理中,系统管理员可以对任何一个学生的成绩进行查询和管理;
但是对学生类用户,它只能对自己的成绩进行查看,而且不能对其进行更改。
(3)系统管理员类用户可以对成绩按照课程进行管理,可以对每一门课所修的学生进行添加、删除和修改;
(4)系统管理员类用户可以对成绩按照学生进行管理,可以对每一门课所修的学生进行添加、删除和修改;
(5)可以针对某一门课的学生列表及其成绩生成报表,并打印;
(6)可以针对某一个学生所选课程及其对应的成绩生成报表,并打印。
3.2、功能需求描述
(1)用户管理功能
用户分为系统管理员用户和学生用户两类。
不论是系统管理员用户,还是学生用户都需要通过用户名和口令进行登录。
系统管理员用户可以对所有的学生成绩进行增加、删除和修改。
(2)系统管理员对成绩的管理功能
系统管理员对成绩的管理可以从两个角度管理:
按照课程角度进行管理和按照学生角度进行管理。
系统管理员登陆该系统以后,可以对这两种方式进行选择。
1)按照课程角度进行管理
按课程角度管理系统管理员可以看到课程信息和成绩信息。
课程信息包括课程编号、课程名称、学时和课程类型。
当系统管理员用鼠标双击某一课程时,可以自动显示出该课程的所有学生的成绩信息,成绩信息包括选修这门课的学生的学号、姓名、班级和考试成绩。
并同时自动计算出所有学生的人数,以及所有学生的平均成绩。
在成绩信息中,系统管理员可以对学习成绩进行增加、修改和删除。
并能够打印报表。
2)按照学生角度进行管理
按学生角度管理系统管理员可以看到学生信息和成绩信息。
学生信息包括学号、姓名、班级、生日、性别、地址、电话和简历。
当系统管理员用鼠标双击某一学生信息时,可以自动显示出该课程的这个学生所有课程的学习成绩,并同时自动计算出这个学生的总分和平均分。
(3)学生对成绩的查看功能
学生用户登录后,学生可以看到自己的学生信息和成绩信息。
成绩信息包括这个学生的所有课程的成绩信息、总分及平均分。
学生可以打印成绩报表。
学生成绩管理系统功能模块图如图3.1所示。
学生成绩管理系统
管理员用户
学生用户
按课程角度进行增删改
按学生角度进行增删改
打
印
报
查询自己的考试成绩
表
图3.1学生成绩管理系统功能模块图
3.3、目标系统要求
目标系统应该达到以下要求:
(1)时间经济性。
优化逻辑设计与物理设计,使系统运行效率高,反映速度快。
(2)可靠性。
能连续准确的处理业务,有较强的容错能力。
(3)可理解性。
用户容易理解和使用该系统。
(4)可维护性和适应性。
系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
(5)可用性。
目标系统功能齐全,能够完全满足业务需求。
(6)安全保密性。
保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
3.4、系统平台选择
选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;
另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都非常容易,而且性能优越。
操作系统:
WindowsXP
数据库为:
MSAccess2007
开发工具与语言:
VisualBasic6.0中文版
4总体设计
4.1数据流程图
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。
仔细分析调查有关学生成绩管理信息需求的基础上,将得到本系统所处理的数据流程。
学生成绩管理系统数据流程图如图4.1所示。
图4.1学生成绩管理系统数据流程图
针对一般学生成绩管理信息系统的需求,通过对成绩管理过程的内容和数据流程分析,可以设计出该系统的数据项和数据结构:
(1)“学生信息”的数据项有:
学号、姓名、班级、生日、性别、地址、电话和简历等;
(2)“课程信息”的数据项有:
课程编号、课程名称、学时和课程类型等。
(3)“学生成绩信息”的数据项有:
学号、姓名、班级、选修课程、考试成绩等。
4.2、数据字典
数据字典是一种描述数据内容的概念模式。
它用表格的形式列出数据的基本属性以及相互关系,它的雏形是编写软件时的变量说明或标识符清单。
当软件系统越来越大的时候,这项内容就变得十分重要、十分复杂了。
当更适于记录各种细节,所以常常与其它描述工具相互补充、配合使用。
表4-1管理员表
项目
描述
数据存储编号
D1
数据存储名称
管理员表
简述
增加、修改、查询学生学籍
数据存储组成
学号+身份证号+高考号+姓名+性别+家庭住址+系部班级
相关联的处理
学籍管理,成绩管理,课程管理
表4-2学生表
描述
D2
学生表
登记学生信息
学号+姓名+性别+系部班级
成绩管理,课程管理
4.3、数据库概念结构设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的数据字典设计打下基础。
根据上面的设计可以规划出的实体有:
学生实体、课程实体和学生成绩信息实体。
各个实体具有的描述E-R图如4.2至图4.4所示。
(1)学生E-R图
图4.2学生E-R图
学生的属性有:
学号、改名、班级、简历等。
(2)课程E-R图
图4.3课程E-R图
课程属性有:
编号、名称、学时、类型等。
(3)学生成绩信息E-R图
图4.4成绩信息E-R图
成绩信息的属性有:
学号、姓名、课程、成绩等。
(4)总体E-R图
客观世界中的事物彼此之间往往都是有联系的。
数据对象彼此之间相互连接的方式称为联系,也叫关系。
从上面介绍我们来看一下本系统这些实体之间的关系:
学生实体与班级实体之间的关系是:
一个班级可有多个学生,一个学生在一个班级里。
因此,班级对学生是1:
n,学生对班级是n:
1;
班级实体与系实体之间的关系是:
一个系有多个班级,多个班级对应一个系。
因此,系对班级是1:
n;
班级对系的关系是n:
课程实体与学生实体之间的关系是:
一门课程由多个学生学,一个学生可学多门课程。
因此,课程对学生是1:
n,学生对课程的关系是n:
m。
班级实体与专业实体之间的关系是:
一个专业有多个班级,多个班级对应一个专业。
因此,专业对班级是1:
班级对专业的关系是n:
故本系统的关系图如图4.5所示:
图4.5总体E-R图
4.4、数据词典设计
该软件的数据库名称为“Score.mdb”,该数据库主要由下述三张表构成:
score:
成绩表
student:
学生信息表
course:
课程信息表
(1)score:
表4-3成绩管理表
字段名称
内容
类型
长度
备注
id
ID号
自动编号
长整型
studentID
学号
文本
整型
为主键之一,对应于student表的Serial字段
CourseID
课程编号
为主键之一,对应于Course表的Serial字段
Score
分数
数字
成绩管理它主要有ID号、学号、课程编号、分数等信息。
它主要的属性有:
ID、Studentid、CourseID、Score。
学号是主键之一。
(2)student:
表4-4学生的基本信息表
Name
姓名
文本
10
按姓名查询
Class
所属班级
5
按班级查询
Birthday
生日
日期时间
按年月查查询
Sex
性别
2
按性别查询
Address
家庭住址
30
籍贯
Tel
电话
15
联系方式
Resume
简历
500
个人简介
学生基本信息主要有姓名、所属班级、生日、性别、家庭住址、电话、简历。
并注明了其类型方便学生查询,它的主要属性表:
Name、Class、Birthday、Sex、Address、Tel、Resume。
(3)course:
表4-5课程管理表
Serial
50
主关键字
课程名称
按课程查询
Period
学时数
学习时间
typeid
课程类型
按分类查询
课程信息主要有课程编号、课程名称、学时数、课程类型。
并注释了类型和长度的规范便于查询,它主要的属性有:
Serial、Name、Period、typeid。
5系统的详细设计与实现
1、登陆界面编码设计
首先是进入登陆界面,如图5.1所示
5.1登陆界面
'
取得用户输入的用户名和密码
DimuserAsString,pwdAsString
user=txtUser
pwd=txtPwd
根据不同的身份,选择不同的表用以查询
DimrAsNewADODB.Recordset
DimstrSQLAsString
SelectCasegnUserType
Case0:
'
选择身份为系统管理员
strSQL="
select*fromteacherwherename='
"
&
user&
"
andserial='
pwd&
Case1:
选择身份为课程
select*fromstudentwherename='
EndSelect
PrivateSubForm_Load()
cboUserType.ListIndex=0
EndSub
2、主界面
该界面是用户登录成绩管理系统后的第一个界面,有一个菜单栏,菜单栏上有相应提示菜单,菜单项主要有修改密码、分配用户等只有系统管理员才能进行的操作,也可选择普通用户可以进行的操作。
其界面如图5.2所示:
图5.2主界面图
3、学生基本信息表界面
该界面可提供用户的基本信息和一些基本操作(如查询),其界面如图5.3所示:
图5.3学生基本信息图
4、修改界面
该界面主要提供给系统管理给用户修改密码,其界面如图5.4所示:
图5.4修改密码界面图
修改密码代码如下:
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox3.Text==textBox4.Text)
data.conn.Open();
//打开连接
//写SQL代码update语句
stringsestr="
select*fromuserswhere用户名='
+textBox1.Text;
sestr+="
and密码='
+textBox2.Text+"
;
data.cmd=newSqlCommand(sestr,data.conn);
data.dreader=data.cmd.ExecuteReader();
if(data.dreader.Read())
data.dreader.Close();
stringupstr="
updateusersset密码='
+textBox3.Text+"
where用户名='
+textBox1.Text+"
data.cmd=newSqlCommand(upstr,data.conn);
data.cmd.ExecuteNonQuery();
MessageBox.Show("
密码修改成功!
"
消息提示"
);
this.Close();
}
}
5、分配用户界面
该界面主要是用于系统管理员分配新的用户,其界面如图5.5所示:
图5.5分配用户界面图
分配用户代码如下:
stringselsql="
+textBox1.Text+"
data.cmd=newSqlCommand(selsql,data.conn);
data.dreader=data.cmd.ExecuteReader();
if(data.dreader.Read())
当前用户已经存在!
else
intqxjb=0;
switch(comboBox1.SelectedItem.ToString())
case"
系统管理员"
:
qxjb=1;
breakk
普通用户"
qxjb=2;
break;
default:
qxjb=3;
try
stringinsertsql="
insertintousers(用户名,密码,用户类别,权限级别)values('
'
+comboBox1.SelectedItem.ToString()+"
"
+qxjb+"
)"
data.cmd=newSqlCommand(insertsql,data.conn);
用户分配成功!
6、查询输出
该界面是用户经过查询之后输出来的学生成绩信息,其界面如5.6所示:
图5.6查询输出图
此界面是为了方便学生和管理员对成绩的查询,能随时掌握成绩的分数。
其中的的上部控键有班级、课程名称、最低分、最高分、查询、导出。
下窗口中显示学生的编号、学号、姓名、课程、成绩等信息。
结束语
此系统使再很久以前就想做了,那个时候感觉做应该还简单,但是经过这次课程设计我发现这个系统还是有很多的漏洞也有难处,仍需要自我改进。
首先,对软件工程的知识没有一个很全面的掌握,所以设计和实现起来还是有些困难,很多细节上的小问题还没有解决,不过我觉得这次课程设计后,我学到了很多将软件工程化的东西,为以后的开发有很大帮助。
而且此次课程设计让我深刻体会到学好专业知识的重要性,没有扎实的专业基础是很难完成任务的,同时,我也体会到了动手能力的重要性,意识到学习不能仅局限于课本,也要注重实践,并在实践中不断巩固自己的理论知识。
致谢
在这次课程设计中,曾遇到过不少问题,单靠我个人的努力,很难按时完成该课程设计,在此,我衷心感谢我的指导老师邓老师。
他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益非浅。
以及我在网上认识的一位对软件工程方面有所研究的朋友,给了我很多的帮助,这对我有很大的帮助。
另外,还要感谢学校领导为我们提供了良好的设计环境以及各方面的支持。
最后,我要特别感谢班上各位同学对我的无私帮助,因为有了他们的帮助,我才能按时完成任务。
参考文献
[1]潘建伟著,居民消费行为比较研究[M],中国经济出版社,2010
[2]张海藩著,软件工程导论[M],清华大学出版社,2010
[3]王珊,萨师煊著,数据库系统概论[M],高等教育出版社,2010
[4]沈祥久著,SQLServer2005从入门到精通[M],高等教育出版社,2007
[5]郑宇军,王侃著,C#语言程序设计基础[M],清华大学出版社,2011
[6]任哲著,ASP.NET程序设计[M],清华大学出版社,2007
附录:
学生成绩管理系统设计与实现源代码如下:
1.frmAddCourse.frm
OptionExplicit
表示用户是否点击“确定”,来添加一个课程信息
PublicmbAddedAsBoolean
PrivateSubcboType_Click()
点击课程类型时,动态的改变对应的课程类型号
DimstrSQL
IfcboType.ListIndex<
>
0Then
strSQL="
Select*fromcoursewheretypeid="
cboType.ItemData(cboType.ListIndex)