学生成绩管理系统设计报告Word下载.docx
《学生成绩管理系统设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计报告Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
![学生成绩管理系统设计报告Word下载.docx](https://file1.bdocx.com/fileroot1/2023-2/3/f28f802a-cc3c-4ec9-85a7-6602fc009bba/f28f802a-cc3c-4ec9-85a7-6602fc009bba1.gif)
添加学生信息模块和添加班级信息模块,这两个模块是为了方便数据的存储而构造的,对于整个学生管理系统来说,这两个模块是不存在于学生成绩管理系统,而这里为了能在测试过程中方便添加新学生和班级信息,增加了这个功能。
考试时间段设置模块是针对各个学期考试时间段的不同,随时添加时间段,增加考试的时间确定性,方便数据的统计和管理。
考试类型设置模块是针对每个学生的要参与的考试形式而可以增加和删除某种考试模式,同时在成绩录入时可以供选择。
考试科目设置模块是针对学校为学生制定的科目可以增加和删除,在成绩录入时可以供选择。
成绩管理模块是学生成绩管理系统的主要功能模块,我根据用户的功能需求将该模块划分为成绩录入和成绩查询、分析模块,供用户在使用成绩时可以快速而又方便地取得所要的的结果。
成绩录入模块是针对班级而言,将整个班级的所有学生的某个科目成绩添加入数据库,并且同时添加每个学生的成绩。
成绩查询模块是供管理员根据班级或者学号查询整班学生的全部成绩或者某位学生的全部成绩,因此该模块是用于普通查询。
班级成绩统计模块是结合整个学生成绩记录表,计算学生的总人数、缺考人数、及格人数以及优秀人数,根据得到的数据再分析统计及格率、优秀率等,供老师对整个班的学习情况有一定的了解。
学生总分查询是将某位学生在特定时间段中所修的全部课程成绩作汇总,并计算它的总成绩,建立名次表。
学生单科成绩名次查询是通过选择查询条件,比如班级、课程、时间段、类型,得到整个班级该科目的学生成绩排名。
上述的十个子模块已经基本上把整个学生成绩管理系统的功能实现,而且在性能上比较稳定,数据库是采用SQLServer2000,因此数据存储安全,一般没有管理的许可,数据库数据不会被修改,而且在数据查询的过程中没有修改任何数据,只是数据读取,这样就保证了数据的安全性。
而实用性方面可能有所欠缺,毕竟在短时间内没有足够地思考整个系统的运行机制和数据信息的整理,只是提取了其中最重要的来用,没有实现其完整性。
3、详细设计
根据上述的需求分析和概要设计,成绩管理系统主要划分成十个子模块:
添加学生信息,添加班级信息,考试类型设置,考试科目设置,考试时间段设置,学生成绩录入,学生成绩查询,班级成绩汇总统计,学生总分查询和学生单科名次查询。
下面分别阐述每个子模块的设计和实现过程。
1.添加学生基本信息
(1)添加学生信息子模块的IPO图
功能:
填写每项学生信息,完成后添加到数据库。
输入:
学生的基本信息。
处理:
1)添加学生信息对话框启动。
2)根据提示填写相应信息,必须全部填写
3)点击添加按键,完成操作。
输出:
数据库的学生信息表中保存一条新的学生信息记录
(2)添加学生信息模块的界面设计
学生信息包括很多个属性,这里因为不是整个学生管理模块,所以将学生信息简化成如下图所示的几项属性,只供数据查找时使用,如果实在整个学生管理模块中设计,则还要考虑其他必要的信息。
(3)添加学生信息模块的实现
根据IPO图和自己的数据分析,我把学生信息的属性简化为七个,分别为学号、姓名、性别、班级、学院、专业和出生年月,由于学生信息在成绩录入和成绩查询时要用到,所以添加了这个模块。
性别和班级是下拉框,在显示时先查询数据库,将班级名称信息添加到班级对应的下拉框中,供用户选择。
当用户填写完成之后,点击添加按键,就会通过sql语句执行数据插入操作,将新的数据信息填入数据库保存。
在此之前必须为学生信息表建立一个记录集类,用来帮定数据库,这样在查询和更新数据库时就可以使用该类来实现。
具体地代码实现见源程序。
2.添加班级基本信息
(1)加班级信息子模块的IPO图
功能:
填写每项班级信息,完成后添加到数据库。
输入:
班级基本信息的数据
处理:
1)添加班级信息框启动。
2)根据提示填写相应的数据,完成后点击添加就可以添加入数据库
数据库中的班级表项添加一条新的数据
(2)添加班级信息的界面设计
(3)添加班级信息模块的实现
根据IPO图和自己的数据分析,我把班级信息的属性简化为五个,分别为班级编号、班级名称、所属学院、所属专业和班辅导员,由于班级的基本信息在成绩录入和成绩查询时要用到,所以添加了这个模块。
在此之前必须为班级信息表建立一个记录集类,用来帮定数据库,这样在查询和更新数据库时就可以使用该类来实现。
3.考试类型设置子模块
(1)考试类型设置子模块的IPO图
从考试类型设置信息表中读取数据并显示,同时实现对这些数据的添加和删除功能。
考试类型信息
1)考试类型设置对话框启动。
2)从考试类型设置表中读取数据并显示到列表中供用户浏览。
3)根据用户选择,完成考试类型设置数据的添加和删除。
输出:
更新的考试类型设置信息表
(2)考试类型设置子模块的基面设计
界面设计如下图所示:
(3)考试类型设置子模块的实现
建立如界面所示的对话框,并为之定义一个对话框类。
为考试类型表建立一个记录集类,帮
定数据库。
添加功能的处理过程:
清空编辑区域的编辑框等待用户输入,然后当用户选择保存按键时检查用户输入的合法性,无误后方可以将数据添加到考试类型设置信息表中,同时更新数据列表显示。
删除功能是当用户选中列表框中的某个数据时,按删除键就可将它从数据库中删除,同时也在列表框中删除。
具体地代码见源程序。
4.考试时间段设置子模块
(1)考试时间段设置子模块的IPO图
从考试时间段设置信息表中读取数据并显示,同时实现对这些数据的添加和删除功能。
考试时间段信息
1)考试时间段设置对话框启动。
2)从考试时间段设置表中读取数据并显示到列表中供用户浏览。
3)根据用户选择,完成考试时间段设置数据的添加和删除。
更新的考试时间段设置信息表
(2)考试时间段设置子模块的基面设计
界面设计如上图所示:
(3)考试时间段设置子模块的实现
为考试时间段表建立一个记录集类,帮定数据库。
清空编辑区域的编辑框等待用户输入,然后当用户选择保存按键时检查用户输入的合法性,无误后方可以将数据添加到考试时间段设置信息表中,同时更新数据列表显示。
5.考试科目设置子模块
(1)考试科目设置子模块的IPO图
从考试科目设置信息表中读取数据并显示,同时实现对这些数据的添加和删除功能。
考试科目信息
1)考试科目设置对话框启动。
2)从考试科目设置表中读取数据并显示到列表中供用户浏览。
3)根据用户选择,完成考试科目设置数据的添加和删除。
更新的考试科目设置信息表
(2)考试科目设置子模块的基面设计
(3)考试科目设置子模块的实现
为考试科目表建立一个记录集类,帮定数据库。
清空编辑区域的编辑框等待用户输入,然后当用户选择保存按键时检查用户输入的合法性,无误后方可以将数据添加到考试科目设置信息表中,同时更新数据列表显示。
6.学生成绩录入子模块
以班级为单位,完成对指定班级在某次考试中所有学生的成绩录入功能。
班级、考试类型、考试时间段、科目、学生成绩
1)学生成绩录入对话框启动。
2)根据用户指定的班级,从学生信息表中读取学生名单,并显示在列表中。
3)当用户指定录入某学生成绩时启动成绩录入对话框。
4)将用户输入的学生成绩、考试科目、考试类型、考试时间段、班级,保存到数据库的学生成绩记录表中。
5)更新成绩列表显示,等待录入下一个学生的成绩。
学生成绩信息表
本子模块的界面设计如下图所示:
根据用户选择的班级,时间段,考试类型,科目信息,查询该班级的成绩记录,如果是已经存在的学生成绩记录,则由数据读取出来显示,选择学生可以修改其成绩。
具体代码实现见源程序。
7.成绩查询子模块
供用户按照一定的条件查询学生的各科成绩
班级编号,学生学号
1)学生成绩查询对话框启动。
2)根据用户选择的班级名称,从学生信息表中的读取该班级的所有学生的成绩信息。
3)显示所有学生的所有科目、学期以及类型的学生成绩
4)根据用户填写学生学号,将该学生的所有科目成绩显示在成绩列表上。
输出:
学生成绩列表
学生成绩查询子模块的界面设计如下图所示:
根据用户选择的班级名称,从学生信息表中读取该班级学生名单,然后显示到学生列表中。
具体代码见源程序。
8.班级成绩统计子模块
提供统计某班级在某次考试中所有科目的考试情况,包括:
参加考试人数,平均成绩,及格率等等。
班级名称,时间段,考试类型,科目
1)班吉成绩统计对话框启动。
2)根据用户选择的班级名称,考试类型,考试时间段和科目,从学生成绩记录信息表中读取该班级的所有学生相关信息。
3)统计各科的参考人数,平均成绩,及格率等等。
4)将统计结果显示在列表中。
班吉成绩汇总统计数据
班级成绩汇总统计子模块的界面设计如下所示:
具体的代码实现见源程序。
9.学生总分统计子模块
统计查询某班级在某次考试中某个学生的总成绩
班级名称,考试类型,考时间段,学生学号
1)学生总分名次查询对话框启动。
2)根据用户选择的班级名称,考试类型和考试时间段,学号,从学生成绩记录信息表中读取该班级的该学生的成绩信息。
3)统计该学生的所有科目总成绩、平均成绩。
4)将统计结果显示到列表中
学生总分数据。
学生总分统计子模块的界面设计如下图所示。
10.学生单科成绩名次查询子模块
统计查询莫班级学生在某次考试中某科目的成绩以及在班级中的名次。
班级名称,考试类型、考试时间段和考试科目
1)学生单科名次查询对话框启动。
2)根据用户选择的班级名称、考试类型、考试时间段和考试科目,从学生成绩信息表中读取该班级所有学生的成绩信息。
3)按照学生成绩的高低排序出学生的名次。
4)将结果显示在列表中。
学生单科名次数据。
学生单科名次查询子模块的界面设计如下所示:
具体代码实现见源代码。
4、数据库设计
根据系统功能设计的要求以及功能模块的划分,对于本系统的数据库,可以列出以下数据项和数据结构:
(1)学生信息表
表名:
学生信息
存储方式:
由管理员添加学生信息
(2)班级信息表
班级
由管理员添加班级信息
(3)学生成绩记录表
表名:
学生成绩记录
存储方式:
由管理员录入每个学生的各科成绩
(4)考试时间段表
考试时间段
由管理员添加、保存时间段信息
(5)考试类型表
考试类型
由管理员添加、保存类型信息
(6)考试科目表
考试科目
由管理员添加、保存科目信息
此六张数据表的E-R图如下所示:
5、用户手册
1.数据库的连接
本系统的实现是在数据库的基础上,因此数据库是本系统的重要组成部分。
本系统采用的是SQLSERVER2000数据库,其连接方式与其他数据库连接方式差不多,以下是连接数据库的步骤:
(1)导入数据库:
将同文件目录下的SSM_Data.MDF,SSM_log.LDF附加到SQLSERVER2000数据库中(运行SQL服务器,选择数据库的附加数据库选项,选中文件)。
A、运行服务器
B、附加数据库
C、附加数据库成功
(2)建立数据源:
如果数据库添加成功,则为数据连接建立数据源,本系统是使用ODBC数据源连接,要顺利运行本系统就要创建数据源为SSM的数据源。
A、在控制面板的管理工具中选择ODBC数据源
B、选择添加,再选择SQLServer点击完成,进入下图界面
C、添加名称SSM和自己的本地服务器名,点击下一步,在点击下一步,进入下界面
D、更改数据库为SSM,再点击下一步至完成,测试数据源如果测试成功即可
2.系统运行过程
6、设计总结
本系统在设计之前,我参考了一些关于学生成绩管理的模块设置和划分,才整合了现在这个学生成绩管理系统,我觉得这个系统在功能方面是比较齐全的,只是在数据处理方面还不是很完善。
我使用的是数据库连接,由于这里只是对单个表建立记录集,用SQL语句无法实现多个表的统一查询,因此在这个方面还需要改进。
在本系统的制作过程中,遇到的问题主要是数据的存储和数据库的连接方面,而且在设计过程中由于当初考虑地不是很完善,所以会对表数据作修改,这就会导致数据存储和连接出现不匹配的问题,修改许多地方后才编译成功。
我认为这个系统的制作还比较满意,特别是对整个界面的“换肤”,这个是我找了很多材料才得到的,虽然他的实现并不需要很多代码,主要是调用加载进取的类和动态链接库,但我能知道一样新的东西,自己感觉比较好。
7、软件开发工具及运行环境
开发工具:
VisualC++6.0,SQLSERVER2000数据库
开发环境:
Windowxpsp2
运行环境:
Window环境下,需要VC的类库,同时必须按照用户手册设置环境数据
8、参考资料
[1]VisualC++教程机械工业出版社丁有和编著