软件工程课程设计学生信息管理系统.docx
《软件工程课程设计学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计学生信息管理系统.docx(29页珍藏版)》请在冰豆网上搜索。
![软件工程课程设计学生信息管理系统.docx](https://file1.bdocx.com/fileroot1/2023-5/18/0fb7d627-574b-4e17-84af-39650f82ffc9/0fb7d627-574b-4e17-84af-39650f82ffc91.gif)
软件工程课程设计学生信息管理系统
课程设计报告
学生信息管理系统
学院
年级专业
学生姓名
指导教师
提交日期
摘要
学生信息管理系统对于学校的决策者和管理者来说都至关重要是一个教育单位不可缺少的部分。
本文介绍了学生信息管理系统的整个开发过程。
将整体划分为可行性分析、需求分析、总体设计、详细设计等几个阶段,并对各个阶段做了详细的说明。
在开发方法上本系统利用了软件工程化的思想和方法,总体上采用传统方法学开发方法,并采用VisualStudio6.0作为开发工具,SQLServer2000作为后台数据库。
本系统具有学生信息管理,班级管理,课程管理,成绩管理,信息查询、成绩查询等模块,可分别完成日常学生信息,班级信息,课程信息,成绩信息的添加、修改、删除、查询、打印等功能。
关键词 信息管理系统、软件工程、传统方法学、数据库。
1.2目的背景与意义
1.3项目开发的目标
2.1问题定义
2.2可行性分析
2.2.2经济可行性
2.2.3操作可行性
2.2.4法律可行性
第3章需求分析…………………………………………………………………………………………………
3.1功能需求
3.2界面需求
3.3性能需求
3.4分析建模
3.4.1数据模型
3.4.2功能模型
3.4.3行为模型
第4章总体设计
4.1目的与任务
4.2设计与思路
4.3各模块的功能描述
4.4数据库设计
第5章详细设计
第1章绪论
1.1课题背景
此次开发的系统为学校学生信息管理系统,开发此系统是因为目前学校学生人数剧增,学生信息呈爆炸性增长,为了使学校对学生信息管理更加准确、方便。
该系统设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.
目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理系统来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理系统也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。
1.2目的背景与意义
学生信息管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:
效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点。
1.3项目开发的目标
建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。
帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。
第2章可行性分析
2.1问题定义
本文要开发一个学生信息管理系统,要实现学生对本人的基本信息,本学期的教学计划安排,本学期的课表,本人的各科学习成绩进行查询。
同时管理人员能够对上述学生查询的信息进行管理和维护。
1.学生对本人的基本信息进行查询;
学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主页,当学生请求查询学生的基本信息时,系统实时访问数据库,调出相应的学生信息,如姓名、学号、所在院校、专业班级等并输出显示。
并且学生可以管理个人的信息即:
密码的修改等。
2.学生对本学期的教学计划安排进行查询;
学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主页,当学生请求查询学生的本学期的教学计划安排时,系统实时访问数据库,调出相应的学校安排的教学计划等内容并输出显示。
3.学生对本学期的课表进行查询;
学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主页,当学生请求查询本学期的课表时,系统实时访问数据库,调出相应的课表内容并输出显示。
4.学生对本人的各科学习成绩进行查询;
学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主页,当学生请求查询各科学习成绩时,系统实时访问数据库,调出相应的成绩信息并输出显示。
5.管理人员能够对上述学生查询的信息进行管理和维护。
只有管理员能进行对学生信息管理,课程信息管理,选课信息管理,班级信息管理,成绩信息管理的功能。
其中:
对于学生信息管理:
管理员进行录入添加,删除,修改,查找学生信息。
对每个学生分配唯一的学号,学生即可登陆此系统浏览个人信息,登陆此系统的用户名和密码默认都是此学生的学号。
管理员做的只需要将学生的学号注册,提交,系统便可实现上述功能。
对于课程信息管理:
管理员根据学校安排的各学院专业班级的学生课表进行添加,删除,修改,查找等功能。
只有管理员才具有对课程信息进行维护的权限,课程的类型分三种:
公共课,专业课和选修课。
通过界面化的设计,管理者只需要输入一些信息,比如:
学生的课程,选课信息等。
通过点击界面上的加入、删除、修改、查找等按钮,系统便可实现更新数据库,实现所要求实现的功能。
对于选课信息管理:
管理员能够删除,统计学生选课信息。
管理员向学生提出可以选修的课程,在学生选课完毕之后,管理员通过界面化的系统,可以通过用于区分不同课程的唯一的课程号的操作:
删除和统计来分别实现删除该课程的选课信息和统计该课程的学生选课信息。
对于班级信息管理:
管理员能添加,删除和修改班级信息。
由于每个学生属于一个唯一的班级,则管理员在录入学生个人信息的时候,将录入学生的班级信息,这两个功能模块有重叠的地方,因此,管理者只需在界面化的系统中,调出学生班级信息管理进行添加、删除、修改等操作,相应的学生个人信息将会随之改变。
对于成绩信息管理:
管理员通过区分不同课程所用的课程号以及学生的学号,教师所提交的学生所得分数,以班级为单位进行录入学生的成绩信息,当录入完成后系统可以统计各个班级的平均分,最高分。
6.学生对本人的基本信息进行查询;
学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主页,当学生请求查询学生的基本信息时,系统实时访问数据库,调出相应的学生信息,如姓名、学号、所在院校、专业班级等并输出显示。
并且学生可以管理个人的信息即:
密码的修改等。
7.学生对本学期的教学计划安排进行查询;
学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主页,当学生请求查询学生的本学期的教学计划安排时,系统实时访问数据库,调出相应的学校安排的教学计划等内容并输出显示。
8.学生对本学期的课表进行查询;
学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主页,当学生请求查询本学期的课表时,系统实时访问数据库,调出相应的课表内容并输出显示。
9.学生对本人的各科学习成绩进行查询;
学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主页,当学生请求查询各科学习成绩时,系统实时访问数据库,调出相应的成绩信息并输出显示。
10.管理人员能够对上述学生查询的信息进行管理和维护。
只有管理员能进行对学生信息管理,课程信息管理,选课信息管理,班级信息管理,成绩信息管理的功能。
其中:
对于学生信息管理:
管理员进行录入添加,删除,修改,查找学生信息。
对每个学生分配唯一的学号,学生即可登陆此系统浏览个人信息,登陆此系统的用户名和密码默认都是此学生的学号。
管理员做的只需要将学生的学号注册,提交,系统便可实现上述功能。
对于课程信息管理:
管理员根据学校安排的各学院专业班级的学生课表进行添加,删除,修改,查找等功能。
只有管理员才具有对课程信息进行维护的权限,课程的类型分三种:
公共课,专业课和选修课。
通过界面化的设计,管理者只需要输入一些信息,比如:
学生的课程,选课信息等。
通过点击界面上的加入、删除、修改、查找等按钮,系统便可实现更新数据库,实现所要求实现的功能。
对于选课信息管理:
管理员能够删除,统计学生选课信息。
管理员向学生提出可以选修的课程,在学生选课完毕之后,管理员通过界面化的系统,可以通过用于区分不同课程的唯一的课程号的操作:
删除和统计来分别实现删除该课程的选课信息和统计该课程的学生选课信息。
对于班级信息管理:
管理员能添加,删除和修改班级信息。
由于每个学生属于一个唯一的班级,则管理员在录入学生个人信息的时候,将录入学生的班级信息,这两个功能模块有重叠的地方,因此,管理者只需在界面化的系统中,调出学生班级信息管理进行添加、删除、修改等操作,相应的学生个人信息将会随之改变。
对于成绩信息管理:
管理员通过区分不同课程所用的课程号以及学生的学号,教师所提交的学生所得分数,以班级为单位进行录入学生的成绩信息,当录入完成后系统可以统计各个班级的平均分,最高分。
2.2可行性分析
2.2.1技术可行性
要开发该系统必须会用到有关网络和数据库的知识,而且还需要熟练掌握一门编程语言。
到目前为止,我们已经学习C和C++两门程序设计语言,其中C++就是一种很好的开发语言,它引入了类、继承、多态和重载等新机制,而且它模拟了对象之间的通信,就像人们之间互通信息一样,对象之间也可以通过消息进行通信。
另外,应用C++时进行抽象和封装比较容易,所以从理论上来说,技术上没问题。
2.2.2经济可行性
学校图书馆、实验室和教学楼都有电脑,学生可以随时去查看所需资料,当然,如果学生有个人电脑,也可以随时免费的查询所需信息,另外,学校还给管理者配有电脑,可以对该系统进行管理,所以总体上来看,基本上学生和管理员都无需投入个人经费。
2.2.3操作可行性
开发该系统软件所用的工具简单,主要是通过编程实现相关功能,再加上界面的相关设计,都比较简单,所以操作上是可行的。
2.2.4法律可行性
学生信息管理系统是学校进行管理时必不可少的一款软件,对老师管理学生、学生选课、查询成绩等都非常方便,简单可视化操作,易于管理。
该项目为独立开发,在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同的规定履行。
第3章需求分析
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。
我们走访学校的领导者、管理者、教师、学生等用户,他们从各自的角度对该系统所要实现的功能进行了一定的叙述。
并且我们询问用户对目前正在使用的系统有哪些不满意的地方以及很满意值得借鉴的部分。
通过对他们的叙述进行分析,总结如下:
3.1功能需求
为使我们开发的学生信息管理系统满足用户的需求,现将该系统所要实现的功能,总结如下:
1、学生信息管理:
主要负责管理所有在校注册学生的个人信息,主要实现添加,删除,修改,查找学生信息的功能。
2、课程信息管理:
负责管理本校所有的课程信息。
主要实现添加,删除,修改,查找课程信息的功能。
3、选课信息管理:
负责选课的管理。
主要实现删除,统计学生选课信息的功能。
4、成绩信息管理:
主要是实现对学生成绩的录入查询及考试的违规信息的管理工作,包括:
学生成绩的录入,学期成绩浏览,学生成绩查询,班级成绩查询,违规信息的增加及浏览。
5、班级信息管理:
负责班级的管理。
主要实现的功能包括添加,删除和修改班级信息,以及对班级信息的查询。
6、学生信息查看:
主要实现学生查看个人信息和修改登录信息等功能。
通过该模块可以查看学生姓名、学号、所在院校、专业班级、教学计划和课表安排等信息。
7、成绩信息查看:
主要负责实现学生查看成绩的功能。
8、个人信息管理:
主要实现对个人信息的管理。
3.2界面需求
设计该系统界面时主要本着用户易于操作的原则,另外,尽量使界面看起来比较美观。
3.3性能需求
3.3.1数据精确度
查询时应保证查全率,所有相应域包含关键字的记录都应该能查到。
添加、删除数据时应该保证正确的以及相关联的数据的彻底删除,避免出现一些缓冲区和存储块等的不一致以及存储区的浪费问题。
3.3.2时间特性
一般操作的响应时间应该在1-2秒内,对于软磁盘和打印机服务响应时间也应在可接受的时间内完成。
3.3.3适应性
开发的系统应该考虑学校的条件。
考虑到技术约束、环境约束、标准约束已经硬件限制等。
应该是普及适用性比较好的系统。
3.3.4可靠性
系统的运行应该是连续的稳定的,由平均无故障时间来判定系统的可靠性。
3.3.5可维护性
维护软件可能耗费大量的物力、财力、时间,因此在开发软件的过程中,通过提高各模块的内聚度,降低各模块的耦合度等方法来提高软件的可维护性。
并且通过四种维护性活动:
改正性维护、适应性维护、完善性维护、预防性维护来进行维护。
3.4分析建模
3.4.1数据模型(ER图)
1、学籍管理的ER图设计
分析这个问题的实体,从系统分析可以知道,该ER图涉及的实体有学生、班级、系、档案资料、辅导员、导师。
提取实体以后再分析各个实体之间的联系。
一个系有多个班级,每个班有多名学生组成,每个辅导员管理多个班级,每个导师指导多名学生,每个学生有多种档案材料。
根据上述分析得出学籍管理的ER图如下:
图3-1学籍管理局部ER图
其中关于图中各实体的属性如下:
系(名称,编号) 班级(所在院系名称,专业名称,编号,人数)
学生(姓名,学号,性别,籍贯) 辅导员(姓名,编号)
导师(姓名,编号)
2、课程管理ER图设计
经过分析,提取涉及的实体有系、课程、学生、教室、教材、教师。
提取出实体后,再对各实体之间的联系进行分析:
每个系开设多门课程,每个学生可以选修多门课程,每门课程可以被多个学生选修,不同的课程可以在不同的时间选择同一个教室上课,每个教师可以担任多门课程的教学,每门课程可以有多个老师教授。
根据上述分析得出课程管理的ER图如下:
图3-2课程管理局部ER图
其中各实体的相关属性如下:
课程(名称,编号,学分)
选课(学生学号,课程号,成绩)
3.4.2功能模型(数据流图)
1、学生信息管理的数据流图设计
通过问题分析,得出学生信息管理的外部实体有学工处和学生,处理有录入、删除、修改、查询、学生查询,文档有学生档案。
学生信息管理的工作过程大致如下:
(1)当有新生入学或有学生转入时,学工处需要将其基本信息,比如姓名、学号、所在院校、专业班级、入学时间、性别、籍贯等录入到学生档案中。
(2)当学生毕业或有学生退学时,学工处需要将其基本信息从学生档案中删除。
(3)当有学生转专业时,需要将其基本信息进行修改。
(4)当需要得到某个学生相关信息时就要进行查询。
(5)当对学生信息进行添加、删除、修改、查询时都需要将其基本信息显示出来。
(6)当学生要对个人信息查询时,首先根据学号、密码,然后通过调出学生档案中的个人信息并显示出来。
2、课程信息管理的数据流图设计
通过问题分析,得出课程信息管理的外部实体有教务处和学生,处理有录入、删除、修改、查询、学生查询,文档有课程档案。
课程信息管理的工作过程大致如下:
(1)当要开设某门新的课程时,教务处要把新课程的相关信息录入到课程管理档案中。
(2)当要对已有课程进行删除、修改、打印、查询时,需要浏览课程的相关信息,当浏览完成时,退出浏览界面。
(3)当学生要对个人课程信息进行查询时,首先根据学号、密码,然后通过调出课程档案中的课程信息并显示出来。
3、选课信息管理的数据流图设计
通过问题分析,得出选课信息管理的外部实体有教务处和学生、处理有删除、统计和查询,文档有选课档案。
选课信息管理的工作过程大致如下:
(1)当选修该课程的人数少于学校规定的人数时,教务处将取消该课程的开设并删除此课程的相关信息。
(2)当新一轮的选修课选完以后,教务处将对已选的课程进行分类统计。
(3)当学生要对个人选课信息进行查询时,首先根据学号、密码,然后通过调出选课档案中的选课信息并显示出来。
4、成绩信息管理数据流图设计
通过问题分析,得出成绩信息管理的外部实体有教务处和学生,处理有录入、成绩浏览、成绩查询、违规浏览、违规增加和查询,文档有成绩档案和违规档案,成绩信息管理的工作过程大致如下:
(1)当成绩录入错误需要修改或当成绩无效需要删除时,首先要对成绩进行浏览,当操作完成时,即可退出。
(2)当某科考试结束,教师将该科成绩单交给教务处,然后教务处将成绩进行录入。
(3)当教师或者辅导员等需要了解关于某科的成绩时,就可以对其成绩进行查询,统计,必要时也可以把成绩单打印出来。
(4)当导师想要了解某个班的学生学习状况时,就可以对整个班级的成绩进行查询,必要时可以将成绩单打印出来。
(5)当学生要对成绩信息进行查询时,首先根据学号、密码,然后通过调出成绩档案中的成绩信息并显示出来。
5、班级信息管理数据流图设计
通过问题分析,得出成绩信息管理的外部实体有学工处和学生,处理有录入、删除、修改、查询、学生查询,文档有班级档案,班级信息管理的工作过程大致如下:
(1)当有新生入学或有学生转入时,学工处需要将其所归属的班级录入到班级档案中。
(2)当学生毕业或有学生退学时,学工处需要将其班级信息从班级档案中删除。
(3)当有学生转专业时,需要将其班级信息进行修改。
(4)当需要得到某个班级相关信息时就要进行查询。
(5)当对班级信息进行添加、删除、修改、查询时都需要将其信息显示出来。
(6)当学生要对班级信息进行查询时,首先根据学号、密码,然后通过调出班级档案中的成绩信息并显示出来。
根据上述详细的分析过程,再结合软件工程课上老师教授的相关知识,得出数据流图如下所示:
图3-3学生信息管理数据流图
图3-4课程信息管理数据流图
图3-5选课信息管理数据流图
图3-6成绩信息管理数据流图
图3-7班级信息管理数据流图
3.4.3数据字典的定义
(1)名称:
学生档案
描述:
描述学生相关信息
定义:
学生档案=姓名+学号+所在院校+专业班级+入学时间+性别+籍贯
位置:
显示给用户
(2)名称:
课程档案
描述:
描述课程相关信息
定义:
课程档案=课程名称+课程编号+任课教师
位置:
显示给用户
(3)名称:
选课档案
描述:
描述选课信息
定义:
选课档案=学生学号+课程号+成绩
位置:
显示给用户
(4)名称:
成绩档案
描述:
描述学生成绩信息
定义:
成绩档案=学生学号+课程号+分数
位置:
显示给用户
(5)名称:
违规档案
描述:
描述违规信息
定义:
违规档案=学生学号+违规信息
位置:
显示给用户
(6)名称:
班级档案
描述:
描述班级信息
定义:
班级档案=学院名称+专业名称+班级名称
位置:
显示给用户
3.4.4行为模型(状态转换图)
(1)首先进入登录界面,即初始状态,然后输入用户名和密码,如果输入错误,则显示重新输入,如果选择退出则回到登录界面,如果输入正确则进入在线管理界面,此时选择退出则回到登录界面。
处在在线管理界面时,如果选择学生信息查询,则进入学生信息管理页面,此时可以返回在线管理界面。
同理,在在线管理界面上,选择不同的操作即可进入不同的页面,在不同的页面上选择返回时都可以回到在线管理页面。
有关此过程的具体状态转换图如图3-8。
(2)首先进入登录界面,即初始状态,然后输入用户名和密码,如果输入错误,则显示重新输入,如果选择退出则回到登录界面,如果输入正确则进入在线管理界面,此时选择退出则回到登录界面。
处在在线管理界面时,如果选择基本信息查询则进入个人基本信息页面,此时也可返回到在线管理页面,同理,在在线管理界面上,选择不同的操作即可进入不同的页面,在不同的页面上选择返回时都可以回到在线管理页面。
有关此过程的具体状态转换图如图3-9。
图3-8管理员状态转换图
图3-9学生状态转换图
第4章总体设计
4.1目的与任务
将需求分析阶段得到的用户需求抽象为信息世界转化为一个独立软件架构。
4.2设计思路
经过综合分析将本系统划分为管理员模块和学生模块。
其中管理员模块又划分为学生信息管理、课程信息管理、选课信息管理、成绩信息管理、班级信息管理五个子模块。
学生模块划分为成绩信息查看、成绩信息查看、个人信息管理三个子模块。
图4-1学生信息管理系统功能层次图
4.3各模块的功能描述
(1)学生信息管理模块:
该模块主要负责管理所有在校注册学生的个人信息。
它为用户管理模块的一个子模块。
主要功能包括添加,删除,修改,查找学生信息。
每个学生有唯一的学号,管理员添加新生后,新生即可登陆此系统浏览个人信息,登陆此系统的用户名和密码默认都是此学生的学号。
(2)课程信息管理模块:
该模块负责管理本校所有的课程信息。
主要功能包括添加,删除,修改,查找课程信息。
只有管理员才具有对课程信息进行维护的权限,课程的类型分三种:
公共课,专业课和选修课。
课程管理模块是选课管理模块的基础,只有在课程管理中添有选修课的信息,学生才能进行选课。
(3)选课信息管理模块:
该模块负责选课的管理。
主要功能包括删除,统计学生选课信息。
它以在课程管理系统中维护号的信息作为基础,既可以对选修课程进行管理,也可以对统计选课人数,并根据学生选课时间先后决定最终选修此课的同学。
(4)成绩信息管理模块:
该模块主要是实现对学生成绩的录入查询及考试的违规信息的管理工作,包括:
学生成绩的录入,学期成绩浏览,学生成绩查询,班级成绩查询,违规信息的增加及浏览。
只有管理员可以录入学生每一门课的成绩,并能进行修改,学生只能查询自己所学课程的成绩,并且可以查询每一学期学生所学课程所获总学分。
(5)班级信息管理模块
该模块负责班级的管理。
主要功能包括添加,删除和修改班级信息,以及对班级信息的查询。
只有管理员才具有对班级管理信息进行维护的权限。
学生信息的添加是建立在班级信息维护的基础上,每个学生必然属于特定的班级。
并且在管理员对学生成绩查询统计时,可以统计各个班级的平均分,最高分。
(6)学生信息查看模块:
该模块能够实现学生查看个人信息等功能。
其中个人信息包括姓名、学号、所在院校、专业班级、入学时间、性别、籍贯、本学期的教学计划安排、本学期的课表等。
(7)成绩信息查看模块:
该模块能够实现学生查看成绩的功能。
查看的内容包括课程名称,学分,成绩等。
成绩查询时可按以下几种分类:
按学期查询、按学年查询、在校学习成绩查询、查询已修课程最高成绩、查看某项单科课程。
(8)个人信息管理模块:
该模块负责个人信息的管理。
主要功能包括查找学生信息等。
4.4数据库设计
(1)名称:
学生基本信息表。
表名称标识:
StudentTable
表4-1学生基本信息表
名称
字段名称
类型
主键
非空
学生姓名
Studentname
文本
No
No
学号
Studentid
数字
Yes
No
专业班级
Studentclass
文本
No
No
所在院校
Studenacademy
文本
No
No
入学时间
Accepttime
数字
No
No
性别
Gender
文本
No
No
籍贯
Hometown
文本
No