本科生毕业设计
高校数据中心—基于WEB的学生档案管理系统开发
University Data Center — Development of Student File Management System which based on WEB
学生姓名 所在专业 所在班级 申请学位 指导教师 副指导教师 答辩时间
职称 职称
2011 年 6 月 4 日
目 录
目 录
设计总说明 ............................................................................................................................ I INTRODUCTION .............................................................................................................. II 1
绪论 .............................................................................................................................. 1 1.1 1.2 1.3 1.4 2
立项背景 .............................................................................................................. 1 项目目的和意义 .................................................................................................. 1 国内外现状及其存在的问题 .............................................................................. 2 研究目标 .............................................................................................................. 2
系统开发技术综述 ...................................................................................................... 3 2.1 .NET技术综述 ........................................................................................................ 3 2.2 ADO.NET ................................................................................................................... 4 2.2.1 ADO.NET概述 ................................................................................................... 4 2.2.2 ADO数据访问接口 ........................................................................................... 5 2.3
关于B/S架构 ...................................................................................................... 5 2.3.1 B/S架构简介 ................................................................................................... 5 2.3.2 B/S体系的三层结构 ....................................................................................... 6
3 需求分析 ...................................................................................................................... 7 3.1 3.2 3.3
功能需求分析 ...................................................................................................... 7 系统的实现目标 .................................................................................................. 7 可行性分析 .......................................................................................................... 7
经济可行性 ................................................................................................... 8 技术可行性 ................................................................................................... 8 性能需求分析 ............................................................................................... 8 运行需求分析 ............................................................................................... 9
3.3.1 3.3.2 3.4 3.4.1 3.4.2 3.5 4 4.1 4.2 4.4
系统配置需求 ...................................................................................................... 8
用例分析 .............................................................................................................. 9 数据流图 ............................................................................................................ 11 数据库概念结构设计 ........................................................................................ 11 数据库详细实现 ................................................................................................ 15
存储过程 ..................................................................................................... 15 触发器 ......................................................................................................... 16
数据库设计 ................................................................................................................ 11
4.3 E-R图 .................................................................................................................... 14 4.4.1 4.4.2
目 录
5 系统设计 .................................................................................................................... 18 5.1 5.2 5.3
系统体系结构 .................................................................................................... 18 系统模块划分 .................................................................................................... 18 主要功能模块简介 ............................................................................................ 19 登陆界面 ............................................................................................................ 21 系统首页 ............................................................................................................ 21 用户管理 ............................................................................................................ 22 类别管理 ............................................................................................................ 22
年级管理 ..................................................................................................... 22 学院管理 ..................................................................................................... 23 专业管理 ..................................................................................................... 23 班级管理 ..................................................................................................... 23 学生档案信息录入 ..................................................................................... 24 学生档案信息管理 ..................................................................................... 24 学生档案信息导入 ..................................................................................... 25 学生信息统计 ............................................................................................. 25 数据库备份 ................................................................................................. 26 数据库还原 ................................................................................................. 27 系统空间占用信息 ..................................................................................... 27
6 系统详细设计与实现 ................................................................................................ 21 6.1 6.2 6.3 6.4
6.4.1 6.4.2 6.4.3 6.4.4 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 7 7.1 7.2
学生档案管理 .................................................................................................... 24
系统管理 ............................................................................................................ 26
系统测试 .................................................................................................................... 28
测试目标 ............................................................................................................ 28 模块测试 ............................................................................................................ 28
登陆测试 ..................................................................................................... 28 用户管理测试 ............................................................................................. 29 班级管理测试 ............................................................................................. 29 学生档案管理测试 ..................................................................................... 29 系统管理测试 ............................................................................................. 30
7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 8
总结 ............................................................................................................................ 31
鸣 谢 ................................................................................................................................. 32 参考文献 ............................................................................................................................. 33
设计总说明
设计总说明
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识, 它已进入人类社会的各个领域并发挥着越来越重要的作用。基于 Web 的学生档案管理系统正是作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是教育的科学化、 正规化管理,与世界接轨的重要条件。因此,开发这样一套管理系统成为必要。
学生档案管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端界面的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求功能完备、易使用、界面美观等特点。工作主要内容包括: 1) 设计并实现一个学生档案管理系统。
2) 本系统采用的是基于.NET的Web应用框架构架模式,实现了B/S架构。开发工具使用了
Microsoft公司的visualstudio2008,利用其提供的各种面向对象的开发工具,并结合SQL Server与IIS,开发出一个动态、交互、高效的Web学生档案管理系统。
3) 本系统的用户对象针对不同用户的需求把用户类别划分为学生、教师、系统管理员三种。系统
功能主要有用户管理、年级管理、学院(系)管理、专业管理、班级管理以及学生档案管理,同时还实现了学生档案的导入导出、学生人数统计、数据库远程备份还原等功能。
4) 系统的主要技术及特点有:系统基于C#.NET语言开发,主要采用ASP.NET技术实现,页面与
业务逻辑分离,能够结合多种开发语言开发,可采用可扩展的分层配置基本结构,实现灵活多样的安全配置与设计。系统开发和维护都在服务器端,用户只需要打开浏览器就可以通过网络远程管理、查询学生档案。
目前,该系统在本地测试运行正常,系统功能完善、应用方便灵活,界面友好,达到了预期的目标,提高了档案部门的管理水平。
关键词:学生档案管理系统;管理信息系统;ASP.NET;SQL Server;C#.NET
I
INTRODUCTION
INTRODUCTION
As science and technology's improvement, computer science was also getting mature and it's great feature was deeply knowed by people. It had entered human society in fields and playing more and more important role. Student file management system that base on Web is a part of computer application. Management of student file information in computer, make several advantages which manual managing can't compare with. For example: quick search, convenient seeking, high dependability, huge memory space, excellent confidentiality, long service life, low cost etc. These advantages can improve the efficiency of student's file administration greatly, and it is important condition of education on it's way to socialization and regularization and connecting with the world. So, it's necessary to develop such a management of system.
Student file management system is a typical management information system (MIS),which mainly includes building up data-base of back-end and developing the application interface of front-end. The former require consistency, integrality and security of data. The later should make the application powerful and easily used. It mainly include:
1) Designed and implemented a student file management system.
2) The system used web application framework structuring mode that base on .NET and it realized the B/S structure. VisualStudio2008 of Microsoft was used here .Object-oriented developing tools was joined with SQL and IIS in programing a Dynamic,interactive ,efficient Web students file management system.
3) User Object of the system divided user into student, teacher and system administrator for the needs of different user. The main system function includes user management, grade management, college management, major management, class management and student file management. In addition, the system realized import & export of student file, amount of student number and remote & reduction of data base.
4) Main technology and characteristic of the system: it's development base on C#.NET language and was realized by ASP.NET. Pageframe and service logic of system was divided so it can be developed by different developing language, and the system used expandable Layered configuration basic structure with flexible security configure and design. System development and maintenance were operated in server so users just need to open the browser of network in distance if they want to manage or search student file.
So far, the system's normal running in local test, and it performed perfect system function, flexible and convenient application, friendly interface. These advantages improved the management standard of the archives department.
Keywords: Management system of student file; Information management system; ASP.NET; SQL Server;C#.NET
II
2011届本科生毕业设计
高校数据中心--基于WEB的学生档案管理系统开发
信息管理与信息系统,200711622123,刘鸿辉
指导教师:肖洪生
1 绪论 1.1 立项背景
随着时间的推移,我们已经进入了21世纪,这是一个信息和数字技术迅猛发展的时代,在全球遍布世界的互联网络正在无时无刻、无所不在的渗透到我们的工作、生活和学习中,成为推动社会发展的强大动力。
在此新世纪的开端,作为培养和造就新世纪人才的教育系统和学校,尤其是高等院校,也面临同样的社会环境变化趋势。只有率先领悟和认识到信息技术在教学和管理中的作用,并且用它来解决教学和管理中的问题,才能在全球的教育竞争中立于不败之地。随着互联网的迅猛发展,为校园的信息化建设提供良好的发展平台,而基于B/S的结构的校园信息管理系统具有很强的开放性和扩展性,模块化设计,集中式管理,灵活开放的平台管理,可方便地为校园信息化提供丰富的信息服务,从而实现以信息化的教学管理手段来实现学校日常教学和教务管理。通过校园信息化、数字化建设,利用互联网的特点和B/S架构的优点,通过信息化系统实现高校各个部门之间的信息交流,实现信息和资源的充分利用,提高高校的竞争力。
校园信息化的建设对学校的发展有很大的推动作用,其中学校的档案管理系统是校园信息化建设中的重要一环,负担着为整个学校提供详实准确的学生资料,以及一些其它的档案资料,如何做好档案管理工作,如何更好的为学院的日常工作和教学提供最有力的支持,档案管理系统就是在这样的背景下实施开发的。
1.2 项目目的和意义
学生档案管理系统是一间学校不可缺少的部分,它对于学校的决策者和管理者来说都是至关重要的,它能够为使用者提供丰富的信息和方便快捷的查询手段。但一直以来人们使用传统人工的方式管理文件或纸质档案,这种管理方式存在着许多的缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这给查找、更新和维护都带来了不少的困难。这种管理手段很明显已不能适应时代的发展,因为它浪费了了许多的人力和物力,在当今信息时代,这种传统的管理方法必然会被以计算机为基础的信息管理系统所代替。
众所周知,计算机已经成为我们学习和工作的得力助手。时至今日,计算机的价格已经十分低廉,性能却有了长足的进步。由于计算机可以代替人工进行许多繁杂的劳动,具备节省资源、提高
- 1 -
2011届本科生毕业设计
工作效率、使敏感文档更加安全等特点,它已经被应用于许多领域。因此使用计算机来实现学生档案管理的信息化已经成为当今时代发展的需要。 应用计算机进行学生档案管理,归纳起来,主要有以下几点优势:
1) 可以方便地存储历届的学生档案,管理更为安全、高效;
2) 只需一到两名管理员对学生档案信息进行管理,节省大量人力、财力; 3) 可以使用户方便、快速地查询及修改相关学生的档案信息。
1.3 国内外现状及其存在的问题
在管理体制与计算机技术相对落后的管理环境下诞生的传统信息管理软件或者系统,由于当时技术水平和管理水平的限制,目的主要是替代、减轻工作人员的劳动强度,提高录入、保存信息的质量,促进档案信息管理工作的规范化,提高管理水平与工作效率等。可是当年开发的系统多数都是基于C/S模式的,只能够在存档方面操作性强,只是单方面的管理系统而已。
新管理时代的到来和计算机技术的高速发展,对系统各方面的要求都与日俱增,不论是安全还是技术,抑或是其他方面的要求都是越来越高。现在的管理系统不仅是要求能够替代、减轻工作人员的劳动强度,提高录入速度、保存信息的质量,这么简单而已,还要求对信息的更新、对档案的规范、对管理操作的流程等都要有技术上的提高,安全上的升级,更要求交互性的增强,比如远程录入、查询等,在基于C/S模式的学生档案管理系统中都不能简单实现。
1.4 研究目标
实现一个基于WEB的学生档案管理系统,促进学生档案管理工作的规范化,提高工作效率;降低学生档案管理维护费用,提高行政工作效率,为学校领导决策提供支持,该系统的设计目标应尽量达到人力与设备的节省,并且提高处理数据的速度。并在系统开发过程中,提高自己对ASP.NET、SQL Server等前沿开发技术的理解、认识,进一步学习和加强自身在管理信息系统开发上的知识和实践经验。
- 2 -
2011届本科生毕业设计
2 系统开发技术综述 2.1
.NET技术综述
.NET框架是微软公司全新的开发工具,Web应用程序和传统应用程序的开发者都能用它更高效、更灵活地开发应用程序。.NET框架是.NET平台的基础架构,其强大功能来自于公共语言运行环境和类库紧密结合在一起,提供了不同系统之间交叉与综合的解决方案和服务。.NET框架创造了一个完全可操控的、安全的和特性丰富的应用执行环境,这不但使得应用程序的开发与发布更简单,并且成就了众多语言间的无缝集成。.NET框架由以下三个主要部分组成:
1) 公共语言运行时(CLR:Common Language Runtime)
公共语言运行时在组件的开发及运行过程中,扮演着非常重要的角色。在组件运行过程中,运行时负责管理内存分配、启动或删除线程和进程、实施安全策略、同时满足当前组件对其他组件的需求。.NET框架的关键作用在于它提供了一个跨编程语言的统一编程环境。
2) 统一的编程类
.NET框架为开发人员提供了一个统一、面向对象、层次化、可扩展的类库集(API)。现今,C开发人员使用的是Microsoft基类库,Java开发人员使用的是Windows基类库,而Visual Basic用户使用的又是Visual Basic API集。而.NET框架统一了微软当前的各种不同的框架。这样,开发人员无需学习多种框架就能顺利编程。而且,通过创建跨编程语言的公共API集,.NET框架可实现跨语言继承、错误处理和调试。实际上,从Perl到C++的所有编程语言,都是相互等同的,开发人员可以自由选择理想的编程语言。
3) 活动服务器页面(ASP.NET)
ASP.NET在原有ASP上添加了许多新特性,并增强了原有的功能。ASP.NET并非仅是ASP的补充。它建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的web应用程序。与以前的Web开发模型相比,它具有多个重要的优点:
a) 增强的性能。ASP.NET是在服务器上运行的编译好的公共语言运行库代码。与被解释的不
同,ASP.NET可利用早期绑定、实时编译、本机优化和缓存服务。这相当于在编写代码之前就显著提供了性能。
b) 简易性。ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署
和站点配置。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。
c) 可管理性。ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和
Web应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。
d) 安全性。借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序的
安全。
- 3 -
2011届本科生毕业设计
下面给出.NET的体系结构,如图2-1所示。
图2-1 .NET的体系结构
2.2 2.2.1
ADO.NET ADO.NET概述
ADO.NET在改进以前ADO的基础上,提供了很多用于以创建数据为中心的应用程序的特性。ADO.NET引入的新特性:对XML的充分支持、新数据对象的引入、语言无关的数据访问、使用和CLR一致的类型。
1) 互操作性
互操作性是ADO.NET提供的关键特性之一。由于ADO.NET使用XML交换数据,因此任何支持XML的组件都可以从ADO.NET接收数据。这样就可以在ADO.NET和运行任何平台的应用程序之间传输数据,以支持跨平台应用。而ADO也可以通过使用COM封送处理在应用程序之间传输断开连接的数据集,这就存在数据类型转换的问题,同时COM组件也无法通过防火墙。而XML形式的Dataset组件却可以直接通过防火墙。
2) 可扩展性
使用ADO.NET创建的应用程序比ADO创建的应用程序更易于管理和缩放。ADO.NET创建的应用程序使用XML在层之间传输数据,这样就可以很轻松地在已经部署的应用程序中增加层,并实现与新层中的对象无缝地交换数据。而ADO的使用数据集交换数据,要在已有的应用程序结构中增加中间层,就必须改变应用程序,无法实现无缝数据共享。
3) 不存在数据类型转换
ADO.NET使用XML交换数据,不存在数据类型转换的需求,可以极大地提高应用程序的性能;而ADO使用COM组件传送数据,就需要进行类型转换,这种类型转换大大降低了应用程序的性能。
- 4 -
2011届本科生毕业设计
2.2.2 ADO数据访问接口
ADO.NET提供了对Microsoft SQL Server等数据源的一致访问。数据库使用者可以使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。
下面给出ADO.NET的关系图,如图2-2所示。
图2-2 ADO.NET关系图
ADO.NET提供了对Microsoft SQL Server等数据源的一致访问。数据库使用者可以使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。ADO.NET有两个核心组件:DataSet和.NET数据提供程序,其中.NET数据提供程序包括:Connection、Command、DataReader和DataAdapter对象。DataSet设计目的是为了实现独立于任何数据源的数据访问,可以用于多种不同的数据源,可以用于XML数据,或用于管理应用程序本地的数据。ADO.NET结构的另一个核心元素是.NET数据提供程序,设计目的是为了实现数据操作和对数据的快速、只读访问。Connection对象提供与数据源的连接。Command对象用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。
DataReader从数据源中提供高性能的数据流,DataAdapter提供连接DataSet对象和数据源的桥梁。DataAdapter使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致。
2.3 2.3.1
关于B/S架构 B/S架构简介
目前,网络应用软件运行的模式主要有两类:Client/Server 模式和 Browser/Web Server 模式。客户/服务器(C/S)模式主要的缺点是维护、升级较麻烦,浏览器/服务器模式(B/S)是近几年伴随 Internet 迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是网站服务器(Web Server) ,而 Web Server与数据库和应用服务器的紧密结合,使得这种模
- 5 -
2011届本科生毕业设计
式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的 MIS系统纷纷采用这种模式。它的主要优点是集中化管理和维护,便于扩充应用、升级维护简便;而客户端的免安装和零维护的特点,极大地降低了日后的维护成本。利用 ASP.NET 技术是开发 B/S 模式软件最方便、最简单的方法。 企业使用的各个管理系统的功能将需要不断的扩充和更新,数据库的数据表及其结构也随之需要进行更新,软件也必将不断地更新;同时软件产品本身就要经过一个不断自我完善的过程。基于上述考虑,用 Browser/Web模式来设计管理系统比较合适,服务器端采用 SQL Server 数据库系统和 ASP.NET 组件来构成管理系统的应用服务系统;客户端采用浏览器来完成管理的各项记录和查询的操作,同时可进行远程系统维护和管理。
2.3.2 B/S体系的三层结构
B/S结构是真正的三层结构,它以访问 WEB 数据库为中心,HTTP 为传输协议,客户端通过浏览器(Browser)访问 WEB 服务器和与其相连的后台数据库,我们称之为 B/S(Browser/Server)模式,其三层结构组成如图2-3所示。
客户端WEB服务器客户端图2-3 B/S三层结构图
后台数据库 从左到右,分为三个层次:
第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的 Web 服务器提出服务器请求,Web 服务器用 HTTP 协议把所需文件资料传给用户,客户端接受并显示在 WWW浏览器上;
第二层 Web服务器是功能层,完成客户的应用功能,即 Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回 Web 服务器,再传至客户端;
第三层数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处理。
与传统的 C/S 模式相比,B/S 结构把处理功能全部移植到了服务器端,用户的请求通过浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。
由以上的比较分析可知,三层结构也可以理解为增加 WEB服务器的 C/S模式。
- 6 -
2011届本科生毕业设计
3 需求分析 3.1
功能需求分析
近些年来,学生档案信息资源的开发工作受到各高校档案部门的普遍重视,学生档案信息资源得到了大量的开发。但与知识经济时代高校的实际需要相比,学生档案信息资源的开发工作还有很大距离,开发的浓度与广度还不够,还需进一步努力。开发高校学生档案信息资源,是提高高校管理水平和决策水平的需要。知识经济时代,信息量急剧增长,相互联系的社会因素相当复杂,它要求高校领导者、管理者必须进行科学的决策和管理。高校学生档案工作是办好学校的重要基础工作之一,也是衡量高校教育质量和管理水平的一个重要标志。总之,我们要充分认识到,知识经济的来临对高校档案工作既是机遇,又是挑战,我们必须抓住,大力开发档案信息资源,促进高校的各项工作的深入发展。作为通用学生档案管理系统,本系统的设计将重点放在“通用”性上。亦即,该系统应具有较强的通用性和普遍性。任何一个单位都可将系统稍许修改之后为己所用。为实现系统的通用性,学生档案的项目组成必须是可变的,用户可根据需要进行修改,另外,系统所具备的功能应具普遍性。对于学生管理,不可避免地要涉及到各种查询、打印,如查询学生信息等。完整的学生档案管理系统不仅应具备以上功能,还应包括系统维护,如数据库的远程备份、还原等。而且应设置系统管理员,只有系统管理员才有权力新建用户,分配权限,以便于更好的管理和保密。
3.2 系统的实现目标
学生档案管理涉及大量的信息。如果以手工实现,不仅工作量大,工作重复,而且耗费管理人员的大量时间和精力,且容易出错。但是,用计算机来管理学生档案则可解决这些问题,而且速度快、准确率高。鉴于此,该系统应实现以下目标:
1) 充分利用计算机的功能,在以计算机代替手工操作的基础上,实现管理工作的准确、快速、
提高管理水平。
2) 能够完成信息的录入、修改、查询、删除、打印、Excel表格的导入、导出等功能。 3) 系统应具有较强的维护功能,如数据库的远程备份、还原。 4) 系统应有良好的人机界面,方便用户使用。 5) 能按照查询的字段名打印学生信息。
6) 能对学生信息进行分类统计,如人数统计、年龄段统计等。
7) 基于以上考虑,本学生管理系统划分成用户管理、年级管理、学院管理、专业管理、班级
管理、学生档案管理、系统管理、学生信息统计八大主要功能。
3.3 可行性分析
可行性分析的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解,研究在当前的具体条件下,开发新系统
- 7 -
2011届本科生毕业设计
是否具备必要的资源和其它条件。
对于本系统的可行性,我们从以下两方面进行研究。
3.3.1 经济可行性
随着计算机技术的飞速发展和高校高等教育体制改革的不断深入,传统的教师管理方法、手段以及工作效率己经不能适应新大发展需要,无法很好地完成档案管理工作的要求。提高管理水平的主要途径是更新管理者的思想,增强管理活动的科学认识。同时,运用先进的信息技术,开发网络化信息系统,是深化高校教育体制改革的有效措施。目前,几乎所有高校的职能部门都己建立了针对部门日常职能工作的管理信息系统,如财务处的工资管理系统,科研处的科研管理系统等。这些系统在很大程度提高了部门的工作效率和管理水平。学校领导在认识到高校档案信息化工作的重要性后,档案管理系统的开发所需资金、设备将会得到保障,所以经济上可行。
3.3.2 技术可行性
1) 完善的校园网络
广东海洋大学的校园网络经过多年建设,己经具备相当规模。校园网节点光纤连接到了所有的办公楼、实验楼、学生宿舍楼及教职工住宅楼,为教师和学生上网、使用本系统提供了良好的网络硬件支持。
2) 功能强大的开发平台
目前的管理信息系统开发平台的功能已十分强大。Microsoft SQL2005是性能稳定的数据库,而Microsoft Visual Studio 2008更是具有Web开发的强大优势。SQL Server+ASP.NET正是开发基于Web的信息系统的黄金组合。
由上述两方面的分析可以看出,本系统的开发时机已经成熟,从多种角度考虑开发此系统都是可行的,并且也是十分必要的。
3.4 3.4.1
系统配置需求 性能需求分析
1) 数据精确度
所有的结果应该满足的最低精确度。 2) 时间特性
如响应时间、更新处理时间、数据转换与传输时间、运行时问将符合用户的要求等(这里不包括由于硬件原因所造成的时间特性下降)。
3) 适应性
本系统在设计时,充分考虑用户的操作方式、系统的运行环境,一旦这些条件发生变化时,本系统具有的适应能力,如其它软件接口的变化、用户需求的变化等。
- 8 -
2011届本科生毕业设计
3.4.2 运行需求分析
1) 数据源配置
处理器:Intel P3 2.0G 或以上 内 存:2G 或以上 硬 盘:20G 或以上
操作系统:Windows Server 2003 或以上
中间件:.NET Framework 2.0 ,IIS 6.0 ,SQL Server 2005或以上 网络环境带宽:10M或以上 2) 服务器端配置
处理器:Intel P3 2.0G 或以上 内 存:2G 或以上 硬 盘:20G 或以上
操作系统:Windows Server 2003 或以上
中间件: .NET Framework 2.0 ,IIS 6.0,SQL Server 2005或以上 网络环境带宽:10M或以上 3) 客户端主机要求
能流畅运行IE5.0或Firefox 2.0 以上版本浏览器
3.5 用例分析
用例图(Use Case Diagrams)完全是站在外部用户的角度,从系统的外部来观察系统,看系统能给用户提供一些什么样的功能。在用例图中,系统功能的具体实现细节被隐藏,系统被看作为黑箱。用例图描述了外部执行者与用例的通信以及用例间的关系。用例间的关系有使用关系、扩展关系等。使用关系就是一个用例使用了另一个用例的功能,而扩展关系就是一个用例在另一个用例的基础上增加了新的功能。系统用例图如图3-1所示。
- 9 -
2011届本科生毕业设计
图3-1 系统用例图
- 10 -
2011届本科生毕业设计
4 数据库设计 4.1
数据流图
数据流图也称为Data Flow Diagram,是描述数据处理过程的工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。根据系统需求,画出系统数据流图,如图4-1和图4-2所示。
用户输入信息学生档案管理系统输出信息用户库文件 图4-1 系统顶层数据流图
数据库年级管理学院管理用户登陆学生档案管理系统专业管理用户所需信息班级管理学生档案管理 图4-2 数据流图
4.2 数据库概念结构设计
根据系统功能设计的要求以及功能模块划分,对于系统信息数据库,可以列出以下数据项和数据结构。
1) 登陆日志表见表4-1 表名称标识:LoginLog
表4-1 LoginLog表
字段名 ID userid logindate 标识 √
主键 √
数据类型 smallint Varchar(50) Datetime - 11 -
允许空
√ √ 字段说明 用志ID 用户名 登陆时间
2011届本科生毕业设计
loginip
Varchar(50)
√
登陆IP地址
2) 用户信息表见表4-2 表名称标识:UserInfo
表4-2 UserInfo表
字段名 ID U_ID U_name U_pass U_power U_lastdate U_loads U_lastIP 标识 √
主键 √
数据类型 int
Varchar(20) Varchar(50) Varchar(50) Varchar(50) datetime smallint Char(50) 允许空
√
√ √ √ √ 字段说明 用户ID 用户名 用户姓名 用户密码 用户类别
上一次登陆时间 累计登陆次数 上一次登陆IP
3) 用户权限表见表4-3 表名称标识:UserPower
表4-3 UserPower表
字段名 ID
U_Power Description M_read M_edit M_delete M_add M_query M_password M_power M_toword M_excel M_backup M_recovery M_info M_view 标识 √ 主键 √ 数据类型 Smallint Varchar(50) Varchar(50) bit bit bit bit bit bit bit bit bit bit bit bit bit 允许空
√ √ √ √ √ √ √ √ √ √ √ √ √ 字段说明 权限ID 用户类别 功能描述 查看权限 编辑权限 删除权限 添加权限 查询权限 修改密码 权限管理 导出权限 导入权限 备份权限 还原权限 系统信息 查看档案
4) 年级信息表见表4-4 表名称标识:StuYear
表4-4 StuYear表
字段名 ID
StuYear 标识 √
主键 √
数据类型 smallint int 允许空
字段说明 年级ID 年级
5) 学院信息表见表4-5 表名称标识:StuCollege
表4-5 StuCollege表
- 12 -
2011届本科生毕业设计
字段名 ID
StuCollege
标识 √
主键 √
数据类型 smallint Varchar(50)
允许空
字段说明 学院ID 学院名称
6) 专业信息表见表4-6 表名称标识:StuProfession
表4-6 StuProfession表
字段名 ID
StuProfession Introduction College_ID 标识 √
主键 √
数据类型 smallint Varchar(50) Varchar(100) smallint 允许空
√ 字段说明 专业ID 专业名称 专业简介 学院ID
7) 班级信息表见表4-7 表名称标识:StuClass
表4-7 StuClass表
字段名
ID StuClass Year_ID College_ID Profession_ID Note
标识
√
主键
√
数据类型
smallint Varchar(50) Varchar(100) Smllint Smallint Varchar(100)
允许空
√
字段说明
班级ID 班级名称 年级ID 学院ID 专业ID 班级简介
8) 学生档案信息表见表4-8 表名称标识:StuFile
表4-8 StuFile表
字段名
ID StuNo StuName Former Gender Nation Birth Political Tel HomeTel Photo Year_ID College_ID Profession_ID Class_ID IdentityID Religious Email
标识
√
主键
√
数据类型
int varchar(50) varchar(50) varchar(50) tinyint varchar(30) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) smallint smallint smallint smallint char(20) varchar(50) varchar
允许空
√ √ √ √ √ √ √ √ √ √
字段说明
学号 姓名 曾用名 性别 民族 出生日期 政治面貌 联系电话 家庭电话 照片 年届 学院 专业 班级 身份证号 宗教信仰 邮箱
- 13 -
2011届本科生毕业设计
Origin BirthPlace Native Address Zip Health Height Vision Weight Marrige School Degree EduSystem Dorm Teacher Duties Source Training Intake Graduation DiplomasNo IntoDate1 Introducer1 IntoDate2 Introducer2 SecondDegree ComputerLevel FirstLanguage SecondLanguage
varchar(20) varchar(50) varchar(20) varchar(50) char(10) varchar(50) varchar(20) varchar(20) varchar(20) tinyint varchar(50) varchar(50) varchar(20) varchar(20) varchar(20) varchar(50) varchar(50) varchar varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50)
√ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √
家庭出身 户籍所在地 籍贯 家庭住址 邮编 健康状况 身高 视力 体重 婚姻情况 就读院校 学历 学制 宿舍号 班主任 职务 生源所在地 培养类别 入学时间 毕业时间 毕业证书编号 入团情况 入团介绍人 入党情况 入党介绍人 第二学历 计算机水平 第一外语 第二外语
4.3 E-R图
E-R图是描述概念数据模型的主要工具,E-R图也称为实体-联系模型,由实体,属性,联系三个要素构成。根据系统功能分析后,设计出满足各实体间相互关系的内容就可以用E-R图表达出来,部分实体E-R图如图4-3所示。
- 14 -
2011届本科生毕业设计
年级号年级名学院号学院名称年级1包含n学院1包含1专业n包含个人照片n专业名称专业号专业简介社会关系成绩信息家庭关系班级1包含n学生信息性别班级号班级名称班级简介学生号姓名政治面貌出生日期民族健康状况籍贯 图4-3 系统E-R图
4.4 4.4.1
数据库详细实现 存储过程
存储过程只在创建时进行编译,以后每次执行存储过程都不需再重新编译;使用存储过程一方面减少了浏览器与服务器间的交互,减少了网络传输,另一方面又省去了DBMS对SQL语句的语法检查、查询优化和编译等过程,从而可以明显改善系统的性能。我们在设计系统时,对于复杂的查询、汇总统计等功能采用存储过程实现,而不是由Web服务器或客户机来执行SQL操作。这样,既降低了Web服务器或客户机的负担,又提高了模块的独立性,优化了系统的性能。
1) 统计学生人数存储过程
该存储过程的作用是根据输入的年级,统计出总人数,代码如下: create proc FileCount(@StuYear varchar(10)) as
select StuYear as 年级,StuCollege as 学院,专业数=count(distinct StuProfession),班级数=count(distinct StuClass),人数=count(*)
from FileView
where StuYear=@StuYear group by StuYear,StuCollege order by StuYear
2) 统计年龄分段人数存储过程
该存储过程的作用是统计出各年龄段的人数,代码如下: Create proc AgeCount
- 15 -
2011届本科生毕业设计
As begin
select sum(case when cast(datediff(yy,birth,getdate()) as nvarchar)<18 then 1 else 0 end) as '18岁以下',
sum(case when cast(datediff(yy,birth,getdate()) as nvarchar)between 19 and 21 then 1 else 0 end) as '19--21岁',
sum(case when cast(datediff(yy,birth,getdate()) as nvarchar)between 22 and 24 then 1 else 0 end) as '22--24岁',
sum(case when cast(datediff(yy,birth,getdate()) as nvarchar)between 25 and 27 then 1 else 0 end) as '25--27岁',
sum(case when cast(datediff(yy,birth,getdate()) as nvarchar)>28 then 1 else 0 end) as '28岁以上'
from StuFile end
4.4.2 触发器
触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。
1) 登陆日志触发器
该触发器的功能是当用户登陆系统时,自动往日志表里添加登陆名、登陆时间和登陆IP地址,详细代码如下:
create trigger login_tri on dbo.UserInfo for update as
insert into LoginLog(userid,logindate,loginip) select U_ID,U_lastdate,U_lastIP from inserted 2) 禁止修改登陆日志触发器
该触发器的功能是禁止用户修改日志表,详细代码如下: create trigger tri1 on dbo.LoginLog for update as
raiserror('不能修改日志',16,10) rollback transaction 3) 自动添加学生账号触发器
该触发器的功能是当添加学生档案时,自动添加该学生的系统账号,其中登陆账号为学号,登陆密码为学生的身份证号,详细代码如下:
- 16 -
2011届本科生毕业设计
create trigger insert_user on StuFile for insert as begin
declare @userID varchar (20),@userPass varchar(20),@userName varchar(20)
select @userID = inserted.StuNo ,@userPass = inserted.IdentityID,@userName=inserted.StuName from inserted
insert into UserInfo(U_ID,U_pass,U_name,U_power) values(@userID,@userPass,@userName,'学生') end
4) 级联删除账号触发器
该触发器的功能是当删除某一学生的档案信息时,自动删除该学生的登陆账号,详细代码如下: create trigger delete_user on dbo.StuFile for delete as begin delete UserInfo from UserInfo,deleted
where UserInfo.U_ID=deleted.StuNo end
- 17 -
2011届本科生毕业设计
5 系统设计 5.1
系统体系结构
学生档案管理系统采用的是三层体系结构,就是将系统的总体结构分为三层:表示层、业务逻辑层和数据层,将此三层相分离。因此可以对系统进行并行的开发和维护,提高开发和维护的效率,也降低了开发和维护的成本。
学生档案管理系统的体系结构如图5-1所示。
图5-1 学生档案管理系统体系结构图
5.2 系统模块划分
本系统为一个基于WEB平台下的学生档案管理系统,主要有用户管理模块、权限管理模块、年级管理模块、学院管理模块、专业管理模块、班级管理模块、学生档案管理模块、系统管理模块等几部分功能,其基本功能模块图5-2所示。
学生档案管理系统用户管理权 限 管 理年 级 管 理学 院 管 理专业管理班 级 管 理学 生 档 案 管 理系 统 管 理添加用户编辑用户删除用户编辑权限添加年级编辑年级删除年级添加学院编辑学院删除学院添加专业编辑专业删除专业添加班级编辑班级删除班级添加学生信息编辑学生信息删除学生信息导入学生信息导出学生信息学生人数统计数据库备份数据库还原 图5-2 系统基本模块图
本系统根据学校管理需要,共分为三种级别的用户,分别为:学生用户、教师用户和管理员用户。不同用户对应着不同的操作权限,其具体操作权限如下述。
1) 学生用户:供在校学生使用。学生用户登录后,可以查看有关学生本人的信息,其访问操
作包括修改密码、一些简单的查询等。具体操作权限如下: a) 学生本人的档案信息查看
- 18 -
2011届本科生毕业设计
b) 学生本人档案导出 c) 学校相关信息的查看
2) 教师用户:供本校教师使用。其操作权限如下:
a) 修改个人密码
b) 查询和查看学生档案信息 c) 学生档案信息的导出 d) 查看学生的统计信息
3) 管理员用户:管理员用户具有该系统的所有权限,包括数据库的备份、还原等,具体权限
如下:
a) 用户的添加、删除、修改、查询和导出 b) 用户的权限设置
c) 年级信息的添加、删除、修改 d) 学院信息的添加、删除、修改 e) 专业信息的添加、删除、修改 f)
班级信息的添加、删除、修改
g) 学生档案信息的的添加、删除、修改、查询、导入、导出 h) 数据库的远程备份、还原
5.3 主要功能模块简介
1) 登陆验证模块
用户身份验证是实现系统安全性和保证系统稳定性的有效措施之一,用户身份验证可以防止非授权用户使用与入侵,同时也可以维护合法用户的权益,本系统采用用户登录方式限制对系统资源随意访问。在该模块中,学生的账号是由触发器自动添加的,对于其他用户,则必须由管理员添加用户信息后方可使用本系统。 2) 用户管理模块
用户管理模块主要是实现对用户的添加、删除、修改和查询,同时还可以根据需要导出相关用户的信息,如账号、密码等。 3) 权限管理模块
权限管理模块主要是实现对不同类别用户的权限设置,可对不同类别的用户赋予不同的权限,如学生类别的初始权限就只有修改密码、查看个人信息和导出个人信息,管理员可对其权限进行更改。
4) 年级管理模块
年级管理模块主要是实现对年级信息的添加、删除和修改。 5) 学院管理模块
学院管理模块主要是实现对学院信息的添加、删除和修改。
- 19 -
2011届本科生毕业设计
6) 专业管理模块
专业管理模块主要是实现对专业信息的添加、删除、修改和查询,在添加专业信息时必须选择学院,否则无法添加。 7) 班级管理模块
班级管理模块主要是实现对班级信息的添加、删除、修改和查询,在添加班级信息时必须选择年级、学院和专业,否则无法添加,并且不能添加相同名字的班级。 8) 学生档案管理模块
学生档案管理模块主要是实现对学生档案信息的录入、删除、修改、查询和EXCEL表格的导入,Word文档的导出等功能,该模块是本系统的核心模块,包含了丰富的学生个人信息,同时在此模块中还实现了复杂查询和模糊查询,可对学生信息进行不同条件的组合查询,并可对查询结果自定义格式查看和导出。此外,该模块还包含学生人数的统计,目前为止已实现的统计有:统计每个年级的人数分布、性别人数统计、政治面貌人数统计、年龄分段人数统计。 9) 系统管理模块
系统管理模块主要是实现对系统数据库的远程备份和还原,通过此模块可远程备份数据库,备份后还可将备份文件下载到本地,同时下载后可选择是否删除。还原功能则分为普通还原和强制还原,强制还原是强制关闭该数据库的进程,把数据库恢复到备份前状态。
- 20 -
2011届本科生毕业设计
6 系统详细设计与实现 6.1
登陆界面
系统的登陆界面在系统设计中起着举足轻重的作用,一个设计良好的登陆界面可防止未授权用户非法使用系统,避免个人信息的泄露等。在本系统的登陆界面中,实现了验证码技术,以防止用户信息被暴力破解,用户在输入正确的登陆信息后方可使用本系统,在登陆成功后,会自动往登陆日志表中添加本次登陆用户的用户名、登陆时间、登陆IP,以备管理员查询,而其它界面则采用了Sesssion参数来判断用户是否登陆,登陆界面如图6-1所示。
图6-1 登陆界面
登陆验证的关键代码请见附录。
6.2 系统首页
系统首页主要显示当前登陆用户的登陆信息,如登陆用户的登陆时间、登陆IP地址、累计登陆次数等信息,实现界面如图6-2所示。
图6-2 系统首页
- 21 -
2011届本科生毕业设计
6.3 用户管理
用户管理功能主要包括修改密码、添加用户、查询用户信息、导出用户信息等,实现界面如图6-3到图6-6所示。
图6-3 修改密码界面 图6-4添加用户界面
图6-5 用户管理界面 图6-6 权限管理界面
用户管理的关键代码请见附录。
6.4 类别管理
类别管理主要包括年级管理、学院管理、专业管理、班级管理等,在这些界面的实现中,使用了.NET 2.0新增的服务器控件—GridView。GridView是DataGrid的后继控件,GridView和DataGrid功能相似,都是在Web页面中显示数据源中的数据,将数据源中的一行数据,也就是一条记录,显示为在Web页面上输出表格中的一行。但GridViewd在功能上更加丰富,因为其提供了智能标记面板,更加易用、方便,常用的排序、分页、更新、删除等操作更是可以零代码实现。并且GridView还具有PagerTemplate属性,可以自定义用户导航页面,也就是说对分页的控制更加随心所欲,节省了项目开发的大量时间。
6.4.1 年级管理
年级管理包括年级信息的添加和管理,实现界面如图6-7和图6-8所示。
- 22 -
2011届本科生毕业设计
图6-7年级添加界面 图6-8 年级管理界面
6.4.2 学院管理
学院管理包括学院信息的添加和管理,实现界面如图6-9和图6-10所示。
图6-9 学院添加界面 图6-10 学院管理界面
6.4.3 专业管理
专业管理包括专业信息的添加、管理和查询,实现界面如图6-11和图6-12所示。
图6-11 专业添加界面 图6-12 专业管理界面
6.4.4 班级管理
班级管理包括班级信息的添加、查询和管理,实现界面如图6-13和图6-14所示。
- 23 -
2011届本科生毕业设计
图6-13 班级添加界面 图6-14 班级管理界面
班级管理的关键代码请见附录。
6.5 6.5.1
学生档案管理 学生档案信息录入
学生档案包含了丰富的学生个人信息,为方便浏览和录入信息,该界面使用了网页选项卡技术,把学生的信息分为基本资料一、基本资料二、测评信息、阅历及关系、其它情况、学籍变动、备注等七大类。因学生档案信息的严谨性,在此界面的设计中,大量使用了正则表达式来限制用户的输入,以防止错误信息的录入,如身份证号只允许输入15位或18位数字、日期必须是正确的时间格式、联系电话只能输入7位或11位数字等。同时因本系统包含大量的学生信息,为防止照片上传时因文件名相同而被覆盖,所以在此处实现了照片文件上传自动命名的功能。实现界面如图6-15所示。
图6-15 学生信息录入界面
6.5.2 学生档案信息管理
此页面主要负责对学生档案信息的管理,可使用多达10个查询条件组合起来进行学生查询,并可对查询结果自定义格式查看,选择自己需要显示的信息,通过导出功能还可把查询结果导出为word文档。
- 24 -
2011届本科生毕业设计
实现界面如图6-16所示。
图6-16 学生档案信息管理界面
6.5.3 学生档案信息导入
通过此界面可把EXCEL表格里面的学生数据导入到数据库里,实现界面如图6-17所示。
图6-17 学生档案信息导入界面
学生档案信息导入关键代码请见代码。
6.5.4 学生信息统计
本界面主要是实现对学生人数、类别的统计,因时间关系,只实现了年级人数统计、性别人数统计、政治面貌分布人数统计和年龄分段人数统计,其中类别人数统计功能中使用了第三方服务器控件DotNetCharting,DotNetCharting是一个.NET图表控件,对中文的支持非常好,而且操作方便,开发快速,实现效果如图6-18和图6-19所示。
- 25 -
2011届本科生毕业设计
图6-18 年级人数统计界面
图6-19 类别人数统计界面
学生人数统计关键代码请见附录。
6.6 系统管理
数据库作为信息系统的核心,在系统的运行中担当着重要的角色,尽管数据库系统中采取了各种保护措施来防止数据库的安全性和完整性被破坏,保证并发事务的正确执行,但是计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失。因此在系统实现中,数据库的备份和恢复功能显得尤为重要,系统管理模块正是实现了这两个功能,详细内容如下所示。
6.6.1 数据库备份
数据库备份界面主要实现了数据库备份功能,当备份成功后可选择是否把备份文件下载到本机,下载后可删除服务器上的备份文件。实现界面如图6-20所示。
- 26 -
2011届本科生毕业设计
图6-20 数据库备份
数据库备份关键代码请见附录。
6.6.2 数据库还原
数据库还原界面主要实现了数据库还原功能,备份文件可输入服务器上的备份文件名或选择本机上的备份文件,还原方式分普通还原和强制还原两种,当选择强制还原时,会强制中断连接进程,还原数据库。实现界面如图6-21所示。
图6-21 数据库还原界面
数据库还原关键代码请见附录。
6.6.3 系统空间占用信息
通过此界面可查看本系统的空间占用信息,实现界面如图6-22所示。
- 27 -
2011届本科生毕业设计
图6-22 系统空间占用界面
7 系统测试 7.1
测试目标
系统测试是系统开发周期中一个十分重要而漫长的阶段。其重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析,系统设计和系统实现的最终审查。系统测试的对象不仅仅是源程序,而应是整个系统,它把需求分析,概要设计,详细设计以及程序设计各阶段的开发文档,包括需求规格说明,概要设计说明,详细设计说明以及源程序,都作为测试的对象。测试的目的就是发现系统的错误。
7.2 7.2.1
模块测试 登陆测试
打开系统登录页面login.aspx,出现界面如图6-1。输入正确的用户名、密码和验证码,并选择相应的用户类别后文方可登录成功,跳转到系统首页,这样就达到了预期的登陆效果。该模块的测试结果如表7-1所示。
表7-1 登陆模块测试结果
测试操作
不输入任何信息 输入正确的用户信息
输入错误验证码,其他正确 使用学生账号登陆,选择身份“管理员”,其它信息正确 输入正确用户错误密码,其它信息正确
测试取值 无
admin、admin admin、admin 200711622123、123456
admin、1234
系统响应 显示错误提示信息 进入系统首页 显示错误提示信息 弹出错误提示框 弹出错误提示框
错误或提示
“请输入账号”,“请输入密码” 无
“验证码错误!”
“登陆信息错误,请确认!” “登陆信息错误,请确认!”
- 28 -
2011届本科生毕业设计
7.2.2 用户管理测试
登陆成功后,点击左侧导航的修改密码,进入密码修改界面。输入正确的旧密码和连续两次输入新密码后,即可更改当前登陆用户的登陆密码。该页面的测试结果如表7-2所示。用户管理界面的其它功能和学生档案管理类似,经测试运行正常,这里不再介绍,详细内容请见学生档案管理测试。
表7-2 密码修改界面测试结果
测试操作
不输入任何信息 输入错误的旧密码 旧密码为空,其它正确
旧密码正确,新密码和确认密码不一致 输入正确信息
测试取值 无
admin11
admin、admin admin、33、44
admin、1234、1234
系统响应 显示错误提示信息 显示错误提示信息 弹出错误提示框 显示错误提示信息 跳转到操作成功页面
错误或提示 “密码不能为空” “密码错误” “请输入旧密码” “密码不一致” 无
7.2.3 班级管理测试
登陆成功后,点击左侧导航的班级管理,出现界面如图6-14。点击“添加班级”,进入班级添加界面,如图6-13所示。选择该班级所在年级、学院、专业后,输入班级名称和备注说明,若已存在同名班级,则显示错误提示信息。添加成功后跳转到操作成功提示页面,如图7-1所示,显示该页面两秒后则会自动跳转到班级管理页面,如图6-13所示。在该页面可对班级信息进行查询、编辑和删除,点击“删除”将删除该班级的信息,点击“取消”取消删除,点击“确定”,成功删除数据库中的该条记录。如图7-2所示。
图7-1 图7-2
年级管理、学院管理、专业管理等模块与班级管理模块类似,经测试运行正常,这里不再进行叙述。
7.2.4 学生档案管理测试
登陆成功后,点击左侧导航的录入学生信息,出现界面如图6-15,在该界面按照要求正确填入学生信息后,点击右侧确定按钮,若存在相同学号的学生信息,则弹出提示框,如图7-3所示,若添加成功,则跳转到操作成功页面,并且两秒后会自动跳转回学生档案管理页面如图6-16。在该界面可对学生档案信息进行管理,输入查询条件后,下方的GridView显示出正确的查询结果。点击“自
- 29 -
2011届本科生毕业设计
定义格式查看”,可选择需要显示的信息。点击“导出”,则会把当前GridView内显示的信息导出到Word文档中,并弹出文件下载对话框,如图7-4所示。
图7-3 提示框 图7-4 下载对话框
7.2.5 系统管理测试
登陆成功后,点击左侧导航的数据库备份,进入数据库备份界面,如图6-20所示。输入存放备份文件的目录名和备份文件名,若不输入则默认为“DataBackup”和“当前日期_bak”,点击开始备份,备份成功后会显示如图7-5所示界面。点击下载备份文件,则会弹出下载对话框,如图7-6所示。点击删除备份文件,会弹出删除成功的提示框,如图7-7所示。
图7-5 数据库备份界面
图7-6 下载对话框 图7-7 提示框
点击左侧导航的数据库还原,进入数据库还原界面,如图6-21所示。按要求输入备份文件目录和文件名或选择本地备份文件,点击开始还原,还原成功后弹出提示框,如图7-8所示。若同时输
- 30 -
2011届本科生毕业设计
入文件名和选择本地备份文件,则会弹出提示框,如图7-9所示。
图7-8 图7-9
再对本系统其它功能模块进行详细测试,系统的各个能功模块界面、功能均运行正常,程序处理正确,达到了理想的效果。
8 总结
经过了一个多月的学习和努力,我完成了基于WEB的学生档案管理系统的毕业设计。系统的详细设计根据系统分析阶段的结论将系统具体化,并完成了各个模块的功能,直到最后形成了一个完整的可行性高的学生档案管理系统。
本系统使用C#.NET作为开发语言,在开发的过程中采用Microsoft Visual Studio 2008作为开发工具,并选用了Microsoft SQL Server 2005 数据库系统以实现数据的存储,同时还使用了第三方服务器控件,如DotNetCharting。页面的设计则使用了Adobe Dreamweaver CS5 进行设计,同时使用了Adobe Photoshop CS5、光影魔术手等图像处理工具进行图像的处理和美化,最后设计出一个较为美观和人性化的系统。由于时间的限制和本人编程技术的不足,此系统的功能还有待于进一步的加强和完善。例如权限管理功能,原来的设想是把权限细分到每个用户上的,但因时间和技术关系,只能细分到用户类别。
通过此次毕业设计,让我知道了系统开发的艰辛与快乐,在设计的过程中,有时为了一个看起来很简单的功能,也要占用大量时间,有时还未必能彻底解决问题。所以在编写程序的过程中一定要有耐心和细心,否则一时的粗心也可能引发一大堆的错误。同时本次设计也让我知道了自己知识、能力、经验的缺乏,还有许多知识需要去了解和学习,从而提高自己的个人能力。ASP.NET的学习中是从无到有,从生疏到熟悉,让人回味无穷的一个过程,不但可以解决自己的问题,还可以帮助同学解决他们的难题,是一个很好的学习过程。
总的来说,本学生档案管理系统基本上可以满足学生档案管理的需要。在以后的日子里,本系统将会得到进一步的提高和完善。
- 31 -
鸣 谢
鸣 谢
首先感谢肖洪生老师给予了精心的指导和热情的帮助,然后就是感谢我的同学们的大力帮助!其次感谢家人对我在设计期间的关爱和照顾。在课题设计的构思 阶段和系统的设计阶段,导师提出许多宝贵的设计意见,在最后的论文修改阶段,老师在百忙之中抽出时间帮我指出和解决存在的问题,提供了很多的帮助,最后才得以顺利的完成论文的写作。在短暂的几个月的相处时间里,老师渊博的知识、敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益,在此谨向老师表示衷心的感谢和崇高的敬意。同时也感谢07信管的同学们在这次毕业设计中对我的支持和帮助。另外,我要衷心感谢信息学院全体老师对我的教诲,他们不仅使我的知识、能力得到提高,更重要的是教会了我怎样提高自己的自学能力,怎样去适应社会,适应工作。还有网上众多不知名的专家和朋友,我要对他们说声谢谢,他们在网络上的文章帮我解决了许多困难,感谢所有帮助我的老师、朋友及家人。
- 32 -
参考文献
参考文献
[1]王辉, 黄红超.ASP.NET实用教程[M].北京:清华大学出版社,2005.12.
[2]求是科技.ASP.NET信息管理系统开发实例导航[M].北京:人民邮电出版社,2005.4. [3]金明花,李冉,邹婷.Flash 8从入门到精通[M].北京:中国青年出版社,2006.5. [4]Richard Leinecker .ASP.NET 实用全书[M].北京:电子工业出版社,2003.1. [5]张海藩.软件工程导论[M].北京:清华大学出版社,2008.2.
[6]王珊方,萨师煊.数据库系统概论[M].北京:高等教育出版社,2008.4.
[7]赵致格.数据库系统与应用(SQL Server)[M].北京:清华大学出版社,2005.9.
[8]王志伟,宋晓鹏. 突破ASP.NET 编程实例五十讲[M].北京:中国水利水电出版社,2002.5. [9] 杨天奇,王文,何朋,李会锋. ASP.NET网络编程技术[M]. 北京:机械工业出版社,2007. [10]微软公司.Microsoft ASP.NET标准教程[M]. 北京: 中国劳动社会保障出版社,2003.5. [11]孙良军.Flash 8入门与实例演练[M].北京:中国青年出版社,2006.3.
[12]Louis Davidson.Professional SQL Server 2000 Database Design[M],o'reilly ,2003.
- 33 -
附 录
附 录
(一) 登陆验证的关键代码。 String code = CodeTest.Code;
if (!this.tb_code.Text.Trim().Equals(code)) {Label1.Text = \"验证码错误!\";} else {
String id = tb_id.Text.ToString(); String pass = tb_pass.Text.ToString();
string power = dd_power.SelectedValue.ToString(); StringBuilder sqlstr = new StringBuilder(); sqlstr.Append(\"select * from UserInfo\");
sqlstr.Append(\" where U_ID=@id and U_pass=@pass and U_power=@power\");
SqlParameter[] parameters = { new SqlParameter(\"@id\SqlDbType.NVarChar, 20), new SqlParameter(\"@pass\
parameters[0].Value = id; parameters[1].Value = pass; parameters[2].Value = power;
DataSet ds = Query(sqlstr.ToString(), parameters); DataTable dt = new DataTable(); dt = ds.Tables[0];
if (ds.Tables[0].Rows.Count != 0) {
String logindate = DateTime.Now.ToString(\"yyyy-MM-dd HH:mm:ss\"); String loginip = Request.UserHostAddress; Session[\"id\"] = dt.Rows[0][\"U_ID\"].ToString(); Session[\"name\"] = dt.Rows[0][\"U_name\"].ToString(); Session[\"pass\"] = dt.Rows[0][\"U_pass\"].ToString(); Session[\"power\"] = dt.Rows[0][\"U_power\"].ToString(); Session[\"lastdate\"] = dt.Rows[0][\"U_lastdate\"].ToString();
Session[\"loads\"] = Convert.ToInt16( dt.Rows[0][\"U_loads\"].ToString())+1; Session[\"lastip\"] = dt.Rows[0][\"U_lastIP\"].ToString(); Session[\"logindate\"] = logindate; Session[\"loginip\"] = loginip;
string strsql = @\"update UserInfo set U_lastdate='\" + logindate + \"',U_lastIP='\" +loginip+\"', U_loads=U_loads+1 where U_ID='\" + id + \"'\";
using (SqlConnection conn = new SqlConnection(connStr)) {
using (SqlCommand comm = new SqlCommand(strsql, conn)) {
conn.Open();
int row = comm.ExecuteNonQuery();
- 34 -
附 录
}
if (power == \"管理员\" | power == \"教师\") Response.Redirect(\"Main.aspx\"); else if(power==\"学生\")
Response.Redirect(\"user/Main.aspx\"); } } else
{ShowMessageBox(\"登陆信息错误,请确认!\");} }
(二) 用户管理关键代码
protected void Button1_Click(object sender, EventArgs e) {
string q1 = DropDownList2.SelectedValue.ToString(); //用户类别 string q2 = DropDownList3.SelectedValue.ToString(); //查询方式 string qtext = TextBox4.Text.ToString().Trim(); string sqlstr = \"select * from UserInfo where\";
if (q1 == \"请选择...\" & q2 == \"请选择...\" & qtext == \"\") {
sqlstr = \"select * from UserInfo \" + \"order by U_Power,ID\"; SqlDataSource1.SelectCommand = sqlstr; } else {
if(q1!=\"请选择...\")
sqlstr = sqlstr + \" U_power='\" + q1 + \"' and \"; if(q2 == \"账号\" & qtext != \"\")
sqlstr = sqlstr + \"U_ID like '%\" + qtext + \"%' and \"; if(q2==\"姓名\"& qtext!=\"\")
sqlstr = sqlstr + \"U_name like '%\" + qtext + \"%' and \"; if(q2==\"请选择...\"& qtext!=\"\")
sqlstr = sqlstr + \"U_name like '%\" + qtext + \"%' or U_ID like '%\" + qtext + \"%' and \"; sqlstr = sqlstr + \"1=1\";
SqlDataSource1.SelectCommand = sqlstr; }
if (GridView1.Rows.Count != 0) {
Session[\"SqlDataSouce1Command\"] = SqlDataSource1.SelectCommand; } } (三) 班级管理关键代码
protected void Button1_Click(object sender, EventArgs e) {
if (tb_class.Text == \"\")
- 35 -
附 录
{
ShowMessageBox(\"请输入班级名称\"); }
else if (CustomValidator1.IsValid) {
string stu_year = DropDownList1.SelectedValue.ToString(); string stu_col = DropDownList2.SelectedValue.ToString(); string stu_pro = DropDownList3.SelectedValue.ToString(); string stu_class = tb_class.Text; string stu_note = tb_note.Text;
string strsql = \"insert into StuClass (StuClass, Year_ID, College_ID, Profession_ID,Note) values ('\" + stu_class + \"',\" + stu_year + \
using (SqlConnection conn = new SqlConnection(connStr))
{ using (SqlCommand comm = new SqlCommand(strsql, conn)) { conn.Open();
int row = comm.ExecuteNonQuery();}
Response.Redirect(\"success.aspx?success=5&url=StuClassManage.aspx\");//跳转到汇总页面 }} }
(四) 学生档案信息导入关键代码 Random number = new Random();
string filename = DateTime.Now.ToString(\"yyyyMMddhhmmssfff\") + \"_\" + number.Next(10000, 99999).ToString()
+
\"_\"
+
FileUpload1.PostedFile.ContentLength
+
System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);
string path = Request.MapPath(\"~/Temp/\"); FileUpload1.SaveAs(path + filename);
string connExcel = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/StuFileManage/Temp/\" + filename + \";Extended Properties=Excel 8.0\";
SqlConnection sqlConnection1 = new SqlConnection(connStr);
OleDbConnection oleDbConnection = new OleDbConnection(connExcel); try {
oleDbConnection.Open();
sqlConnection1.Open(); //打开连接
DataTable dataTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); //获取excel表
string tableName = dataTable.Rows[0][2].ToString().Trim(); //获取sheet名,其中[0][1]...[N]: 按名称排列的表单元素
tableName = \"[\" + tableName.Replace(\"'\(五) 学生人数统计关键代码
private void Drawing() {
Charting c = new Charting();
c.Title = \"广东海洋大学学生类别统计\";
- 36 -
附 录
c.XTitle = \"\";
c.YTitle = \"人数(人)\"; c.PicHight = 400; c.PicWidth = 1000; c.SeriesName = \"合计\";
c.PhaysicalImagePath = \"Temp\";//统计图片存放的文件夹名称 c.FileName = \"Statistics\"; c.Type = SeriesType.Cylinder; c.Use3D = true;
SqlConnection Con = new SqlConnection(connStr); //数据库连接 Con.Open();
string cmdtxt = \"select count(*) as 人数 from StuFile group by Gender\"; //SqlCommand Com = new SqlCommand(cmdtxt, Con); DataSet ds = new DataSet();
SqlDataAdapter Da = new SqlDataAdapter(cmdtxt, Con); Da.Fill(ds); Con.Close();
SeriesCollection SC = new SeriesCollection(); // 生成对比图 Series s = new Series(); s.Name = \"男生人数\"; Element e = new Element();
e.Name = \"性别\";//对应于X轴个尺度的名称
e.YValue = Convert.ToSingle(ds.Tables[0].Rows[0][\"人数\"]); s.Elements.Add(e); SC.Add(s);
Series s1 = new Series(); s1.Name = \"女生人数\"; Element e1 = new Element();
e1.Name = \"性别\";//对应于X轴个尺度的名称
e1.YValue = Convert.ToSingle(ds.Tables[0].Rows[1][\"人数\"]); s1.Elements.Add(e1); SC.Add(s1);
SC[0].DefaultElement.Color c.DataSource = SC;
c.CreateStatisticPic(this.Chart1); }
(六) 数据库备份关键代码
protected void Button1_Click(object sender, EventArgs e) {
string fullpath = Server.MapPath(TextBox1.Text.Trim().ToString()); if (!Directory.Exists(fullpath)) {
Directory.CreateDirectory(fullpath); }
string filename = TextBox2.Text.Trim().ToString()+\".bak\";
SqlConnection connection = new SqlConnection(connStr); SqlCommand command = new
=
Color.FromArgb(255,
99,
49);
/
SC[1].DefaultElement.Color = Color.FromArgb(0, 156, 255);
- 37 -
附 录
SqlCommand(\"use master;backup database StuFile to disk=@path;\ //备份数据库语句
connection.Open();
string path = fullpath + filename;
command.Parameters.AddWithValue(\"@path\ command.ExecuteNonQuery(); connection.Close();
bak_down.NavigateUrl = TextBox1.Text.Trim().ToString() + filename; bak_down.Visible = true; bak_delete.Visible = true; HyperLink4.Visible = true; TextBox1.ReadOnly = true; TextBox2.ReadOnly = true; }
(七) 数据库还原关键代码
string path=Server.MapPath(TextBox1.Text.Trim().ToString()); System.IO.FileInfo file = new System.IO.FileInfo(path); if (TextBox1.Text.ToString() != \"\" & FileUpload1.HasFile) {
ShowMessageBox(\"不能同时选择两个数据库备份文件\"); TextBox1.Text = \"\"; }
else if (!FileUpload1.HasFile & !file.Exists) {
ShowMessageBox(\"备份文件不存在,请重新输入\"); TextBox1.Text = \"\"; }
else if(file.Exists) { try {
SqlConnection connection = new SqlConnection(connStr); SqlCommand command = new SqlCommand(\"use master;restore database StuFile from disk=@path with replace ;\ //还原数据库语句
connection.Open();
command.Parameters.AddWithValue(\"@path\ command.ExecuteNonQuery(); connection.Close();
ShowMessageBox(\"还原成功\"); }
catch (Exception ex) {
ShowMessageBox(ex.Message); }
- 38 -
因篇幅问题不能全部显示,请点此查看更多更全内容