




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书毕业设计说明书基于ASP.NET学生信息管理系统的开发 学生姓名: 学号: 学 院: 计算机科学与技术系 名: 专 业: 指导教师: 年月基于ASP.NET学生信息管理系统的开发摘 要随着Internet的普及,越来越多的学校建立了自己的Web网站,其中学生信息管理系统是构成学生网站的一个重要组成部分。传统的系统基于ASP和JavaScript,VBScript等脚本语言,将动态网页和数据库结合,通过应用程序来处理的方法具有较大局限性。本说明书中系统开发用的技术是在.NET Framework平台上利用ASP.NET,采用C#语言来实现。该系统采用ADO.NET技术可以容纳具有复杂关系的数据,而且其开发模式有助于减少软件的维护费用,提高软件的可移植性和可伸缩性,提高网络性能,甚至有助于提高软件开发人员的生产力和缩短开发周期。正是由于采用了上述方法,使得本学生信息管理系统具有操作简单、界面友好。同时许多选项包括学生信息、学生课程,学生成绩等只需要点击鼠标就可以完成,跟踪出现的提示信息也让用户随时清楚自己的操作情况,具有即时可见性。并且方便移植,针对不同的学校或相关单位,只需要稍作修改就可以开发出适合本部门特点的信息管理系统等特点。本论文也有不足之处,例如不可以实现在线注册等,还有些功能也不完善等,这些都是需要以后努力的方向。关键词:学生信息管理,SQL server2000,高效查询The Student Information Management System Developed by ASP.NETAbstractAlong with the Internet popularization, more and more schools have established own Web website, student information management system is constituted the student website an important constituent. The tradition based on script language and so on the ASP,JavaScript, and VBScript, the dynamic homepage and the database union, has a bigger limitation.The technology uses which in this system performance history is developed in NET the Framework platform using the ASP.NET technology, uses the C# language to realize. This system uses the ADO.NET technology to be allowed to hold has complex relational the data, no longer relies on the database link; Moreover its development pattern is helpful to reduce software the maintenance cost, enhances software the probability and the expandability, enhances the network performance, even is helpful to enhance the software developers productive forces and reduces the development cycle .Because used the above method, making the student information management system is simple, user-friendly. At the same time many options, including students, student courses, student achievement, and so only need to click the mouse to be completed, tracking the tips of information at any time also allows users to make clear its own operations, with instant visibility. And to facilitate the transplant, for different schools or units, only slightly modified to fit on the development of this sector of the characteristics of information management systems and so on.This paper has deficiencies, for example, can not achieve on-line registration, but also some features not perfect, these efforts are needed after the direction.Key words:Student information management; SQL server2000; High efficient query目 录 1 绪论11.1 课题背景和研究意义11.2 国内外研究概况21.3 研究的主要问题32 系统开发相关技术简介42.1 .NET Framework 2.042.2 ASP.NET技术概况42.3 C#语言简介52.4 SQL Server 2000简介62.5 基于ADO.NET访问数据库的原理83 系统的分析与总体方案设计103.1 系统需求分析103.2 系统架构设计103.3 系统功能描述113.4 系统开发环境124 系统的详细设计与实现134.1 数据字典134.2 访问数据库144.3 其它各功能模块的实现164.3.1 系统主页面164.3.2 用户登录和注册174.3.3 教师信息管理194.3.4 院系信息管理234.3.5 班级信息管理244.3.6 课程信息管理254.3.7 学生信息管理264.3.8 学生成绩管理284.3.9 其它技术295 结论33参考文献34致 谢35第 II 页 共II 页1 绪论1.1 课题背景和研究意义学生信息管理系统是高校必不可少的组成部分,它对于学校的决策者和管理者来说都是至关重要的,原因在于学生信息管理系统能够为用户提供内容丰富的信息和快捷的查询方式。但在过去很长的一段时间里,人们都使用传统的人工管理的方式来管理学生的文件和档案,这种管理方式存在效率低、保密性差等缺点,而且,长时间积累的大量文件和数据当进行查找、更新、维护等工作时给管理人员带来的工作量和麻烦是相当大的。特别是近几年高校合并、扩招,导致学校规模不断扩大,学生数量急剧增加,人工管理的缺点越来越突出。随着科学技术、网络信息的不断发展,计算机科学也日渐成熟,它强大的功能己被人们深刻认识到,作为计算机使用的一个方面,使用计算机对学生信息进行管理,具有手工管理方式所无法比拟的优点,如:可靠性高、存储量大、查找迅速方便、保密性好、使用寿命长、成本低等优点。计算机现在已经成为生活、工作中不可缺少的重要工具,很多事情己经可以通过计算机来完成,还有些事情希望通过计算机来完成。如果计算机可以让工作做得更好,还有什么理由坚持使用手工方式呢?随着Internet的普及,越来越多的学校建立了自己的Web网站,其中学生信息管理系统是构成学生网站的一个重要组成部分。通常,传统的网站管理方式有两种:一是静态HTMI.页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用.二是基于ASP和JavaScript, VBScript等脚本语言,将动态网页和数据库结合,通过应用程序来处理,这是目前较为流行的做法。但是ASP本身的局限性使得系统有一些不可克服的缺陷。比如ASP只能使用脚本语言,主要依靠JavaScript和VBScript,ASP代码与HTML代码没有分开,各种混杂的代码不方便前期的设计和后期的维护;由于ASP的服务器端资源解释型脚本,而解释型脚本执行速度比被编译的程序慢得多;另外,脚本平台带来的问题(ASP变量全部是Variant类型)使得其代码像意大利面条一样混杂。而ASP.NET作为.NET的一个组成部分,是从ASP发展过来的,但并不是ASP的简单升级,而是Microsoft推出的新一代Active Server Pages是微软的.NET框架的重要组成部分,它使用VB.NET, C#和JScript.NET程序设计语言来实现动态网页编程,这使得它的编程非常灵活和高效。同时ASP.NET是基于组件技术和面向对象的开发系统,程序员可以使用系统的丰富组件,如文件上传、E-Mail发送、文件操作、广告组件等。不但如此,程序员还可以开发自己的组件,扩展ASP.NET的功能。ASP .NET直接支持组件和Code-Behind技术,可以更好地实现程序代码和HTML代码的分离。ASP.NET采用了新的叫做ADO.NET的数据库访问技术,可以大大地提高数据访问的效率,也可以很容易地开发应用系统,采取了ASP.NET技术的系统性能上有了很大的改善。1.2 国内外研究概况2000年6月22日,微软公司向全球宣布了其下一代软件与服务,即Microsoft.NET平台的构想与实施步骤1 ,.Net的目标是人们今后无论何时何地,都可以通过任何一台计算机或手机、掌上电脑等移动设备来处理个人数据、玩游戏或者上网冲浪。通俗地讲,.NET的核心内容之一就是要搭建第三代互联网平台。从.NET的发布之日开始,国内外对它的研究比较多。国外对ASP.NET研究方面的资料比较丰富,Jesse Liberty和Dan Hurwitz展示如何使用Visual Studio 2005,C# 2.0和ASP.NET 2.0来构建下一代Web应用程序2。深入讨论了控制、事件、ASP.NET Web页面的生命周期以及其他ASP.NET框架,你很快就能够用比你所能想象的更少的时间及更少的代码来建立更安全和更交互的站点。Glenn Johnson是一名专业培训师,具有多年的教学经验,他曾担任过Tyco国际集团的信息技术和技术支持总管,目前在开展自己的培训、咨询和开发业务。他开发过课件,并在全球各地讲过Microsoft ASP.NET,ADO.NET, C#和.NET课程。并出版了专门介绍Microsoft ADO.NET 2.0的基本功能和新特性的技术参考书,讲解ADO.NET非连接类、ADO.NET连接类、日志跟踪、数据连接的高级主题、并发冲突、数据网格控件、事务、元数据、ADO.NET安全性等一系列重要问题。近几年来国内对于ASP.NET技术的研究也正在兴起。ASP.NET由于具有简洁的设计和实施,但其开发环境允许设置断点、跟踪代码段和查看调用堆栈,是一个复杂的调试环境,这样必然导致许多其他第三方的ASP.NET IDE解决方案已经或正将出现。另外ASP.NET主要应用于Windows平台,虽然添加组件后也可以用于Linux平台,但是很多重要的功能没办法实现。针对这些情况,近几年来国内对于ASP.NET技术的研究也正在兴起。郝刚,多年从事计算机软件、通信、电视系统等工作,2000年开始致力于.NET技术研究,己发表论文十余篇,并于2006年出版新作ASP.NET 2.0开发指南,在基于ASP.NET技术的特性框架基础上,充分说明技术理论的同时,详细创建和分析了数十个与理论密切相关的典型应用3.杨云,Microsoft MVP,参加过多项基于微软.NET技术的大型项目,包括企业级应用系统、电信应用系统、政府办公自动化系统等。长期从事微软ASP. NET技术方面的培训,是微软指定培训中心讲师,并为微软新闻组和多家报纸杂志撰写文章.在Microsoft ASP. NET技术体系方面的主要研究方向是: ASP. NET技术在实际项目中的简便开发,典型设计模式在Web开发中的运用。41.3 研究的主要问题本文以基于ASP.NET的学生信息管理系统为应用背景,主要研究下面两方面的问题:(1)采用比ASP更先进的ASP.NET技术建立系统模型和划分模块,采用基于ADO.NET技术访问数据库并构建一个完整的学生信息管理系统。(2)改进ASP.NET技术的安全机制,对系统进行全面综合的评测。2 系统开发相关技术简介2.1 .NET Framework 2.0.NET Framework是一个平台,此平台支撑着本系统所需的C#语言。同样,.NET Framework还支持许多其他的语言,如VB.NET,VC+.NET等等。该平台支持多种应用程序开发。除了典型的Windows窗体应用程序和控制台应用程序,还支持Web应用程序、Web服务等各种类型的应用程序。应用.Net Framework可以满足应用程序开发的大部分需要。由于其强大的功能特性和方便易用性,.Net Framework已经成为越来越多公司、机构的开发工具。总之,.NET Framework提供了一种更简单、更快捷、更廉价的方式,来获得高效的程序。.NET的目标是人们今后无论何时何地,都可以通过任何一台计算机或手机、掌上电脑等移动设备来处理个人数据、玩游戏或者上网冲浪。通俗地讲,.NET的核心内容之一就是要搭建第三代互联网平台。2.2 ASP.NET技术概况2000年6月22日,微软公司向全球宣布了其下一代软件与服务,即Microsoft.NET平台的构想与实施步骤,Net的目标是人们今后无论何时何地,都可以通过任何一台计算机或手机、掌上电脑等移动设备来处理个人数据、玩游戏或者上网冲浪。从.NET的发布之日开始,国内外对它的研究比较多。 近几年来国内对于ASP.NET技术的研究也正在兴起。ASP.NET由于具有简洁的设计和实施,但其开发环境允许设置断点、跟踪代码段和查看调用堆栈,是一个复杂的调试环境,这样必然导致许多其他第三方的ASP.NET IDE解决方案已经或正将出现。 基于ASP.NET技术可以创建强大的Web页面,打破了传统应用程序开发和Web开发之间曾经存在的界限。相对于ASP而言,其优越性主要表现在以下几方面:(1) ASP.NET是.NET Framework的一部分,集成了.NET Framework的安全性,在公共语言运行库上托管运行,负责管理用.NET库开发的所有应用程序的执行。(2) ASP.NET是被编译的,不是被解释的,运行速度提高了. (3) ASP.NET支持多种语言。(4) ASP.NET支持多种设备和浏览器。 (5) ASP.NET是完全面向对象语言。(6) ASP.NET包含有自己的可移植配置和安全模型,IIS与windows用户间的依赖性减小,采用可扩展标记语言作为配置语言,ASP.NET应用程序包含Web.config配置文件。(7)在VS.NET即Visual Studio.NET环境下ASP.NET是采取控件驱动的机制,服务器识别的HTML控件:从ASP向ASP.NET迁移的一个方法是把runat=server添加到HTML控件中。总之,ASP.NET是.NET的一部分,是建立动态Web站点的.NET,他引入了服务器端控件,提供了一种创建Web的简单方式. 相对于ASP来说,配置应用程序中ASP.NET的安全性更高。相对于ASP而言,二者的区别如图2.1所示。 IISAsp.NetCLR通过Web.Config验证和授权ASP.NET角色Windows传统ASP验证验证Web 客户图2.1 ASP.NET和ASP安全性比较图2.3 C#语言简介由于ASP.NET是一个基于.NET的统一的Web开发平台,该Web开发平台使得Web开发人员可以使用.NET编程语言开发Web应用程序.在学生信息管理系统中,采用C#语言来实现。C#具有现代、简单、完全面向对象和类型安全等特点。C#相对于C/C十十而言,如果以前学过C/C+,学习会变得很容易,许多C#语句直接借用C/C+的语言,包括表达式和操作符.关于C#最重要的一点是:它是现代的编程语言。在类、命名空间、方法重载和异常处理等领域简化了C/C+,丢弃了C/C+的复杂性,使它更容易使用、更加少出错,减少了C/C+的一些特性,不再有宏、模板和多重继承,这样对于开发人员而言,省去了不少麻烦提高了工作效益.总之,C#相对于C/C+等其它语言,具有如下特点:(1)可避免C+中的指针、禁止直接内存操作等,语法更简单、易学。(2)支持跨平台,可运行在不同类型的客户端。(3)完全面向对象且避免了多重继承。(4)支持快速应用开发功能。(5)实现了语言的兼容、协作交互性。(6)与可扩展标记语言的真正融合。(7)集成并保留了C/C+强大的功能并保证了类型的安全。(8)对应用程序提供版本支持,可控制版本。综上所述,C#是派生于C/C+语言的一种程序设计语言,它使程序员能够更快速、更容易地为微软.NET平台开发应用程序。C#能编写Windows应用程序、Web应用程序和Web服务等应用程序,在本系统中主要是用来编写Web应用程序。2.4 SQL Server 2000简介SQL Server作为微软在Windows 系列平台上开发的数据库,一经推出就以其易用性得到了很多用户的青睐,它区别于Access小型数据库,SQL Server是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能。而像存储过程、触发器等特性,也是大型数据库才拥有的。为满足不同规模和要求用户的需要,SQL Server 2000提供几种不同的版本。(1) SQL Server 2000企业版:它提供最为完整的SQL Server功能,为关键商业应用提供高级可伸缩性和可靠性支持,包括分布式分区视图、日志传送和故障切换群集等,并且它还能够充分利用高端硬件配置,最多可支持32个CPU和64GB内存,并支持不同语言之间用户界面的无缝切换。(2) SQL Server 2000标准版:适合中小组织的经济型版本,它缺少高级可伸缩性和可靠性方面的部分功能,可用于最多具有4个CPU和2GB内存的对称多处理系统中。(3) SQL Server 2000个人版:这种版本包括所有管理工具和标准版中的多种功能,它支持双处理器系统,并为个人使用进行了全面优化。当并发访问用户超过5个时,这种数据库系统的性能将随负荷的增加而明显降低。与标准版和企业版不同的是,SQL Server 2000个人版除可以运行在Microsoft Windows NT2000服务器操作系统下外,它还能够运行在Windows 2000 Professiona1、Windows NT Workstation,Windows 98等桌面操作系统下。(4) SQL Server 2000开发版:该版本包括企业版的所有功能,但具有特殊的开发和测试最终用户许可协议。这种版本用于开发所有类型的SQL Server应用程序。(5) SQL Server 2000企业评估版:用于在用户购买正式版本之前对产品进行试用和评价。该版本具备完整的企业版功能,但它具有运行时间限制。(6) SQL Server 2000桌面引擎(7) SQL Server 2000 Windows CE版:为运行Windows CE设备和工具。 SQL SERVER 2000的好处: (1) 上手容易由于SQL Server与Windows界面风格完全一致,且有许多向导(Wizard)帮助,因此易于安装和学习,有关SQL Server的资料、培训随处可得。从另一个角度来讲,学习SQL Server是掌握其他平台及大型数据,如Oracle, Sybase的基础。因为这些大型数据库对于设备、平台、人员知识的要求往往较高,而并不是每个人都具备这样的条件,且有机会去接触它们。但有了SQL Server的基础,再去学习和使用它们就容易多了。(2) 兼容性良好 由于今天Windows操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2000 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。 (3) 相对于7.0的优越性Microsoft SQL Server 2000是在SQL Server 7.0的基础上对性能、可靠性、质量以及易用性进行了扩展。SQL Server 2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。其增强的特性包括对丰富的扩展标记语言(XML)的支持、综合分析服务以及便捷的数据库管理。2.5 基于ADO.NET访问数据库的原理ADO.NET是与C#和.NET Framework一起使用的类集的名称,用于以关系型的、面向表的格式访问数据,包括关系数据库和非关系数据源。ADO.NET已被集成到.NET Framework,用于任何.NET语言,特别是C#。ADO.NET的目标就是:简单地访问关系和非关系数据;统一可扩展标记语言和关系数据的访问:支持Internet上的多层应用程序,与上一代技术相比,它可以扩充来支持更多的数据源。ADO.NET是一个包含在Microsoft.NET框架中的类库,它可以帮助.NET应用程序访问各种数据源。提供了丰富的类、接口,结构是在.NET框架内处理数据访问。ADO.NET相对于ADO等来说是革命性的、更可靠的继承者,是非连接环境设计的系统,它支持通过传统数据访问接口使用可扩展标记语言数据。ADO.NET的另一个创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图的高速缓冲区.数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充。不论数据从何处获取,数据集都是通过使用同样的程序模板而被操作的,并且它使用相同的潜在的数据缓冲区。数据库的相连,ADO.NET提供了如下3种方式:通过ODBC ( Open Database Connection)相连,ODBC是开放数据库互联,它提供了数据库系统的公共函数集,提供了数据库统一访问接口;通过OLEDB相连,OLE DB的数据源可以是传统行列形式的数据库或任何其他存放数据的位置,这些数据源的数据都以表格的形式提供给应用程序,就像它来自数据库一样;直接与ACCESS相连。这3种方式由于应用层次的差异,使得效率由低到高,独立性由高到低。对于相连数据库的数据处理,也有2种方式,即一种是通过DataSet来隔离异构的数据源,另一种是以流方式即DataReader方式从数据源读取。ASP.NET中主要通过ADO.NET和DataSet来完成对数据库的操作。ADO.NET和ASP中的ADO相对应,它是ADO的改进版本.DataSet是ADO.NET的中心概念.你可以把DataSet想象成内存中的数据库.正是由于DataSet,才使得程序员在编程序时可以屏蔽数据库之间的差异,从而获得一致的编程模型。DataSet支持多表、表间关系、数据约束等。这些和关系数据库的模型基本一致。过去,数据处理主要依赖于两层结构,并且是基于连接的。连接断开,数据就不能再存取.现在,数据处理被延伸到三层以上的结构,相应地,程序员需要切换到无连接的应用模型。这样,DataSet Command就在ADO.NET中扮演了极其重要的角色。它可以取回一个DataSet,并维护一个数据源和DataSet之间的“桥,以便于数据的访问、修改和保存。DataSet Command自动将数据的各种操作变换到数据源相关的合适的SQL语句。ADO.NET访问数据库的步骤是:(1)创建一个数据库链接;(2)请求一个记录集合;(3)将记录集合暂存到DataSets;(4)如果需要,返回第2步;( DataSet可容纳多个数据集合)(5)关闭数据库链接;(6)在DataSet上作所需要的操作。DataSet在内部是用可扩展标记语言(Extensible Markup Language, XML)来描述数据的。由于可扩展标记语言(Extensible Markup Language, XML)是一种与平台无关、语言无关的数据描述语言,而且可以描述复杂数据关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链接。正是由于以上特点,在本系统中采用ADO.NET技术访问数据库。3 系统的分析与总体方案设计3.1 系统需求分析学生信息管理系统主要是满足学校管理学生、学生成绩以及相关的院系、班级、课程、教师等信息的需求。需求的具体功能如下:(1)用户登录和注册:用户登录验证用户的登录信息是否合法,以及验证用户是否为系统的合法用户:用户注册主要是由系统管理员添加新的用户。(2)用户和角色管理:用户和角色管理模块主要包括用户管理、角色管理以及用户和角色之间的关系管理,包括用户管理、角色管理、添加角色和用户修改密码等。(3)教师信息管理:教师信息管理模块主要对全校教师信息的管理,如教师信息的添加、修改、删除和查询。包括添加新入职的教师信息、修改和更新在岗教师的信息、查询教师的授课情况、及时删除己离职的教师信息等。(4)班级信息管理:班级信息管理模块主要实现对全校所属班级的管理,如班级信息的添加、修改、删除和查询。包括查询班级信息的基本情况、添加新入学班级、修改班级信息等。(5)院系信息管理:院系信息管理模块主要实现对全校历届班级的管理,如院系信息的添加、修改、删除和查询。包括查询院系信息的基本情况、添加新的入学院系、修改院系信息等。(6)课程信息管理:课程信息管理模块主要实现对开设的课程进行管理,如课程信息的添加、修改、删除和查询。包括添加新开设的课程、修改相关课程、删除原计划开设后因故未开设课程的信息等。(7)学生信息管理:学生信息管理模块主要对学生的信息进行管理,如姓名、性别、年龄、系别、专业等等。包括查询学生信息的基本情况、添加新的插班生的基本情况、修改相关学生的信息、删除己开除或退学学生的信息等。(8)学生成绩管理:学生成绩管理模块主要对学生的成绩进行管理,如添加、修改、删除、审核和查询等。主要包括添加学生考试成绩、审核学生平时成绩和考试成绩、查询学生某课程学习成绩等。3.2 系统架构设计论文中涉及的Web应用系统采用三层架构模式,分别为Web显示层、数据访问层、数据库。系统的总体设计架构如图3.1所示Web显示层 Web Pages数据访问层 DAL数据库 DLL数据库 (SQL Server)图3.1系统总体架构设计图数据库是最底层,它存储系统的所有数据。数据库操作动态链接库(DLL),它直接访问应用系统的数据库。数据访问层建立在数据库之上,为Web显示层提供数据服务,应用程序通过该层访问数据库。数据访问层一般封装操作数据库的选择、添加、更新和删除等操作,同时还为业务逻辑层提供访问数据库的接口或函数或方法等。它与数据库相关联,同时又为Web显示层服务,所以数据访问层设计直接关系到整个系统的成败。3.3 系统功能描述在本系统中,学生信息管理系统是一个完整的学校学生信息管理系统.根据系统的需求分析要求,它主要包括用户登录和注册功能、教师信息管理功能、班级信息管理功能、院系信息管理功能、课程信息管理功能、学生信息管理功能、学生成绩管理功能等功能.该管理系统的功能特点如下所示:(1)操作简单、界面友好:完全控件式的页面布局,使得信息的录入工作更简便;许多选项包括信息类别、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。(2)即时可见:对信息的处理(包括录入、更新、删除等)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能。(3)功能完善:包括常见网站的信息管理的各个方面(包括信息的录入、更新、浏览、删除、查询等各个方面),完整地实现了网站对信息的管理要求。(4)方便移植:针对不同的学校或相关单位,只需要稍作修改就可以开发出适合本单位特点的信息管理系统。按照系统功能的设计,可以把学生信息管理系统划分为用户登录和注册模块、用户和角色管理模块、教师信息管理模块、班级信息管理模块、院系信息管理模块、课程信息管理模块、学生信息管理模块、学生成绩管理模块等八大模块。它们之间的关系如图3.2所示:学生信息管理系统用户登录和注册用户和角色管理教师信息管理班级信息管理年级信息管理课程信息管理学生信息管理课程信息管理图3.2系统模块划分图3.4 系统开发环境论文中涉及的学生信息管理系统的系统开发环境如下所示:(1)技术平台:Microsoft .NET Framework 2.0(2)开发工具:Microsoft Visua1 Studio.NET 2000中文企业版(3)开发语言:ASP.NET,采用C#语言来实现(4)数据库: SQL2000(5) BS: Internet Information Server 6.0操作系统平台:开发过程中使用的是Windows XP专业版,运行时可以采用Windows XP/2003或其它操作系统。4 系统的详细设计与实现4.1 数据字典根据系统的总体设计方案,考虑到学生信息管理系统的实际需要,本信息管理系统的数据库包括的数据库表有:表 4.1用户表(User)字段名数据类型长度允许为空username char 10 否mypasswordvarchar 50 是usetype varchar 20 是表 4.2院系表(Grade)字段名数据类型长度允许为空teacherIDchar8否teacherNamevarchar10否departmentIDchar3是sexchar2是technicalPostchar16是telephonechar16是homeAddrvarchar50是pwdvarchar16是remarkvarchar200是表 4.3部门表(Department )字段名数据类型长度允许为空DepartmentIDchar3否DepartmentNamevarchar30否DepartmentHeadchar8是表 4.4教师表(Teacher)字段名数据类型长度允许为空teacherIDchar8否teacherNamevarchar10否departmentIDchar3是sexchar2是technicalPostchar16是echnicalPostchar16是telephonechar50是homeAddrvarchar16是pwdvarchar16是remarkvarchar200是表 4.5班级表(Class )字段名数据类型长度允许为空classIDchar7否classNamevarchar12否specialityIDchar5是specialityNamevarchar30是EntranceYearchar4是MonitorIDchar10是4.2 访问数据库至于各个系统数据库表的字段、数据类型、主键等属性在此不再详细列出。下面先介绍各个系统数据库表的功能及表与表之间的关系。在本系统中,各个系统数据库表之间的关系并不复杂,它们之间的引用关系也比较简单。教师表Teacher引用部门表Department;班级表Class和课程表Course都引用教师表Teacher的主键ID作为外键:班级表Class还引用院系表Grade的主键1D作为外键;学生信息表Student弓l用班级表Class的主键ID作为外键;成绩表SCOle分别引用学生信息表Student、课程表CAUZSe的主键ID作为外键。为了实现对数据库的访问,ADO .NET定义了两个核心组件:DataSet和.NET Framework数据提供程序,后者是一组包括Connection,Command,DataReader和DataAdapter对象在内的组件。(1)DataSetDataSet对象是支持ADO.NET的断开式、分布式数据方案的核心对象。DataSet的设计目的很明确:为了实现独立于任何数据源的数据访问。因此,它可以用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据。DataSet包含一个或多个DataTabl对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关DataTable对象中数据的关系信息组成。接着在ASP.NET2SQLHelper工程中创建SQLHelper类,该类设计了访问数据库的基本属性(如链接数据库、关闭数据库的链接)和操作(如选择、添加、修改、删除等操作)。SQLHelper类中的函数Open()创建并打开数据库链接、函数Close()关闭数据库链接、函数Dispose()释放数据库链接,它们共同组成对数据库链接的处理操作。SQLHelper类中的函数RunProc()执行访问数据库的存储过程,方法RunSQL(),行访问数据库的SQL语句。下面是链接数据库的部分代码:public class SQLHelper/连接数据源private SqlConnection myConnection=null;private readonly string RETURNVALUERETURNVALUE;/打开数据库连接private void Open()/打开数据库连接if (myConnection = null)myConnection = newSqIConnection (ConfigurationSettings.AppSettingsSQLCONNECTIONSTRING.ToStringp);if(myConnection.State=ConnectionState.Closed)try/打开数据库连接myConnection.Open();catcli(Exception ex) SystemError.CreateErrorLogex.Message);finally/关闭己经打开的数据库连接/关闭数据库连接public void Close()/判断连接是否已经创建if (myconnection != null)/判断连接的状态是否打开if(myConnection.State=ConnectionState.Open)myConnection.Close(); /释放资源public void dispose()/确认连接是否己经关闭if (myConnection != nullmyConnection.Dispose();myConnection = null;4.3 其它各功能模块的实现4.3.1 系统主页面(1)界面的设计一个好的系统需要一个友好的用户界面,在学生信息管理系统中,将系统主页面命名为crm_admin_main,它由页面top.htm、left.aspx、student.aspx共同组成。图4.1 学生信息管理系统主界面(2)功能模块设计功能模块树主要由页面Left.aspx实现,它的代码隐藏文件为Left.aspx.cs,主要以树型形式显示系统的功能模块.在界面设计阶段,在页面Left.aspx上添加一个TreeView控件,控件名称为LeftTreenew,主要用来显示系统的功能模块,当用户单击功能模块树的节点时,在主模块中会显示相应的页面内容。在页面初始化阶段,页面Left.aspx初始化的功能比较简单,主要从数据库的功能模块表获取所有信息,然后通过LeftTreenew控件显示这些信息。页面Left.aspx初始化功能有函数Pages Load()和函数BindTreeData()实现.函数BindTreeData()调用Tree类的函数BindLeftTreeVew()显示功能模块树,它通过函数CreateChildNode递归动态创建菜单节点。4.3.2 用户登录和注册用户登录是用户使用该系统的前提,只有当用户登录系统之后,用户才能拥有操作该系统的权限。用户注册是为本系统添加新的用户,并设置新用户的权限。将在下面分别介绍这两个功能。(1)用户登录用户登录功能由页面Default.aspx实现,它的代码隐藏文件为Default.aspx.cs同时该页面为系统的起始页面。在界面设计阶段,在页面Default.aspx上添加2个TextBox控件,名称分别为UserName, Password。它们分别用来输入用户名、和密码。图4.2 用户登录界面登录功能由LoginBm按钮控件实现,它触发LoginBtn CIick()事件。该事件验证用户输入的用户名、密码是否正确,只有当这2个信息全部正确时,用户才能登录到系统中,否则页面将通过Message控件显示相关错误信息.用户登录成功后,系统跳转到页面crm_admin_main.htm,即系统管理主页面。验证用户名和密码时,调用User类的函数GetUserLogin()从数据库获取用户的ID信息,如果ID为空,则用户登录失败。用户登录成功后,程序使用Session变量保存用户的ID信息。取消登录功能由CancelBtn按钮控件实现,单击此按钮,触发CancelDB Click事件,该事件清空用户名、密码框的内容。(2)用户注册用户注册主要实现添加用户功能,它由页面Addstu.aspx实现,代码隐藏文件为Addstu.aspx.cs.在添加新用户时,同时需要设置该用户的角色,即设置该用户的管理权限.在界面设计阶段,在页面Addstu.aspx添加12个控件,分别用来输入学好、用户名、性别、所在班级、出生日期、联系电话、已修学分、入学日期、密码、家庭住址和备注,其中下拉控件RoleList用来设置用户所在班级和入学时间。图4.3 新用户注册界面在页面初始化阶段,主要是实现绑定角色下拉列表控件RoleList的数据,同时设置添加按钮AddBtn的可用性。该功能函数由Page Load()实现。该函数调用函数BindData()从数据库中获取所有对应信息,并绑定到控件RoleList,其中控件的Text属性域和ID属性域分别为RoleName和RoIeID。页面AddUseraspx运行后,它的初始化页面显示角色信息,即已经绑定了下拉控件RoleList的数据。在添加新用户阶段,该功能由AddBtn按钮控件实现。单击此按钮,触发事件AddBtnClickp事件,该事件调用User类的函数AddUser()实现添加新用户的功能,并把用户的信息存储到数据库中。另外,还使用User类的函数Encrypt()对用户密码进行加密。如果操作成功,则显示提示信息,否则弹出失败对话框。4.3.3 教师信息管理(1)教师基本信息管理的设计教师基本信息管理由页面Teacher.aspx实现,文件Teacher.aspx.cs为它的代码隐藏文件。在界面设计阶段,先在页面Teacher.aspx上添加一个ListBox控件、两个lmageButton控件和一个Button控件,名称分别为TeacherList,SearchBtn, DeleteBtn, Seachtext。其中控件TeacherList用来显示所有教师的信息;控件DeleteBtn, Searchbtn分别实现教师信息的删
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备定期维护培训课件
- 安全驾驶行为培训课件
- 海豚知道成长足迹课件
- 熔炼车间承包合同8篇
- 安全驾驶摩托车培训湖州课件
- 安全驾驶微培训课件
- 注册公司企业的房屋租赁合同3篇
- SQLServer劳动合同(双休)4篇
- 保安人员考试试题及答案
- 法国物理竞赛试题及答案
- 新学期三年级班主任工作计划(16篇)
- 接种疫苗预防流感课件
- 游戏体验寻规律(教学设计)-2024-2025学年人教版(2024)小学信息技术五年级全一册
- 基于plc的恒压供水控制系统设计
- 环保设备加工处理方案(3篇)
- 《成人重症监护病房口腔护理专家共识》解读课件
- 2025中小学生法制知识竞赛题库及答案
- 恶性间皮瘤护理查房
- 2025新版劳动合同范本
- 喷锚支护施工技术
- 自带设备管理办法
评论
0/150
提交评论