软件工程学年设计之学生信息管理系统.docx
《软件工程学年设计之学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程学年设计之学生信息管理系统.docx(30页珍藏版)》请在冰豆网上搜索。
软件工程学年设计之学生信息管理系统
XXX理工大学
学生信息管理系统
学科专业:
学生信息管理
指导教师:
XXX
学生:
XXX
学号:
XXX
XXX大学
XXX年XXX月
摘要
随着学校规模的不断扩大,学生数量的不断增加,学生的信息量也成倍增长。
学生管理工作是学校各项工作的一个重要部分,其管理水平的高低将直接影响到人才的培养质量。
面对庞大的信息量,如何有效地提高学生管理工作的效率是一个学校急需解决的问题。
因此开发适合学校需要的学生管理信息系统,通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,并减少管理方面的工作量。
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。
本文介绍了学生信息管理系统的开发整个过程,阐述了系统分析、系统设计、数据库设计和系统实施的全过程。
在开发方法上本系统利用了软件工程化的思想和方法,总体上采用结构化生命周期开发方法,具体模块实施采用了原型法和面向对象系统开发方法。
并采用VC++6.0作为开发工具,Access2000作为后台数据库。
本系统具有学生档案管理,班级管理,课程管理,成绩管理,专业管理等模块,可分别完成日常学生档案,班级信息,课程信息,成绩信息的添加、修改、删除、查询、打印等功能。
本人在此次毕业设计中主要对“学生课程管理”,“学生成绩管理”,“学生档案管理”,“补助管理”四个模块进行了具体设计。
2.1理解需求
2.2分析需求
4.1软件配置
7.界面设置
7.1用户登录界面设计
7.2系统主界面设计
7.3新生信息录入界面设计
7.4成绩管理界面设计
7.5学籍变更界面设计
7.6奖励管理界面设计
7.7处罚管理界面设计
7.8查询修改界面设计
8.参考文献
1.概述
学生管理信息系统作为学校管理中的一个子系统,与其他子系统,如教学管理系统、人事管理系统、后勤管理系统,图书馆管理系统等一起构成构园管理信息系统,为校园管理信息化提供一个子功能。
所以,几乎所有的大、中、小学校都需要一套这样的管理系统来提高日常的工作效率。
学生管理信息系统应该包括学生信息管理、学籍管理、成绩管理、奖惩管理和系统管理等基本内容。
(1)学生信息管理的数据有:
学生学号、姓名、性别、出生日期、所属班级、所属院系、籍贯等,当有新生到校时,就启动相应的信息管理功能,对所有的学生信息进行入库,随时掌握学生的基本信息。
(2)学籍管理主要是对学生的学籍变更情况及时控制和管理,变更的原因有:
转系、休学、复学、退学和毕业离校。
(3)成绩管理是数据量比较大的管理工作,每次考试结束后负责对学生各个科目的成绩入库工作和对数据库成绩出错的校对工作。
(4)奖惩管理是针对学生在校的表现情况,对学生进行相应的处理工作,奖励的项目有各种奖学金和文体奖励,处罚的项目有通报批评、警告、严重警告、记过、留校查看、开除等。
(5)系统管理主要是执行数据库备份和恢复、数据库表的维护等工作,保证系统的正常运行。
学生管理信息系统作为典型的数据库项目应用的一种,其开发流程包括需求分析、UML系统建模、确定系统集成方案、数据库分析和设计以及各功以模块的开发等。
下面介绍一个学生管理信息系统的详细开发过程。
2.需求分析
需求分析是数据库系统开发的第一步,也是最重要的一步。
需求分析可以分为两个过程:
一是理解需求,二是分析需求。
下面分别分析这两个过程。
2.1理解需求
只有通过对学生管理信息系统的终端用户和客户进行大量的调研,才能真正理解终端用户和客户的需求,才能开发出合理的、实用的管理系统,才能满足各大、中、小学校的管理需要。
基于大量的调研数据,下面列出对最典型、最关键的需求。
(1)每年开学时,新生来报琶,要对每位新生的信息建立个人档案,这部分工作由学籍科的管理人员进行维护和操作。
学生个人档案包括学生学号、姓名、性别、出生日期、所属班级、所属院系、籍贯等。
(2)考试结束时,教务科的管理人员将学生各科的成绩录入数据库,以备随时查询。
当然录入成绩也有出错的可能,所以,必须具有校对修改成绩的功能。
(3)当学生的表现出色或差的时候,学生科的管理人员应对其进行奖励或处罚,相应的奖项(或处罚)和奖励(或处罚)时间的数据都应该入库。
(4)当学生因为疾病、学业修完等原因学籍需要变更的时候,学籍科的管理人员应该对其进行学籍变更手续。
(5)学生应该具有查询个人信息和成绩的权力和权限。
(6)系统还应提供强大的数据统计、查询、报表生成以及打印等功能。
(7)系统客户端运行在Windows平台下,服务器端可以运行在Windows平台或者Unix平台下。
(8)系统应该有很好的可扩展性。
在本系统中主要提供新生信息录入、学籍变更、成绩管理和奖惩管理等相关的功能。
2.2分析需求
分析需求就是描述系统的需求,通过定义系统中的关键域类来建立模型。
分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制,因此学生管理信息系统的需求分析是开发人员和学校管理人员一起完成的。
分析需求的第一步是描述学生管理信息系统的功能,即定义用例,以此确定系统的功能需求。
一所学校的主要成员就是学生和学校的管理人员、教师、系统管理员等,管理人员主要指学籍科、学生科和教务科的人员,他们是学生管理信息系统的主要使用者。
学生也是学生管理信息系统的重要使用者,只是具备的管理权限没有管理人员那么广。
系统管理员也是其中一个管理人员,这不影响本系统的功能。
学生管理信息系统的用例包括以下内容。
·新生信息
·学生成绩(包括录入和校对)
·学籍变更
·学生奖励
·学生处罚
·学生信息查询修改
需要注意的是,学生信息查询修改用例包括学生对个人基本信息和查询和修改,这些信息指的是新生入学时被录入的基本信息。
此外,学生还具有查询和打印成绩的权限,查询奖惩情况、学籍变更记录等权限。
学生管理信息系统的分析可以用UML的用例图来描述。
每个用例还可以以文本的方式描述,描述的内容包括用例以及用例与角色交互的更详细的信息,文本的内容是通过和用户讨论后确定的。
下面给出上述用例的描述。
(1)新世界生信息
增加学生记录→标记学生学号→确定学生院系→确定学生班级
(2)学生成绩
增加学生成绩记录→校对学生成绩
(3)学籍变更
增加学籍变更记录→标记变更原因→标记变更时间
(4)学生奖励
增加学生奖励记录→标记奖励项目→标记奖励时间
(5)学生处罚
增加学生处罚记录→标记处罚等级→标记处罚时间
(6)学生信息查询修改
查询个人信息→修改个人信息→保存个人信息→查询奖惩情况→查询学籍变更情况→打印成绩单
3.UML系统建模
完成需求分析后,就需要对系统进行UML建模。
UML建模是对需求分析结果的模型建立过程。
下面进行学生管理信息系统的UML建模过程。
3.1学生管理信息系统的用例分析
在上一节需求分析中列出了学生管理信息系统的全部用例:
新生信息、学生成绩、学籍变更、学生奖励、学生处罚、学生信息查询修改。
这里,使用权用Rose软件进行UML建模,其用例如图3所示。
图3学生管理信息系统用例图
该用例图标记了所有的学生管理住处系统的用例,从中可以得知,学生管理信息系统的角色可以划分为两类。
·学校管理人员:
用例包括学生管理信息系统的所有用例。
·学生:
用例只有学生信息查询修改。
要注意的是,学校管理人员具有查询和修改所有数据的权限,处于高权限位置,而学生只有修改个有基本信息、查询奖惩情况、查询学籍变更情况和打印成绩单的权限,处于低权限位置。
3.2学生管理信息系统的域类分析
UML建模的第二步就是域类分析。
实际开发学生管理信息系统时,域类分析是建立在用例分析基础上的。
要了解系统要处理的概念,最好奖学校的管理人员组织起来开个讨论会,详细谈论和列举所需要包含水量的用例,了解概念和概念之间的关系。
学生管理信息系统中的域主要包括:
学生(Student)、成绩(Score)、学籍变更(Change)、奖励(Encourage)、处罚(Punish)。
可以在类图中将上面这些域以及它们之间的关系表示出来,如图4所示。
图4学生管理信息系统域草图
需要说明的是,这里的域类还是处于“草图”状态,定义的操作和属性不是最后的片本,只是在现阶段看来这些操作和属性是比较合适的,有些操作奖在时序图的草图中定义,而不晨用例哪定义。
有些类可以用UML状态图来显示类的对象的不同状态以及改变状态的事件。
在本系统中有状态图的类是学生,该类的状态图将在后面的内容中介绍。
为了描述域类的动态行为,可以使用权UML的时序图、协作图或者活动图来描述。
本文选用时序图。
时序图的基础是用例。
在时序图中要说明域类是如何协作以操作该系统中的用例。
当然,在建立时序图时,将会发现新的操作,并将其加入类中,这将在后面看到所建立的时序图模型。
用时序图建模时,需要窗口或对话框作为角色界面。
显然,这里需要操作界面的有基本信息、奖励、处罚、学籍变更、修改查询等,此外维护也需要一个操作界面。
3.3学生管理信息系统的设计
在设计阶段,首先要设计类的状态的图。
类的状态图说明了可能的状态以及需要被处理的过渡期,使用状态图可以揭示单个对象在整个系统中的变化细凶,对了解和实现关键类有较大的帮助。
不是所有的类都有状态图,在本系统中,有状态图的类是学生。
学生的状态图如图5所示。
图5学生的状态图
设计阶段的最后一步是设计UML模型,也就是将前面设计的模型进竽扩展和细化。
下面给出各个用例的时序图。
设计的目的是产生一个可以使用的解决方案,并且可以容易地将方案转换成程序代码。
学生的时序如图6所示
图6学生时序图
成绩的时序如图7所示。
图7成绩时序图
学籍变更的时序如图8所示。
图8学籍变更时序图
奖励的时序如图9所示。
图9奖励时序图
处罚的时序如图10所示。
图10处罚时序图
查询修改的时序如图11所示。
图11查询修改时序图
时序图设计完成后,开始进行学生管理信息系统的架构设计和细节设计。
在架构设计中将定义包(子系统)、包间的相关性和基本的通信机制。
设计架构时,应该将应用逻辑和技术逻辑分割。
应用逻辑是需要编码设计的,而技术逻辑,主要包括用户界面、数据库或者通信一般是已经有的。
学生管理信息系统中的包(或者为子系统、层)有如下几个,如图9-12所示。
图9-12包和包间关系
·用户界面包:
为通用用户界面类,调用业务对象包中的操作检索和插入数据,可以简单地把它们看成将来用户要操作的界面。
·业务对象包:
业务对象包包含上面设计的分析模型的域类。
业务对象包同数据库包协同完成任务。
·数据库包:
数据库包向业务对象数据包提供服务。
·应用包:
应用包向其他包提供服务。
至此,UML系统建模完成。
4.系统配置
优秀的数据库系统必有一个相对最优的系统配置方案。
系统配置要根据用户的实际情况设计,主要依据就是系统的吞吐量和系统对稳定性的要求,此外,用户的维护水平也是一个重要的方面。
软件配置
软件配置主要包括数据库的选择和操作系统的选择。
学生管理信息系统的软件配置要根据用户对系统的稳定性要求、系统的容量以及用户的维护水平来确定。
(1)数据库选择
可以根据数据量的大小选择不同的数据库,如表1所示。
数据量是指数据库中需存放的单表的最大记录数。
表1学生管理信息系统数据库的选择
用户
数据量(记录表)
稳定性要求
维护水平
备选数据库
社区小学
100~500
低
差
Access、Foxpro
公立小学或社区小学
500~5000
低
差
Access、Foxpro
公立中学或社区大学
5000~50000
中
一般
SQLServer
专业型大学
50000~200000
较高
较好
SQLServer、Oracle
综合型大学
200000
高
好
Oracle
在本系统中,选择Access2000数据库。
(2)操作系统选择
可以根据用户量的大小选择不同的操作系统。
操作系统的选择如表2所示。
表2学生理管信息系统操作系统的选择
用户
每秒数据库并发
数据访问记录数
稳定性
要求
维护
水平
备选操作系统
社区小学
10~50
低
差
Windows2000Professional
Windows2000Professional
公立小学或社区中学
50~500
中
一般
WindowsNT
Windows2000Server
公立中学或社区大学
500~2000
较高
较好
WindowsNT
Windows2000Server
Linux、UNIX
专业型大学
500~2000
较高
较好
Linux、UNIX
综合型大学
2000以上
高
好
Linux、UNIX
在本例中,选择Windows2000Server操作系统。
5.数据库分析
在开发学生管理信息系统时,可以先进行E-R图分析,然后对表和字段进行分析,最后进行数据库建模。
5.1E-R图分析
对学生管理信息系统的E-R图分析是建立在UML系统模型基础上的。
这里给出E-R图分析的结果。
实体关系图的分析结果非常复杂,一般情况下使用从简到繁的方式进行设计。
首先从大的方面设计出各个实体之间的关系,然后在这个关系的基础上进行细化。
图15所示为学生管理信息系统的实体关系简图。
图15学生管理信息系统的实体关系简图
在简图的基础上进一步设计实体关系的详细结构。
图16所示为学生管理信息系统的实体关系详图。
图916只是学生管理信息系统最基本元素的实体关系图,可以在此基础上根据用户的不同需要进行扩展。
图16学生管理信息系统的实体关系图
5.2表/字段分析和数据库建模
表/字段分析是建立在实体关系图基础上。
对表和字段分析后就可以建立数据库模型了。
以图16所示的学生管理信息系统的实体关系图为基础,可设计表和字段,然后建立数据库模型。
建立的数据库模型如图17所示。
图9学生管理信息系统的数据库模型
6.数据库设计
数据库设计与应用等程序设计是分离的,数据库的设计非常重要。
有了数据库模型,数据库的设计就简单多了。
在学生管理信息系统中,首先要创建学生管理信息系统数据库,然后在数据库中创建需要的表和字段。
下面分别讲述本系统中数据库的设计。
本例采用Access2000数据库系统来进行数据库的设计。
6.1创建数据库
下面给出在Access中创建数据库的过程。
(1)运行Access应用程序,在“新建数据库”选项组中选取“空Access数据库”单选,按钮,然后单击“确定”按钮,如图18所示。
(2)在“文件新建数据库”窗口指定数据库的存放位置与数据库文件名称(本例为Stu.mdb)然后单击“创建”按钮。
6.2创建表
下面给出在Access中创建表的过程。
(1)在创建数据库后,进入主界面,单击“Stu:
数据库”子窗口中的“设计”按钮。
(2)在表的设计窗口“表1:
表”中,按表6建立数据字段,并指定字段的数据类型与相关属性。
表6学生信息数据库(Stuinfo)
字段名称
数据类型
说明
StuId
数字
编号
StuNo
数字
学号
DepartMent
文本
院系
Class
文本
班级
Name
文本
姓名
Sex
文本
性别
BirthDay
日期/时间
生日
NativePlace
文本
籍贯
建立数据库字段并指定字段的数据类型与相关属性后,字段设计界面如图21所示。
(3)在StuId字段上单击鼠标右键,选择快捷菜单中的“主键”选项,让StuId字段成为主要索引字段,则StuId字段前方将出邮一个钥匙图标。
(4)字段设计完毕后,单击工具栏中的“保存”按钮,此时将会出现“另存为”对话框,在“表名称”文本框输入“StuInfo”,然后单击“确定”按钮将这个表保存。
(5)回到“Stu:
数据库”子窗口中,如果出现了StuInfo这个表项目,就代表现在已经完成学生数据文件的设计。
(6)重复步骤
(1)~(5),按表7、表8、表9、表10建立表,并指定表中各字估的数据类型与相关属性。
表7字籍变更数据表(Change)
字段名称
数据类型
说明
StuNo
数字
学号
Name
文本
姓名
Class
文本
班级
DeparMent
文本
院系
ChangeName
文本
学籍变更项
ChangeTime
日期/时间
学籍变更时间
Remark
文本
备注
图8学生奖励数据表(Encourage)
字段名称
数据类型
说明
StuNo
数字
学号
Name
文本
姓名
Class
文本
班级
DeparMent
文本
院系
EncourageName
文本
奖励项
EncourageTime
日期/时间
奖励时间
表9学生处罚数据表(Punish)
字段名称
数据类型
说明
StuNo
数字
学号
Name
文本
姓名
Class
文本
班级
DepartMent
文本
院系
PunishName
文本
处罚项
PunishTime
日期/时间
处罚时间
表10学生成绩数据表(Score)
字段名称
数据类型
说明
ScoreId
数字
编号
StuNo
数字
学号
Name
文本
姓名
Course
文本
课程
Score
数字
成绩
(7)将这些表分别名为Change、Encourage、Punish、Score,主键分别为:
StuNo、StuNo、StuNo、Scoreld,设计结果如图25所示。
,
(8)回到“Stu:
数据库”子窗口中,出现了StuInfo、Change、Encourage、Punish、Scores个表项目,完成数据文件的设计。
图25完成数据库表项目的设计
7.界面设计
以上内容完成了数据库的后台工作,建立起了能够保障系统顺利、正确运行的后台。
界面设计工作在进行系统开发的时候是必不可少,也是十分重要的。
下面就对学生管理信息系统的界面设计。
7.1用户登录界面设计
利用用户登录成功能实现对用户操作权限的限制。
管理员和学生的权限不一样,管理员拥有系统的所有权限,学生只有查询修改个人信息和打印成绩单的权限。
用户必须输入正确的密码才能进入下一界面,如果用户的密码输入错误,应用程序会提示错误信息。
用户如果连续3次输入错误,应用程序会强迫使用者退出并终止应用程序的运行。
7.2学生管理信息系统主界面设计
学生管理信息系统主界面主要实现新生信息录入、成绩管理、学籍变更、处罚管理、奖励管理和查询修改的功能。
选择该界面中工具栏中的不同按钮,就会进入实现不同功能的窗体。
图28是图书馆理系统主界面窗体。
图28学生管理信息系统主界面窗体
这里主要介绍与数据库相关的组件的属性,如表11所示。
表11学生管理信息系统主界面中数据库组件的属性设置
组件
属性
属性值
Table1
DatebaseName
Student
TableName
Stulnfo
Table2
DatebaseName
Student
TableName
Change
Table3
DatebaseName
Student
TableName
Encourage
Table4
DatebaseName
Student
TableNsam
Punish
Table5
DatebasdeName
Student
TableName
Score
Query1
DatebaseName
Student
Query2
DatebaseName
Student
Query3
DatebaseName
Student
Query4
DatebaseName
Student
Query5
DatebaseName
Student
DataSource1
DataSet
Table1
DataSource2
DataSet
Query2
DataSource3
DataSet
Query3
DataSource4
DataSet
Query4
DataSource5
DataSet
Table5
DataSource6
DataSet
Query5
7.3新生信息录入界面设计
新生信息录入界面主要实现学生信息的添加功能,包括学号、性别、出生日期、籍贯、姓名、班级、所属院系等信息的添加,图29是新生信息录入界面窗体。
图29新生信息录入界面窗体
7.4成绩管理界面设计
成绩管理界面主要实现成绩的添加和校对修改的功能,图30是成绩管理界面窗体。
图30成绩管理界面窗体
7.5学籍变更界面设计
学籍变更界面是实现学生学籍变更的功能,图31是学籍变更界面窗体。
图31学籍变更界面窗体
7.6奖励管理界面设计
当学生在校表现优秀,学校应该奖励该学生,以鼓励大家的学习热情。
奖励管理界面用于实现学生奖励的功能。
相应的奖项有校特等奖、校一等校、校二等校、校三等校、工作奖等,用户可以根据实际情况进行设计。
图32是奖励管理界面窗体。
图32奖励管理界面窗体
7.7处罚管理界面设计
当学生在校的表现差,学校应该处罚该学生。
处罚管理界面就是实现学生处罚的功能。
相应的处罚项有警告、记过、开除等,用户可以根据实际情况进行设计。
图33是处罚管理界面窗体。
图33处罚管理界面窗体
7.8查询修改界面设计
学生可以根据自己的学号在查询修改界面中查询自己的个人信息,包括基本信息、个人成绩、学籍变更情况、奖励和处罚情况。
如果发现基本信息有错误的话,有权进行修改,而且学生有权打印自己的成绩单。
图9-34是查询修改界面窗体。
图34查询修改界面
8.参考文献
[1]张海藩,《软件工程导论》,清华大学出版社,2002
[2]伍俊良,《Delphi6控件应用实例教程》,北京希望电子出版社,2002
[3]卢国俊,《Delphi6数据库开发》,电子工业出版社,2002
[4]边萌,《Delphi编程起步》,机械工业出版社,2002
[5]伍俊良,《Delphi6课程设计案例精编》,中国水利水电出版社,2002
[6]丁宝康,《数据库原理》,经济科学出版社,2000
[7]陆丽娜,《软件工程》,经济科学出版社,2000
[8]许杰舟、林伟鹏、林盛雄、来宾,《Delphi7程序设计与实例》,2003
[9]杨志刚、何志成、魏志强、王忠华,《Delphi5.0程序设计基础教学篇》,