资源描述
基于Web的学生信息管理系统
基于Web的学生信息管理系统
摘要
随着网络时代的来临,人们越来越希望能够通过互联网来完成日常的工作,本论文所介绍的系统便是基于Web下的学生管理系统,它不仅能实现基本的学生管理,还可通过网络实现程序共享,使系统利用率得到最大的发挥,为学校工作提供了更多的方便。
该系统使用Microsoft公司的Visual C#.NET开发前端应用程序,SQLServer2000建立并维护后台数据库。用户只需将应用程序放置在服务器中,并配置好数据库,便可以通过互联网,在其它任何一台计算机上,按照相应用户权限执行该程序中的学生管理、成绩查询等功能,而不必安装任何软件,所有操作结果都会通过网络传回服务器。
本文详细介绍了该学生管理系统的需求分析、详细设计、和使用说明。并对系统中的会话等关键部分的实现进行了详解,方便了用户使用和今后系统更新;同时,对于类似的基于Web下的程序开发,具有一定的参考价值。
关键字: 信息管理 .NET技术 权限设置 会话
引言
1.选题来源
随着计算机技术的飞速发展,计算机在学校管理中应用的普及,利用计算机对学生信息进行管理势在必行。对于一个学校来说,利用计算机支持学校高效率完成学籍维护、课程设置、成绩录入和查询等日常事务,是适应现代办学制度要求、推动学校信息管理走向科学化、规范化的必要条件;而以往的很多学生信息管理系统,还都是基于Windows的单机版程序,一个时刻只能一个用户使用软件,即降低了工作效率,又影响了程序的扩展性。
伴随网络时代的来临,人们越来越希望自己的生活和工作能够与网络联系的更加紧密。在这时新一代的编程语言C#.NET应运而生,它不仅继承了VC的强大功能,为程序提供完善的指令控制语句、类与对象的支持及丰富的数据类型,又结合了VB的简单实用,可视化的编程环境,更易于程序开发。而且,利用.NET技术开发的基于Web的应用程序,可通过网络实现程序共享,更适应于现代软件发展的潮流。
所以,用.NET技术开发一个基于Web的学生信息管理系统是非常有必要的,它不仅可以象基于window的程序一样,节省学校人力物力资源,提高学籍信息管理和成绩查询的精确度。而且可以通过网络对程序进行访问,极大的方便了用户,使学生管理系统的使用效率得到了最大的发挥。
2.毕业设计计划
本毕业设计采用论文和程序的方式完成,在论文中分为几个章节,分别介绍该系统的相关信息,其中:
第一章.结合软件工程方法,先介绍学生管理系统的重要性,再对系统进行可行性研究,从理论上证明软件实施的效果和意义。
第二章.按照学校的需求,写出学校需求分析、系统设计分析,数据流程图设计,并结合数据库原理和功能划分进行ER图的绘制。
第三章.概要设计。给出程序的总体设计,划分各模块,确定其功能和组织结构,并对数据库、出错处理和安全性进行分析。
第四章.详细设计。建立数据库,通过流程图、表格等多种形式,对各模块进行详细设计,并对程序的安装部署进行说明。
第五章.在程序设计小节中指出程序中存在的不足,并给出相应的解决方案。
在论文的附录部分给出主要模块的源程序,并在代码中对程序进行了详细的注释。
目录
第一章 可行性研究
第二章 1.1计算机管理学生信息的意义
第三章 1.2系统可行性研究
第二章 需求分析
2.1引言
2.2学校需求分析
2.3系统设计分析
2.4数据流程描述
第三章 概要设计
3.1总体设计
3.2系统模块及功能
3.3各模块结构分析
3.4数据库分析
3.5出错处理及安全设计
第四章 详细设计
4.1数据库的建立
4.2项目的建立
4.3模块详细设计
4.4系统安装部署
第五章 毕业设计小节
5.1程序中的不足
5.2解决方案
谢辞、参考文献
附:部分程序清单
第一章 可行性研究
1.1计算机管理学生信息的意义
. 在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。
随着网络时代的来临,人们越来越希望自己的生活和工作能够与网络联系的更加紧密,而以往的很多学生信息管理软件都是基于Windows平台开发的,只能适用于单机操作,不便于多用户使用,我希望能够运用自己之所学,开发出基于Web的,能通过网络访问和运行的学生管理系统。
1.1.1现有系统分析
子校在两年前便已经为部分办公室配备了办公用电脑,并连接上了局域网。可由于没有相应软件支持,各班的学生信息处于单独维护阶段,无法统一进行管理。教务处虽然有用于学生成绩管理的系统,但每次考试结束,教师都要到教务处输入学生成绩,当需要修改和查询学生成绩时也很不方便,每学年课程和班级发生改变时,所有的工作都要由教务的一台计算机完成,即降低了工作效率,又浪费了人力物力。没有对学校的计算机和网络进行很好的利用。
1.1.2系统改进计划
我希望能够通过本系统改进学校日常管理的目的,是能够充分利用学校现有资源,使学校的人力物力得到最大程度的发挥。利用网络,将全校学生的信息、班级信息、年级信息、考试成绩进行统一管理,即方便了学校教务人员的管理,又方便了学校领导和教师对信息的查询于维护。学校各教师和工作人员,只需坐在自己的计算机前,完成工作,便可通过局域网将信息汇总到一起,学校领导在办公室,甚至家里也可通过互联网查找到学校相应信息。
1.2系统可行性研究
1.2.1经济上的可行性
目前,学校已经配备好了计算机和局域网,所以在硬件上不需要再做太大投资,考虑到系统的稳定性,建议作为服务器的计算机配置需要提高,如果要用于互联网访问,还需另外申请域名等业务。
在使用新的系统后,对学校的工作将有多方面的改善:
第一:本系统的使用可以代替人工进行许多繁杂的劳动;
第二:可以更有效利用学校现有资源,节省纸张等开支;
第三:可以大大提高学校的工作效率,更方便用户操作;
第四:本系统可以使敏感文档更加安全;
所以,本系统在经济上是可行的。
1.2.2技术上可行性
为本系统的开发我特对子校进行了调查研究。现学校有小学、初中、高中共12个年级,各年级的班级数不等。每个年级组的办公室至少有一台计算机,并且所有计算机都连接了校园网,为新系统服务器/客户端的结构提供了硬件的支持。
本系统使用SQL Server作为后台数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量要求。学校的软件支持可以满足这一要求。
前台程序使用Microsoft公司的Visual C#.NET开发,它作为一种现代的编程语言,C#继承了VC的强大功能,为程序提供完善的指令控制语句、类与对象的支持及丰富的数据类型,又结合了VB的简单实用,可视化的编程环境,更易于程序开发。而且,利用.NET技术开发的基于Web的应用程序,可通过网络实现程序共享,更适应于现代软件发展的潮流。同时,我借助这两个月在公司的实习,又对C#.NET有了一定的了解,更熟悉该软件的使用。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。
1.2.3运行上的可行性
本系统为一个小型的学生信息管理系统,所耗费的资源非常的小,只要在一台作为服务器的计算机上安装,便可以在校园网中的任何一台计算机上使用,而不需要重新安装,简单使用。同时,有权限认证使资源更加安全。因此,本系统在运行上是可行的。
1.2.4法律上的可行性
本系统纯属私人设计开发,在开发过程中没有涉及合同、责任等与法律相抵触的方面。因此,本系统的实施在法律上是可行的。
第二章 需求分析
2.1引言
在学校,学生信息管理工作是非常重要的一项工作,它负责整个学校的运转,学生的方方面面,以前大量工作是靠人工来操作的,只有少部分采用计算机单机进行管理、存档的,维护和查询都很不方便,随着学校规模的扩大,需求的增加,学校领导希望能实现网络化的系统管理,让系统的利用率和使用范围都得到提高。
2.2学校需求分析
2.2.1学校工作流程分析
校长拥有学校管理的最高权力,可以对系统使用者的权限进行设置。
学校工作总体规划由教务人员在学生学籍信息管理系统中完成,教务处负责基本数据的维护,包括对这些信息的新增、修改和删除。
新的学年,教务人员首先加入年级信息,然后编排班级,再对入校新生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新生信息的维护。
在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任及对此年级安排一个年级组长。
每次开始新的课程时,由教务部门对课程信息进行添加,并对课程信息进行必要的维护。
每举行一次考试后由任课老师对本科的成绩进行录入。班主任对本班的成绩汇总。并进行排名,然后年级组长再进行汇总,并对本年级各科成绩及总成绩进行排名。
教务处、年级组长、班主任及任课老师跟据实际情况对录入的成绩进行维护,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询。
2.2.2学校具体需求分析
学生:对自己基本信息的查询,自己各科成绩的查询,各门课程在全班或全年级的排名。修改自己的密码。
班主任:对本班学生信息进行查询和修改,对本班考试成绩查询。修改自己的密码。
教务处:对全校学生的信息管理,对班级、年级、课程等信息进行管理,对考试科目、时间、类型、等信息进行设置,输入并维护学生成绩,打印学校各类信息。修改自己的密码。
校长:除了可以完成教务处的所有工作,还可对使用该系统的所有用户进行权限设置。可新增、修改、删除用户。
2.3系统设计分析
2.3.1系统设计思想
(1)采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。
(2)系统就满足学校的需求,先构建出基本框架,实现主要功能,使用户尽快建立起学生管理系统的数据库。
(3)系统基于Web设计,用户只需具有浏览器便可通过网络对程序进行操作。对用户权限和网络安全加以设置,保护数据安全。
2.3.2系统规划分析
本系统适用于中小学,其功能主要分为七大类:
学生管理:对学生信息的添加、修改、删除和查询。
年级管理:对年级信息的添加、修改和查询。
班级管理:对班级信息的添加、修改、删除和查询。
课程管理:对各门课程信息的添加、修改、删除和查询。
考试信息:对学校组织的所有考试进行信息添加、修改、删除和查询,对其相应的成绩信息进行成绩管理。
成绩管理:对考试信息中对应的成绩信息进行录入、修改和查询。
用户管理:对操作该系统的用户进行添加、修改、删除,对其权限进行更改。
本系统性能力求易于使用,具有较高的扩展性和可维护性。
2.3.3系统功能分析
权限功能:为用户设置权限功能,可分为普通用户,一般用户,超级用户。普通用户只是查询不能修改,一般用户只能对授权范围内进行相应修改及删除,超级用户能修改、删除所有信息,并可对其他用户权限进行设置。
录入功能:对普通用户不提供录入功能。为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。
查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。
维护功能:为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能。
打印功能:能打印全校学生信息、班级信息、年级信息、科目成绩等。
用户设置:用户可对自己的密码进行修改。
帮助功能:能帮助初次使用者对本系统的应用及处理常见的问题,使用户了解该软件和作者的相关信息。
2.3.4系统实现目标
(1)节约资源,提高学籍信息的精确度
本系统能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理和成绩查询的精确度。
(2) 方便快速操作,精减人员,节约开支
方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。
(3) 应用范围广,系统得到有效利用。
用户通过网络可以在其它计算机上使用该系统,只需有IE浏览器,不需要安装其它程序。操作简便,易于掌握。具有页面权限和用户权限设置,安全性高。
2.3.5数据库设计分析
用户需求的学生管理系统能够提供保存、更新、查询、维护和打印,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。
2.4数据流程描述
本系统从总体上分为学生信息管理、年级管理、班级管理、课程管理、考试管理、成绩管理和用户管理七大部分。每个模块有自己的作用。下面的各模块功能流图就是由各功能之间的关系而得出的。
2.4.1数据库信息录入
图(2-1)展示了数据库信息录入和调用的过程,用户通过操作前台客户端程序,将学生信息管理所需数据发送到数据库中,当程序中用到某些数据时,再从数据库中讲相应数据以表的形式调出,供用户使用。
课程数据表
班级数据表
成绩数据表
学生数据表
考试数据表
年级数据表
学生信息录入
数据库
系统用户
年级信息录入
班级信息录入
课程信息录入
考试信息录入
成绩信息录入
用户数据表
用户信息录入
图2-1
2.4.2学生信息查询流图
如图(2-2)当用户在学生管理表单中输入所查学生的查询条件时,程序会从数据库将图(2-1)中生成的数据表调出,并根据查询条件,将符合要求的数据返回给查询页面,在查询结果中显示要查询的学生信息。
在此,特别指出的是成绩查询模块,在向成绩信息录入中输入成绩查询条件时,程序实际上并非直接在成绩表中找到成绩,而是先在考试信息表中,找到符合条件的考试记录,再按照相应考试记录在成绩表中查找出所要显示的成绩。为了直观理解成绩查询流图,在图(2-2)中没有画出成绩表模块,该模块的详细流程将在后边进行说明。
学生档案管理人员
年级信息录入
班级信息录入
课程信息录入
成绩数据表
班级数据表
成绩数据表
查询条件
查询结果
学生信息录入
学生数据表
成绩信息录入
课程数据表
图2-2
2.4.3学生信息维护流图
如图(2-3)所示,用户将需要维护的学生信息以表的形式从数据库中导出,并在学生信息管理模块中进行修改,最后将修改的结果送回数据库,并在页面中显示给用户。
学生档案管理人员
学生信息维护
年级信息维护
班级信息维护
课程信息维护
学生数据表
成绩数据表
班级数据表
课程数据表
信息维护结果
成绩信息维护
课程数据表
数据库
图2-3
2.4.4用户管理流程
只有用户管理人员,才有权新建和维护用户权限,在用户数据表中存着用户名、密码、和用户权限,当用户访问某个页面时,他的用户权限决定了他能够有权利打开该页面,或是使用页面中新增等功能。
用户数据表
用户权限
用户
用户管理人员
图 2-4
2.4.5班级管理流程图
班级管理流程图如图(2-5)所示,班级数据通过班级信息录入模块,将班级信息输入到班级数据表中,并存于数据库,当要查询相应信息时,系统调用学生数据表和年级数据表,按照输入的查询条件在班级数据表中查找出需要的结果。
学生班级管理人员
学生数据表
班级数据表
班级信息录入
班级信息查询
年级数据表
班级学生名单及成绩
按年级、班号查询
按班主任查询
按教室位置
图(2-5)
2.4.6成绩管理流程图
图(2-6)所示的是成绩管理流程图,成绩管理模块是本程序设计中比较重要的一部分。在成绩管理中,特别加入了一个考试管理模块,当用户需要维护或查询成绩时,首先要通过考试管理模块确定出该次考试是哪一个班、哪一门课、哪一个时间和类型的考试,以次产生相应的考试信息,并将该信息传递给成绩管理模块,用来进行成绩维护和查询。
考试管理
课程数据表
成绩管理
学生成绩管理人员
年级数据表
班级数据表
成绩数据表
学生数据表
输入考试信息
输入成绩
显示成绩
图2-6
第三章 概要设计
目的:设计系统结构,根据需求要析给出的功能得出系统体系结构。如划分模块。
目标:通过本系统软件,能帮助工作人员利用计算机,快速方便的对所属学校的信息管理进行维护、输入、输出、查找的所需操作,使散乱的学校数据能够具体化,直观化、合理化。同时满足用户通过网络对系统进行操作的需求。使程序应用范围更加广泛。
运行环境:Windows2000 Server/Windows2003 Server
3.1 总体设计
处理流程:1.打开IE浏览器,在地址栏中输入程序地址。
2.进入程序登录界面,输入密码登录。
3.系统进入消息循环,通过事件驱动机制激活相应的功能模块,调用相应页面,用来执行相应的功能。
4.通过关闭页面,关闭程序,退出系统。
3.2系统模块及功能
3.2.1基础数据模块
学生信息管理:输入学生基本信息,并对学生信息进行修改、查询、删除和打印预览。可以通过姓名、学号、出生日期、入学时间、政治面貌、籍贯、民族来查询学生信息,并可对查询出来的信息直接进行修改。
年级信息管理:输入年级基本信息,并可对年级进行新增、修改和查询,可以通过年级编号、年级名称、年级组长进行复合查询。
班级信息管理:输入班级编号、所属年级、班主任、教室位置等信息,可按照教室编号、年级、班主任、教室位置进行查询,并对结果进行编辑。
课程信息管理:输入课程编号、名称、类型和课程描述,并可按照以上信息进行查询,并对查询出的结果进行编辑。
考试信息管理:可按照年级、班级、课程名称、考试类型、考试时间新增考试信息,并对该考试信息所对应的成绩进行管理,可通过班级、考试类型等条件复合查找考试信息,并可删除、修改考试信息。
3.2.2查询打印模块
该模块可以按照一定查询条件,查询出用户所需要的信息,并转到相应的信息管理模块,可直接对所查到的数据进行编辑或是打印。当用户选择打印时,系统会打开打印页面,在上边用报表的形式显示出所需信息。
学生信息:查询学生信息,输入查询条件,转向学生信息管理表单。
年级信息:查询年级信息,输入查询条件,转向年级信息管理表单。
班级信息:查询班级信息,输入查询条件,转向班级信息管理表单。
课程信息:查询课程信息,输入查询条件,转向课程信息管理表单。
考试信息:查询考试信息,输入查询条件,转向考试信息管理表单。
3.2.3成绩信息管理
当在考试信息管理表单中选择了考试信息后,便可转到对相应成绩信息进行管理。主要进行成绩的录入、修改和查询。
成绩录入:先选择考试信息,再对相应课程成绩进行录入。可对录入的成绩进行保存,也可对已经录入的成绩进行取消。
成绩修改:选择要修改成绩的考试信息,并对相应的成绩进行修改。
按学生查询:可按学号直接查找某位学生的某段时间、某种类型的考试成绩、也可按照年级和班级直接查找出该学生。
按班级查询:可以查找年级、班级、课程、考试类型和考试时间对学生成绩进行查找,还可按找学号和成绩对查询结果进行排序。
3.2.4用户信息管理
用户管理:超级用户(系统管理员)对系统使用者的管理,可以新增、修改和删除用户信息。并对用户权限进行设置。
修改密码:用于用户修改自己的密码。
3.2.5帮助文件
使用说明:介绍程序如何使用,对程序中的部分信息进行说明。
关于程序:介绍程序的编写过程和版权等相关信息。
关于作者:作者的自我介绍。
3.3各模块结构分析
3.3.1学生信息管理
主要用于学生的基本信息管理(如学号、姓名、性别、出生年月、联系地址等)。实体E-R图如下:(图3-2)
学生信息管理
考试信息
班级编号
学生成绩
年级编号
图3-2
3.3.2年级管理模块
主要用于年级的基本信息管理(如年级编号、年级组长、年级名称)。实体E-R图如下:(图3-3)
年级管理
年级组长
年级名称
年级编号
图3-3
3.3.3班级管理
主要以班为单位对学校班级信息进行管理,实体E-R图如下:(图3-4)
班级管理
班主任
本班所在教室的号码
本班所属的年级
班级的班号
图3-4
3.3.4课程信息管理
主要用于学生课程的管理,如新增修改课程,课程类型的设置,实体E-R图如下:(图3-5)
课程类型
年级课程
课程编号
课程管理
课程备注
图3-5
3.3.5考试信息管理
主要用于对考试信息的管理,如参加考试的年级、班级,以及考试时间和类型等信息,可根据确定出的考试信息进行成绩的管理。如图(3-6)
考试管理
班级
年级
考试时间和类型
考试编号
成绩
图3-6
3.3.6成绩信息管理
重要用于学生成绩的管理,当用户确定相应考试信息后,可根据该考试信息确定出参加考试的学生,并对其成绩进行管理,如图(3-7)
成绩管理
成绩
考试信息
学生
图3-7
3.3.7用户信息管理
主要用于用户的添加、修改和删除,对可根据需要对用户权限进行设置。
用户管理
用户权限
用户密码
用户名
图(3-8)
3.3.8运行模块组合图
学生信息管理系统
学校信息修改
学校信息录入
学校信息删除
学校信息打印
学校信息查询
帮助
退出
在每一个模块单独运行的过程中,各功能模块并行执行相应命令,完成相应功能,如图(3-9)所示
图3-9
3.4数据库分析
Microsoft SQL Server2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Microsoft SQL Server2000 的优点在于它非常的可靠、质量好、易用、可伸缩性、简单的管理和调整(能自动运行管理和性能监测,提供了集中的数据库管理。)、灵活的和可扩展的数据转换(能够构建更加坚固的数据转换服务(DTS)软件包)、集成了可扩展的分析服务(提供了数据采集、为生成报表而设计了灵活的向上流动特性,实现单元级和成员安全的功能,还有写回原始大小的能力)。自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然,还提供了排序功能。Microsoft SQL Server2000也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述, Microsoft SQL Server2000 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
本系统的后台数据库将采用SQL Server来实现,主要在程序中提供存储数据、管理数据和提供数据的功能。在后边的详细设计中,将对数据库的具体设计给出详细介绍。
3.5出错处理及安全设计
3.5.1出错输出信息
本系统采用人-机对话模式,若操作失误则弹出对话框(如:身份验证、输错信息等)用户可根据提示修正自己的操作。当与服务器连接的过程中,如果因为网络等问题不能进行数据传输,则系统会根据错误原因对用户作出提示,指导用户正常使用。
3.5.2安全保密设计
系统进入时设计了登录界面,并且对用户进行了权限区分。分为普通用户、一般用户、和超级用户,对普通用户只可以进行查询,一般用户可以根据自己的权限对信息进行添加、修改和删除,只有超级用户可以修改所有信息,并对其他用户的权限等信息进行设置。另外还可对数据库进行备份和还原等操作,从而可实现数据和程序的移植性。
在用户进入程序的登录页面时,系统便会辨认出该用户的身份,并在用户对程序进行操作的时,根据用户权限赋予用户相应的权利。
第四章 详细设计
目的:为系统中的每一个模块确定使用的算法和块内数据结构,并用表达工具给出清晰的描述。
4.1数据库的建立
4.1.1数据库设计
数据库用来存储、管理和调用程序中用到的所有信息,所以建立一个合理、实用的数据库可以保证程序的正常、稳定的运行。本节将对系统中用到的数据库进行整体介绍,并给出数据库流程图,数据表的具体设计和实现将在本章后边几节的相应模块中加以介绍。
数据库由相应的数据表组成,各数据表之间的关系通过两个表之间共享一个关键字值实现。表与表之间的一个连接构成一张虚拟的表,这个表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中有重复数据的组合字段。
4.1.2数据库及数据流程
数据库
教务处
学生
教师
打印
显示结果
查询信息
学生信息管理
年级、班级管理
考试管理
成绩录入、
成绩维护
在该系统的设计中,建立名为StudentSystem的数据库,所有数据表均在此数据库中建立、修改和维护。为保证数据库中数据的安全,需要专门为该数据库建立用户,并设置密码。在此规定新建的用户名为:xsxt,密码为:qinjiang(注:为保证系统能够正常访问数据库,在系统与数据库连接的设置中,用户名和密码必须数据库中的设置相同,具体实现方法将在登陆模块中详细介绍),图(4-1)给出了该系统的数据库流程图,
图(4-1)
4.2项目的建立
4.2.1配置Web.config文件
运行Visual C#.NET程序,新建ASP.NET Web应用程序,并命名为:XueShengXiTong,打开Web.config文件,按照表4-1所示配置与服务器连接的各项数据。
字段名称
值
数据源
Data Source
(local)
数据库名
DataBase
studentsystem
用户名
User
xsxt
密码
Password
qinjiang
表4-1
4.2.2建立表单
在字符串ConnString 中保存与数据库连接的信息,按照相应模块建立表单,在表单中调用Web.config文件中的ConnString,实现与数据库的连接。为了便于程序实现和理解,按照表4-2对所有表单和控件进行统一规定。
模块名称
所用表单
程序命名
学生信息
管理
学生管理
XueShengGuanLi
学生查询
XueShengGuanLi_ChaXun
年级信息
管理
年级管理
NianJiGuanLi
年级查询
NianJiGuanLi_ChaXun
班级信息
管理
班级管理
BanJiGuanLi
班级查询
BanJiGuanLi_ChaXun
课程信息
管理
课程管理
KeChengGuanLi
课程查询
KeChengGuanLi_ChaXun
考试信息
管理
考试管理
KaoShiGuanLi
考试查询
KaoShiGuanLi_ChaXun
成绩信息
管理
成绩管理
ChengJiGuanLi
成绩查询(按班级)
ChengJi_ChaXun_Ban
成绩查询(按学生)
ChengJi_ChaXun_Xue
成绩打印
ChengJiDaYin
用户信息管理
用户管理
YongHuGuanLi
系统框架
登录表单
Logon
目录窗体
MenuTree
主窗体
ShowFrm
结构窗体
MiddleFrame
表4-2
4.3模块详细设计
4.3.1用户管理模块
该模块实现用户信息的管理。如图4-1所示,用户可以修改个人信息,普通用户只能修改自己的登录密码,超级用户不仅可以修改自己的信息,还可以修改他人的密码和访问权限,并可以添加和删除用户。表4-3显示了用户信息表,该表用于用户信息管理模块,在登录模块中也需要使用其相应字段。
用户信息管理
普通用户
超级用户
修改自己的密码
新增、删除用户
设置权限
退出系统
图4-1
用户信息表 XT_User
列名
数据类型
长度
允许空
用户ID
User_id
Bigint
8
N
用户名
User_name
Varchar
20
N
用户密码
User_password
Varchar
20
Y
用户类型
User_note
Varchar
20
y
表4-3
4.3.1登录模块
该模块实现用户登录功能,需要调用数据库(StudentSystem)中的,用户表(XT_User)(表4-3)该表中存储了用户名、密码和用户权限,当用户登录成功后,系统使用两个会话Session[“pUserName”]和Session[“pUserRight”]分别记录用户名称和用户权限,用户访问各程序表单的同时,系统会根据用户名称和他的权限对程序加以设置,比如用户是否有新增和修改数据的权力。Session的使用提高了程序的安全性,防止非法访问未授权的页面。同时,用户在修改密码时,系统可以通过Session[“pUserName”]确定该用户的名称,并在XT_User中查找和修改用户密码。图4-1给出了系统登录模块的流程图,便于读者理解本程序中在登陆模块中对Session会话的使用过程。
登录
String pUserName=输入的用户名
String pPassword=输入的密码
查询数据库
身份认证
密码验证
False
提示用户不存在
false
true
true
提示密码错误
给会话附值
Session[“pUserName”]=pUserName
Session[“pUserRight”]=XT_User.User_Right
进入主页面MiddleFrame.aspx
图4-1
4.3.2学生管理模块
该模块主要完成学生基本信息的录入、删除 、更新等功能。在此模块中定义了13个域名来进行学生的信息存储(见学生基本信息表4-4)。用户可以在表单中看到所有学生的信息,也可以直接选择某个学生查看其详细资料。以下介绍各控件功能和具体设计,在后续模块的介绍中,如遇类似内容将不再冗述。
学生信息表 XT_Student
列名
数据类型
长度
允许空
学生ID
Stu_id
Bigint
8
N
学生学号
Stu_code
Varchar
10
N
学生姓名
Stu_name
Varchar
20
N
学生性别
Sex
Varchar
4
N
出生日期
Birth_date
Datetime
8
Y
年级
Grade_id
Bigint
8
Y
班号
Class_id
Bigint
8
Y
联系电话
Telephone
Varchar
50
Y
入校日期
Enter_date
Datetime
8
Y
政治面貌
Polity
Varchar
20
Y
籍贯
Native_Place
Varchar
20
Y
民族
Nation
Varchar
20
Y
家庭住址
Address
Varchar
60
Yes
注释
Stu_note
Varchar
200
Yes
表4-4
1. 新增。用户点选新增按钮,击发新增事件,文本框中所有数据清空,编辑等按钮隐藏,并用Session变量记录此时的状态为新增。等待用户输入完毕。
2. 编辑。用户点选编辑按钮,文本框中的学生信息呈现可编辑状态,新增等按钮隐藏,用session记录编辑状态,接受用户对学生信息的更改。
3. 保存。当新增或编辑按钮被激活时,保存按钮呈现可见状态,用户对学生信息进行操作后,点击保存按钮,系统会根据Session的内容判断是将新增数据添加到数据库,还是对编辑的数据进行修改。
4. 查询。调用查询表单(XueShengGuanLi_ChaXun.aspx)并使用会话变量将所需查询条件以字符串的形式传回学生信息表(XueShengGuanLi.aspx)在该表中显示出查询结果。用户可按照学号、姓名、班级等不同需要进行查询。
5. 删除。每条记录都有一个单选框(CheckBox)当用户点击删除按钮时,系统在表单中的查找所有项,将CheckBox处于选种状态的项全部删除,如果未发现一条待删除的记录,则弹出对话框,要求用户选择。
6. 取消。在用户新增、编辑信息时,可以通过选择取消按钮,回到改变前的状态。
7. 返回。关闭现有程序,回到程序主窗口。
8. 打印预览。将信息以报表的形式输出,为用户提供打印服务。
4.3.3年级管理模块
该模块用于学校年级信息的管理,可对年级信息进行新增、修改和查询,相应控件的使用和表单设计可参考学生信息模块完成,表4-5给出了年级信息表所需字段。
年级信息表 XT_Grade
列名
数据类型
长度
允许空
年级ID
Grade_id
Bigint
8
N
年级编号
Grade_code
Varchar
10
N
年级名称
Grade_name
Varchar
20
N
年级组长
Leader
Varchar
20
y
表4-5
4.3.4班级管理模块
该模块用于班级信息的管理,在表单中帮定了年级信息,可直接通过下拉列表框(DropDownList)选择班级所在的年级,还可以确定该班的班主任和教师位置,为用户详细查询提供了条件。数据表如表4-6所示。
班级信息表 XT_Class
列名
数据类型
长度
允许空
班级ID
Class_id
Bigint
8
N
班号
Class_code
Varchar
10
n
班级名
Class_name
varchar
20
y
年级ID
Grade_id
Varchar
20
Y
班主任
Man
展开阅读全文