学生管理信息系统课程设计.docx
《学生管理信息系统课程设计.docx》由会员分享,可在线阅读,更多相关《学生管理信息系统课程设计.docx(30页珍藏版)》请在冰豆网上搜索。
学生管理信息系统课程设计
管理信息系统课程设计
学生管理信息系统课程设计
专业:
班级:
小组成员名单:
指导老师:
二○一一年六月
第一章学校学生管理信息系统的系统规划
1.1项目开发背景
1.1.1课程设计小组成员的基本情况介绍
本课程设计小组由4人组成,
组员:
王盼攀,张晓平,王小英,毛晓燕
具体分工如表1-1
表1-1《管理信息系统》课程设计成员工作分配表
题目
学生管理信息系统
专业
工业工程
班级
092
小组成员及工作分配
学号
姓名
分工及时间安排
签名
109061031
王盼攀
系统设计、数据处理、课程设计报告整理
109061032
张晓平
系统总结及U/C矩阵分析
109061033
王小英
数据库分析及PPT制作
109061034
毛晓燕
流程分析及VB界面设计
1.1.2项目背景及介绍
本小组的选题为:
人事管理信息系统的开发和应用,随着计算机技术的高速发展,学生的管理逐步由人工管理方式过渡到计算机管理方式,由此而设计产生出了学生管理系统。
在学籍管理中,需要从大量的日常教学活动中提取相关信息,以反映教学情况。
传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。
使用计算机可以高速,快捷地完成以上工作。
规范教学管理行为,从而提高了管理效率和水平。
本次系统包括6个版块:
1,用户管理;2,班级管理;3,课程管理;4,科目管理;5,成绩管理;6,学生管理。
1.2项目开发目的
本课程设计的具体任务就是设计一个学校管理信息系统,利用现代计算机和数据库开发技术来代替人工处理,从而减轻各部门管理人员的劳动强度,提高工作质量和效率,提高信息资源的利用率和企业管理水平。
1.3可行性分析
1.3.1技术可行性
该系统可以运行于Windows系列操作系统当中,特别是随着Windows2000的普及更是为该系统提供了另一个更为稳定的环境,在数据库方面也显得特别有利。
因此更加节省了该系统开发经费,该系统应该说有开发的必要性。
1.3.2经济可行性
在计算机普及的时代,计算机的价格不断下降,使得计算机得到广泛的应用,简易行的操作系统与软件,又使得计算机成为工作学习中不可缺啥的一部分。
而学校只需购买几台服务器,就足够支持信息系统的建设,通过至顶向下分析逐步求精的方法对系统进行设计,并通过维护使系统逐步完善,因而信息系统的使用也成了现实,从而达到经济上的节约,具有可行性。
1.3.3结论
综上所述:
计算机的普及,软件使用的方便性,成本的降低,互联网的流行还有教师综合素质和计算机技能的提高都给高效管理信息系统建设,推广提供了动力和智力支持,管理信息系统的实现成为现实,本工程的技术成熟,完善,测试手段可靠,具有良好的实用性,因此,本项目可行。
第二章学校内部业务管理信息系统的系统分析
2.1 学校组织结构架
组织结构如图2-1所示.
图2-1组织结构图
2.2组织业务关系
组织业务关系如图2-2所示。
图2-2组织业务关系图
2.3业务流程分析
业务流程是学校在日常运行过程中因业务发展的需要而产生的,并且支撑着日常业务系统的正常运行。
它在学校的运行过程中因为业务的需要而产生,而且学校也正是这些关键业务流程支撑着学校日常的运行和发展,只要企业持续招生办学,那么这些业务流程将会一直存在。
业务流程分析主要是定义管理的内容,对现行的管理进行仔细地回顾和描述,从而认识项目在业务的具体要求,其业务流程图如图2-3所示。
图2-3业务流程图图例说明
2.3.1学生在校期间总流程图分析
学生在校期间主要的流程主要是:
招生处将录取的新生资料上报教务处建立学生档案。
学生课通过成绩管理查看自己分数,在合格的条件下最后再有招生处统一毕业。
其业务流程图如图2-4所示。
图2-4总流程图分析
2.3.2新生入校流程图分析
新生入校的主要流程是:
招生办根据本校招生要求与投档情况招收学生,然后被招收的学生入校,报到注册,提供学生档案到辅导员,然后由学校安排人员集体录入这些资料。
其业务流程图如图2-5所示。
图2-5新生入校流程图
2.3.3学生信息维护流程图分析
员工信息维护的主要流程是:
由新生入校时提供个人的基本资料,形成学生档案;如若学生需要修改个人资料,学生先登录个人信息界面,然后修改资料,再提交系统审批,通过系统审批以后由系统修改学生资料。
其具体流程图如图2-6所示。
图2-6学生信息维护流程
2.3.4学生转专业流程图分析
学生转专业的主要流程是:
由校教务办公示各专业招收人数和审核办法,学生提交转专业申请至所在学院,由所在学院提供学生学业成绩和专业排名等资料对提交转专业申请的学生进行审核,签署意见并把转专业申请表递交至转入学院,有转入学院根据审核办法对其进行审核,审核完毕后拟定接受转专业名单,递交校教务办,由其进行复核并报学校审批,由学校公示转专业名单。
具体流程图如图2-7所示。
图2-7学生转专业流程
2.3.5教职工工资流程图分析
教职工工资管理的主要流程是:
根据后勤处的扣款清单和教务处的工资变动清单汇总财务处进行审核,然后职工根据工资发放通知到财务处领取工资,其业务流程图如图2-8所示。
图2-8工资发放流程图
2.4人事部的数据流程分析
数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,在数据库系统开始设计的时候应该尽量考虑全面,尤其应该仔细考虑用户的各种需求。
数据流图是表示系统逻辑模型的常用工具,图中不存在任何具体的物理元素,只表示信息在系统中流动和处理的情况。
它是和用户进行交流的极好工具。
图2-9为数据流程图图例说明。
图2-9数据流程图图例说明
学生信息管理的数据流程图:
招生办负责招收及,教务办对学生进行管理考核。
学校根据学校需求拟定招生计划,招生办根据招生计划以及学生投档情况进行招生活动。
教务办对学生的在校情况进行管理、审核、记录处理,学生根据自身爱好和学校提供的课程参加选课,并做记录处理。
系统顶层数据流程图如图2-10所示。
图2-10学生信息系统管理系统顶层数据流程图
接着我们把学籍管理信息系统化分为档案管理、成绩管理、奖惩管理三个主要部分。
与其相关的主要外部实体和数据流关系如下图2-11所示。
图2-11学籍管理第二层数据流程图
2.5系统数据库建模----E-R模型分析
数据库设计(DatabaseDesign,简记为DBD)是指针对给定的软、硬件环境,根据现实问题要求,设计出最优数据库模式,进行数据库及应用系统设计,使之能够有效存取数据及满足用户需求。
数据库设计一般包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行及维护六个阶段。
以下是系统要用到的主要数据库表图如下图2-12至2-16所示。
.
图2-12course数据表图2-13student数据表
图2-14class数据表图2-15course数据表
图2-15student设计表
E-R图中用椭圆形或圆角矩形表示实体(或关系)的属性并用无向边把实体(或关系)与其属性连接起来。
用矩形框来表示实体,用连接相关实体的菱形框来表示联系。
如同数据库中的表的关系,E-R图中关系也分为一对一、一对多、多对多三个类型,可以表示为1:
1、1:
N、N:
M这三种形式。
E-R模型适用简单的图形符号表达系统分析员对问题域的理解,不熟悉计算机技术的用户也能理解它,因此,E-R模型可以作为用户与分析员之间有效的交流工具。
它们之间的联系用E-R图方法表示如图2-12所示:
采用VISIO2003创建的实体如图4-2所示,具体含义有:
图2-12E-R图图例说明
下面的E-R图2-13,详细的描述出了,数据在概念上的物理关系,实体中都详细的包含着自己的字段值,字段类型、长度,并且是主从表,由唯一的主键连着,从表的值随主表的改变而改变,整个图示关系明了,一看就明白其对应的物理数据库表的作用。
图2-13系统数据库主要表的E-R图
2.6系统U/C矩阵分析
学生管理的六大功能与学生的基本数据之间的关系可用U/C矩阵来表示。
图2-14为系统U/C矩阵。
图2-14系统U/C矩阵
第三章管理信息系统设计
管理信息系统设计主要包括了系统的概要设计和详细设计。
3.1功能子系统划分
根据U/C矩阵分析,对学生管理系统惊醒功能子系统划分,如图3-1所示。
本系统只要划分为六个功能子系统:
图3-1系统功能子系统图
3.2层次化模块结构图
学生管理信息系统中,模块划分和处理过程设计是非常关键的一步,因此,本着对系统可修改性、易读性、易查错性等方面进行设计。
基本思想是:
1、模块化;2、图表文字解说。
其中,HIPO图是一种强有力的描述系统机构和模块内部处理功能的工具,它主要包括层次结构图和IPO图两个部分。
层次结构图描述了整个系统的设计结构以及各类模块之间的关系;IPO图则描述了在某个特定模块内部的输入(I)、处理过程(P)、输出(O)思想。
其层次模块结构图如图3-2所示。
图3-2层次化结构模块图
层次化结构模块图是从结构化设计的角度提出的一种工具。
学生管理信息系统的模块化分为若干子系统,如课程管理子系统、成绩管理子系统等,它们之间是平级关系,并且,相互之间也不交叉。
同时,一个模块还下分了子模块,如课程管理子系统下面包含了教师基本管理和课程基本管理两个子模块,而且成绩管理子系统下面包含了成绩信息管理和成绩管理两个子模块。
这样,从整体上来划分,形成从全局来进行管理的格局。
其层次化教师基本管理模块结构如图3-3所示。
图3-3层次化教师基本管理模块结构图
模块名称:
教师基本信息输入系统
使用单位:
课程管理
输入部分I
处理部分P
输出部分O
1.利用权限打开数据库
2.输入教师基本信息:
编号、姓名、联系电话、教师姓名、任教年限、性别、专业、出生年月
1.核对用户信息
2.查看是否有误写(如编号、性别、生日年月、电话等,有固定数字和文字),或有漏写
3.检查是否有相同的编号
1.检查无误,继续进行下一环节
2.检查出问题,系统提示,重新修改
图3-4教师基本信息输入IPO图
教师基本信息输入系统IPO图表示了教师基本信息输入模块,讲述了如何如图3-4所示。
输入教师的基本信息,检查其正确性,核对建立新的教师信息、修改原有的信息等功能。
其处理IPO图如图3-5所示。
模块名称:
教师基本信息处理系统
使用单位:
课程管理
输入部分I
处理部分P
输出部分O
1.利用权限打开数据库
2.输入教师基本信息:
编号、姓名、联系电话、教师姓名、任教年限、性别、专业、出生年月
3.写入教师基本信息
1.核对教师基本信息
2.根据用户的选项,进行添加、修改、删除、更新
3.对相应的原有信息进行处理
1.处理结束后,经检查无误,则输出处理后的基本信息
2.将处理的信息记入保存文档
3.修改数据库的储存信息
图3-5教师基本信息处理IPO图
教师基本信息处理系统IPO图表示了教师基本信息处理模块,讲述了如何核对教师的基本信息,并对信息进行修改、添加、更新、删除,检查其正确性的功能。
其基本信息输出IPO图如图3-6所示。
模块名称:
教师基本信输出系统
使用单位:
课程管理
输入部分I
处理部分P
输出部分O
1.利用权限打开数据库
2.输入教师基本信息:
编号、姓名、联系电话、教师姓名、任教年限、性别、专业、出生年月
3.读取教师基本信息
1.核对教师基本信息
2.根据用户的选项,进行相应的处理
1.核对相应的基本信息
2.检查无误,则输出处理后的教师基本信息
图3-6教师基本信息输出IPO图
教师基本信息输出系统IPO图表示了教师基本信息输出模块,讲述了对已经核对教师的基本信息进行检查并输出的功能。
图3-7层次化成绩查询模块结构图
模块名称:
信息、学年、学期输入系统
使用单位:
成绩管理
输入部分I
处理部分P
输出部分O
1.利用权限打开数据库
2.输入学生的学号、姓名信息以及所要查询的学年、学期信息
3.写入数据库信息
1.核对学生的信息
2.检查学号是否有重复或者错写(如出现符号等)
1.检查出错误,则系统提示,要求修改填写的信息
2.检查无误,则进行下一环节
图3-8信息、学年、学期输入IPO图
信息、学年、学期输入系统IPO图表示了信息、学年、学期输入模块,如图3-8所示,讲述了如何输入学生的学号、姓名、学年以及学期的信息,核对学生的信息的功能。
其层次化成绩查询模块结构图如图3-7所示。
模块名称:
信息处理系统
使用单位:
成绩管理
输入部分I
处理部分P
输出部分O
1.利用权限打开数据库
2.输入学生的学号、姓名信息以及所要查询的学年、学期信息
3.读取学生填写的信息
1.核对学生填写的信息
2.根据学生所选择的学年或学期,进行信息的选择和处理
1.处理结束后,核对相应的基本信息
2.读出对应的成绩信息,进行下一环节
图3-9信息处理IPO图
信息处理系统IPO图表示了信息处理模块,讲述了对输入的学生信息进行核对,并检查其做出相应的处理的功能。
如上图3-9所示。
模块名称:
学生成绩输出系统
使用单位:
成绩管理
输入部分I
处理部分P
输出部分O
1.利用权限打开数据库
2.输入学生的学号、姓名信息以及所要查询的学年、学期信息
1.检验读入的信息,并对此做出反应
2.将数据库内的信息与所需的信息进行核对
1.核对相关的信息
2..检查无误,输出学生所查询的成绩
图3-10学生成绩输出IPO图
学生成绩输出系统IPO图表示了学生成绩输出模块,讲述了对已经核对学生输入的信息进行检查,并输出其所需的成绩信息的功能。
如上图3-10所示。
第四章主要模块设计
4.1用户登录界面
用户登录界面如图所示
图4-1用户登录界面
该界面为软件的用户登录界面,用户通过输入用户名,密码,类型以及权限,通过验证成功后方能进入该系统。
4.2学生信息管理主界面
学生管理信息系统主界面如图4-2所示
图4-2学生管理系统界面
该主界面包含的主要管理功能有:
●学生管理—基本信息管理/导出学生表/打印学生表
●课程管理—课程管理/导出课程表/打印课程表
●班级管理—班级基本信息管理/导出班级成员
●成绩管理—学生成绩查询管理/导出成绩单/打印成绩单
4.3各功能模块
4.3.1班级管理以及查询
班级管理如图4-3所示
图4-3班级管理
班级属性有:
名称、班主任(来自于系统中保存的教师)、当前学生人数、建班日期和备注等属性。
班级管理模块主要分为班级信息管理和班级查询两个界面,班级基本信息管理界面中的Groupbox班级档案,显示班级编号、班级名称、学制、专业、班主任、开班日期、备注等基本信息情况。
DataGridView显示数据库中班级详细信息以及伴随操作产生的数据变动情况。
在本操作界面内,管理员可对班级信息进行添加、删除、修改等各种操作。
图4-4基本信息查询
班级查询界面,主要实现班级基本信息的查询,面向没有管理权限的普通用户访问系统信息,根据班级编号对班级信息进行查询操作,详细信息会在窗体上面DataGridView中显示,普通用户只能浏览信息,不能进行删除、修改等管理权限操作。
如图4-4所示。
4.3.2课程管理
图4-5课程管理
课程管理模块主要分为课程管理界面和教师管理界面两部分实现。
课程管理界面中的DataGridView显示课程基本信息,包括科目编号、班级编号、开课学期、教师编号、开课日期、捷克日期等基本信息。
管理员可对每一个班级的上课科目进行添加、删除、修改、查找等功能,也可对全部课程进行查看、修改、添加、删除等基本操作。
如图4-5所示。
4.3.3成绩管理
图4-6成绩管理
成绩管理模块,管理员可对每一个班级的上课科目的学生成绩进行添加、删除、修改、查找和报表输出等功能,成绩属性有:
学生姓名、所属班级(来自于系统中保存的班级)、课程名、成绩、备注等属性。
如图4-6所示。
第五章系统设计总结
5.1设计过程中遇到的问题以及解决方法
5.1.1设计用户登录界面
在数据库设计时,用User设计为用户登录的表。
而当设计用户界面的时候,将用户名和密码输入会出现了异常,经过多方搜索之后,发现最简单的解决方法是将User表名重命名,这是由于跟系统中某个命名方式冲突而造成的。
5.1.2在VB中设计功能管理模块时出现的问题
引号必须在英文形式下才能正常使用,IF使用的时候必须用ENDIF结尾。
用MSGBOX时,它的固定位置所代表的意思不明确,容易混淆。
至少要使用两个工程,而两个工程之间的对应连接相对困难。
5.1.3误删窗体控件而导致整个程序无法运行
在删除时往往忘记了控件之间的关联而随意对程序中某个控件进行删除,从而导致了程序中的另一处地方因为没有定义或者定义错误而出现异常,最后窗体自动被销毁,这种错误是很致命的。
通过学习,发现想要删除某个项目窗体,应该单击右键,然后点击“从项目中移除”进行删除,切勿随意进行删除;而要对控件进行更换名字,则需要在控件属性中的(name)进行更换,而不应该在程序代码中随意替换,这会造成程序没有定义而发错。
5.1.4在设计数据库时候出现的问题
首先是最一开始设计数据库的时候,不知道表的内容怎样输入,导致总是无法导入数据源,而无从入手。
最后通过询问老师,获得正确途径。
然后再选择你的服务器名还有数据库,就能导入数据源了,最后只需简单的设计表和添加的数据就能制作好了。
当然,利用这个功能也可以对数据进行导出,而且格式不仅仅局限于Excel。
5.2项目实施中各个工作流程及时间分布
项目开发的编写0.5天
业务流程图设计2天
数据流程图设计1天
E-R图设计1天
U/C矩阵设计2天
HIPO图设计2天
文档修改、定稿0.5天
5.3本次系统设计特点
a)优点:
本系统具有较强的直观性,设计完整,能较好的体现系统的设计构思;
b)缺点:
设计的有些方面有点简单,有很多地方还需进一步分析改进。
5.4设计的体会
a)在设计程序之前,一定要先弄清楚设计该系统的目的是为了什么,并将其流程图画出来,然后根据所做的需求分析对系统进行可行性分析、总体设计和系统设计,在这些前提之下才动手进行编码,这样更有利于自己思路的明确。
b)在程序编码的开始,要先制定一个完整的代码规范(包括数据库的命名规范和程序代码命名规范),同时,应该对系统做一个总体的分析,将其可能建立的窗体文件进行分类,放置在不同的文件夹中,以便于自己的管理
c)在开发Windows应用程序时,如果直接将控件放置在窗体上,看上去特别乱,这时可以先对窗体上的控件进行分类,然后再将它们分别放置到一GroupBox控件中,这样,界面看上去就会井然有序了。
附录系统部分源代码
1.登录界面源代码:
PrivateSubCommand1_Click()
IfText1.Text="wxy"AndText2.Text="123"Then
Form1.Hide
Form2.Show
EndIf
IfText1.Text="wpp"AndText2.Text="123"Then
Form1.Hide
Form2.Show
EndIf
IfText1.Text="zxp"AndText2.Text="123"Then
Form1.Hide
Form2.Show
EndIf
IfText1.Text="mxy"AndText2.Text="123"Then
Form1.Hide
Form2.Show
EndIf
IfText1.Text="sl"AndText2.Text="123"Then
Form1.Hide
Form2.Show
EndIf
IfForm1.Text2.Text=""ThenMsgBox"密码不能为空",,"提示"
IfText2.Text<>"123"Then
MsgBox"帐户名或密码错误,请重新输入",,"警告"
EndIf
EndSub
2.学生管理系统成绩查询:
PrivateSubCommand7_Click()
End
EndSub
PrivateSub安全退出_Click(IndexAsInteger)
End
EndSub
PrivateSub成绩查询_Click(IndexAsInteger)
Form2.Hide
Form4.Show
EndSub
PrivateSubForm_Load()
Form3.Text2.Text=Form1.Text1.Text
EndSub
PrivateSubCombo1_Change()
Combo1.Style=0
EndSub
PrivateSubCommand2_Click()
Form4.Hide
Form3.Show
EndSub
PrivateSubForm_Load()
Combo1.AddItem"2010-2011"
Combo1.AddItem"2009-2010"
Combo1.AddItem"2008-2009"
Combo1.AddItem"2007-2008"
Combo1.AddItem"2006-2007"
Combo1.AddItem"2005-2006"
Combo1.AddItem"2004-2005"
Combo2.AddItem"1"
Combo2.AddItem"2"
Combo2.AddItem"3"
EndSub
3.课程管理界面源代码:
SqlConnectionconn=newSqlConnection(connString);
stringsql="InsertintoClassCoursevalues("+"'"+textBox1.Text+"','"+textBox2.Text+"',"+textBox3.Text+",'"+textBox4.Text+"','"+DateTime.Parse(dateTimePicker1.Text)+"','"+DateTime.Parse(dateTimePicker2.Text)+"')";
try
{
conn.Open();
MessageBox.Show("打开数据库连接成功");
SqlCommandcmd=newSqlCommand(sql,conn);
cmd.ExecuteNonQuery();
MessageBox.Show