毕业设计-基于ASP.NET的学生档案管理系统【含论文、数据库】
收藏
资源目录
压缩包内文档预览:(预览前20页/共52页)
编号:13611405
类型:共享资源
大小:16.78MB
格式:ZIP
上传时间:2019-01-22
上传人:机****料
认证信息
个人认证
高**(实名认证)
河南
IP属地:河南
30
积分
- 关 键 词:
-
含论文、数据库
毕业设计
基于
asp
net
学生
档案管理系统
论文
数据库
- 资源描述:
-

- 内容简介:
-
北华航天工业学院毕业论文毕业设计报告(论文)报告(论文)题目:基于ASP.NET的学生档案管理系统 作者所在系部: 计算机科学与工程系 作者所在专业: 作者所在班级: 作 者 姓 名 : 作 者 学 号 : 指导教师姓名: 完 成 时 间 : 教务处制 摘 要学生档案管理在高校信息管理中是一项重要性的工作,每个时期都有它的管理制度。虽然学生档案管理面临着信息化的冲击与挑战,但是现在高校档案管理信息化程度不高,仍然存在大量未解决的难题。因此,加快学生档案管理实现信息化并开发出功能完善、便于使用的学生档案管理系统是目前面临的问题。目前高校学生的人数日益增多,对于学生档案的管理也越来越复杂,要求也越来越高,越来越多的学校开始重视学生档案的科学化管理。因此需要一个全面、详细的学生档案管理系统,以便完成对学生档案信息的管理。本毕业设计主要利用ASP.net技术和数据库技术,设计出一个学生档案管理系统的方案,其开发主要包括后台数据库的建立和维护以及前端用户接口的设计两个方面。对于前者要求建立起数据一致性和完整性,安全性好的数据库,而对于后者则要求用户接口功能完备,容易使用。关键词:学生档案 信息化 ASP.net技术 数据库技术AbstractStudent records management in the university information management is an importance of each period has its own management system. Although student records management is facing the impact and challenges of the information, but now the college archives management information level is not high, there are still many unresolved problems. Therefore, to accelerate student records management information technology and the development of a fully functional, easy-to-use student records management system is currently facing.The number of college students growing number of increasingly complex management of student files, and requirements are also increasing, more and more schools began to pay attention to the scientific management of student files. Therefore requires a comprehensive, detailed student records management system in order to complete the management of the student file information.This graduation ASP.net technology and database technology to design a program of student records management system, its development mainly includes two aspects of the establishment and maintenance of back-end database and front-end user interface design. For the former requirement to establish data consistency and integrity, security, database, while the latter requires that the user interface is fully functional, easy to use.Keywords:Student Files Information ASP. net technology Database technologyI 目 录摘 要IAbstractII第1章 绪论11.1 课题研究现状分析11.1.1本领域内已开展的研究工作11.1.2已经取得的研究成果21.2 选题的目的及意义21.3 课题研究的主要内容2第2章 系统需求分析32.1 问题的提出32.2 数据库需求分析和性能需求32.2.1 数据库需求分析32.2.2 性能需求32.3 系统的设计目标4第3章 系统开发的技术背景63.1 DIV+CSS前台界面技术63.2 ASP.NET技术63.3 数据库技术63.4 系统采用分层技术73.5 B/S结构73.6 系统的开发要求8第4章 系统概要设计94.1 概要设计介绍94.2 功能模块划分104.3 数据库设计104.3.1 数据库概念结构设计114.3.2 数据库逻辑结构设计15第5章 详细设计与实现185.1 配置文件与公共类文件185.1.1 Web.config配置文件185.1.2 DBOperate.cs公共类文件195.2 用户登录模块205.3 修改登录密码215.4 管理员登录模块225.4.1 学院信息管理225.4.2 学生信息管理245.4.3 学生奖惩管理265.4.4 课程信息管理275.4.5 学生成绩管理295.4.6 系部导航315.4.7 留言板325.4.8 打印学生档案345.5 学生登录模块355.5.1 查看学院信息355.5.2 查看个人信息365.5.3 查看奖惩情况375.5.4 查看课程信息375.5.5 查询个人成绩385.5.6 查看系部信息395.5.7 留言40第6章 系统测试与维护416.1 创建和测试应用程序416.2 测试项目416.3 程序改进416.4 测试方法426.5 测试内容42结 论44致 谢45参考文献46 第1章 绪论随着高校的不断扩招,学生人数越来越多,这就增加了学生档案管理工作的负担。传统人工方式管理档案不仅效率低,而且容易出错,这就需要一个功能完善,操作简单的学生档案管理系统来代替人工方式,以提高高校学生档案的管理效率,也为创建数字化校园做出一定贡献。 1.1 课题研究现状分析随着我国高等教育的不断发展以及数字化校园的不断建设,高校迫切需要提高教学质量和管理效率,学生档案管理实现信息化已成为一种趋势,但目前高校学生档案管理系统还存在一些问题,如:功能单一,系统孤立,缺乏综合分析能力;接口不友好,不便于用户使用。这就迫切需要开发出一个功能完备的学生档案管理系统。国外的软件开发技术相对于国内比较成熟,在学生档案管理系统的开发方面遵循可扩展性和包容性,使得系统能接纳已有的数据结构,在今后扩展时有效地保护已有的资源,在需要变化时,能方便地调整结构,易于扩充功能,升级方便,即满足当前的业务需求,又为今后的扩展留有很大的空间。而在信息标准化和规范化的基础上,对信息进行合理的布局,使得相关人员可以按照各自的权限进行信息查询和维护。1.1.1 本领域内已开展的研究工作1. 理论研究基础随着查询要求和查询信息系统水平的不断提高,如何利用档案管理系统查看每个学生的档案信息,如何采用数据挖掘技术找出有价值的信息,并根据此信息进行分析、比较、选择等,获得最有用的信息是一个发展趋势。此外,学生档案管理工作涉及到学校内部的诸多部门,在学校内部实现数据的交互与共享,形成全面综合的查询已经是高校信息化查询的研究热点和重点。2. 技术层面的支持在技术上,学生档案管理系统的开发技术日趋成熟。好的软件开发工具给软件的开发提供了方便,如Microsoft Visual Studio 2010。此外,好的图形工具也给用户接口的设计提供了便利,像Photoshop、Flash等。而数据的存储则采用SQL SERVER数据库,提高了数据存取的速度。计算机和网络技术的不断发展为学校的信息化建设提供了得天独厚的技术条件;各个局域网、城域网的建成和完善为实现信息查询的网络化提供了硬件设施保障;这些都为高校学生档案管理系统的开发、应用提供了强有力的支持。1.1.2 已经取得的研究成果目前学生档案管理系统主要实现了对学生基本信息的管理、对学生学籍的管理、对学生奖惩情况的管理以及对学生考试成绩的管理四个方面,功能比较完善。1.2 选题的目的及意义学生档案管理系统用于高校学生档案的管理工作,系统针对学校学生档案信息的特点以及管理中实际需要而设计,能够有效地实现学生档案管理的信息化,减轻管理人员的工作负担,高效率、规范化地管理大量的学生档案信息,并避免人为操作的错误和不规范行为。此外,对于高校数字化和信息化建设起到推动作用,也将给传统教学、科研活动带来巨大的变化,同时也将给学校现行的体系与机制提出挑战,推动他们的变革。1.3 课题研究的主要内容学生档案管理系统是一个取代过去由人工管理的系统,使用该系统的用户有管理员和学生两种,管理员可以对学生档案进行增加、删除、查找、修改操作以及打印学生档案,而学生只有查看自己档案信息的权限和向管理员留言的权限。本系统采用采用三层开发技术,用DIV+CSS进行前台接口的设计。本论文论述了一个基于ASP.NET的学生档案管理系统的研究和实现的过程,论文从开发技术和环境谈起,详细介绍了ASP.NET技术和数据库技术,并对该系统的实现过程做了完整介绍,包括需求分析、详细设计、数据库设计以及系统测试等方面。第2章 系统需求分析随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。目前,学校学生档案管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学生档案的管理也变得越来越复杂。面对如此繁杂的任务。如果让个人去管理文檔,就会显得费时费力。近年来随着计算机的迅速发展,计算机已经在社会各个领域显示了它巨大的作用。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。2.1 问题的提出现在我国的一些院校中的信息管理效率还不是很高,这样已经不能适应时代的发展,也浪费了许多人力和物力。在信息时代,传统的人工管理方法必然被以计算机为基础的信息管理所取代。所以,学生档案管理系统的设计与开发也是一个时代必经的阶段。本系统的设计采用B/S结构,主要用于各高校对学生档案的管理。2.2 数据库需求分析和性能需求2.2.1 数据库需求分析信息管理系统一般都要用数据库来存储信息,设计好数据库的结构有助于整个管理系统的设计与实现,一个完整性和健壮性良好的数据库是做出高质量系统的关键所在,学生档案管理系统也不例外。根据本系统的实际情况,需要用数据库存储学生的基本信息、学生奖惩信息、学生成绩、院系信息、课程信息等,根据最终的设计,共需要9张数据库表,它们是学院信息表、系别表、专业表、学生信息表、系统用户表、学生奖惩表、课程表、学生成绩表和留言信息表。这些信息都是用SQL SERVER 2005进行存储。为了满足系统要求,需要将表与表相关联,设置主键、外键,创建视图等,这样便于对数据库进行操作,也保证了数据库的完整性和健壮性。2.2.2 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,学生档案管理系统应该满足以下的性能需求:1. 系统处理的准确性和及时性 在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。由于学生档案涉及到学生在校期间的学习和生活情况,在进行系统开发时必须保证系统处理的准确性和及时性,这样的学生档案管理系统才具有实用价值,才能被高校认可。2. 系统的响应速度为了保证系统使用人员不会因为速度问题而影响工作效率,提高系统响应时间是很有必要的,尤其是当有多个用户对系统进行操作时,系统响应时间的快慢就会显得极为重要。学生档案管理系统的用户涉及到高校很多的学生,所以为了保证高校学生管理的效率,应该提高系统的响应速度。3. 系统的易用性和易维护性学生档案管理系统的用户有管理员和学生两种,这就需要该系统有友好的接口设计,系统功能一目了然,以便于用户使用该系统,对档案信息进行增加、删除、查询、修改等操作。此外,系统的可维护性也是开发过程中应该注意的问题,维护是产品交付以后对其在使用过程中出现的问题或缺陷进行修改和完善的过程,为了后期便于维护,在开发的过程中就应该引起高度重视,在每个阶段都要进行测试,保证了软件质量。4. 系统的开放性和可扩充性可扩充性在学生档案管理系统的开发过程中也是很重要的一部分。例如学生的档案信息可能随着时间的推移会有所增加,就要求系统能够不断完善和改进,系统设计要满足高校不断发展的要求,还要满足因技术发展需要而实现低成本扩展和升级的需求,这就需要系统提供更多的手段进行功能的调整和扩充。而要实现这一点,就涉及到系统的开放性,系统设计应采用开放技术、开放结构、开放系统组件和开放用户接口,以利于网络的维护、扩展升级及与外界信息的沟通。 2.3 系统的设计目标本系统采用结构化设计的方法来实现总体功能,将整个系统合理的划分成各个功能模块,通过对模块的设计和模块之间的关系来实现整个系统的功能。本系统主要分为两大功能模块:管理员登录模块和学生登录模块。管理员可以进行如下操作:修改登录密码;对学院信息和每个系的信息进行增加、删除、查询、修改;对学生基本信息进行增加、删除、查询、修改;对学生在校期间所获奖项以及惩罚情况进行管理;对课程信息的增加、删除、查询、修改;学生每门课程所得成绩的管理;打印学生档案。学生可以进行如下操作:修改登录密码;查询学校所有院系信息以及各系情况;查询个人基本信息;查询自己在校期间所获奖励及惩罚情况;查询所有课程信息和自己成绩;向管理员提交修改申请。第3章 系统开发的技术背景本论文论述了一个基于ASP.NET的学生档案管理系统的研究和实现的过程。本系统采用的是B/S结构,论文对ASP.NET技术做了一般介绍,还对DIV+CSS前台接口技术和SQL SERVER数据库的进行了说明。本文从所用到的关键技术和开发平台谈起。3.1 DIV+CSS前台接口技术DIV+CSS 是一种网页的布局方法,该方法实现了内容与表现相分离,取代了传统的HTML网页设计语言中的表格(table)定位。它用div盒模型结构给各部分内容划分到不同的区块,然后用CSS来定义盒模型的排列方式、内外边距、边框、大小、位置等。采用该布局方式的优点有:代码简洁,提高页面浏览速度,采用CSS+DIV重构的页面容量要比TABLE编码的页面文件容量小得多,代码更加简洁,并且支持浏览器的向后兼容;表现和内容相分离,将设计部分分离出来单独放在一个.CSS文件(样式文件)中,HTML檔中只存放文本信息;易于维护和改版,样式的调整更加方便;提高搜索引擎对网页的索引效率,用只包含结构化内容的HTML代替嵌套的卷标,搜索引擎将更有效地搜索到你的网页内容。现在新浪、网易等国内门户网站,MSN、YAHOO等国际门户网站,和主流的WEB2.0网站,均采用DIV+CSS的框架模式,更加印证了DIV+CSS是大势所趋。3.2 ASP.NET技术ASP.NET是一个统一的Web开发模型,它包括使用尽可能少的代码生成企业级Web应用程序所必需的各种服务。当编写ASP.NET应用程序的代码时,可以访问.NET Framework中的类。可以使用与公共语言运行库(CLR)兼容的任何语言来编写应用程序的代码,这些语言包括C#、 JScript.NET 、Microsoft Visual Basic和J#等。ASP.NET 包含封装公共 HTML 用户接口元素(如文本框和下拉菜单)的控件集。但这些控件在 Web 服务器上运行,并以 HTML 的形式将它们的用户接口推送到浏览器。在服务器上,这些控件公开一个面向对象的编程模型,为 Web 开发人员提供了面向对象的编程的丰富性。3.3 数据库技术数据库技术即ADO.NET技术,它是ADO的改进和完善版本。ADO.NET是一组用于和数据源进行交互的面向对象类库,通常情况下,数据源是数据库,但它同样也能够是XML文件、Excel表格或者文本文件。ADO.NET允许和不同类型的数据源以及数据库进行交互。在ASP.NET中ADO.NET访问数据库分为二种。一种是其它任何类型的数据库,另一种是SQL Server数据库。学生档案管理系统的后台数据库为SQL Server 2005数据库,用来访问数据的五个主要的数据访问对象有: SQLConnection、SqlCommand、SqlDataAdapter、DataSet和DataReader。采用数据库技术对系统用到的数据进行存储,提高数据存储的效率,也给系统调用数据提供了方便,这样就会提高系统开发的效率。3.4 系统采用分层技术根据Web应用程序和ASP. net技术的特点和在实际过程中的不断摸索,得到了一种基于ASP. net技术的三层Web应用程序开发设计模型,这种模型把Web应用程序划分为三个基本的层次: 数据访问层、业务逻辑层和用户接口层。(1)资料访问层:主要用来实现与数据库的交互,即完成查询、插入、删除和修改数据库中数据的功能。数据访问层为业务逻辑层提供服务,根据业务逻辑层的要求从数据库中提取数据或者修改数据库中的数据。(2)业务逻辑层 :业务逻辑层是整个分层模型的中间层,它是用户接口层和业务逻辑层之间的桥梁和纽带,这一层为用户接口层提供功能调用,同时它又调用数据访问层所提供的功能来访问数据库。(3)用户接口层:用户接口层用来实现在客户浏览器中显示的用户接口。该层要以适当的形式显示由业务逻辑层动态传送的数据信息要通过使用相应的HTML标记和CSS模式来实现。同时,这一层还要负责获得用户录入的数据,完成对录入数据的校验,并将录入数据传送给业务逻辑层。采用分层模型来解决工程问题是一种非常优秀的工程设计思路。学生档案管理系统采用分层模型具有以下优点:每一层只实现相对独立的功能,便于测试和维护;通过分层将庞杂的大工程划分为一组相对易于处理的小工程。降低问题的复杂程序;工程的灵活性好。3.5 B/S结构“B/S”是指Browser/Server(浏览器/服务器),即客户端是标准的浏览器,服务器端为标准的WEB服务器协同应用服务器响应浏览器的请求。B/S结构是对C/S结构的一种变化或者改进的结构,是随着Internet技术的兴起。在该结构下,通过WWW浏览器来实现用户工作接口,很少事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。这样就减轻了系统升级与维护的成本和工作量,大大简化了客户端计算机载荷,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它能有效地保护数据平台和管理访问权限,服务器数据库也很安全;它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN、WAN、 Internet/Intranet等)访问和操作共同的数据库。本系统的开发就是采用的B/S结构。3.6 系统的开发要求基于ASP.NET的学生档案管理系统的设计与实现对操作系统的要求如下:硬件要求:CPU:最低Intel Pentium II 500 MHz。磁盘空间:250MB(完全安装),155MB(快速安装)。内存:512MB(最好1GB以上)。显示:1024*768,256色软件要求:操作系统:Windows 2000以上的操作系统。开发平台:Visual Studio.NET 2010,Microsoft SQL Server 2005。第4章 系统概要设计如何解决系统实现的问题是本阶段设计的基本目标,在本阶段,需要设计软件的结构,划分出物理元素,完成对软件的定义。之后就是对系统进行总体设计,即根据对整个学生档案管理系统的分析和组成该系统的模块有那些,模块与模块之间的联系以及每个模块具体实现方法。要完成需求说明书中的所有功能是系统设计的目标,此外,还要尽量达到高效率、高移植性、高可靠性,并能够使用户便于操作。4.1 概要设计介绍系统概要设计首先要将整个系统模块化,模块化就是把比较复杂的问题分解成许多容易解决的小问题,按照各个突破的原则,将每个子模块的问题一一解决,然后将各个子模块通过模块间的接口整合起来,形成一个功能完善的系统。采用模块化的思想可以使系统设计的思路更加清晰,而且便于系统的测试和维护,也提高了系统的可靠性、可移植性和可修改性,有助于软件开发的组织管理。一个大型软件可分别编写不同的模块。模块化理论的几个重要概念如下:(1)模块独立性。模块独立性指每个模块只完成系统要求的独立的子功能,并且与其它模块的联系最少,且接口简单。内聚和耦合是度量模块的独立程度有两个标准。耦合是对一个软件结构内各个模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,调用模块的方式,以及通过接口的信息。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。简单地说,理想内聚的模块只做一件事情。在软件的设计中应追求高内聚、低耦合。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。 (2)抽象。抽象是一种过程,它忽略了一些非关键性细节,而把注意力集中在改善整体性能上。也就是人们常说的抓住重点,生活中没有抽象是枯燥无味的。同样,计算机程序也是这样。(3)信息隐蔽和局部化。信息隐蔽是指在设计和确定模块时,应使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问的。信息隐蔽的概念与模块的独立性直接相关。在面向对象方法中,信息隐蔽是通过对象的封装性来实现的。局部化是指把一些关系密切的软件元素物理的放得彼此靠近。局部化有助于实现信息隐蔽。(4)逐步求精的模块化概念。将现实问题经过几次抽象(细化)处理,最后到求解域中只是一些简单的算法描述和算法实现问题。即将系统功能按层次进行分解,每一层不断将功能细化,到最后一层都是功能单一、简单易实现的模块。求解过程可以划分为若干个阶段,在不同阶段采用不同的工具来描述问题。这样简化了软件设计和实施,提高了软件的可理解性和可测试性,并使得软件更容易维护。4.2 功能模块划分(1)管理员登录模块:该模块实现管理员对自己登录密码的修改、对院系信息的查改操作、对学生奖惩信息的管理、对学生基本信息的管理、对学生成绩的管理、对所有课程的管理、对学生留言的查看以及打印学生档案。(2)学生登录模块:该模块实现学生对院系信息的浏览、查看自己的基本信息、查看自己的奖惩情况、查看自己的成绩、浏览所有的课程信息以及向管理员留言。系统模块图如图4-1所示:图4-1 系统模块图4.3 数据库设计学生档案管理系统需要存储的数据比较多,为了方便管理、易于维护,我们采用Sql Server数据库系统对数据进行存储,这样不仅提高了数据管理效率,也能够正确反映用户实现环境,能被现行系统接受。数据模型是指数据库中记录与记录之间联系的数据结构形成的。不同的数据管理系统有不同的数据模型,数据库设计的核心问题是设计好的数据模型。管理信息系统的设计并不是以数据库为核心的数据库应用设计,本系统的数据库设计尽量满足3NF(第三范式)的要求。满足3NF首先要满足第1NF和2NF,简而言之第三范式就是属性不依赖于其它非主属性,例如本系统中的系别表有系的编号、系名称和系简介三个属性,那么学生信息表列出所在系的编号后就不能载列出系名称和系简介了,这样避免了资料的大量冗余。本系统的数据库设计以提高系统运行效率为前提,设计采用关系型数据库,使用的数据库开发工具是SQL SERVER 2005,。采用关系型数据库,似的对数据的增加、删除、编辑、统计变得更加灵活,其中的排序和索引功能,对数据快速定位,查询提供了有利条件。4.3.1 数据库概念结构设计 在开发学生档案管理系统之前,首先考虑的是如何对现实世界进行抽象,这就需要采用数据模型来对数据库进行设计。目前广泛使用的数据模型可分为两种类型,一种是直接面向数据库逻辑结构的“结构数据模型”;另一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”。在本系统中我采用“实体关系模型”(E-R模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象,E-R模型直接从现实世界抽象出实体类型及实体间联系,然后用E-R图来表示数据模型。使用E-R图可以直观表示概念模型,E-R图有三个基本成分:(1)椭圆形框,表示实体的属性。(2)矩形框,表示实体类型(考虑问题的对象)。(3)菱形框,表示联系类型(实体间的联系)。实体和属性的定义如下:用户登录表(用户名,登录密码,用户权限)学生信息表(学号,姓名,性别,年龄,班级,专业,身份证号,政治面貌,入学年份,照片,籍贯,学籍状态,家庭住址,学制,学历,出生年月)课程信息表(课程编号,课程名称,开设学院,课程性质,学分)系别表(编号,系名称,系简介)专业表(编号,专业名称,所属系别)学院信息表(编号,学院简介,电话号码,传真,邮编,地址,更新时间)奖惩信息表(编号,奖惩内容,奖惩标识,奖惩时间,奖惩说明,学号)学生成绩表(学号,课程名称,学年,学期,平时成绩,期末成绩,总评成绩)留言信息表(编号,学号,留言内容,留言时间)(1)用户登录信息实体属性如图4-2所示:图4-2用户登录信息实体属性图(2)学生基本信息实体属性如图4-3所示。图4-3 学生信息实体属性图(3)课程信息实体属性如图4-4所示。图4-4 课程信息实体属性图(4)各系实体属性如图4-5所示。图4-5 各系实体属性图(5)专业实体属性如图4-6所示。图4-6 专业实体属性图(6)学院信息实体属性如图4-7所示。图4-7 学院信息实体属性图(7)奖惩信息实体属性如图4-8所示。图4-8 奖惩信息实体属性图(8)学生成绩实体属性如图4-9所示。图4-9 学生成绩实体属性图(9)留言信息实体属性如图4-10所示。 图4-10 留言信息实体属性图(10)本系统实体间的映像关系如图4-11所示。图4-11 实体映像关系图4.3.2 数据库逻辑结构设计学生档案管理系统采用SQL Server 2005进行数据库设计。本系统创建的SQL数据库名称为StudentDangan,此数据库包含用户登录表、学生信息表、课程信息表、系别表、专业表、学院信息表、奖惩信息表、学生成绩表、留言信息表9个表。(1)用户登录表存放登录系统所需要的用户名、密码及用户权限。用户登录表各字段功能定义如表4-1所示。表4-1 用户登录表字段名数据类型允许为空是否主键字段含义usernamenchar(20)否是用户名userpwdnchar(20)否否密码authoritynchar(10)否否权限(2)学生信息表存放学生的基本信息。学生信息表各字段功能定义如表4-2所示。表4-2学生信息表字段名数据类型允许为空是否主键字段含义snonchar(20)否是学号snamenchar(10)否否姓名ssexnchar(1)否否性别sageint是否年龄 sclassnchar(10)否否班级szhuanyenchar(20)是否专业sIDnchar(20)是否身份证号smianmaonchar(10)是否政治面貌sentertimenchar(10)是否入学年份sphotonchar(100)是否照片spronchar(10)是否籍贯sxuejinchar(2)是否学籍状态saddressnchar(50)是否家庭住址sxuezhinchar(2)是否学制sxuelinchar(10)是否学历sbirthdaynchar(20)是否出生年月(3)课程信息表存放所有的课程信息。课程信息表各字段功能定义如表4-3所示。表4-3 课程信息表字段名数据类型允许为空是否主键字段含义cnoint否是课程编号cnamenchar(20)否否课程名称cdepartint是否开设学院cxingzhinchar(10)是否课程性质cxuefenint是否学分(4)系别表存放各系简介。系别表各字段功能定义如表4-4所示。表4-4 系别表字段名数据类型允许为空是否主键字段含义d_idint否是编号d_namenchar(20)否否系名称d_jianjietext是否系简介(5)专业表存放每个专业的信息。专业表各字段功能定义如表4-5所示。表4-5 专业表字段名数据类型允许为空是否主键字段含义z_idint否是编号z_namenchar(20)否否专业名称z_departint否否所属系别(6)学院信息表存放学校的联系方式及简介。学院信息表各字段功能定义如表4-6所示。表4-6 学院信息表字段名数据类型允许为空是否主键字段含义s_idint否是编号s_neirongtext否否学院简介s_phonenchar(20)是否电话号码s_faxnchar(20)是否传真s_youbiannchar(10)是否邮编s_addressnchar(50)是否地址s_timenchar(20)是否更新时间(7)奖惩信息表存放学生的奖惩情况。奖惩信息表各字段功能定义如表4-7所示。表4-7 奖惩信息表字段名数据类型允许为空是否主键字段含义jc_idint否是编号jc_neirongtext否否奖惩内容jc_biaoshiint否否奖惩标识jc_timenchar(20)否否奖惩时间jc_shuomingtext是否奖惩说明jc_stunchar(20)否否学号(8)学生成绩表中存放学生在校期间的各科成绩信息。学生成绩表各字段功能定义如表4-8所示。表4-8 学生成绩表字段名数据类型允许为空是否主键字段含义snonchar(20)否是学号cnamenchar(20)否是课程名称syearnchar(20)否否学年sxueqiint否否学期spingshiInt否否平时成绩sqimoint否否期末成绩scorenvarchar(20)否否总评成绩(9)留言信息表中存放学生给管理员的留言信息。留言信息表各字段功能定义如表4-9所示。表4-9 留言信息表字段名数据类型允许为空是否主键字段含义m_idint否是编号m_snonchar(20)否否学号m_neirongtext否否留言内容m_timenchar(20)否否留言时间第5章 详细设计与实现本系统的用户有管理员和学生两种,虽然两种用户都可以登录本系统,但登录系统以后能够进行的操作是不同的,即两种用户对系统的使用权限不同,当然,管理员的权限要高于普通学生。管理员登录系统以后,不仅可以浏览和查询所有信息,而且可以对院系信息、学生信息、课程信息、奖惩信息、成绩信息等进行查询、增加、删除、修改操作以及打印学生档案,而普通学生登录进该系统以后,只能对个人档案信息和院系信息进行浏览和查询。管理员和学生处进行以上操作外,学生还可以给管理员留言,让管理员改正自己发现的错误档案信息,管理员课以查看学生的留言,根据留言对错误信息进行改正。该系统是用ASP.NET中三层开发技术进行开发的,它们是数据层(DAL)、业务层(BLL)和表示层。数据层的功能是对数据库中的数据进行操作,将所有对数据库进行操作的方法都写到这一层;表示层就是对前台接口进行操作;业务层是联系资料层和表示层的纽带,表示层通过调用业务层的方法实现对数据库中数据的存取。5.1 配置文件与公共类文件5.1.1 Web.config配置文件在开发学生档案管理系统的过程中,需要频繁的调用数据库中的数据,这就有可能造成代码的冗余,延长了系统的响应时间。所以,将连接字符串写到web.config檔中,这就有效的避免了由于频繁连接数据库,造成代码冗余的缺陷。Web.config文件中数据库的连接代码如下: 5.1.2 DBOperate.cs公共类文件 在系统开发过程中需要频繁对数据库中的数据进行增、删、查、该操作,为了避免代码冗余,提高系统性能,省去开发工程中不必要的工作,我将对数据库进行增、删、查、该操作用到的代码封装到BOperate.cs檔中,每次用到的时候,只需要调用公共类中的函数即可,这样不仅提高了系统开发的效率,也缩短了系统的响应时间。DBOperate.cs檔部分内容如下: public class DBOperate public DBOperate() /获取连接数据库的连接字符串 public string db = ConfigurationManager.ConnectionStringsconstr.ToString(); /对数据库中的数据进行插入、删除和修改操作,返回改变的行数 public int ExecuteNonQuery(string sql, SqlParameter s) try SqlConnection conn = new SqlConnection(db); conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddRange(s); return cmd.ExecuteNonQuery(); catch (Exception e)throw e; /带参数的查询数据库中的数据,返回DataSet对象 public DataSet ExecuteDataset(string sql, SqlParameter s) try SqlConnection conn = new SqlConnection(db); SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddRange(s); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds, ss); return ds; catch (SqlException ex) throw ex; catch (Exception ex) throw ex; /无参数的查询数据库中的数据,返回DataSet对象 public DataSet ExecuteDataset(string sql) try SqlConnection conn = new SqlConnection(db); SqlCommand cmd = new SqlCommand(sql, conn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds, ss); return ds; catch (SqlException ex) throw ex; catch (Exception ex) throw ex; 5.2 用户登录模块该模块是用户进入学生档案管理系统的入口,当用户权限为admin时,输入用户名、密码和验证码以后,单击登录按钮进入管理员操作接口,如果用户权限为student时,则进入学生操作接口。用户登录接口如图5-1所示。图5-1 用户登录接口实现的主要代码如下:protected void ImageButton1_Click(object sender, ImageClickEventArgs e) string uname = TextBox1.Text.Trim(); string upwd = TextBox2.Text.Trim(); if (!TextBox3.Text.ToLower().Equals(StringFactory.GetCode() ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(验证码错误);location.href=InEnter.aspx;, true); else user user = new user(); List list = BLL.userland.Getusers(uname, upwd); if (list.Count != 0) Sessionusername = list0.username.ToString(); Sessionauthority = list0.authority.ToString(); Response.Redirect(/管理员首页.aspx); else ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(用户名或密码错误,请新输入!);location.href=InEnter.aspx;, true); 5.3 修改登录密码管理员和学生对登录密码的修改接口一样,操作相同。修改密码接口如图5-2所示。图5-2 修改密码接口 实现的主要代码如下: protected void Button1_Click(object sender, EventArgs e) Label1.Visible = false; string ss = BLL.userland.getpwd(name).Trim(); if (txtoldpwd.Text.ToString().Trim()!=ss) Label1.Visible = true; Label1.Text = 输入的旧密码不正确; else int i = BLL.userland.updatepwd(name, txtnewpwd1.Text.Trim(); if (i 0) ClientScript. RegisterStartupScript(this.GetType(), MyScript, alert(修改成功!);location.href=updateadminpwd.aspx;, true); else ClientScript.RegisterStartupScript(thisGetType(), MyScript, alert(修改失败!);location.href=updateadminpwd.aspx;, true); 5.4 管理员登录模块该模块是管理员登录学生档案管理系统以后,可以进行的操作,包括对学院信息和系部信息的查看和修改,对学生信息、学生奖惩信息、课程信息、学生成绩的增加、删除、查询、修改,查看学生留言以及打印学生档案。5.4.1 学院信息管理管理员对学院信息进行管理,包括对学院介绍、学院联系方式(电话、邮编、传真、地址等)查询和修改,查看学院信息的接口图5-3所示。图5-3 管理员查看学员信息管理员单击“修改学院信息”按钮,跳转到修改学院信息的接口,如图5-4所示。图5-4 修改学院信息实现的主要代码如下:protected void Button1_Click(object sender, EventArgs e) schoolinfo sf = new schoolinfo(); sf.s_id = Request.QueryStringid.ToString(); sf.s_address = txtaddress.Text.ToString(); sf.s_fax = txtfax.Text.ToString(); sf.s_neirong = txtjianjie.Text.ToString(); sf.s_phone = txtphone.Text.ToString(); sf.s_youbian = txtyoubian.Text.ToString(); sf.s_time = StringFactory.getTime(); int i=BLL.school.updateschool(sf); if (i 0) ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(修改成功!); location.href=管理员首页.aspx;, true); else ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(修改失败!); location.href=UpdateSchoolinfo.aspx;, true); 5.4.2 学生信息管理管理员对学生信息的管理包括按条件对学生信息的查询、添加学生信息、修改学生信息、删除学生信息,删除学生信息可以批量删除。添加学生信息的时候,也会将该学生对应的登录用户名、密码及登录权限插入到用户登录信息表中,用户名是学生的学号,密码默认“666666” ,登录权限为“student” 。删除学生信息的同时也会将该学生的奖惩情况和成绩信息一并删除。此外,管理员还可以重置学生的登录密码,避免学生忘记登录密码而无法进入该系统,重置的密码统一为“666666” 。学生信息管理接口如图5-5所示。图5-5 学生信息管理实现的主要代码如下:/绑定学生信息public void stuBind(Boolean bol) string sname = TextBox1.Text.Trim(); string sno = TextBox2.Text.Trim(); string sclass = TextBox3.Text.Trim(); string dep = DropDownList1.SelectedItem.Text.ToString(); DataSet ds = BLL.studentinfo.getstuinfo(sname,sno,sclass,dep); GridView1.DataSource = ds; If (bol = true) GridView1.PageIndex = 0; GridView1.DataBind(); /密码重置主要代码protected void GridView1_RowCommand(object sender,GridViewCommandEventArgs e) if (e.CommandName = updatepwd) string sno = e.CommandArgument.ToString(); string pwd = 666666; int i=BLL.userland.updatepwd(sno, pwd); if (i 0) ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(重置成功!);location.href =adminstudentinfo.aspx;, true); else ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(重置失败!);location.href=adminstudentinfo.aspx;, true); stuBind (false); 5.4.3 学生奖惩管理 管理员对学生的奖惩情况进行管理,包括对学生奖励信息和惩罚信息的增加、删除、查询、修改操作,学生的奖惩信息有奖惩内容、奖惩时间、奖惩说明。管理员通过输入学生学号查看到某位同学的奖惩情况。学生奖惩情况如图5-6所示。图5-6 学生奖惩情况实现的主要代码如下:/获得奖励信息public void jiangliBind(Boolean bol) DataSet ds= BLL.jiangchenginfo.getjiangchenginfo(sno, true); GridView1.DataSource = ds.Tables0.DefaultView; if (bol = true) GridView1.PageIndex = 0; GridView1.DataBind(); /获得惩罚信息 public void chengfaBind(Boolean bol) DataSet ds1 = BLL.jiangchenginfo.getjiangchenginfo(sno, false); GridView2.DataSource = ds1.Tables0.DefaultView; if (bol = true) GridView2.PageIndex = 0; GridView2.DataBind(); 5.4.4 课程信息管理管理员对课程信息的管理包括:按指定条件查询课程信息、添加课程信息、修改课程信息以及删除课程信息。课程信息管理接口如图5-7所示。图5-7 课程信息管理添加课程信息的接口如图5-8所示。图5-8 添加课程信息实现的主要代码如下:protected void Button1_Click(object sender, EventArgs e) course cs = new course(); ame = TextBox1.Text.Trim(); cs.cdepart = DropDownList1.SelectedValue.ToString(); cs.cxingzhi = DropDownList2.SelectedItem.Text.Trim(); cs.cxuefen = TextBox2.Text.Trim(); SqlDataReader dr = BLL.courseinfo.getcname(); Boolean isExsist = true; while (dr.Read() if (drcname.ToString().Trim() = TextBox1.Text.ToString() isExsist = false; break ; Else isExsist = true; if (isExsist = true) int i = BLL.courseinfo.insertcourse(cs); if (i 0) ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(添加成功!); location.href=addcourse.aspx;, true); else ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(添加失败!); location.href=addcourse.aspx;, true); else ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(已存在该课程,请重新输入课程名!); location.href=addcourse.aspx;, true); 5.4.5 学生成绩管理学生在校期间的学生成绩也是学生档案信息中重要的一部分,想做出一个功能完善的学生档案管理系统,做好学生成绩管理很有必要。管理员对学生成绩的管理包括:根据指定条件查询学生成绩、修改学生成绩、删除学生成绩、按班级录入学生成绩。学生成绩管理的接口如图5-9所示。图5-9 学生成绩管理录入学生成绩的界面如图5-10所示。图5-10 录入学生成绩实现的主要代码如下: protected void Button1_Click(object sender, EventArgs e) int pp = Convert.ToInt32(DropDownList5.SelectedItem.Text.Trim(); float p =(float)pp/100; int qq=Convert.ToInt32(DropDownList6.SelectedItem.Text.Trim(); float q = (float)qq / 100; string cname = DropDownList8.SelectedItem.Text.Trim(); string syear = DropDownList3.SelectedItem.Text.Trim(); string sxueqi = DropDownList4.SelectedItem.Text.Trim(); for (int i = 0; i GridView1.Rows.Count; i+) string sno = (GridView1.Rowsi.FindControl(Label2) as Label).Text.Trim(); string spingshi = (GridView1.Rowsi.FindControl(TextBox7) as TextBox).Text.Trim(); string sqimo = (GridView1.Rowsi.FindControl(TextBox8) as TextBox).Text.Trim(); int sp=Convert.ToInt32(spingshi); int sq=Convert.ToInt32(sqimo); string score = Convert.ToString(sp * p + sq * q); scoreinfo sf = new scoreinfo(); sf.score = score; sf.sno = sno; sf.spingshi = spingshi; sf.sqimo = sqimo; sf.sxueqi = sxueqi; sf.syear = syear; ame = cname; try int j = BLL.score.inserscore(sf); catch (Exception) ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(提交成功!);location.href=#;, true); GridView1.Visible = false; GridView2.Visible = true; gridviewBind1(); 5.4.6 系部导航 该模块的功能是引导用户了解学校每个系的详细情况,其中,管理员不仅可以对每个系的介绍进行浏览,而且还可以修改每个系的介绍。系部导航界面如图5-11所示。图5-11 系部导航界面单击每个系可以进入其详细介绍接口,下面以机械系为例,其它各系与机械系类似,就不一一介绍了。机械系的详细介绍界面如图5-12所示。图5-12 机械系详细接口实现的主要代码如下: public void bind() string xibie = 机械系; List list = BLL.school.Getschoolinfo(); id = list0.s_id; phone = list0.s_phone; neirong = BLL.department.getjianjie(xibie);fax = list0.s_fax; stime = list0.s_time; youbian = list0.s_youbian; address = list0.s_address; 此外,单击 “修改系部信息” ,可以跳转到修改机械系详细介绍的接口,接口与前面的修改学学院信息接口类似,不再赘述。 5.4.7 留言板管理员通过查看留言板,可以看到学生给自己的留言,根据学生的留言,对于错误的学生档案信息进行修改,如果修改完毕,可以删除学生的留言,这样有利于提高系统的实用性。管理员的留言板接口如图5-13所示。图5-13 管理员留言板实现的主要代码如下:public void messageBind() AspNetPager1.RecordCount=Convert.ToInt32(BLL.message.getmessage().Tables0.Rows.Count); int pagesize = AspNetPager1.PageSize; int pageindex = AspNetPager1.CurrentPageIndex; DataSet ds = new DataSet(); SqlDataAdapter daa = DAL.massage.sda(); daa. Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, pvconts); DataList1.DataSource = ds. Tables0; DataList1. DataBind(); protected void AspNetPager1_PageChanging(object src,Wuqi.Webdiyer.PageChangingEventArgs e) AspNetPager1.CurrentPageIndex = e.NewPageIndex; messageBind(); protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e) string id = DataList1.DataKeyse.Item.ItemIndex.ToString().Trim(); int i = BLL.message.delmessage(id); messageBind(); 5.4.8 打印学生档案管理员除了可以进行以上操作外,还可以将学生的档案信息打印输出。这样,当需要学生档案的打印稿时就可以利用该系统将学生的档案打印输出。现在以打印学号为“002”的学生档案为例,打印接口如图5-14所示。图5-14 打印学生档案单击“打印此页”,如果连上打印机,就可以把该学生的档案信息打印出来了。实现的主要代码如下: function saveas(Id) var mStr; mStr = window.document.body.innerHTML; var mWindow = window; window.document.body.innerHTML = Id.innerHTML; document.write(window.document.body.innerHTML); document.execCommand(saveAs , 1 , 报表.doc ); window.document.body.innerHTML = mStr; history.back(); 打印此页 返回 5.5 学生登录模块学生模块主要实现的是当学生登录到学生档案管理系统以后可以浏览院系信息、查看自己在校期间的奖惩情况、查看个人信息、查看个人成绩、浏览所有的课程信息以及给管理员留言,请求管理员修改自己发现的错误档案信息。5.5.1 查看学院信息学生对学院只有查看的权限,没有修改的权限,管理员可以查看学院的简介和学院的联系方式。学生查看学院信息的接口如图5-15所示。图5-15 学生查看学院信息从接口可以看出,与管理员对学院信息管理的接口相比较,显然缺少了按钮“修改学院信息” 。5.5.2 查看个人信息个人基本信息是学生档案最重要的一部分,学生登录系统以后可以查看自己的基本信息。学生查看个人基本信息的接口如图5-16所示。图5-16 学生查看个人信息实现的主要代码如下:public void studentBind() name = Sessionusername.ToString(); List list = new List(); list = BLL.studentinfo.getstuallinfo(name); DataList1.DataSource = list; DataList1. DataBind(); 5.5.3 查看奖惩情况 奖惩管理也是学生档案中不可缺少的一部分,它记录了学生在校期间的奖励和惩罚情况。本系统将学生的奖惩情况显示在同一个接口,这样设计能够使管理员和学生查看的时候一目了然。学生查看自己奖惩信息的接口如图5-17所示。图5-17 学生查看奖惩情况实现该模块的代码与前面管理员对学生奖惩管理的实现代码类似,不再赘述。5.5.4 查看课程信息管理员不仅可以查看课程信息,还可以对课程信息进行增加、删除、修改操作,而学生只能对课程信息根据指定条件进行查询。学生查看课程信息的接口与管理员查看课程信息的接口大体相同,这里不再重复给出。5.5.5 查询个人成绩学生登录进学生档案管理系统以后,可以查询个人在校期间各科的学习成绩,包括平时成绩、期末成绩和总评成绩。学生可以查询自己某一学年或某一学期的成绩,也可以查询历年的成绩以及各科平均分。学生查询个人成绩的接口如图5-18所示。图5-18 学生查看个人成绩实现的主要代码如下:public void scoreBind() string sno = Sessionusername.ToString().Trim(); ; string syear = DropDownList3.SelectedItem.Text.Trim(); string sxueqi = DropDownList4.SelectedItem.Text.Trim(); string xingzhi = DropDownList5.SelectedItem.Text.Trim(); DataSet ds = BLL.score.getScoreinfosno(sno, syear, sxueqi, xingzhi); GridView1.DataSource = ds.Tables0.DefaultView; GridView1.DataBind(); protected void Button1_Click(object sender, EventArgs e) if(DropDownList3.SelectedValue=|DropDownList4.SelectedValue =) ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(学年和学期不能为空!); location.href=studentscoreinfo.aspx;, true); scoreBind(); protected void Button2_Click(object sender, EventArgs e) DropDownList4.SelectedValue = ; if (DropDownList3.SelectedValue = ) ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(学年不能为空!); location.href=studentscoreinfo.aspx;, true); scoreBind(); protected void Button3_Click(object sender, EventArgs e) DropDownList3.SelectedValue = ; DropDownList4.SelectedValue = ; DropDownList5.SelectedValue = ; scoreBind(); /查看各科平均分 public void pingjunfen() double sum =0.0; for (int i = 0; i 0) ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(提交成功!);location.href=studentliuyan.aspx;, true); else ClientScript.RegisterStartupScript(this.GetType(), MyScript, alert(提交失败!);location.href=studentliuyan.aspx;, true); 第6章 系统测试与维护为了确保本系统能够正常运行,需要在发布之前做一次较全面的测试。本章将介绍具体操作及过程并举例进行说明。6.1 创建和测试应用程序创建和测试应用程序贯穿于整个系统开发的过程,包括需求分析、概要设计、详细设计、编码等每个阶段。因为每个阶段都可能产生错误,而在系统开发的早期
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。