学生信息管理系统的设计与实现第1页学生信息管理系统的设计与实现摘要:学生信息管理系统是典型的信息管理系统(MIS),其开发过程主要包括后台数据库的建立和维护以及前端应用程序两个方面。本文依据软件工程学原理,介绍了基于VB平台上的学生信息管理系统的结构和功能,并详细地阐述了界面和系统管理模块功能的设计与实现方法。其主要描述系统主界面的设计、主菜单的设计、用户验证、修改密码、课程管理、学生信息管理等一系列功能。关键词:学生信息管理;信息管理系统;SQLServer2000;VisualBasic6.01系统分析1.1背景学生管理工作是每个学校必须面对的,它是一项传统且繁琐的教育基础管理工作,极为耗费人力、物力。往常,各学校采用人工管理形式,每学期开学时相关人员分别统计各个学生的情况,到了期末又要对相关信息进行处理,比如考试情况、学生课程调动等,面对如此不断反复、繁杂的变化,各学校都要耗费大量的人力、物力。同时,这种以传统人工的方式来管理学生工作,还存在着许多缺点,如效率低、保密性差,另外时间长,将产生大量的冗余文件和数据,这给查找、更新和维护工作都带来了很大的困难。随着科学技术的不断提高,特别是计算机、网络等相关信息技术的日渐成熟,其强大的功能已经被人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用,特别是它具有的手工管理所无法比拟的优点,使得各个学校都相继采用了信息技术对学生的有关信息进行管理。通过使用计算机技术等手段,将工作人员从重复、繁杂的手工处理中解脱了出来,提高了工作效率,而且减少了人工处理产生的错误。使教育基础管理工作迈上了一个新的台阶,从而实现了教育基础管理的信息化、科学化、现代化。1.2需求分析需求分析是数据库信息管理系统开发的第一步也是最重要的一步。需求分析就是描述系统的需求,通过定义系统中的关键域,来建立模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制,因此,系统的需求分析应该是开发人员和用户或客户一起完成的。需求分析可以采用面向对象的方法来完成,即明确系统要服务于哪些用户,对这些用户提供哪些服务等。1.2.1系统功能第2页图1系统结构图1.2.2系统的逻辑模型数据流图(DFD)是一种全面描述系统逻辑模型的工具,是理解和表达用户需求的工具,是系统分析的手段。数据流图概括地描述了系统的内部过程。因而,是系统设计的重要参考资料,是系统设计的起点。数据流图作为一个存档的文字材料,是进一步修改和充实开发计划的依据。数据流图从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能[7]。数据流图的特征:①抽象性——数据流图完全失去了具体的物质,只剩下数据的流动、加工处理和存储。②概括性——数据流图可以把系统中的不同业务处理过程联系起来,形成一个整体。无论是手工操作部分还是计算机处理部分,都可以用数据流图系统地表达。一般说来,画数据流图应遵循“由外向内,逐步细化”的原则。由外向内是指根据用户活动图标定系统范围,系统范围内的细节部分可以先不考虑,将其当成一个黑盒子。学生信息管理学生信息设置学生信息管理学生信息查询学生信息管理系统课程信息管理课程设置课程管理课程安排查询用户信息管理添加用户修改密码删除用户退出成绩信息管理录入成绩成绩管理成绩查询修改成绩第3页图2本系统0层数据流图逐层细化是指逐一描述系统内部数据流,一般从每个业务的输入端开始向输出端推进,每当经过使数据流的组成或数值发生变化的地方,就用一个“加工”将其连接起来,这个“加工”正是实现这一数据变化[8]。图3本系统1层数据流图反馈信息用户信息用户学生信息管理系统学生信息课程信息反馈信息成绩信息管理员权限信息用户权限信息用户基本信息用户信息用户登录系统管理员系统学生信息系统学生管理课程管理成绩管理用户管理密码信息密码不正确用户信息用户信息登录用户表权限信息正确用户信息正确管理员信息权限不正确学生信息系统管理员信息系统要权限信息核查第4页图4登录数据流图图5添加数据流图1.2.3功能需求分析各模块功能需求描述如下:(1)用户登陆验证功能对登录的用户账号进行验证,为不同角色的用户分配不同的访问权限,用户身份有管理员和普通用户,根据不同的访问权限,可以进入不同的界面。(2)用户管理包括添加用户、删除用户、修改用户等。(3)学生基本信息管理管理员可以查看和修改以及删除所有学生信息,普通用户可以根据不同的需求查询学生基本信息。(4)课程信息管理课程的设置和课程基本信息的录入、修改、删除等管理。(5)班级课程安排包括上课教室、上课时间的安排、修改等管理。(6)成绩管理可以实现成绩的录入、修改、按照不同的条件进行查询等功能。(7)考试成绩的统计与查询不同的用户根据不同的需求对成绩进行查询,为进一步了解情况,可以对各课成绩进行统计与分析。2系统设计2.1数据库设计在数据库系统的开发过程中,数据库的设计是一个非常重要的环节,数据库设计的好坏将直接对应用系统的效率以及实现的效果产生重要的影响。如果数据的完整性和一致性比较高,系统就会具有较快的响应速度,简化基于数据库的应用程序实现。数据库设计的关键问题在于确定实体和所需的表结构并确定它们之间的关系。同时,合理的数据库结构也将有利于程序的实现。设计数据库系统时,应首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求[9]。2.1.1系统概念结构设计关系模型由于是建立在严格的数学概念基础之上,而且概念单一、存取路径对用户透明,所以数据结构简单、清晰,用户易懂易用,具有更高的数据独立性、更好的安全保密正确学生信息学生表正确核查信息按学号核查添加学生信息核查添加第5页性,所以关系数据模型成为目前最重要的一种数据模型。图6学生选修的局部E-R图图7教师任课的局部E-R图班级名年龄nm学生学号姓名性别选修课程课程号课程名学时数学分类别考试成绩专业职称姓名教师号1n教师讲授课程第6页图8学生信息管理系统全局E-R图2.1.2数据库逻辑结构设计概念结构是各种数据模型的共同基础,概念结构设计所得的E-R模型是对用户需求的抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。为了能够建立起最终的物理系统,我们还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。这就是数据库逻辑结构设计所要完成的任务[7]。E-R图虽然是现实世界的反映,与数据库的具体实现毫无关系,但它却是构造实施数据模型的依据。一般来说把E-R图转换为关系模型,对于E-R图中每个实体,都相应转换为一个关系。对于两实体之间的m:n联系,必须对“联系”单独建立一个关系表,用来联系双方实体。根据上面E-R图分析,可以列出以下几个关系模式:学生(学号,姓名,班级名,民族,性别,政治面貌,联系电话,家庭地址)课程(课程编号,课程名,学分,学时,类别)班级(班级号,班级名,人数,班级描述)教师(教师编号,姓名,职称,专业)课程安排信息(课程编号,班级号,上课时间,上课地点,任课教师)考试成绩信息(学号,姓名,课程号,课程名,分数)用户(用户名,密码,权限)NMN11MN11MMM教师学生选修考试成绩课程班级属于排课教学讲授任课上课时间上课时间第7页2.1.3数据库的结构—关系表表1学生基本信息表字段名数据类型长度是否允许为空说明学号char8主键姓名char8不允许重复班级名char16民族char16是性别char2政治面貌char8是联系电话char13是家庭地址char20表2用户信息表字段名数据类型长度是否允许为空说明用户名char8主键密码char6权限char2表3班级设置信息表字段名数据类型长度是否允许为空说明班级号int8主键班级名char16人数int3班级描述char是表4课程信息表字段名数据类型长度是否允许为空说明课程编号char8主键课程名char8学分char4学时char4类别char8表5教师信息表字段名数据类型长度是否允许为空说明教师编号char8主键姓名char8职称char4是专业char10是表6课程安排信息表字段名数据类型长度是否允许为空说明课程编号char8主键班级号char8主键上课时间char6上课地点char10任课老师char8第8页表7考试成绩表字段名数据类型长度是否允许为空说明学号char8主键姓名char8课程号char8主键课程名char8分数Float42.2输入输出设计与实现详细设计主要包括两部分:界面设计和编写代码。以下写出部分子系统模块界面设计。2.2.1系统登录模块功能描述:在用户登录时,首先判断登录用户名和用户密码是否正确,是否具有登录本系统的权限,根据不同的权限可以进入不同系统界面。图9用户登录窗体单击“登录”按钮后,对用户名、密码和权限进行验证。表8登录窗体信息表对象名称功能标签(Label)Label1(用户名)Label2(密码)Label3(权限)显示用户名显示密码显示权限文本框(TextBox)TextBox1TextBox2输入用户名输入密码命令按钮(Command)Command1(登录)Command2(退出)单选按钮(Option)Option1(管理员)Option2(用户)选择管理员选择用户2.2.2系统主模块——学生信息系统功能描述:这时用户进入系统后首先进入的模块,这个模块包括了本系统能完成的各种功能,用户可以调用任一个需要的功能模块。第9页图10学生信息系统窗体进入该窗体后,可以根据需要查询信息,可使用下拉菜单,找到所需要模块,进行调用即可。表9系统主模块窗体信息表对象名称功能菜单编辑器菜单编辑器编辑菜单栏子菜单子菜单1(添加学生信息)子菜单2(学生信息查询)子菜单3(删除学生信息)子菜单4(修改学生信息)命令按钮(Command)Command1(返回)2.2.3添加模块功能描述:管理员根据需要添加用户,同时更新数据库。图11添加窗体在窗体上放置多个文本框,用来输入学生基本信息;两个按钮用来确定是否要添加;多个标签用来提示文本框中需要输入的内容。对象属性部分代码都被封装。表10添加用户窗体信息表对象名称功能标签(Label)Label1(用户名)Label2(密码)Label3(权限)显示用户名显示密码显示权限文本框(TextBox)TextBox1TextBox2输入用户名输入密码命令按钮(Command)Command1(登录)Command2(退出)单选按钮(Option)Option1(管理员)选择管理员第10页Option2(用户)选择用户2.2.4修改模块功能描述:根据实际需要对信息进行修改,首先对该学生进行查询并判断是否存在,然后进行修改同时并对数据库进行修改和保存修改后的信息。图12修改学生信息窗体在窗体上放置多个文本框和下拉式列框,用来根据实际需要对学生基本信息进行修改;通过ADO控件连接到数据库;通过DateGrid来显示修改前后的信息。表11修改学生信息窗体信息表对象名称功能标签(Label)Label1(学号)Label2(姓名)Label3(班级号)Label4(班级名)Label5(性别)Label6(政治面貌)Label7(联系电话)Label8(家庭住址)Label9(输入要修改姓名)显示学号显示姓名显示班级号显示班级名显示性别显示政治面貌显示联系电话显示家庭住址显示输入要修改姓名DateGrid控件DateGrid1显示数据信息框架FrameFrame1作为容器组合框ComboBoxComboBox1ComboBox2ComboBox3ComboBox3显示班级号显示班级名显示性别显示政治面貌ComboBox4文本框(TextBox)TextBox1TextBox2TextBox3TextBox4TextBox5显示学号显示姓名显示联系电话显示家庭住址输入要修改姓名命令按钮(C