1、 . . . 摘要数据库是数据管理的最新技术,是计算机科学重要分支。十余年来,数据库管理系统已从专用的应用程序包发展成为通用的系统软件。EAC学生信息管理系统(后台)就是在基于数据库管理系统的基础上设计开发而成的。 通过大量的市场分析发现,目前高校人数不断扩,学生的进入与输出成了目前社会上各高校管理的一大难题。原始的学生信息管理机制已经不能满足时代的需求。因此,一种更快捷、更方便的学生信息管理系统浮出水面。它能够满足大多数高校目前的学生管理需求。信息的规管理、科学统计和快速查询、学生人员的高效率添加、删除、浏览、视图的抽取等功能一一具备。对于教师、课程、专业、班级、学生的基本信息在本系统中都能
2、够有效的管理和控制。随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。关键词:数据库 学生信息管理系统 高效率目录一、引言41.系统研究的背景和意义4二、任务概述62.1 目标62.2 用户的特点6三、数据库的设计73.1 表的设计73.2视图的创建93.3数据库关系图10四、用户流程图与功能代码的实现124.1 用户流程图12五、系统设计145.1软件模块结构设计145.1.1系统方案确定145.1.2 软件结构设计145
3、.1.3 程序的具体设计过程14六、用户的界面与功能156.1用户登录界面156.2功能管理模块166.3数据管理模块176.4密码修改186.5代码阶段18七、控件的使用20八、系统维护和测试218.1 系统运行218.2 系统的测试、维护21九、全文总结.229.1本系统的缺点229.2 收获22一、引言1.系统研究的背景和意义 学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。但其包含的数据量大,涉与的人员面广,而且需要与时更新,故较为复杂,难以单纯地依*人工管理,而且传统的人工管理方式既不易于规化,管理效率也不高,所
4、以利用计算机实现学生信息档案管理成为必然的趋势。本系统针对学校学生信息的特点以与管理中实际需要而设计,能够有效地实现学生信息管理的信息化,减轻管理人员的工作负担,高效率、规化地管理大量的学生信息,并避免人为操作的错误和不规行为。学生信息档案管理是高校管理的重要组成部分。学生的稳定是学校快速发展的有力保障,这不仅仅关系到学生在校期间的表现,在很大程度上度量了一个学生的跟踪管理。学生管理的重要性不言而喻,但是学生管理在学校中很繁琐的,在每个系,每个学生都需要有对应的档案记录。在学校各项管理中,学生管理牵涉到的其他管理容是最复杂的,它牵涉到了学生个人档案管理、日常考核管理、成绩管理等。所以在实际管理
5、工作中,往往由于记录的数量多、管理复杂、可连续性差,造成学生管理的混乱。对这一混乱,最好的解决办法就是借助计算机技术和数据库管理系统,对整个学生管理进行记载,并实行电子化管理。本课题的目的就是开发“学生信息管理系统”,通过这一系统来掌握学生的管理情况,实现学生信息管理的电子化,提供一个电子化的学生管理平台。学生信息管理系统(Student Information Management System),以下简称SIMS,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个教育单位不可缺少的部分,它的容对于
6、学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。随着科学技术的不断提高,计算机科学日渐成熟, 使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,
7、使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、性好、寿命长、成本低、便于打印等。这些优点能够极提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。二、任务概述2.1 目标学生信息管理是EAC学生信息管理系统的一个子模块,学生信息的管理对于人数日益增长的各大高校来说既是一大难题又是重中之重。随着科学技术的发展,人数的不断增加,他们都迫切需要一个解决这一难题的方案。在这个时候,就产生了学生信息管理系统,开发本软件的目标是让这一难题得到更好的解决。
8、让各大高校从此走出困境,本软件的目的是不仅要管理,还要通俗易懂,以友好的界面和强大的功能来赢得用户的喜欢。2.2 用户的特点 本软件的最终用户是学校信息的管理员,老师,和学生。操作人员只需要懂得基本的电脑操作就行,不需要这方面的专业人士。维护人员必须是本公司的专业人员,而且学历必须在大专以上。如果以客户的不正当使用而导致软件的损坏,我们不承担任何责任。三、数据库的设计3.1 表的设计在这里创建了admin(用户表)表,该表是用来管理本软件的管理员的。在这里有资料的用户可以对系统里的数据进行任何操作,所以应尽量避免管理员的使用。管理员用户编号昵称密码权限用户名性别出生年月民族 家庭住址照片图 3
9、.1-1 admin表Class(班级)表的创建:班级班级编号班级名称所在分院 图 3.1-2 class表College(分院)表的创建:分院班级编号分院名称 图3.1-3 College表Student(学生)基本信息表的创建:学生学号XX性别出生年月民族所学专业家庭住址 班主任所在班级所在分院 图3.1-4 Student表Teacher(老师)表:老师老师编号XX性别出生年月民族家庭住址 所在分院 图3.1-5 Teacher表3.2视图的创建Allstudent视图的创建:SELECT dbo.student.studentID AS 学号, dbo.student.stuname
10、AS , dbo.student.stusex AS 性别, dbo.student.stubirthday AS 出生年月, dbo.nation.nation AS 民族, dbo.student.stuspeciality AS 专业, dbo.student.stuaddress AS 家庭地址, dbo.student.stutelephone AS 联系, dbo.teacher.teaname AS 班主任, dbo.class.claname AS 所在班级, dbo.college.colname AS 所在分院FROM dbo.student INNER JOINdbo.n
11、ation ON dbo.student.nationID = dbo.nation.nationID INNER JOINdbo.teacher ON dbo.student.teacherID = dbo.teacher.teacherID INNER JOINdbo.class ON dbo.student.classID = dbo.class.classID INNER JOINdbo.college ON dbo.student.collegeID = dbo.college.collegeID 图3.2-1 Allstudent视图Allstudent视图的创建,让用户更好的对数
12、据进行操作,比如数在Student表里民族字段,在这只是民族表的编号,如果用户直接对Student表操作的话,它就不知道这位学生的民族是什么了。在这里有学生的所有信息。Allteacher视图的创建:SELECT dbo.teacher.teacherID AS 编号, dbo.teacher.teaname AS , dbo.teacher.teasex AS 性别, dbo.teacher.teabirthday AS 出生年月, dbo.nation.nation AS 名族, dbo.teacher.teatelephone AS 联系, dbo.teacher.teaaddress
13、AS 家庭住址, dbo.college.colname AS 所在分院FROM dbo.teacher INNER JOINdbo.nation ON dbo.teacher.nationID = dbo.nation.nationID INNER JOINdbo.college ON dbo.teacher.collegeID = dbo.college.collegeID 图3.2-2 Allteacher视图这里allteacher视图的作用和allstudent的作用是一样的。3.3数据库关系图 图3.3-1 数据库关系图通过数据关系图,用户就可以对Student数据库的所有功能一目
14、了然了,表与表之间的关系,字段与字段之间的关系,Student表与teacher表的关系,比如“三”的班主任是谁,在这个老师所带领班级下有多少个学生。一对多和多对一的关系。四、用户流程图与功能代码的实现4.1 用户流程图只有查看权限普通用户权限管理班级管理数据库管理档案查询教师管理学生档案管理管理员分院管理 图4.1-1 ER流程图权限管理:在登录模块里,看似没有权限的设置,但在数据库里,已经对权限进行了管理,在admin表的level字段里,如果赋的值为1的话,那就是管理员,管理员可以对数据库里所有数据进行所有操作,如对数据的添加、删除、修改、查询等等。如果是2那就是普通用户,那就只能对数据
15、进行查看功能。4.2 具体功能实现用户添加用户修改用户保存用户删除用户查询数据库备份数据库还原修改密码切换用户退出系统系统管理EAC学生信息管理系统(后台)系统管理修改密码退出系统管理员普通用户用户管理 图4.1-2 用户流程图由于时间的关系,我只做了学生信息管理系统后台,而且还没完全做完。在这里我就介绍一下我所做的大部分的功能。首先,从登录界面开始,主要是数据库的连接、SQL命令的执行、用户名和密码的验证、权限的判断。登录成功后进入到下一个界面,也就是管理界面,这里主要是用户的切换、数据库的备份、密码的修改。在单击学生信息管理之后,进入到学生信息管理界面,如果你是管理员,你就可以对数据进行添
16、加、删除、修改、查询、刷新。五、系统设计5.1软件模块结构设计5.1.1系统方案确定通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生成绩管理、系统管理等功能。5.1.2 软件结构设计应用层模块数据库连接层图5.1.2 软件结构设计图5.1.3 程序的具体设计过程Student类的创建实现的对数据的连接和对数据库的操作。从而使用户更好的对数据进行全面的操作,例如对学生信息的添加、删除、修改、查询等等。 本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。六、用户的界面与功能6.1用户登录界
17、面图6.1-1用户登录界面图别看它只有几个控件而已,功能大了,它包括数据库的连接,用户名和密码的验证,和button的单击事件,和用户的权限设置,如果数据库给你的level(权限)为1的话,系统会自动判断你是管理员。如是数据库给你的level(权限)为2的话,系统会自动判断你是普通用户。管理员拥有本软件的所有功能。而普通权限只有查看数据的权限。6.2功能管理模块图6.2-1 功能管理模块图可别小看他哦,这样看起来虽然界面不是很好看,但运行之后就不一样了,那个被选中的部分将会被隐藏,本模块功能包括用户的切换和学生信息管理,密码修改,数据库的备份,系统设置。为了使界面更加美观,我对控件的Mouse
18、Enter和MouseLeave事件进行的改变。6.3数据管理模块图6.3-1 数据管理模块图本模块的功能就是对数据库里的数据进行添加、删除、修改、保存。查询,刷新。其中添加是指当用户单击添加按钮是datagridview自动添加一行,用户可以在这一行中添加数据,然后单击保存对数据进行保存。删除,是指当用户指定某一行之后,单击删除,删除制定数据;修改,自认为是我自己做的最好的功能。它可以同时修改多个用户的资料,当最对数据进行修改之后。单击保存,就可以保存你所修改的所有数据了。查询,在这里我做的是模糊查询,比如说里面有一个人的名字叫三,而你只知道他姓,而不知道他的名字,那你就可以在按文本框中输入
19、就可以查出他了。当然你也可以按学号查询,你只需对在学号文本框中学生的学号在按查询就可以了。刷新,就是只重新显示数据。6.4密码修改图6.4-1 密码修改图在这里只有当你登录成功之后才可以对密码进行修改,密码修改这里也有好处,比如你登录系统之后,你突然有事离开了,别人就可能乘机修改你的密码,但是在这里不会就算你离开了,你别人也必须在知道你密码的前提下才能修改你的密码。6.5代码阶段数据库连接代码:(1) windows身份验证Data Source=.;Initial Catalog=数据库名;Integrated Security=true;(2) SQL Server 身份验证Server=
20、.;user=用户名;pwd=密码;database=数据库名;数据库的连接命令的关键字:Command对象用于返回数据、修改数据、运行存储过程以与发送或检索参数信息的数据库命令Connection对象提供到数据源的连接DataReader可从数据源提供高性能的数据流DataAdapter在DataSet对象和数据源之间起到桥梁作用。DataAdapter使用Command对象在数据源中执行 SQL命令以向 DataSet中加载数据,并将对DataSet中数据的更改协调回数据源例如:我要连接数据库并把student表的数据在datagridview1中显示代码如下:Sqlconnection
21、connection=new sqlconnection(连接数据库的命令);/其中new是实例化对象String sqlstring=”Select * from Student”; /数据库中执行查找的命令Sqlcommand command=new sqlommand(sqlstring,connection);/括号的两个参数Dataset dbset=new Dataset /数据集的实例化SqldataAdapter adapter=new SqldataAdapter(sqlstring,dbconnection)/ DataSet对象和数据源之间起到桥梁作用Adapter.Fi
22、ll(dbset,”student”);Datagridview1.datasource=dbset;Datagridview1.dataMenber=”student”;通过对本系统的设计与实践,让我学到了很多的新的知识七、控件的使用(1)button的使用Text属性:修改button按钮的文本Background-Image属性:修改背景图像,可以使界面更加美观(2)label的使用在这里主要介绍事件:MouseEnter:鼠标进入控件时发生的变化MouseLeave:鼠标离开控件时发生的变化(3)Datagridview的使用Bindingsource:绑定数据源AllowUserTo
23、Adds:表示是否显示行标题的列。(4)pictureBox的使用事件:MouseEnter:鼠标进入控件时发生的变化MouseLeave:鼠标离开控件时发生的变化Click:鼠标的单击事件八、系统维护和测试8.1 系统运行8.1.1出错信息 (1)在添加数据时,如果是学号、和有下拉框的有一项没填。(2)在保存数据的时候都会出错,当你同时添加多行数据时,只能保存一行数据。(3)当你进入密码修改时,不管你是否修改成功,都必须退出程序。8.1.2补救措施 在今后的时间里,我都会一一修正8.1.3 限制条件 (1)在学号那一行中,不能添加已有的学号。 (2)在出生年月那一行中,必须填写日期的格式。
24、(3)本系统只有前台,没有后台,所一学生不能登录。8.1.4 设计 (1)登录的用户必须通过用户名和密码的验证 (2)权限管理让数据更加安全8.2 系统的测试、维护8.2.1 可维护性 系统维护:使用的时候尽量避免错误的发生。 数据库维护:我们软件中自带有数据库的备份,只要与时备份就应该不会出现问题。8.2.1 可移植性 本系统可移植性好,在windows 98 ,windows 2000,windows 2003,windows xp,windows vista,windows 7下都能运行。8.2.1 测试计划由于系统还不完善,测试阶段还不适合。 九、全文总结.9.1本系统的缺点(1)由于
25、时间的关系,本系统制作可能简单了点,缺少了很多控件而使系统不是很完整。我在这次设计后深深的感受到“一分耕耘,一分收获”。设计的过程是辛苦的,但当设计完成时会有一种满足感,而且自己也收获不少。通过这次设计,我发觉我学到了很多东西,把学到的东西都派上了用场。在我的设计中体现了几年来大学的学习和生活的价值。(2)代码看起来似乎很乱(3)没有按照三层架构来设计(4)注释相对少了点(5)在对数据库进行备份和还原的时候,路径只能手写输入,还原功能还没实现。(6)在添加数据时,只能逐行添加。如果同时添加多行时,只能保存一行数据(7)用户切换,用户切换看似切换成功,但其实是本软件的第二次运行。9.2 收获通过
26、对本系统的制作和设计,让我学到了很多东西:(1)责任感:通过对本系统的制作和设计,身为本组长的我,第一次让我感觉到了压力,但同时也让我产生了动力,由于时间紧迫,在加上组员们的监督和催促,让我觉得我必须把它做完,我不能让我的组员们失望。(2)知识的学习:通过对本系统的设计和功能的实现,让我学到了什么叫三成架构。虽然在这里没有用上,但我觉得我们要的是过程,而不是结果。只要尽力了就行,问心无愧。在数据库方面,我复习了表的创建,视图的创建以与存储过程的创建。在C#方面我也学到很多东西。(3)缓解压力:虽然时间很紧,但我学会了合理利用时间,在交系统的前一天我们学校还举行了技能节大赛。双重压力下,我前几天,每天都很晚睡觉,而且有点头晕的感觉,后来我发现,我应该合理利用时间,要是一直做在电脑前,对身体各方面都不好,所以我觉得,不应该晚睡晚起,这样还不如早睡早起。l22 / 22