学生档案信息管理系统
XXXXXXXXXXXX (论文)
学生档案信息管理系统的设计与实现
学 生:
学 号:
专 业:
班 级:
指导教师:
XXXXXXXXXXXXXXX
二00八年六月
摘 要
随着信息技术在管理上越来越深入而广泛的应用,档案信息管理系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的档案信息管理系统。
本文介绍了该系统的开发背景、意义及国内外现状,然后重点阐述采利用ASP 和Dreamweaver 环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个基于B/S的档案信息管理系统的过程。包括设计与实现环节,并且通过测试分析总结出该系统的功能特点。
本系统通过简单的操作界面,实现了方便的录入数据,形成了一个快捷的查询、管理系统。
关键字:档案信息管理系统;B/S系统结构;ODBC 技术;ASP 技术;ADO 对象访问数据库;IIS
目录
第1章:绪论........................................................ 1
1.1选题背景及意义............................................... 1
1.1.1背景 ................................................... 1
1.1.2意义 ................................................... 1
1.2国内外存在的问题............................................. 2
1.3开发工具和系统采用技术....................................... 2
1.3.1 B/S系统结构 ........................................... 2
1.3.2 ODBC技术 .............................................. 3
1.3.3 ASP技术 ............................................... 4
1.3.4 SQL Server 2000........................................ 6
第2章:需求分析.................................................... 7
2.1系统可行性分析............................................... 7
2.1.1技术可行性 ............................................. 7
2.1.2用户使用可行性 ......................................... 7
2.2功能需求..................................................... 8
2.3性能需求..................................................... 8
第3章:数据库系统设计.............................................. 9
3.1数据字典..................................................... 9
3.2E-R 图....................................................... 11
第四章:系统详细设计与实现......................................... 13
4.1系统的总体分析与设计........................................ 13
4.1.1系统层次模块图 ........................................ 13
4.1.2模块设计 .............................................. 14
4.1.3整体流程图 ............................................ 16
4.2详细设计.................................................... 17
4.2.1登录模块的设计 ........................................ 18
4.2.2管理界面的设计 ........................................ 19
4.2.3学生信息管理模块的设计 ................................ 19
4.2.4班级管理模块的设计 .................................... 20
II
4.2.5毕业设计管理模块的设计 ................................ 21
4.2.6公告管理模块的设计 .................................... 22
4.2.7留言管理模块的设计 .................................... 23
第5章:系统测试................................................... 24
5.1测试目标.................................................... 24
5.2模块测试.................................................... 24
5.2.1登录测试 .............................................. 24
5.2.2进入学生信息管理测试 .................................. 25
5.2.3档案管理测试 .......................................... 27
5.2.4添加管理员测试 ........................................ 30
5.2.5公告管理测试 .......................................... 31
第6章:总结....................................................... 33
6.1设计总结.................................................... 33
6.2心得体会.................................................... 33
参考文献........................................................... 35
致谢............................................................... 36
附录:部分源代码................................................... 37
Ⅰ管理登录验证.............................................. 37
ⅡMD5加密验证 .............................................. 39
Ⅲ上传和下载文件............................................ 40 Ⅳ分页显示.................................................................................................... 42
III
第1章:绪论
1.1选题背景及意义
1.1.1背景
随着计算机技术的高速发展,学生及学生相关档案信息的管理逐步由人工管理方式过渡到计算机管理方式,由此而设计出了学生档案信息管理系统。学生档案信息管理系统从单一的学生档案管理、学生成绩管理到现在的统一学生资料管理,并在演变的过程中不断发展、扩充和完善。随着当今学校的规模的不断扩大,学生数量在急剧地增加,有关学生的各种信息也在成倍地增长。面对大量的学生信息,需要借助计算机技术,开发一套完善的学生档案信息管理系统来提高学生管理工作的效率。通过这样的系统,可以对信息进行规范管理、科学统计和快速查询,从而减少工作量。有效地管理与学生相关的所有信息就是学生档案信息管理系统所要完成的功能。
1.1.2意义
(1)、目的
学生档案信息管理系统要求实现学生实现学生、教师、课程、班级管理以及他们相互之间的关系的信息管理等基本内容,来实现一个可以综合管理系部所有档案数据的管理信息系统,如试卷、实验报告、毕业设计等,并能够直接打印查询结果。
学生档案信息管理系统开发时应该满足:
①、方便、易操作、快捷的原则;
②、对于不同的用户应该有不同的使用权限,方便管理
(2)、意义
完成学生档案信息管理系统的软件开发,归纳起来,好处大约有以下几点:
①.可以存储历届的学生档案,安全、高效;
②.只需一到二名档案录入员即可操作系统,节省大量人力;
1
③.可以迅速查到所需信息。
1.2国内外现状及其存在的问题
在管理体制与计算机技术相对落后的管理环境下诞生的传统信息管理软件或者系统,由于当时技术水平和管理水平的限制,目的主要是替代、减轻工作人员的劳动强度,提高录入、保存信息的质量,促进档案信息管理工作的规范化,提高管理水平与工作效率。可是那些系统很多都基于C/S模式的,只能够在存档方面操作性强,只是单方面的管理系统而已[1]。
新管理时代的到来和计算机技术的高速发展,对系统各方面的要求都与日俱增,不论是安全还是技术,无论是其他方面的要求都是越来越高。现在的管理系统不仅是要求能够替代、减轻工作人员的劳动强度,提高录入、保存信息的质量,这么简单的了,还要求对信息的更新、对档案的规范、对管理操作的流程等都要有技术上的提高,安全上的升级,更要求交互性的增强,比如学生选课、留言等,在C/S模式里面都不能够实现,所以本人就有了一个设计一个基于B/S模式的档案信息管理系统来实现信息管理和一些基本的交互性能。
1.3开发工具和系统采用技术
由于系统的软件配置主要是基于Microsoft 公司的软件,所以在系统的开发工具的选择上采用了Microsoft 公司的软件开发工具,具体内容如下:
采用ASP 技术、JavaScript 脚本语言、VBScript 脚本语言编写Web 应用程序。采用Sql Server数据库存储和管理数据。
1.3.1 B/S系统结构
(1)、B/S(Browser/Server)结构即浏览器和服务器结构。
B/S结构是一种以Web 技术为基础的新型的网络管理信息系统平台模式,B/S结构把传统两层C/S中的服务器部分分解为Web 服务器和数据库服务器,从而构成一个三层结构的客户服务器体系。实质上,客户机与Web 服务器之间类似于终端和主机的模式,而Web 服务器与数据库服务器之间类似于C/S模式其结构,如图1-1所示。
2
图1-1 web服务器与数据库服务器之间的结构
(2)、采用B/S(Browser/Server)
基于B/S结构的学生学籍管理系统,客户端是通用浏览器业务功能由独立的应用服务器处理,Web 服务器成为应用服务器处理的标准配置; 数据处理仍由数据库服务器完成,不需要像C/S结构那样安装不同的客户端应用程序,B/S结构的功能都在Web 服务器上实现,开发和维护工作简单易行。这种结构可实现网上查询的基本功能,如用户注册、查询、修改信息和报表输出等。
(3)、B/S的工作原理
浏览器/服务器模式的数据库体系是利用Web 服务器和ASP (Active
Server Pages即动态服务器网页) 作为数据库操作的中间层,将客户机/服务器模式的数据库结构与Web 技术密切结合,从而形成具有三层Web 结构的浏览器/服务器模式的数据库体系的具体结构,如图1-2所示。
图1-2Web 结构的浏览器/服务器模式的数据库体系结构
1.3.2 ODBC 技术
(1)、ODBC [2][3]
(开放数据库互连,Open DataBase Connectivity)是Microsoft 公司开发的一套开放的数据库系统的应用程序接口规范,它为应用程序提供了一套高层调用接口规范和基于动态链接库的运行支撑环境。使用ODBC 开发数据库应用程序时,应用程序使用的是标准的ODBC 接口和SQL 语句,数据库的底层操作由各个数据库的驱动程序完成。这样就使数据库应用程序具有很好的适应性和可移植性,并且具备同时访问多种数据库管理系统的能力。
(2)、ODBC 应用系统的体系结构
ODBC 规范为应用程序提供了一套高层调用接口规范和基于动态链接
3
库的运行支持环境。ODBC 应用系统的体系结构如图1-3所示:
图1-3 ODBC应用系统的体系结构 (3)、驱动程序管理
驱动程序管理器是Windows 下的应用程序,其主要作用是用来装载ODBC 驱动程序、管理数据源、检查ODBC 参数的合法性等。
ODBC 应用程序不能直接存取数据库,它将所要执行的操作提交给数据库驱动程序,通过驱动程序实现对数据库的各种操作,数据库操作结果也通过驱动程序返回给应用程序。
(4)、数据库驱动程序
数据库驱动程序以动态链接库的形式存在,它的主要作用是:
1)、建立与数据源的连接。
2)、向数据源提交用户请求,执行SQL 语句。
3)、在数据库应用程序和数据源之间进行数据格式转换。
4)、向应用程序返回处理结果。
1.3.3ASP 技术
(一)、ASP 的工作原理[3]
(1) 一个用户在浏览器的网址栏中输入ASP 文件名称,然后回车触发这个ASP 请求。
(2)浏览器将这个ASP 请求发送给IIS.
4
(3)IIS接收这个请求,并由其asp 后缀意识到这是一个ASP 请求。
(4)IIS从硬盘或内存中取出正确的ASP 文件。
(5)IIS将这个ASP 文件发送到asp.dll 中。
(6)服务器端脚本代码,会进行逐行解释,然后返回给IIS; 非服务器端脚本代码,直接返回给IIS.
(7)IIS将处理结果返回给浏览器。
(二)、ASP 对象模型
ASP 具有强大的面向对象功能和可扩展性。ASP 对象可分为以下三种类型:
(1)、内置对象由ASP 动态链接库提供的对象,有六个内置对象,是开发Web 应用程序经常使用的对象。六个内置对象[2]的主要功能如下:
①Request 对象:在HTTP 请求期间,可利用Request 对象获得客户端浏览器传递给服务器的值(包括查询字符串的变量值、Form 表单中的元素值、Cookies 的值等) 。
②Response 对象:可以使用Response 对象把变量值、函数返回值等输出到客户端浏览器; 利用Response 对象可将Cookies 值写入客户端的计算机硬盘中等。
③Application 对象: Application对象可以用来保存应用程序的所有用户的共享信息,可以在不同的用户之间实现Web 应用程序变量的共享.
④Session 对象:Session对象主要用来保存属于一个用户的一个应用程序的信息,可让同一个用户在多个网页之间共享信息。
⑤Objectcontext 对象:主要用来处理与事务相关的问题,Objectcontext 对象的使用与Microsoft Transaction Server(MTS)有着密切的联系。
⑥ASPError 对象:Web应用程序开发者运用该对象可以掌握因ASP 所发生的错误。
(2)、脚本对象:由ASP 使用的脚本语言提供的对象,由脚本运行期库(scrrun.dll)提供。
(3)、服务器组件; 通常在其自己的DLL 或可执行文件中实现。服务器组件可从Internet
上无偿或有偿获得,一旦在服务器安装和注册这个DLL 文件,那么其对象就可以ASP 所支持的任何脚本中使用,服务器组件充分体现了ASP 的 5
可扩展性。 1.3.4 SQL Server 2000 (一)、SQL Server简介[5][6]
SQL Server 是一个关系数据库管理系统。SQL Server 2000 是Microsoft 公司推
出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。
(二)、SQL Server2000数据库优点[5]
Microsoft SQL Server 2000 能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到 SQL Server 2000 实例。SQL Server 2000 为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新相同的数据。SQL Server 2000 还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘 I/O。
超大型 Internet 站点可将其数据分开存放在多台服务器上,从而使处理负荷分散到多台计算机上,使站点能为成千上万的并发用户提供服务。可以在一台计算机上运行多个 SQL Server 2000 实例。例如,一个为其它许多组织提供数据库服务的组织可为每个客户组织单独运行一个 SQL Server 2000 实例,而全部实例可集中在一台计算机上。这样,既隔开了每个客户组织的数据,同时又使服务组织只需管理一台服务器计算机从而减少了费用。
SQL Server 2000 应用程序可在装有 SQL Server 2000 的计算机上运行。该应用程序通过 Windows 进程间通讯 (IPC) 组件(例如共享内存)而非通过网络连接到 SQL Server 2000。这使 SQL Server 2000 得以应用于应用程序必须在本地存储数据的小型系统中。
大型 Web 站点和企业级数据处理系统通常会生成大量的数据库处理,超出了一台计算机的支持能力。在这些大型系统中,数据库服务由组成数据库服务层的一组数据库服务器提供。SQL Server 2000 不支持采用平衡负荷的聚集形式建立数据库服务层,但支持跨自主服务器组分存数据的机制。尽管每个服务器需分开管理,但组内的各个服务器可共同分担数据库处理负荷。共享同一工作负荷的一组自主服务器称为服务器联合体。
6
第2章:需求分析
2.1系统可行性分析
2.1.1技术可行性
目前,全国计算机越来越普及,几乎每个企业都配有计算机,在学校更是如此,为本人的这个系统提供了硬件环境。以计算机为基础的管理系统使相关管理者摆脱了那种繁杂、易出错的记录及管理方式,通过计算机以及配套的软件,学生用户可以采用全新的方式从不同的地方存取各种信息。
本人院从建立了校园网以来,经过这些年的建设,己经具备了一定的规模,目前己覆盖了全院各教学楼、实验楼、图书馆、办公楼、教师宿舍、学生宿舍,为网上数据交换提供了现成的信息通道。而且,其它部门的一些基于校园网的管理系统陆续投入使用,例如:教务管理系统、设备与实验室管理系统、财务管理系统等,为系部教务管理信息系统的实现打下了基础。将为系部管理信息系统的开发提供有力的技术保证。 2.1.2用户使用可行性
实现系统后可以提高工作效率,网络数据库的设置,使信息能做到一次录入,处处共享,减轻工作人员负担,因此在系统的调查和分析阶段也能得到他们的积极支持。另外,本人系工作人员一般都对计算机非常熟悉,在系统开发完成之后无需对他们进行培训就可以能够很快地了解和适应该系统。
系统运行后,就学生用户而言,由于用户使用本系统时,不会也不必关心系统内部的结构及实现方法,即对用户来说是透明的,所以本系统对用户而言,是定位在界面友好、操作方便、功能齐全的原则上的,用户只需简单的用鼠标点击各界面上的菜单或按钮就能执行相应的功能,就管理者而言,操作也是非常简单的,只需进行数据的录入和简单的管理操作就可以实现本系统的功能了。而以上的这些功能都能在所选择的开发环境中用所选择的开发工具来实现。所以说本系统在用户使用可行性上是没有问题的
7
2.2功能需求
学生档案信息管理系统主要目的是要提高学生管理工作的效率,具有对学生个人信息、课程信息、所选毕业设计信息、试卷、实验情况等进行管理及维护的功能。学生可以通过此系统进行个人信息浏览、成绩查询、毕业设计选课及下载打印资料功能。同时,系统管理员可以对班级、成绩、学生、教师、课程、毕业设计选课、试卷、实验情况、公告及留言信息进行统一管理。
对于本系统,本人们要实现一下一些基本功能: (1)学生登录、浏览信息、选课、留言等;
(2)管理员添加信息、管理信息、管理选课情况、管理留言等; (3)教师添加课题、试卷信息、浏览信息、回复留言等。
2.3性能需求
系统的运行对运行环境要求如下: (1)、硬件环境
处理器:CPU Intel 内存:512M 硬盘空间:80G
(2)、软件环境
操作系统:Windows XP
数据库服务器软件:Microsoft SQL Server 2000 Web 服务器软件:IIS 5.1(Internet Information Server)
8
第3章:数据库系统设计
3.1数据字典
根据系统功能设计的要求以及功能模块划分,对于系统信息数据库,可以列出以下数据项和数据结构。
(1)、名称:管理员信息表见表5-1 表名称标识:admin
表5-1 admin
(2)、名称:学生信息表见表5-2 表名称标识:student
(3)、名称:班级信息表见表5-3
9
表名称标识:classinfo
表5-3classinfo
(4)、名称:教师—课程信息表见表5-4 表名称标识:tea_course
表5-4 tea_course
(5)、名称:毕业设计信息表见表5-5 表名称标识:biyesheji
表5-5 biyesheji
(6)、名称:留言信息表见表5-6 表名称标识:guestbook
表5-6 guestbook
10
(7)、名称:学生选课信息表见表5-7 表名称标识:xuanke
3.2E-R 图
(1)、E-R 图[1]简介
E-R 图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
构成E-R 图的基本要素是实体型、属性和联系,其表示方法为: 实体型:用矩形表示,矩形框内写明实体名;
属性:用椭圆形表示,并用无向边将其与相应的实体连接起来; 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。
(2)、分析实体关系
分析教师、学生、课程、班级四个实体之间的联系。首先,这四个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。
1、课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生”和“成绩”
11
共有的属性,应填在二者的联系“学习”边。因为成绩既不是学生独有的,也不是课程独有的;“学生甲70分”或“英语70分”是不完全的,说“学生甲英语70分”才是正确的,因为70分是学生甲和英语课二者共有的。这个E-R 图可画如图3-1。
图3-1学生与课程的E-R 图
2、教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师) 。其E-R 图,如图3-2所示。
图3-2教师与课程的E-R 图 学生与班级这两个实体之间,是多对一联系;一位学生只能够在一个班级,而已个肯定是有很多学生的。其E-R 图,如图3-3所示。
图3-3学生与班级的E-R 图
12
第四章:系统详细设计与实现
4.1系统的总体分析与设计
本系统在思路上很简单,也很明显。在本系统中,本人采用的是ASP 和Dreamweaver 相结合,基于B/S的一个管理系统,由于是基于B/S的系统,所以还涉及到前后台的数据交互。要求管理员对整个系统中的数据进行管理,教师能够对与自己相关联的数据进行管理,在对数据提交后,学生能够在浏览页面中对自己的信息和相关信息进行浏览,同时学生可以提交一些数据,比如选择毕业设计课题,管理员可以对其审核并给出结果,并且学生可以通过留言板跟管理员和教师进行交流。下面就将其设计思路列举出来:
1、在Internet, 学生可通过IE 或其他浏览器查询、浏览相关信息; 2、在互联网,学生可选择毕业设计课题,下载相关资料; 3、学生可以修改自己的密码; 4、采用B/S方式设计;
5、后台数据库用Microsoft SQL Server 2000;
6、系统后台采用权限制,通过不同的身份(管理员和教师)来实现不同的管理权限;
7、具有直接打印功能,可以打印查询出的信息等; 8、管理者可以上传毕业设计任务书、试卷等相关资料; 9、管理者可以同过不同的查询方式查询出所要信息; 10、管理者可以修改密码;
11、系统应具备一定的安全性与可靠性;
4.1.1系统层次模块图
系统基本流程:
用户登录→主界面→选择各项子系统
本系统的系统层次模块图如图4-1所示, 在管理登录中有不同的登录类型选择,其中教师登录后进入管理页面,比系统管理员少了权限而已,通过身份的不同来判断其权限。
13
图4-1系统层次模块图
4.1.2模块设计
在本系统中,小模块比较多,但是由于是针对不同的身份来设计的,不同的模块中,其小模块的实现方式很多都是类似的,下面以用户的不同来说明本系统中的模块设计:
(1)、学生模块主要有以下几项:
学生登录:输入学生学号,填写正确的密码,若忘记学号可以查询,进行登录
学生个人信息浏览模块:学生登录后浏览个人信息
成绩查询模块:学生按照年度和课程名称对课程成绩进行查询 网上选课模块:学生按照毕业设计的题目和老师进行浏览,按课程题目选课
学生个人所选课程浏览:学生浏览个人所选课程的毕业设计题目、指导
14
老师对毕业设计选题情况进行查询,并且下载教师上传的资料
试卷浏览模块:学生可以浏览试卷情况,可以下载教师上传的试卷,以供平时练习使用
实验情况浏览模块:学生可以浏览实验情况,包括指导老师,实验安排,也可以下载实验指导书等资料
公告浏览模块:浏览察看站内公告,可以实现打印所需的公告内容 登录密码修改:学生可以修改自己的登录密码 留言模块:学生可以在此留言,不需登录 (2)、管理员模块主要有以下几项:
管理员登录:输入管理员名称,填写正确的密码,进行登录。 班级管理模块:管理员可以添加、删除、修改、查询班级。 成绩管理模块:管理员可以添加、删除、修改、查询学生的成绩。 教师管理模块:管理员可以添加、删除、修改教师信息。 课程管理模块:管理员可以添加、删除、修改、查询课程情况。 毕业设计管理模块:管理员可以查询学生的选课情况,并且能够做出相应的操作,管理员可以对学生的毕业设计选课情况进行审核。
试卷管理模块:管理员可以添加、删除试卷的状况。 实验管理模块:管理员可以添加、删除实验情况。
公告管理模块:管理员可以添加、删除、修改、查询站内公告 管理员管理模块 :管理员可以添加、删除、查询管理员帐户,可以自己的密码
留言管理模块:管理员可以删除、回复留言信息 (3)、教师模块主要有以下几项:
教师登录:输入教师号,填写正确的密码,进行登录。 成绩管理模块:教师可以添加、修改学生的成绩
毕业设计管理:教师可以添加、修改、查询课题,上传相关资料 试卷管理模块:教师可以添加、修改、查询试卷情况,上传试卷 实验管理模块:教师可以添加、修改、查询实验情况,上传实验指导书等相关资料
公告模块:教师可以查看公告信息
登录密码修改模块:教师可以修改自己的登录密码
15
留言管理模块:教师可以对学生的留言回复,回答学生的一些问题等
4.1.3整体流程图
下面就以系统的前后台各自的操作流程介绍一下本系统的整体流程: A 、学生模块(前台)
在公告查看和留言处,学生可以直接进行操作,不用登录;在要求学生登录的地方,学生输入了正确的用户名和密码之后方可进行下一步操作;否则出现相应的提示信息,要求其重新输入,直到用户完全输入正确;学生在忘记自己学号的时候可以在的登录界面上进入学号查询界面。该模块的流程图如图4-2所示。
图4-2学生模块功能流程图
B 、管理模块(后台)
在登录界面上教师同样可以进入查询界面查询;在登录界面,根据不同身份选择登录选项进行登录,登录成功后方可进行下一步操作,对系统进行
16
管理;否则出现相应的提示信息,要求其重新输入,直到用户完全输入正确或者退出。该模块的流程图如图4-3所示:
图4-3管理模块程序流程图
4.2详细设计
在本文的详细设计中,主要是针对每个功能的模块来进行介绍的,比如:登录模块,信息管理模块,公告管理模块,留言管理模块等来进行介绍的。由于有些模块的功能基本上一致,所以就只介绍了一个模块的设计,试卷的管理和毕业设计的管理,他们都主要涉及到的是资料的上传和下载,而毕业设计管理模块中多了一个选课的模块,所以就只介绍了毕业设计管理模块的设计。下面将本系统中用到的主要模块的详细设计作一个详细介绍。
17
4.2.1登录模块的设计
登录模块包括前台和后台(学生和管理登录)两个小模块,在管理登录界面中,管理者通过选择登录类型,输入正确的用户名、密码和验证码,经过通过后才能够登录成功,进入到管理界面。学生登录界面,输入正确的学号、密码,经过login_check.asp验证通过后才能够登录成功,进入到操作操作界面。其详细登录流程图如图4-4所示:
18
图4-4登录流程图
4.2.2管理界面的设计
在管理者登录成功后,由于身份的不同而出现权限不同的管理界面,本系统中对管理菜单可以自动伸缩,对各个管理模块也可以收缩,这就方便了操作,避免模块多的情况下的复杂性。其设计示意图如图4-5所示:
图4-5管理界面示意图
4.2.3学生信息管理模块的设计
系统中少不了的就是学生信息,所以首先得录入学生信息,要求首先在录入信息界面填入数据,提交信息后对输入数据进行验证处理,添加不成功给出相应提示,添加成功后跳转至信息浏览显示页面,在此页面中按顺序分页显示所有学生信息一览表,在表中点击学生姓名可以查看该生的详细信息,点击编辑或者在详细信息中都可以对学生的信息进行编辑修改,点击删除可以删除该条记录。其详细流程图如图4-6所示:
19
图4-7学生信息管理设计流程图
4.2.4班级管理模块的设计
在班级管理模块中,首先在班级信息录入页面中填入数据,提交信息后对输入数据进行验证处理,添加不成功给出相应提示,添加成功后跳转至信息浏览显示页面,在此页面中按顺序分页显示所有班级信息一览表,点击删除可以删除该条记录。其设计流程图如图4-8所示:
20
图4-8班级管理模块设计流程图
4.2.5毕业设计管理模块的设计
在这个模块中,要求能够实现课题信息的添加,还要能够上传资料(如毕业设计指导书)、下载资料,并且能够对学生的选题情况进行处理。这个模块中的主要操作流程是:教师或管理员添加毕业设计的课题信息,提交成功在课题浏览页面显示;学生在前台也可以查看课题信息,登录后可以选择自己的课题信息,将选择结果提交到数据库中,如果要重选,得先删除自己已经选择的课题才能够继续操作;管理员对学生的选题结果进行审核,在学生选出的课题中为其选择一个课题提交为学生的毕业设计选题,结果可以在选题信息里面查看。其设计流程图如图4-9所示:
21
图4-9毕业设计管理模块
4.2.6公告管理模块的设计
在这个模块中用到了新闻编辑器,通过添加公告可以将最新的通知等给张贴出来,可以更好的利用网络来让大家获得消息,其流程也很简单:管理员添加公告信息后,系统中的用户都可以在自己的操作界面上查看。其设计流程图如图4-10所示:
22
图4-10公告管理模块流程图
4.2.7留言管理模块的设计
本系统中的留言板是公开的,留言不需要登录,为那些只需留言给老师或者管理员的学生提供了方便,同时管理员和老师都可以对其进行回复,但是老师不能够删除其留言,其基本操作流程是:学生留言,数据被添加进入数据库,管理员和教师通过留言管理查看回复学生的留言信息。其设计流程图如图4-11所示:
图4-11留言管理模块设计流程图
23
第5章:系统测试
5.1测试目标
软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。在目前形式化方法和程序正确性证明技术还无望成为实用性方法的情况下,软件测试在将来相当一段时间内仍然是软件可靠性保证的有效方法。软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。不足的测试势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。E.W.Dijkstra 的一句名言说明了这一道理:“程序测试只能表明错误的存在,而不能表明错误不存在。”可见,测试是为了使软件中蕴涵的缺陷低于某一特定值,使产出、投入比达到最大。
5.2模块测试
5.2.1登录测试
打开系统登录页面admin_login.asp,出现界面如图5-1。只有选择相应登录类型后,输入正确的用户名、密码和验证码才登录成功,跳转到管理首页,这样就达到了预期的登陆效果。登录页面中,当系统接收到回车或确定信号后首先检查其是否输入了信息,如果没有,显示信息“请你输入用户名和密码!”;如果输入了信息,再判断验证码是否错误,如果错误,则显示信息“请输入正确的验证码!”;如果验证码正确,再根据其选择的登录类型在数据库中搜索想对应的表,根据输入的用户名在数据库中进行搜索,如果在对应类型的表中没有找到该用户,则显示信息“没有权限,请勿非法登录!”;否则对密码的正确与否进行判断,如果错误显示信息“密码错误,请勿非法登录!”。该页面的测试结果见表5-1。
24
图5-1管理登录界面 表5-1登录页面测试结果表
5.2.2进入学生信息管理测试
点击左边的管理菜单中的“信息及成绩管理”,选择“添加信息”,进行学生信息录入。填写数据后界面如图5-5所示:
25
图5-5学生信息添加
填写完信息后点击“添加”按钮,提示“添加成功,点击继续!”,点击“确定”,跳转至信息浏览页面,在信息浏览页面中点击编辑可进入对该生的信息编辑界面,可重新对其的信息进行修改;在信息浏览页面中点击学生姓名可查看学生的详细信息,起详细信息查看如图5-6所示:
图5-6学生详细信息界面
在信息浏览界面中点击“删除”将删除该生的信息,点击“取消”取消
删除,点击“确定”,成功删除数据库中的该条记录。
26
5.2.3档案管理测试
(1)、添加信息测试
点击左边的管理菜单中的“档案管理”,选择“添加课题”,进行毕业设计信息录入。录入界面如图5-7所示:
图5-7毕业设计信息录入界面
填写数据后点击“提交”,出现添加信息后的跳转页面界面,点击“确定”,跳转至试卷信息浏览页面。
在试卷信息浏览界面中,点击“删除”,删除相应记录;点击“下载”,如果是doc 文档,则出现如图5-8所示的文件下载对话框,点击“保存”下载后查看该文档,“取消”取消对该文档的操作;如果是图片,则在新窗口中显示图片信息。
图5-8文件下载对话框
(2)、学生选课测试
27
在学生界面中,学生登录后可以通过选题界面进行毕业设计课题选择,如图5-9所示,在没有提交选题时,可以在选题框内输入自己要选的课题编号;如果没有输入,则会显示“课题X 代号不能为空,请重新输入!”,直到所有课题代号选择框全部填上;如果所选的课题在数据库中没有记录的话,会弹出“课题X 不存在,请另外选!”;如果已经选择课题,再次输入信息提交的话,系统提示已经选课的提示“你已经提交课题选择!如要重选,请先删除!”,其测试结果如表5-2所示:
5-9毕业设计选题界面
28
(3)、管理员审核选题测试
在选题审核页面中,将学生的选题情况列出来了,如图5-10所示,在此页面中,通过“提交”、“修改”、“删除”这三个操作来对学生的选题情况进行审核处理:如果该生的信息没有经过处理,则选择一个课题“提交”,则显示“提交成功!”;如果已经提交该生的选题审核信息,再点击“提交”则提示“已经提交该生记录,请选择修改!”;如果还没提交就选择“修改”,则显示“提示:还没提交记录,不进行修改!”;如果要修改该生的选题审核信息,则在选择一个课题后点击“修改”,显示“修改成功!”;如果该生的个人信息添加不在数据库中,在“提交”或“修改”时都显示“数据库中已经不存在该学生的记录!请删除!”;点击“删除”,删除该条选课信息!!其测试结果如表5-3所示:
图5-10选题审核页面
29
5.2.4添加管理员测试
在添加管理员的页面中,结构很简单,在页面中输入添加的信息后,如果输入正确信息添加成功,则提示信息“添加成功,点击继续!”,并在当页显示出来;如果没有输入任何信息,则提示信息“一定得有名字才行啊!”;如果没有输入密码,则提示信息“密码不能够为空啊!”;如果输入用户姓名已经存在,则提示信息“该账户名已存在,再取个名字吧!”。其测试页面如图5-11所示。其测试结果如表5-4所示:
图5-11添加管理员页面
30
5.2.5公告管理测试
在该页面中,使用的是一个新闻编辑器,输入界面要求输入公告标题和公告内容,但是添加入数据库的数据包括添加日期和公告发布后的点击次数。在添加公告时,如果标题或者内容只要有其一为空,则提示信息“请保持完整性!”;如果两者都正常输入,则提示信息“添加完成,请执行其他操作!”。其公告添加测试页面如图5-12所示,其测试结果如表5-5所示:
图5-12 添加公告测试页面 表5-5添加公告测试页面测试结果表
31
再对其他的功能模块进行测试,通过测试,系统的各个能功模块界面运行正常,程序处理正确,都达到了想要的效果。
32
第6章:总结
6.1设计总结
在这个系统中,用到了比较常见的登录模块、留言板模块、新闻编辑模块、信息添加模块、分页模块等;在这个系统中,还实现了验证登录、加密处理等安全处理手段,他们的组合实现了这个系统,完成了前面所介绍的基本功能。
但是由于技术不够,所以这个系统中有很多不足的地方,比如说在数据库方面,表设计的不是很合理,所以在查询方面不是很完善,没有实现多条件的组合查询功能,只实现了部分查询;在资料下载时,没有做到直接在浏览器中打开doc 文档,增加了一点操作上的麻烦程度;由于平面设计知识的不扎实,在界面设计方面也做得不好,界面结构有点不合理。
虽然这次做得不好,但是相信在以后会做的更好的,这次设计为本人以后打下了基础。
6.2心得体会
说实话这次的体会写下来可能会一大版呢!由于自己以前的基础是在是不行,从寒假起就开始准备自己的毕业设计,有了大二的数据库课程和网站建设课程的基础,看起书来问题不是很大,但是在自己动手做的时候却又是困难重重,经常遇到问题不能够解决的时候就一放手就是好几天,所以浪费了很多学习的时间。特别是最开始的时候,到处都是问题,那才麻烦呢,每当在本人遇到问题时,本人就先自己努力想法去解决,直到解决为止。如自己不能解决的就去问同学或老师,最终把问题一个一个的解决掉。到最后熟练一点的时候,处理问题的能力也高了很多,所以效率也提高了。这才感觉到自己真的是在这次学到了东西。
通过这几个月做毕业设计的经历,使本人对做一个完整的系统从需求分析到概要设计到详细设计到系统测试的流程有了更新的撑握。不仅是对做系统方面有了很多认识和知识上的提高,在做文档的时候,也让自己学到了很多很简单很基础的东西,比如说添加目录、按照要求添加页眉和页脚等等。
33
在这整个过程中,接触到了Photoshop 、Dreamweaver 等软件,熟悉了SQL Server 2000的操作环境,熟练了Word 里面的操作,总之,通过这一个设计本人学会了很多的知识,受益匪浅。更深的感受是——自己不去动手,什么事都是那么的难;只要自己愿意去做,什么事都有可能。
34
参考文献
[1] 黄明, 梁旭, 段竹编著.ASP.NET 2.0+SQL Server中小型信息系统开发实例精选[M].北京.机械工业出版社,2007
[2] 袁理等编著.ASP 完全自学手册[M].北京.机械工业出版社,2007 [3] 陈建伟, 李美军, 施建强等编著.ASP 动态网站开发教程[M].北京.清华大学出版社,2006
[4] 黄雷, 杨志, 游坤编著.ASP+HTML+Dreamweaver+Access开发动态网站实例荟萃[M].北京.机械工业出版社,2006
[5] 刘亚姝等编著.ASP+Sql Server动态网站开发从基础到实践[M].北京.清华大学出版社,2007
[6] 王晟,马里杰编著.SQL Server数据库开发经典案例解析[M].北京.清华大学出版社,2006.01
[7] 李全新等编著.Word 文档天下[M].北京.中国宇航出版社,2006 [8] 陈永强, 谢维成, 李茜等编著.ASP 数据库开发经典实例精解[M].北京.机械工业出版社,2006
[9] 《图形图像——中文版Photoshop CS2》编委会编著,图形图像——中文版Photoshop CS2[M].北京.电子工业出版社,2006.1
[10] 陈楠编著.平面设计与色彩[M].江西.江西美术出版社,2005.1 [11] 黄雷编著.ASP+SQL Server项目开发实践[M].北京.中国铁道出版社,2006
[12] 昭君工作室编著.Dreamweaver 8中文版网站开发自学导航[M].北京.机械工业出版社,2006
[13] 神龙工作室编著.ASP 网络编程从入门到精通[M].北京.人民邮电出版社,2006
[14] 网页制作编委会编著.网页制作:卓越版, 中文版Dreamweaver 8[M].北京.电子工业出版社,2006
[15] 于慧编著.静态网页编程精彩案例教程, 编程篇[M].北京.电子工业出版社,2006
35
致谢
本人首先要向毕业论文的指导老师表达本人的谢意。本论文之所以能按
时按质完成,得益于陈超老师的大力支持。在论文编写之前,陈老师为本人提供了大量的参考资料以确保论文内容的翔实、丰富。也正是在陈老师对初稿、修改稿、定稿的三次仔细审阅和悉心指导下,这篇论文的视角、内容、结构、逻辑和语言才更加合理、得当,并最终得以顺利出版。同时还要感谢本专业老师在过去专业课学习上给予本人的关心和帮助,使本人积累了许多计算机专业基础知识,保证了论文的学术性。对此付出的辛勤劳动致以由衷的感谢!
最后,本人再一次感谢在大学三年期间关心、爱护本人的老师和同学们;感谢计算机科学系领导和老师们对本人的着力栽培;感谢在这次毕业论文编写过程中帮助过本人的所有人,向他们致以本人最诚挚的谢意!是他们给了本人许多的关心和帮助,促使本人顺利地完成学业,希望这篇论文能够成为一份献给他们的满意答卷。感谢他们!
36
附录:部分源代码
Ⅰ管理登录验证
Chk_login.asp
session.Timeout=20
Dim rs,sql,admin_name,admin_pwd,leixing,user
leixing=replace(Trim(Request.Form("leixing")),"'","")
admin_name=replace(Trim(Request.Form("admin_name")),"'","")
admin_pwd=replace(trim(Request("admin_pwd")),"'","")
admin_pwd=md5(admin_pwd)
CheckCode=replace(Trim(Request.Form("CheckCode")),"'","")
if (admin_name="" or admin_pwd="" )then
response.Write ""
response.end
end if
if cstr(session("CheckCode"))cstr(trim(request("CheckCode"))) then
response.Write ""
response.end
end if
set rs=server.createobject("adodb.recordset")
if leixing="gly" then „选择登录类型是管理员执行以下操作
sql="SELECT *FROM admin where admin_name='"&admin_name&"'"
rs.open sql,conn,1,1
37
If rs.Eof and rs.bof Then
rs.close
set rs=nothing
conn.close
set conn=nothing
response.write ""
else
If rs("admin_pwd")=admin_pwd Then
session("admin_name")="admin_name"
session("user")=rs("admin_name")
response.Redirect("admin_index.asp")
else
登陆!');"
response.write "this.location.href='vbscript:history.back()';"
end if
if leixing="js" then „选择登录类型是教师执行以下操作
sql="SELECT tea_pwd,tea_number,tea_name FROM teacher where response.end end if response.write ""
else
If rs("tea_pwd")=admin_pwd Then
session("admin_name")="tea_number"
session("user")=rs("tea_name") session("tea")=rs("tea_number")
response.Redirect("admin_index.asp")
else
response.write ""
response.end
end if
End If
end if
%>
ⅡMD5加密验证
以对管理员帐号的添加来说明加密的实现:
Add_admin.asp(验证代码如下):
act=trim(request("act"))
if act="add" then
admin_name=trim(request("admin_name"))
admin_pwd=trim(request("admin_pwd"))
if admin_name="" then
39
response.write ""
end if
set rs=server.CreateObject("adodb.recordset")
sql="select admin_name,admin_pwd from admin where admin_name='"&admin_name&"'" rs.open sql,conn,1,3
if rs.eof then
rs.addnew
rs("admin_name")=admin_name
rs("admin_pwd")=md5(admin_pwd) „将密码字段放入数据库时用MD5加密
rs.update
else
response.write ""
end if
response.write ""
end if
%>
Ⅲ上传和下载文件
本系统中涉及到毕业设计、试卷上、实验的管理,所以上传和下载文件是少不了的。下面就以毕业设计这个模块来说明这一功能的实现方式:
(1)、上传页面add_biyesheji.asp(代码如下):
Dim objLoad,rs,sql
40
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "biyesheji",conn,1,3
If Not Request.TotalBytes
Set objLoad = New DevyUpLoad
objLoad.UpLoad()
rs.AddNew()
rs("file_title") = objLoad.Form("file_title").value
rs("file_beizhu") = objLoad.Form("file_beizhu").value
rs("file_type") = objLoad.fileType
objLoad.SaveToDB(rs("file_fl"))
file_name = MakeFileName(objLoad.fileName)
rs("file_name") = file_name
rs("sj_name")=objLoad.Form("sj_name").value
rs("sj_type")=objLoad.Form("sj_type").value
rs("sj_papers")=objLoad.Form("sj_papers").value
rs("sj_major")=objLoad.Form("sj_major").value
rs("tea_number")=objLoad.Form("tea_number").value
rs("sj_dytime")=objLoad.Form("sj_dytime").value
rs("sj_time")=objLoad.Form("sj_time").value
rs("file_uploadtime")=date()
rs.Update()
response.write ""
Set objLoad = Nothing
End If
Function MakeFileName(file_name)
Dim nmStr,eName
nmStr = Replace(Replace(Replace(Now()," ",""),"-",""),":","") & Session.SessionID
eName = Trim(Right(file_name,InStr(StrReverse(file_name),".")))
MakeFileName = nmStr & eName
41
End Function
%>
(2)、下载页面down_bysj_file.asp(代码如下) :
Response.Expires = 0
Response.Buffer = TRUE
Response.Clear
dim rs,conn
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from biyesheji where ID=" & Request.QueryString("id"),conn,1,3
If Not rs.EOF then
Response.ContentType = Trim(rs("file_type")) Response.BinaryWrite rs("file_fl") Response.End
End if
rs.Close()
Set rs = Nothing
conn.Close()
Set conn = Nothing
%>
Ⅳ分页显示
(1)、Student_info.asp(代码如下) :
set rs=server.createobject("adodb.recordset")
sql="SELECT student.*, classinfo.class_name FROM student INNER JOIN classinfo ON student.stu_class = classinfo.class_number order by student.id "
rs.open sql,conn,1,1
42
if rs.eof and rs.bof then
response.Write" 还没有记录!!"
else
%>
第 页 总 页 共 条记录 |
首页 上一页 首页 ">上一页 下一页 尾页 ">下一页 ">尾页 |
页码: for ii=1 to n 43 if ii=Rs.absolutepage-1 then response.write "["&ii&"]" else %> 【">】 end if next %> |
(2)、其引用页showpage.asp (代码如下):
dim listnum ' 每页显示记录数
listnum=5
rs.pagesize=listnum
dim totalPut ' 总记录数
dim CurrentPage ' 当前页
totalPut=rs.recordcount „总记录数
dim n
if totalPut mod listnum=0 then n=totalPut \ listnum else
n=totalPut \ listnum + 1 end if
CurrentPage=request("page")
if currentpage
if not isempty(CurrentPage) then
currentPage=cint(CurrentPage) „
44
else
currentPage=1 end if
%>
45