1、学生信息管理系统目录目录1第1章绪论11.1课题背景11.2目的背景与意义11.3项目开发的目标1第二章 系统分析阶段12.1问题定义22.2可行性分析32.2.1技术可行性32.2.2经济可行性32.2.3操作可行性32.2.4法律可行性32.3需求分析32.3.1功能需求42.3.2界面需求42.3.3性能需求42.4 数据描述52.4.1.系统流程图52.4.2.数据流程图62.5数据字典:6第三章 系统设计93.1目的与任务93.2 设计思路93.3各模块的功能描述93.4功能模块设计103.5数据库设计143.5.1 数据库逻辑结构设计143.5.2 数据库概念结构设计E-R图15第
2、四章 系统实施与实现164.1系统管理模块164.2 用户管理模块的使用测试174.3成绩管理模块184.4学生成绩查询子模块的使用测试18评价及总结19第1章绪论1.1课题背景此次开发的系统为学校学生信息管理系统,开发此系统是因为目前学校学生人数剧增,学生信息呈爆炸性增长,为了使学校对学生信息管理更加准确、方便。该系统设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理系统来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理系统也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功
3、能齐全且易于操作。1.2目的背景与意义学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要
4、的作用。作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点。1.3项目开发的目标建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。第二章 系统分析阶段2.1问题定义本文要开发一个学生信息管理系统,要实现学生对本人的基本信息,本学期的教学计划安排,本学期的课表,本人的各科学习成绩进行查询。同时管理人员能够对上述学生查询的信息进行管理和维护。1.学生对本人的基本信息进行查询;学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主
5、页,当学生请求查询学生的基本信息时,系统实时访问数据库,调出相应的学生信息,如姓名、学号、所在院校、专业班级等并输出显示。并且学生可以管理个人的信息即:密码的修改等。2.学生对本学期的教学计划安排进行查询;学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主页,当学生请求查询学生的本学期的教学计划安排时,系统实时访问数据库,调出相应的学校安排的教学计划等内容并输出显示。3.学生对本学期的课表进行查询;学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主页,当学生请求查询本学期的课表时,系统实时访问数据库,调出相应的课表内容并输出显示。4.学生
6、对本人的各科学习成绩进行查询;学生进入系统,输入个人的学号以及密码,通过系统的验证正确后可以进入个人信息的主页,当学生请求查询各科学习成绩时,系统实时访问数据库,调出相应的成绩信息并输出显示。5.管理人员能够对上述学生查询的信息进行管理和维护。只有管理员能进行对学生信息管理,课程信息管理,选课信息管理,班级信息管理,成绩信息管理的功能。其中:对于学生信息管理:管理员进行录入添加,删除,修改,查找学生信息。对每个学生分配唯一的学号,学生即可登陆此系统浏览个人信息,登陆此系统的用户名和密码默认都是此学生的学号。管理员做的只需要将学生的学号注册,提交,系统便可实现上述功能。对于课程信息管理:管理员根
7、据学校安排的各学院专业班级的学生课表进行添加,删除,修改,查找等功能。只有管理员才具有对课程信息进行维护的权限,课程的类型分三种:公共课,专业课和选修课。通过界面化的设计,管理者只需要输入一些信息,比如:学生的课程,选课信息等。通过点击界面上的加入、删除、修改、查找等按钮,6系统便可实现更新数据库,实现所要求实现的功能。对于选课信息管理:管理员能够删除,统计学生选课信息。管理员向学生提出可以选修的课程,在学生选课完毕之后,管理员通过界面化的系统,可以通过用于区分不同课程的唯一的课程号的操作:删除和统计来分别实现删除该课程的选课信息和统计该课程的学生选课信息。对于班级信息管理:管理员能添加,删除
8、和修改班级信息。由于每个学生属于一个唯一的班级,则管理员在录入学生个人信息的时候,将录入学生的班级信息,这两个功能模块有重叠的地方,因此,管理者只需在界面化的系统中,调出学生班级信息管理进行添加、删除、修改等操作,相应的学生个人信息将会随之改变。对于成绩信息管理:管理员通过区分不同课程所用的课程号以及学生的学号,教师所提交的学生所得分数,以班级为单位进行录入学生的成绩信息,当录入完成后系统可以统计各个班级的平均分,最高分。2.2可行性分析2.2.1技术可行性 要开发该系统必须会用到有关网络和数据库的知识,而且还需要熟练掌握一门编程语言。到目前为止,我们已经学习C和C+两门程序设计语言,其中C+
9、就是一种很好的开发语言,它引入了类、继承、多态和重载等新机制,而且它模拟了对象之间的通信,就像人们之间互通信息一样,对象之间也可以通过消息进行通信。2.2.2经济可行性 学校图书馆、实验室和教学楼都有电脑,学生可以随时去查看所需资料,当然,如果学生有个人电脑,也可以随时免费的查询所需信息。2.2.3操作可行性 开发该系统软件所用的工具简单,主要是通过编程实现相关功能,再加上界面的相关设计,都比较简单,所以操作上是可行的。2.2.4法律可行性 学生信息管理系统是学校进行管理时必不可少的一款软件,对老师管理学生、学生选课、查询成绩等都非常方便,简单可视化操作,易于管理。该项目为独立开发,在法律方面
10、不会存在侵犯专利权、侵犯版权等问题,完全按照合同的规定履行。2.3需求分析学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。我们走访学校的领导者、管理者、教师、学生等用户,他们从各自的角度对该系统所要实现的功能进行了一定的叙述。并且我们询问用户对目前正在使用的系统有哪些不满意的地方以及很满意值得借鉴的部分。通过对他们的叙述进行分析,总结如下:2.3.1功能需求为使我们开发的学生信息管理系统满足用户的需求,现将该系统所要实现的功能,总结如下: 1.学生信息管理:主要负责管理所有在校注册学生的个人信息,主要实现添加,删除,修改,查找学生信息的功能。 2.
11、课程信息管理:负责管理本校所有的课程信息。主要实现添加,删除,修改查找课程信息的功能。 3.选课信息管理:负责选课的管理。主要实现删除,统计学生选课信息的功能。 4.成绩信息管理:主要是实现对学生成绩的录入查询及考试的违规信息的管理工作,包括:学生成绩的录入,学期成绩浏览,学生成绩查询,班级成绩查询,违规信息的增加及浏览。 5.班级信息管理:负责班级的管理。主要实现的功能包括添加,删除和修改班级信息,以及对班级信息的查询。 6.学生信息查看:主要实现学生查看个人信息和修改登录信息等功能。通过该模块可以查看学生姓名、学号、所在院校、专业班级、教学计划和课表安排等信息。 7.成绩信息查看:主要负责
12、实现学生查看成绩的功能。8.个人信息管理:主要实现对个人信息的管理。2.3.2界面需求设计该系统界面时主要本着用户易于操作的原则,另外,尽量使界面看起来比较美观。2.3.3性能需求1数据精确度 查询时应保证查全率,所有相应域包含关键字的记录都应该能查到。添加、删除数据时应该保证正确的以及相关联的数据的彻底删除,避免出现一些缓冲区和存储块等的不一致以及存储区的浪费问题。2时间特性 一般操作的响应时间应该在1-2秒内,对于软磁盘和打印机服务响应时间也应在可接受的时间内完成。3适应性 开发的系统应该考虑学校的条件。考虑到技术约束、环境约束、标准约束已经硬件限制等。应该是普及适用性比较好的系统。4可靠
13、性 系统的运行应该是连续的稳定的,由平均无故障时间来判定系统的可靠性。5可维护性 维护软件可能耗费大量的物力、财力、时间,因此在开发软件的过程中,通过提高各模块的内聚度,降低各模块的耦合度等方法来提高软件的可维护性。并且通过四种维护性活动:改正性维护、适应性维护、完善性维护、预防性维护来进行维护。2.4 数据描述 2.4.1.系统流程图2.4.2.数据流程图2.5数据字典:数据流描述:数据流名:用户名密码数据来源:用户登陆处理数据去向:验证信息处理。说明:用户输入用户名和密码数据组成:用户名+密码数据流量:小数据流名:直接登陆数据来源:用户登陆处理数据去向:客户界面说明:普通用户不输入用户名和
14、密码直接以客户身份登陆数据流名:登陆数据来源:验证信息处理正确数据去向:根据验证信息返回条件决定是教师界面还是学生界面说明:系统登陆到教师界面。数据流名:选题,资料数据来源:教师界面的输入选题和资料窗口数据去向:上传处理说明:教师输入要上传的课题和资料数据流名:小组成员信息数据来源:选课信息界面数据去向:验证填写信息处理说明:学生填写同组其他同学姓名,学号,班级,小组长名。数据流名:工作报告。数据来源:课题信息界面数据去向:上传处理说明:学生将各阶段工作报告上传。数据流名:设计报告数据来源:选题信息界面数据去向:上传处理说明:学生填写所选课题的设计报告上传。数据元素词条描述:元素名:用户描述:
15、使用该管理系统的人定义:用户=教师+学生+客户元素名:用户名描述:用来区分教师和学生定义:用户名=教师名+学生名元素名:密码描述:用来保证教师和学生帐户安全定义:密码=教师密码+学生密码元素名:工作报告描述:阐述课题进展情况定义:组长名+课题号+进展情况位置:数据库元素名:设计报告描述:对所选课题设计的需求规格说明书定义:课题号+需求规格说明书+组长名位置:数据库元素名:资料描述:学习资料定义:课题号+相关资料位置:数据库元素名:验证描述:用来区分登陆用户是教师还是学生以及输入信息是否正确定义:用户名+密码位置:数据库元素名:小组信息描述:小组的同学姓名,学号,班级,组长定义:同学名+学号+班
16、级+组长名位置:数据库元素名:课题描述:老师发布可选的课题定义:课题名+课题号+课题内容说明位置:数据库第三章 系统设计3.1目的与任务将需求分析阶段得到的用户需求抽象为信息世界转化为一个独立软件架构。3.2 设计思路经过综合分析将本系统划分为管理员模块和学生模块。其中管理员模块又划分为学生信息管理、课程信息管理、选课信息管理、成绩信息管理、班级信息管理五个子模块。学生模块划分为成绩信息查看、成绩信息查看、个人信息管理三个子模块学生信息管理系统学生信息管理 课 程 信息管理选课信息管理成绩信息管理 班 级信息管理学生信息查看成绩信息查看个人信息管理图4-1 学生信息管理系统功能层次图3.3各模
17、块的功能描述(1)学生信息管理模块:该模块主要负责管理所有在校注册学生的个人信息。它为用户管理模块的一个子模块。主要功能包括添加,删除,修改,查找学生信息。每个学生有唯一的学号,管理员添加新生后,新生即可登陆此系统浏览个人信息,登陆此系统的用户名和密码默认都是此学生的学号。(2)课程信息管理模块:该模块负责管理本校所有的课程信息。主要功能包括添加,删除,修改,查找课程信息。只有管理员才具有对课程信息进行维护的权限,课程的类型分三种:公共课,专业课和选修课。课程管理模块是选课管理模块的基础,只有在课程管理中添有选修课的信息,学生才能进行选课。(3)选课信息管理模块:该模块负责选课的管理。主要功能
18、包括删除,统计学生选课信息。它以在课程管理系统中维护号的信息作为基础,既可以对选修课程进行管理,也可以对统计选课人数,并根据学生选课时间先后决定最终选修此课的同学。(4)成绩信息管理模块:该模块主要是实现对学生成绩的录入查询及考试的违规信息的管理工作,包括:学生成绩的录入,学期成绩浏览,学生成绩查询,班级成绩查询,违规信息的增加及浏览。只有管理员可以录入学生每一门课的成绩,并能进行修改,学生只能查询自己所学课程的成绩,并且可以查询每一学期学生所学课程所获总学分。(5)班级信息管理模块该模块负责班级的管理。主要功能包括添加,删除和修改班级信息,以及对班级信息的查询。只有管理员才具有对班级管理信息
19、进行维护的权限。学生信息的添加是建立在班级信息维护的基础上,每个学生必然属于特定的班级。并且在管理员对学生成绩查询统计时,可以统计各个班级的平均分,最高分。(6)学生信息查看模块:该模块能够实现学生查看个人信息等功能。其中个人信息包括姓名、学号、所在院校、专业班级、入学时间、性别、籍贯、本学期的教学计划安排、本学期的课表等。(7)成绩信息查看模块:该模块能够实现学生查看成绩的功能。查看的内容包括课程名称,学分,成绩等。成绩查询时可按以下几种分类:按学期查询、按学年查询、在校学习成绩查询、查询已修课程最高成绩、查看某项单科课程。(8)个人信息管理模块:该模块负责个人信息的管理。主要功能包括查找学
20、生信息等。3.4功能模块设计1.学生信息管理模块:学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体结构图如图4-2所示:学生信息管理增加显示查询修改删除图4-2学生信息管理功能层次图(1)当有新生入学或有学生转入时,学工处需要将其基本信息,比如姓名、学号、所在院校、专业班级、籍贯等录入到学生档案中。 (2)当学生毕业或有学生退学时,学工处需要将其基本信息从学生档案中删除。(3)当有学生转专业时,需要将其基本信息进行修改。(4)当需要得到某个学生相关信息时就要进行查询。(5)当对学生信息进行添加、删除、修改、查询时都需要将其基本信息显示出来。2.课程信息管理模块:课程信息管理模块包括
21、添加课程和浏览课程,其中浏览课程又包括删除、修改、打印、退出、查询等。具体结构图如图4-3所示。当要开设某门新的课程时,教务处要把新课程的相关信息录入到课程管理档案中。当要对已有课程进行删除、修改、打印、查询时,需要浏览课程的相关信息,当浏览完成时,退出浏览界面。课程信息管理浏览课程添加课程查询退出打印修改删除图4-3 课程信息管理功能层次图3.选课信息管理模块:选课信息管理模块包括删除,统计学生选课信息。具体结构图如图4-4所示。当选修该课程的人数少于学校规定的人数时,教务处将取消该课程的开设并删除此课程的相关信息。当新一轮的选修课选完以后,教务处将对已选的课程进行分类统计。选课信息管理删除
22、统计图4-4 选课信息管理功能层次图4.成绩信息管理模块:该模块主要是实现对学生成绩的录入查询及考试的违规信息的管理工作,包括:学生成绩的录入,学期成绩浏览,学生成绩查询,班级成绩查询,违规信息的增加及浏览。具体结构图如图4-5所示:成绩信息管理班级成绩查询成绩浏览成绩录入学生成绩查询查询打印查询打印统计退出修改删除图4-5成绩信息管理功能层次图(1)当成绩录入错误需要修改或当成绩无效需要删除时,首先要对成绩进行浏览,当操作完成时,即可退出。(2)当教师将某科成绩单交给教务处,教务处将成绩进行录入。(3)当教师或者辅导员等需要了解关于某科的成绩时,就可以对其成绩行查询,统计,必要时也可以把成绩
23、单打印出来。(4)当导师想要了解某个班的学生学习状况时,就可以对整个班级的成绩行查询,必要时可以将成绩单打印出来。5.班级信息管理模块:班级信息管理模块包括添加,删除和修改班级信息,以及对班级信息的查询。具体结构图如图4-6所示。 6.学生信息查看模块:该模块能够实现学生查看个人信息等功能。其中个人信息包括姓名、学号、所在院校、专业班级、入学时间、性别、籍贯、本学期的教学计划安排、本学期的课表等。具体结构图如图4-7所示。班级信息管理修改删除添加图4-6班级信息管理功能层次图学生信息查看查看个人信息课表安排教学计划籍贯性别入学时间专业班级所在院校学号姓名图4-7学生信息查看功能层次图7.成绩信
24、息查看模块:该模块能够实现学生查看成绩的功能。查看的内容包括课程名称,学分,成绩等。成绩查询时可按以下几种分类:按学期查询、按学年查询、在校学习成绩查询、查询已修课程最高成绩、查看某项单科课程。具体结构图如下图所示。8.个人信息管理模块:该模块负责查找学生信息。查看单科成绩查询最高成绩按学期查询按学年查询在校成绩查询成绩信息查看3.5数据库设计3.5.1 数据库逻辑结构设计 现在需要将上面的数据库概念结构转化为数据系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库的表格以及各个表格之间的关系。根据系统ER图需要设计以下几个数据表来存放学生的信息。
25、(1) 名称:学生基本信息表。表名称标识:StudentTable表4-1 学生基本信息表名称字段名称类型主键非空学生姓名Studentname文本NoNo学号Studentid数字YesNo专业班级Studentclass文本NoNo所在院校Studenacademy文本NoNo入学时间Accepttime数字NoNo性别Gender文本NoNo籍贯Hometown文本NoNo教学安排Studyarrangement文本NoNo课表安排Coursearrangement文本NoNo(2) 名称:学生成绩表表名称标识:ScoreTable 表4-2 学习成绩表名称字段名称类型主键非空课程名称L
26、ecturename文本YesYes课程编号CourseID数字YesYes学分Credit数字NoYes学生学号StudentID数字NoYes学生姓名Studentname文本NoYes分数Score数字NoYes(3) 名称:选课信息表表名称标识:SelectCourseTable 表4-3 选课信息表名称字段名称类型主键非空 学生姓名Studentname文本NoYes 学生学号StudentID数字YesYes 课程名称Lecturename文本NoYes 课程编号CourseID数字YesYes 教师姓名Teachenamer文本NoYes 教师编号TeacherID数字NoYes
27、(4)名称:教师信息表表名称标识:TeacherTable表4-4 教师信息表 名称字段名称类型主键非空 教师姓名Teachername文本NoYes 教师编号TeacherID数字YesYes课程名称Lecturename文本NoYes课程编号CourseID数字YesYes3.5.2 数据库概念结构设计E-R图学生性别姓名民族籍贯入校日期学院专业学号选课成绩课程上课时间课程类别授课教师课程名课程号第四章 系统实施与实现系统各功能模块的实现4.1系统管理模块1.权限验证模块的使用测试启动用户登录对话框,选择用户名为“王天宏”,输入密码“123”,按“登录”按钮,即可进入主界面。如果输入的密码
28、错误,则弹出提示框“密码错误,请重新输入!”。 调试图如图4.1用户登录界面:4.2 用户管理模块的使用测试 (1)增加新用户的处理启动用户设置对话框,单击“新增”按钮,输入用户资料中用户名为“学生1”,密码为“1”,确认为“11”,然后按“保存”按钮,弹出提示框“两次输入的密码不一致,请重新输入密码” 。启动用户设置对话框,单击“新增”按钮,输入用户名为“学生1”,密码为“1”,确认为“1”,然后按保存按钮,弹出提示框“用户添加成功!请记住用户名和密码”。增加新用户操作界面: (2)修改用户口令和权限的处理 启动用户设置对话框,单击用户列表中的用户名“11”,修改用户资料中密码为“22”,确
29、认为“22”,是否为管理员框打勾,然后按保存按钮,弹出提示框“用户修改成功!请记住用户名和密码”。 (3)删除指定用户的处理 启动用户设置对话框,单击用户列表中的用户名“学生1”,按“删除”按钮,用户名“学生1”从用户列表中删除成功。4.3成绩管理模块1.学生成绩录入子模块的使用测试启动学生成绩录入对话框,选择班级为“05102”,时间段“2008年度下学期”,考试类型“期末考试”,科目“大学英语”,单击“开始录入”按钮,则序号为“29”,学号“0510201”的学生诸葛亮的成绩显示在列表中,双击这一行,弹出对话框,输入成绩“80”,单击“确定”按钮,则列表中成绩更新为“80”,录入成功。如图
30、4.3学生成绩录入。4.4学生成绩查询子模块的使用测试启动学生成绩查询对话框,按班级查询,选择班级“05102”,单击“显示学生列表”,则学号为“0510201”的学生诸葛亮显示在学生列表中,双击这一行,在右边列表中显示该学生所有科目成绩;直接查询,输入姓名“诸葛亮”,单击“直接查询”按钮,下面列表中显示该学生所有科目成绩。查询操作成功。评价及总结 学生信息管理系统,本质上是对学生信息的管理和检索。不知不觉一周的课程设计就要结束了,刚开始我对系统的理解很模糊,不知道从何入手,通过查找相关资料并参考学校的教务系统,初步了解了这个系统的功能需求和较详细的工作流程。由于我们课程设计时间较短不能完全实
31、现学生信息管理的全部流程,只是尽最大的努力把课程设计题目中提到的该系统要实现的功能进行了一定的划分。 该系统通过不断地改进和完善,已经可以正常运行,并能达到预期的目标。系统运行稳定,维护使用也很方便。本系统一切为操作者着想,界面一目了然,操作非常简单,数据通过选择方式数据自动输入,容错性强,对操作者的数据都会经过判断后才写入数据库。 通过这一次的课程设计,我们对学过的软件工程的知识有了进一步的认识,基本上了解了整个软件设计的过程,对数据流程图、状态转换图、ER图、用例图、功能层次图等开发工具的应用更加熟练。同时我们深刻认识到了需求分析阶段的重要性,它是整个系统设计过程的主线。 在设计过程中我们也加深了对数据库相关知识的理解,在设计数据库时提取实体联系的过程就是对整个系统的分析过程。整个程序虽然没有通过代码完全实现,但是我们已经设计出了相关的类和对象,只要运用C+编程语言完善相关的代码即可实现系统所要求的功能。 总之,经过这一次的课程设计实习,我们各方面的能力都有所提升,受益颇多。忽略此处. 25