1、学生信息管理系统论文 作者: 日期:2 个人收集整理 勿做商业用途 题目:学生信息管理系统学科专业: 计算机科学与技术 学 生: 学 号: 4302010 摘 要学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要.本文介绍了学生信息管理系统的开发整个过程,阐述了系统分析、系统设计、数据库设计和系统实施的全过程。在开发方法上本系统利用了软件工程化的思想和方法,总体上采用结构化生命周期开发方法,具体模块实施采用了原型法和面向对象系统开发方法。并采用VisualS2005作为开发工具,SQL Server 2000作为后台数据库。本系统具有学生档案管理,班级
2、管理,课程管理,成绩管理,专业管理等模块,可分别完成日常学生档案,班级信息,课程信息,成绩信息的添加、修改、删除、查询、打印等功能. 本人在此次毕业设计中主要对“学生课程管理”,“学生成绩管理”,“学生档案管理”,“补助管理”四个模块进行了具体设计。【关键字】:信息管理系统、生命周期、软件工程、原型法。目 录 摘 要1Summary21.绪论41.1 课题背景41.2目的背景与意义41。3项目开发的目标42. 开发工具的选择43。系统分析53。1业务流程分析53。2数据流程分析63。2。1数据流程图63。3数据存储分析74。系统总体规划841系统总体功能层次图8411课程管理模块9412补助管
3、理模块9413成绩信息管理模块10414学生档案管理模块1042总结105.数据库设计115。1数据库需求分析115。2数据库表实体115.3 各表的物理结构126.系统设计1661软件结构设计1662系统结构设计1763系统操作流程图1764系统详细设计18641课程信息管理18642成绩信息管理20643学生补助管理24644学生档案管理297。调试298.全文总结29致 谢29参考文献301. 绪论11课题背景该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计
4、完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理. 目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作1.2目的背景与意义 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段.但一直以来人们使用传统人工的方式管理文件档案、
5、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件.1。3项目开发的目标 建立学生信息管理系统,采用
6、计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。2. 开发工具的选择现在,市场上可以选购的应用开发产品很多,流行的也有数十种.目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:Microsoft公司的Visual S, Microsoft公司的Visual C, Borland公司的Delphi和 Powersoft公司的PowerBulider以及Java等。在这些程序开发工具中,有的强调程序语言的弹性与执行效率;有的则偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优
7、点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必定要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点成为了一纸空谈;相反地,如果只强调语言的弹性,却没有便利的工具作配合,会使得一些即使非常简单的界面处理动作,变得复杂和麻烦起来,这样也会浪费程序设计师们的宝贵时间。作为数据库系统的开发,Visual S 2005是一个非常理想选择,它有效地避免了以上所谈到的诸缺点。数据库技术是MIS设计中的重要支持技术,在MIS开发过程中,如何选择数据库管理也是一个重要的问题,目前,数据库产品可谓琳琅满目,每种产品都
8、具有各自的特点和适用范围,因此,在选择数据库前,我慎重考虑了一下,应数据库应用的特点及适用范围,本系统选用了数据库SQL Server2000,开发工具当然是非Visual Studio。net 2005莫属了。Visual Studio。net 2005是一种可视化的、面向对象和调用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础.在Visual Studio。net 2005环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Wi
9、ndows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。3. 系统分析(我负责的模块)3。1业务流程分析教务处输入计算机班主任教务处学生档案档案输出学生档案业务流程图: 教务处输入计算机教师教务处学生课程输出课程管理业务流程图:课程教务处输入计算机教师教务处学生成绩教师输出成绩管理业务流程图:3。2数据流程分析: 3.2。1数据流程图学籍管理部门教师学生成绩管理系统教务处学生教师教师学生情况学生成绩查询统计分析学生成
10、绩管理系统0层数据流程图管理部门教务处教师1.0学生管理2.0课程管理3.0成绩管理4.0统计分析D1D2D3查询者管理者成绩管理1层数据流程图3.3数据存储分析:实体联系图1、数据模型设计。首先来做出学生成绩管理模块的ER图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。2、再分析三个实体之间的联系.首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体
11、“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。因为成绩既不是学生独有的,也不是课程独有的;“学生甲80分或“英语80分”是不完全的,说“学生甲英语80分”才是正确的,因为80分是学生甲和英语课二者共有的。这个E-R图可画成下图。学生课程成绩学习mn成绩管理模块中学生与课程的ER图教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。其E-R图,如下所示。n教师课程教学l教师,学生与课程的ER图组合到一起,得到最后的ER图,有了ER图,就可以设计数据库。下图为数据模
12、型图。学生课程教师学习学习课程学生教师实体模型数据模型数据库1m学习mn4. 系统总体规划学生信息管理系统是一个典型的数据库应用程序,由系统管理模块、课程信息管理模块、学生补助管理模块,成绩信息管理模块等模块组成,允许授予权限的用户操作相应的菜单,从而实现数据信息的修改,查询,打印,统计等功能。 4.1 系统总体功能层次图学生信息管理系统系统管理专业设置班级管理学生管理课程管理补助管理奖学金管奖惩管理成绩管理用户操作 由上图知学生信息管理系统共有10个功能模块,现将我负责的三个模块做如下规划 4。1。1课程管理模块(CTRL+K):该模块对各个班级各个学期的课程进行设置,方便了学校教务处的教学
13、管理人员的工作。该模块包括课程的增加和课程信息的浏览,其中课程信息浏览窗体中包括课程的修改,删除,打印功能.课 程 管 理添加课程浏览课程修改删除打印退出查询4.1.2补助管理模块(Alt+D): 该模块的功能是实现对学生贷款信息及特困生补助的管理工作,包括:贷款浏览、贷款添加、特困生补助增加,特困生补助浏览,其中学生贷款和特困生补助是两个相对独立的模块。补 助 管 理贷款增加浏览贷款修改删除打印退出查询补助增加浏览补助修改删除打印查询退出4。1.3成绩信息管理模块(AltC): 该模块主要是实现对学生成绩的录入查询及考试的违规信息的管理工作,包括:学生成绩的录入,学期成绩浏览,学生成绩查询,
14、班级成绩查询,违规信息的增加及浏览.成 绩 管 理成绩浏览成绩录入学生成绩查询班级成绩查询删除修改退出统计打印查询打印查询4.1。4学生档案管理档 案 管 理添加学生浏览学生修改删除打印退出查询4.2总结通过对总体设计部分的分析,我们对程序的总体设计有了充分的认识,对系统的各部分模块有了总体的认识,我们下一步所做的工作就是应该进行数据库的设计及系统设计。5. 数据库设计 学生信息管理系统采用了Microsoft推出的SQL Server2000作为后台数据库5.1 数据库需求分析 在设计数据库结构时,以及可能地满足用户所提出的各项要求,同时又避免同时又要避免冗余数据产生。由于在学生信息管理系统
15、中,需要采集大量的信息,包括学生信息,班级信息,课程信息,成绩信息,专业信息等,如果不能够合理有效地组织数据表的结构,以及合理设置每张表所包含的字段,那么后期进行的数据的整理以及汇总时,就会增加编程人员的开发难度,并造成成绩效益的大幅度下降.根据学生基本信息以及其他相关信息的特点,归纳出以下规律:1.一个专业包括多个班级;2。一个班在一个学期内开设多门课程;3。每一门课程记录每一名学生的成绩;4。一种角色对应一个和多个用户;5。每一个学生可以贷款多项费用;6.一个班级对应一个入学年份及学制;7。一个班级包含多名学生;8。每一个学生都有不同的学号;9。每一个学生可以受奖励或处罚多次;10.每一个
16、学生可以获奖学金多次;5。2数据库表实体BuZhuInfo SpecialtyName,ClassName,Semester,Name,StudentNumbe,Enrolmentyear,Sex,BuZhuDate,BuZhuJinE,JiaTingInfo,RemarkChufaInfoSpecialtyName,ClassName,Semester,Name,StudentNumber, Enrolmentyear, Sex, ChufaDate, ChufaType, ChufaReasonClassInfo ClassID,ClassName,SpecialtyName,ClassN
17、umber,Length,Teacher,EnrolmentTime, RemarkCourseInfo CourseID,ClassID,Course,SemesterDaiKuanInfoSpecialtyName,ClassName,Semester,Name,StudentNumbe,Enrolmentyear,Sex, DaiKuanDate, Xuefei, Zhusufei, Shufei, Shenghuofei, RemarkFeiyongInfoSpecialtyName,ClassName,Semester,Name,StudentNumber, Enrolmentyea
18、r, Sex, JiaofeiDate, Xuefei, Zhusufei, Shufei, RemarkJiangliInfo SpecialtyName,ClassName,Semester,Name,StudentNumber,Enrolmentyear,Sex,AwardDate,AwardType,AwardReasonJiangXuejinInfoSpecialtyName,Name,ClassName,StudentNumber,Enrolmentyear,Semester,JiangXiang,JinE,RemarkKaoQinInfo SpecialtyName,Name,C
19、lassName,StudentNumber,Enrolmentyear,Semester,JiangXiang,JinE,RemarkRolesRoleName,SystemManage,SpecialtyManage,ClassManage,CourseManage,ScoreManage,StudentManage,DaikuanManage,JiangchengManage,JiangxuejinManageScoreInfoScoreID,Semester,StudentNumber,Course,ScoreSpecialtyInfoSpecialtyID,SpecialtyName
20、,RemarkStudentInfoSpecialtyID,SpecialtyName,RemarkUserInfo Name,Passwd,RoleName5。3各表的物理结构BuZhuInfo表 字段名称 数据类型 长度 允许空SpecialtyNamenvarchar50否ClassNamenvarchar50否Semesternvarchar50否Namenvarchar50否StudentNumbernvarchar50否Enrolmentyearnvarchar50否Sexnvarchar50否BuZhuDatesmalldatetime4否BuZhuJinEint4否JiaTin
21、gInfontext16否Remarkntext16否 ChufaInfo表 字段名称 数据类型 长度 允许空SpecialtyNamenvarchar50否ClassNamenvarchar50否Semesternvarchar50否Namenvarchar50否StudentNumbernvarchar50否Enrolmentyearnvarchar50否Sexnvarchar50否ChufaDatesmalldatetime4否ChufaTypeint4否ChufaReasonntext16否 ClassInfo 表 字段名称 数据类型 长度 允许空ClassIDint4否ClassNa
22、menvarchar50是SpecialtyNamenvarchar50是ClassNumbernvarchar50是Lengthint4是Teachernvarchar50是EnrolmentTimesmalldatetime4是Remarkntext16是CourseInfo表 字段名称 数据类型 长度 允许空CourseIDint4否ClassIDint4是Coursenvarchar50是Semesternvarchar50是DaiKuanInfo表 字段名称 数据类型 长度 允许空SpecialtyNamenvarchar50否ClassNamenvarchar50否Semester
23、nvarchar50否Namenvarchar50否StudentNumbernvarchar50否Enrolmentyearnvarchar50否Sexnvarchar50否DaiKuanDatesmalldatetime4否Xuefeiint4否Zhusufeiint4否Shufeiint4否Shenghuofeiint4否Remarkntext16否FeiyongInfo表 字段名称 数据类型 长度 允许空SpecialtyNamenvarchar50否ClassNamenvarchar50否Semesternvarchar50否Namenvarchar50否StudentNumbern
24、varchar50否Enrolmentyearnvarchar50否Sexnvarchar50否JiaofeiDatesmalldatetime4否Xuefeiint4否Zhusufeiint4否Shufeiint4否Remarkntext16否JiangliInfo表 字段名称 数据类型 长度 允许空SpecialtyNamenvarchar50否ClassNamenvarchar50否Semesternvarchar50否Namenvarchar50否StudentNumbernvarchar50否Enrolmentyearnvarchar50否Sexnvarchar50否AwardDat
25、esmalldatetime4否AwardTypenvarchar50否AwardReasonnvarchar300否JiangXuejinInfo表 字段名称 数据类型 长度 允许空SpecialtyNamenvarchar50否Namenvarchar50否ClassNamenvarchar50否StudentNumbernvarchar50否Enrolmentyearnvarchar50否Semesternvarchar50否JiangXiangnvarchar400否JinEsmalldatetime4否Remarkntext16否KaoQinInfo 表 字段名称 数据类型 长度 允
26、许空SpecialtyNamenvarchar50否ClassNamenvarchar50否Enrolmentyearnvarchar50否Semesternvarchar50否Namenvarchar50否StudentNumbernvarchar50否LateTimenvarchar50否Remarkntext16否Roles表 字段名称 数据类型 长度 允许空RoleNamebit1否SystemManagebit1否SpecialtManagebit1否ClassManagebit1否CourseManagerbit1否ScoreManagebit1否StudentManagebit1
27、否DaikuaManagebit1否JiangchManagebit1否JiangxuManagebit1否YonghuManagebit1否ScoreInfo表 字段名称 数据类型 长度 允许空ScoreIDint4否Semesternvarchar50是StudentNumbernvarchar50是Coursenvarchar50是Scoreint4是SpecialtyInfo表 字段名称 数据类型 长度 允许空SpecialtyIDint4否SpecialtyNamenvarchar50否Remarkntext16是UserInfo表 字段名称 数据类型 长度 允许空Namenvarc
28、har50否Passwdnvarchar50是RoleNamenvarchar50是StudentInfo表 字段名称 数据类型 长度 允许空StudentIDint4否StudentNumbernvarchar50否Namenvarchar50是Sexnvarchar50是Racenvarchar50是Addressnvarchar50是Telephonenvarchar50是Rolenvarchar50是Postalcodenvarchar50是ClassIDint4是Remarknvarchar50是6. 系统设计6.1软件结构设计本系统在执行时,先根据不同的操作人员的需要来进行相应的模
29、块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。接受数处理中专业管班级学生课程补助奖学金管成绩奖惩打印数据6。2系统结构设计 数据信息对于信息系统来说是致关重要的,因此系统中必须有一套实现数据存取的机制,本系统关于数据存取部分的实现原理如下图所示,该图对本系统数据存取的操作流程进行了抽象和概括。SqlConnectionSqlConnectionDataGridDataSetSqlDataAdapterDataBaseSqlCommandSqlDataReader参数参数 S Q L S Q L 数据存取关系图6.3系统操作流程图 开 始 登 入N成
30、功Y退出系统打印查询删除修改增加用户操作奖学金管奖惩管理成绩管理补助管理学生管理课程管理选择操作 YN班级管理系统管理专业管理 结 束6.4系统详细设计(课程管理模块, 成绩管理模块,补助管理模块,学生信息管理模块) 本部分主要内容为本系统的运行界面及其分析,各模块的打印功能都为:将DataGrid中数据导出到EXCEL中,借助EXCEL的打印功能实现数据打印。以下在涉及到打印功能时就略过。6。4.1课程信息管理增加课程信息 考虑到每个院校及专业的实际情况会有所不同,在设置课程时,将课程与班级、学期联系在一起,这样使得不同的院校可以根据不同的需要灵活设置开设课程.界面如下 浏览课程信息 为了方
31、便用户灵活选择班级及学期,在程序中使用了TreeView树形控件。当用户选定了条件后班级课程会排列在右侧的网格控件中,如下所示 修改班级课程 修改班级课程时,只允许修改其课程名称,同时需要确保修改后的课程名称不能与该班级同一学期内的课程名称发生冲突,界面如下如果修改后的课程名称不能与该班级同一学期内的课程名称发生冲突,将弹出如下对话框删除班级课程 删除课程信息需要考虑的问题为是否与当前课程有关的学生成绩记录存在,如果有则取消删除操作,并弹出提示对话框,如下图所示.否则可正常删除课程记录.6。4.2成绩信息管理模块学生成绩录入 在此界面中选定了专业、班级、学期后,班级中的学生名单及本学期开设的课
32、程将会分别显示在ListView控件中,方便用户进行成绩的录入。录入成绩时,同一个学生同一门课程的分数不能重复录入,同时也对数据的格式进行了判断,避免了非法数据造成应用程序的崩溃,界面如下所示 浏览学生成绩 确定班级范围后,依次按照班级,学期,学生的顺序进行选择,学生的成绩可显示在右侧的表格中,包括自动编号,课程名称,成绩及录入状态。如果成绩尚未录入时,自动编号及成绩项显示为0,见下图 成绩信息修改 当在成绩浏览窗口中选择某一成绩记录后,可以在成绩修改窗口中修改分数,单击修改分数按钮对已录入的成绩进行修改,将弹出成绩修改对话框,如下所示删除学生成绩当成绩为已录入状态时,可以进行删除。等待录入状
33、态的成绩不能删除,否则程序会给出提示信息,如下所示学生成绩查询 在该界面中,由指定的学号,学期范围来查询学生各学期的成绩,以及每学期成绩的统计状况并可将成绩统计状况导入到EXcel中打印。程序中将会显示检索出来的课程成绩的数量,如果课程与开设的课程数量不符,就需要进入学生成绩浏览界面对未录入的课程数据进行补录,该界面如下班级成绩查询 在该界面中,由指定的班级名称,学期范围作为查询条件,可以得到班级各门课程的成绩统计统计信息并打印,如课程的最高分,最低分,平均成绩,总成绩等。这对于评估班级的整体素质起到参考作用,界面如下所示6。4。3学生补助管理考虑到不同学生的家庭状况不同,系统特设了学生贷款和
34、特困生补助这两个子管理模块,方便了学校对这方面的管理,由于这两个模块具有相似之处,在此我只以学生贷款子模块为例来分析,特困生补助子模块可参阅本模块的设计思路学生贷款增加 该界面主要是实现贷款费用的增加。在用户输入了完整的贷款信息后,可将贷款信息插入到数据库中,界面如下增加贷款信息时需注意一点,即是该界面中的学号必须是已经存在的学号,否则增加的信息不会与其他功能模块相互关联(即此班级不存在该学学生,但却有该学生的贷款信息)贷款信息浏览 在该界面中,在用户选定了专业,输入入学年份,并选择了班级后,单击“查询”按钮,则该班级所有的贷款学生信息将在DataGrid数据控件中显示,界面如下 如果用户选定
35、了专业,输入入学年份,并选择了班级后再输入学号,系统将能实现精确查询,界面如下修改贷款信息当DataGrid中数据不为空且用户选中某行数据,并单击“修改按钮”后,弹出贷款信息修改窗体,此窗体只允许用户修改性别、学费、住宿费、书费、生活费、备注。贷款修改界面如下如果没有查询或是用户没有选中要修改的信息,将弹出如下提示 删除贷款当用户选择了要删除的行并单击“删除贷款”后,出现如下询问消息对话框否则弹出如下警告信息 6。4.4学生档案管理此管理模块设计思想与学生补助管理模块相似,其具体的实现过程可参考学生补助管理模块的设计。7. 调试在系统投入使用前要进行一系列测试,以保证更高的系统准确性,数据要按
36、照标准测试要求进行测试,如边界数据、关联数据、相似区分数据、正常使用数据、大小写等。经调试后确认本系统(我负责的模块)已完成分析阶段所要求的所有功能,可以投入使用。8. 全文总结在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对学生信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的.通过开发这个系统,我掌握了的项目基本开发过程,
37、用到的知识巩固了我对Visual C的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神.致 谢 从接受课题到现在完成毕业设计论文,衷心的感谢我的指导老师欧阳老师给予了精心的指导和热情的帮助,尤其在课题设计的前期准备阶段和本人的数据库的设计阶段,导师提出许多宝贵的设计意见,在最后的测试修改阶段老师在百忙之中抽出时间为我们提供了必要的帮助,这样使得我得以顺利的完成毕业设计开发工作,在短暂的一个月的相处时间里,老师渊博的知识、敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益,谨此向老师表示衷心的感谢和崇高的敬意!参考文献1 史济明等编著,软件工程-原理、方法与应用,高等教育出版社,20022 汪孝宜等,信息系统开发实例精粹(C版),电子工业出版社,20063 张立,C2.0宝典,电子工业出版社,20074 李兰友等编著,Visual C#。Net程序设计,清华大学出版社,20035 何玉洁编著,数据库原理与应用,机械工业出版社,20066 王东明等编著,VISUAL C#.NET程序设计与应用开发,清华大学出版社,200828