毕业设计(论文)基于asp.net及ado.net的教务处系统的开发_第1页
毕业设计(论文)基于asp.net及ado.net的教务处系统的开发_第2页
毕业设计(论文)基于asp.net及ado.net的教务处系统的开发_第3页
毕业设计(论文)基于asp.net及ado.net的教务处系统的开发_第4页
毕业设计(论文)基于asp.net及ado.net的教务处系统的开发_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录摘要2abstract31.绪论41.1教务处系统前景41.2 现代的教务处系统的问题和发展41.3 教务处系统开发的意义62.系统概述72.1系统及需求分析7 2.1.1系统需求7 2.1.2可行性分析73系统分析153.1.系统功能模块设计15 3.1.1 学生信息模块15 3.1.2 学生信息操作模块15 3.1.3 教师信息操作模块16 3.1.4 管理员数据管理模块163.2数据存储分析:实体联系图163.3 功能分析:功能层次图174.系统设计194.1软件结构模块设计19 4.1.1 系统方案确定19 4.1.2软件结构设计19 4.1.3数据库设计194.2各表的物理结构2

2、05系统功能实现245.1系统的用户登陆界面245.2学生主页面265.3教师主页面295.4管理员页面29结束语32参考文献33致谢34摘要随着信息技术在管理上越来越深入而广泛的应用,教务处系统的实施在技术上已逐步成熟。各个院校都基本上通过网络将信息做一个统计,对学生的学籍管理都是通过教务处系统来处理。对数据库的要求比较高,网络安全也相当重要,为防止黑客对教务处系统的攻击,教务处系统也在不断的进行着更新和维护。基于及的教务处系统的开发,可以使得信息能够在网络中显示,用户和管理能够进行交互。对教务处系统的设计要进行各方面的分析与设计。文章介绍了教务处系统的系统分析部分,包括可行性分析、业务流程

3、分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,本系统页面友好,操作简单,比较实用。关键字:教务处系统、c#与、mysql数据库、学生信息操作、教师信息操作、管理员。abstract it management increasingly deep and broad application, the implementation of the registry system technology has gradually matured. the various institutions have basically through t

4、he network the information to do a statistical study on the students enrollment management through the registry system to deal with. higher demands on the database and network security is very important in order to prevent hacker attacks on the registry system, the registry system are constantly upd

5、ating and maintenance.a and registry system development, information can be displayed in the network, users and management to interact. analysis and design of various aspects of the design of the registry system. the article describes the system analysis section of the registry system, including fea

6、sibility analysis, business process analysis; system design part of the system functional design and database design and code design; system part of the main modules of the algorithm, the system page-friendly, simple operation, more practical.key words:registry system, c # and , mysql database, stud

7、ent information operations, teachers, information operations, an administrator.1.绪论1.1教务处系统前景本世纪以来,由于社会生产力的迅速发展和科学技术的突飞猛进,信息的更新已经达到了一个相迅速的阶段。当人们进行信息交流的深度和广度不断增加,管理所需要的信息量急剧增长,同时对信息的处理要求及时、准确,这导致了传统的信息处理方法和手段已不能适应现代管理的需要;电子计算机的诞生和在信息处理中的应用,标志着一个崭新时代“信息时代”的开始,它使学校管理现代化成为可能。在现代社会中管理的作用越来越显得重要和突出。一般来讲,管

8、理通过计划、组织、指导与领导、控制等手段,为组织制定目标,应用组织的各种要素,以实现组织的目标。对学校来说,人们按照一定的学籍计划、学籍资源,对学生信息、教师信息、课程信息、成绩信息等加以计划和协调,以达到预期的目的。随着社会化大生产的不断扩大和社会对产品多样化的需求,人们越来越重视信息在生产经营及学校管理中的作用,并把它当做学校的一种极其重要的资源,人们称之为“信息资源”,信息资源的处理已经成为当今世界上一项主要的社会活动。随着知识经济时代的到来,社会信息化程度越来越高,知识总量剧增,知识更新的速度也越来越快,这使得教育的负担越来越重。现如今,数据库技术是当今计算机应用三大领域之一。今天,信

9、息资源已成为各个部门的重要财富和资源,既是决策的基础又是实施管理控制的依据。建立一个满足各级各部门信息处理要求的行之有效的信息系统也成为一个企业或组织生存和发展的重要条件。 它的及时性、准确性和经济、适用性以及数据的共享性都已为人们所接受。 因此,作为信息系统的核心和基础的数据库技术得到越来越广泛的应用,越来越多新的应用领域采用数据库存储和处理他们的信息资源。对于一个单位来说,数据库的建设规模、数据库信息量的大小和使用频率已成为衡量这个单位信息化程度的重要标志.。由于当今时代社会文化的丰富多彩,信息的安全问题已是投等重大问题之一。教务处信息的安全越来越收到了威胁,做出一个能够及时更新,实用,安

10、全度高的教务处系统相当有必要。高校教务管理系统系统是高校教学、教务管理应用软件。软件开发人员长期从事教务管理工作,熟悉教务管理工作的全部过程,从教务工作的实际出发,解决工作中关键性的难点问题,并充分利用计算机网络功能,实现教务工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来。使得教务管理走向无纸化办公和规范化、现代化管理。1.2 现代的教务处系统的问题和发展随着计算机的普及和网络技术的发展,我国的教育行业信息化建设很早就已经开始在全国展开部署了。教务处系统就是其中之一。然而随着教育管理系统的进一步的应用和教务管理信息化工作的逐步深入, 也逐渐暴露出了一些问题, 并且已经影响到教

11、务管理信息化工作的健康发展, 最尖锐的问题就是教育管理信息化标准化的问题:(1)个性化特点突出不同类型,不同规模的院校,教学改革进展程度不同,教务处管理模式和实施的方法差异较大。原有的管理信息标准不完备, 缺少一套完整的教育管理信息标准。目前许多教育管理部门和学校均根据各自工作需要采用相应的管理信息, 这些信息不仅不规范、不完整, 且互不兼容, 难以进行信息交流。(2)时效性强教务管理系统灵活性差, 缺少可扩充性和开放性。目前的教务管理系统, 多数不具有扩充性, 对高校教务管理工作的新要求, 难以进行及时调整, 因此, 造成了一些管理系统不能长期稳定的应用。(3)分布式的分层管理 随着学校规模

12、的扩大,教务工作量日益增大,对教务工作提出了校、系二级分层管理或者校、院、系三级分层管理的要求。多校区的出现对教务管理系统进一步提出了更高的分布式网络化要求。(4)安全性和稳定性要求高随着扩招、合校等因素的影响,高校在校学生人数骤增,日益膨胀的的数据量和网络化管理带来的对数据安全性和系统运行的要求越来越高。(5)统计分析的多样化与决策支持不仅要求对数据进行存储、统计、分析、输出,而且要逐渐构建数据仓库以及与之相适应的辅助决策支持系统,促进教务管理模式和水平万象一个新阶段。(6)管理经验与软件系统需密切结合一方面需要使管理人员的观念逐步适应管理软件系统的要求,另一方面需要管理系统设计人员深刻领会

13、管理内容特点和经验,最大限度的降低管理系统的复杂性。(7)信息废弃与信息孤岛 新系统对已有的系统的数据需要继承;信息在各个系统之间的需要共享:学校内各部门都在开发自己的系统研究生院内部各科室也有自己的系统。(学习统计查询、课程统计查询、教师任课记录等内容查询、毕业生就业情况及去向分析组件)管理信息系统是一个基于计算机的信息系统,它通过收集、处理、存储和扩散信息,来支持组织的管理、决策、合作、控制、分析活动,并使之可视化。信息量相当巨大的今天,对于一套完整、安全、可靠并且实用的系统来说,是具有重大意义的。1.3 教务处系统开发的意义现在各院校的教务处系统都存在着这样或那样的问题。每个院校的教务处

14、系统都不一样,教务处系统没有一个很明确的标准。对于一个好的教务处系统来说,首先是应当能够很实用。无论教务处系统再做得怎么好,不实用那就是不成功的。比如学校关注的是成绩和学校的各种信息,这样就要做相应的模块便于学生查询。其次,安全性高,一个学校的教务处系统是离不开数据库的。数据库中存储这大量的信息,学生的基本信息,学生的课程信息,教师的任课信息,学校的改革等信息等。无论是哪个信息,安全程度都起着重要的作用。就学生的信息来说,如果学生信息收到黑客攻击,使得学生信息被改变,这样就会使得各个岗位上的工作人员对数据库进行重新的修改、检查,导致各方面的人力物力的重大损失。还有,缺乏对教育管理信息化工作的指

15、导和管理。管理信息化工作是一项全新的事业,发展速度很快,对技术的依赖程度高。由于缺乏对该项工作的指导和管理,造成财力、物力、人力资源的浪费十分惊人。教学管理信息的信息化含量和程度不高。在教学管理的组织上,网络技术还没有得到广泛的应用。教学行政管理手段上,网络在化、智能化还远未普及,管理效率低下。由此可见,教务处系统的开发及各方面的维护是不可少的。2.系统概述本教务处系统可以说是一个综合性的学校管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统、教师信息管理系统、教师成绩录入系统、管理员管理教师与学生信息系统等多种功能,因而具有较强的实用性和先进性。2.1系统及需求分析2.

16、1.1系统需求通过调查分析,以及将各个院校的教务处系统进行统计和比较可以得到以下的功能:(1)由于操作人员的计算机知识不一定好,因此设计时需要较好的人机界面;(2)由于该系统的使用用户比较多,因此,在进行设计时需要注意权限管理,使得系统的安全性较强;使每用户的权限都是有特定的;(3)原始数据简单,支持条件查询;(4)在权限的条件下,对数据的修改,更新和删除比较简单,稳定性好;(5)数据的保存方便,可以进行数据的查看,使用方便;(6)学生选课系统比较方便,可以随时进行课程的选择和推选;对于一个教务处系统来说,无非是教师、学生和管理员这几个角色。教师,对学生成绩的录入,个人信息的查看和修改;学生,

17、学生应该可以选修课程,成绩的查询,个人等级考试的查询,教师评价;管理员,对教师信息的维护,对学生信息的维护,对学生成绩的修改。学生和老师都应该没有修改成绩的权限。因此,对权限以及数据的安全的要求比较高。教务管理系统主要是针对学校教学管理方面而设计的。学校教务处因为工作需要,必须对学生的信息,教师的信息,课程信息有一定的了解,并以此为基础来安排课程. 学期结束后,还要记录学生的分数,以此作为下个学期的教学安排依据根据上述的初始条件和对本学校的调研考察,设计一个教务管理的数据库:记录教师和学生的基本信息,选课,课程安排等信息,方便老师,同学等用户对数据库的查询,修改等操作。尽量使数据库高效,存储简

18、单.2.1.2可行性分析由于本系统的对象有学生、教师和管理员三个,数据之间的关联性比较强,但是涉及的计算过程并不复杂。因此比较适合于采用数据库管理。在存储量、速度方面都能满足数据库运行的要求,无论是哪种数据库,如mysql、sql server、oracle还是其他数据库都能够满足要求。在技术方面,根据自身的能力、老师的指导以及阅览相关的资料,可以很好地实现本系统的每个功能。本系统的设计是在windows xp中文版操作系统环境下,使用visual studio2010旗舰版开发成功的。数据库是mis中的重要支持技术,在mis开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多

19、,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库为mysql数据库。对以上的工具介绍如下:c#语言和asp.netc#是一种安全的、稳定的、简单的、优雅的,由c和c+衍生出来的面向对象的编程语言。它在继承c和c+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。c#综合了vb简单的可视化操作和c+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.net开发的首选语言。并且c#成为ecma与iso标准规范。c#看似基于c+写成,但又融入其它语言如pascal、j

20、ava、vb等。c#是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.net的应用而开发的语言。它吸收了c+、visual basic、delphi、java等语言的优点,体现了当今最新的程序设计技术的功能和精华。c#继承了c语言的语法风格,同时又继承了c+的面向对象特性。不同的是,c#的对象模型已经面向internet进行了重新设计,使用的是.net框架的类库;c#不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;c#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。.net框架为c#提供了一个强大的、易用的、逻

21、辑结构一致的程序设计环境。同时,公共语言运行时(common language runtime)为c#程序语言提供了一个托管的运行时环境,使程序比以往更加稳定、安全。c#是专门为.net应用而开发出的语言。这从根本上保证了c#与.net框架的完美结合。在.net运行库的支持下,.net框架的各种优点在c#中表现得淋漓尽致。其特点有:(1) 简洁的语法 在缺省的情况下,c#的代码在.net框架提供的“可操纵”环境下运行,不允许直接地内存操作。它所带来的最大的特色是没有了指针。与此相关的是,那些在c+中被疯狂使用的操作符(例如:“:”、“-”和“.,”)已经不再出现。c#只支持一个“.”,对于我们

22、来说,现在需要理解的一切仅仅是名字的嵌套而已。c#用真正的关键字换掉了那些把活动模板库(active template library,alt)和com搞得乱糟糟的伪关键字,如ole_color、bool、variant_bool、dispid_xxxxx等等。每种c#操作符在.net类库中都有了新名字。语法中的冗余是c+中的常见的问题,比如const和#define、各种各样的字符类型等等。c#对此进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除了出去。(2)精心地面向对象设计也许你会说,从smalltalk开始,面向对象的话题就始终缠绕着任何一种现代程序设计语言。的确,

23、c#具有面向对象的语言所应有的一切特性:封装、继承与多态性,这并不出奇。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,c#建造广泛组件的绝对选择。在c#的类型系统中,每种类型都可以看作一个对象。c#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦。c#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。在后面的学习中你很快会发现,c#中没有了全局函数,没有了全局变量,也没有了全局常数。一切的一切,都必须封装在一个类之中。你的代码将具有更好的可读性,并且减少了发生命名冲突的可能。整个c#的类模型是建立在.net虚拟对象

24、系统(visual object system,vos)的基础之上,其对象模型是.net基础架构的一部分,而不再是其本身的组成部分。在下面将会谈到,这样做的另一个好处是兼容性。借助于从vb中得来的丰富的rad经验,c#具备了良好的开发环境。结合自身强大的面向对象功能,c#使得开发人员的生产效率得到极大的提高。对于公司而言,软件开发周期的缩短将能使它们更好应付网络经济的竞争。在功能与效率的杠杆上人们终于找到了支点。(3)与web的紧密结合.net中新的应用程序开发模型意味着越来越多的解决方案需要与web标准相统一,例如超文本标记语言(hypertext markup language,html)

25、和xml。由于历史的原因,现存的一些开发工具不能与web紧密地结合。soap的使用使得c#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。由于有了web服务框架的帮助,对程序员来说,网络服务看起来就象是c#的本地对象。程序员们能够利用他们已有的面向对象的知识与技巧开发web服务。仅需要使用简单的c#语言结构,c#组件将能够方便地为web服务,并允许它们通过internet被运行在任何操作系统上的任何语言所调用。举个例子,xml已经成为网络中数据结构传递的标准,为了提高效率,c#允许直接将xml数据映射成为结构。这样就可以有效的处理各种数据。(4)完整的安全性与错误处理语言的安全性与错误处

26、理能力,是衡量一种语言是否优秀的重要依据。任何人都会犯错误,即使是最熟练的程序员也不例外:忘记变量的初始化,对不属于自己管理范围的内存空间进行修改。这些错误常常产生难以预见的后果。一旦这样的软件被投入使用,寻找与改正这些简单错误的代价将会是让人无法承受的。c#的先进设计思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内的完整的安全性能。为了减少开发中的错误,c#会帮助开发者通过更少的代码完成相同的功能,这不但减轻了编程人员的工作量,同时更有效地避免了错误的发生。.net运行库提供了代码访问安全特性,它允许管理员和用户根据代码的id来配置安全等级。在缺省情况下,从internet和i

27、ntranet下载的代码都不允许访问任何本地文件和资源。比方说,一个在网络上的共享目录中运行的程序,如果它要访问本地的一些资源,那么异常将被触发,它将会无情地被异常扔出去,若拷贝到本地硬盘上运行则一切正常。内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担。.net平台提供的垃圾收集器(garbage collection,gc)将负责资源的释放与对象撤销时的内存清理工作。变量是类型安全的。c#中不能使用未初始化的变量,对象的成员变量由编译器负责将其置为零,当局部变量未经初始化而被使用时,编译器将做出提醒;c#不支持不安全的指向,不能将整数指向引用类型,例如对象,当进行下行指向时,c#将自

28、动验证指向的有效性;c#中提供了边界检查与溢出检查功能。(5)版本处理技术c#提供内置的版本支持来减少开发费用,使用c#将会使开发人员更加轻易地开发和维护各种商业用户。升级软件系统中的组件(模块)是一件容易产生错误的工作。在代码修改过程中可能对现存的软件产生影响,很有可能导致程序的崩溃。为了帮助开发人员处理这些问题,c#在语言中内置了版本控制功能。例如:函数重载必须被显式声明,而不会象在c+或java中经常发生的那样不经意地被进行,这可以防止代码级错误和保留版本化的特性。另一个相关的特性是接口和接口继承的支持。这些特性可以保证复杂的软件可以被方便地开发和升级。(6)灵活性和兼容性在简化语法的同

29、时,c#并没有失去灵活性。尽管它不是一种无限制语言,比如:它不能用来开发硬件驱动程序,在默认的状态下没有指针等等,但是,在学习过程中你将发现,它仍然是那样的灵巧。如果需要,c#允许你将某些类或者类的某些方法声明为非安全的。这样一来,你将能够使用指针、结构和静态数组,并且调用这些非安全代码不会带来任何其它的问题。此外,它还提供了一个另外的东西(这样的称呼多少有些不敬)来模拟指针的功能-delegates,代表。再举一个例子:c#不支持类的多继承,但是通过对接口的继承,你将获得这一功能。正是由于其灵活性,c#允许与c风格的需要传递指针型参数的api进行交互操作,dll的任何入口点都可以在程序中进行

30、访问。c#遵守.net公用语言规范(common language specification,cls),从而保证了c#组件与其它语言组件间的互操作性。元数据(metadata)概念的引入既保证了兼容性,又实现了类型安全。因为asp.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到asp.net的web应用中。asp.net同时也是language-independent(语言独立化)的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,

31、现在已经支持的有c#(c+和java的结合体),vb,jscript , c+、f+。将来,这样的多种程序语言协同工作的能力保护您现在的基于com+开发的程序,能够完整的移植向asp.net。当装载(hosting) asp.net 的 web 服务器接收到 http 要求时,http 聆听程序 (http listener) 会将要求转交给 url 指定的网站应用程序的工作流程 (worker process),asp.net 的工作流程处理器 (aspnet_isapi.dll,若是 iis 5.0 时则是 aspnet_wp.exe) 会解析 url,并激活位于 system.web.h

32、osting 命名空间中的 isapiruntime(视版本)对象,接收 http 要求,并调用 httpruntime,运行 httpruntime.processrequest(),在 processrequest() 中使用 httpapplicationfactory 建立新的 httpapplication (或是指定的 ihttphandler 处理器),再分派给 page 中的 processrequest() 或是 ihttphandler 的 processrequest() 方法,运行之后,再传回到 isapiruntime,以及 aspnet_isapi.dll,最后交由

33、 http listener 回传给用户端,因为运行程序有如管线般顺畅的运行,因此称为 http pipeline mode。 在 asp.net 内部的 http 处理器有: isapiruntime:由aspnet_isapi.dll 调用,初始化 httpworkerrequest 对象(会由iis的版本决定要初始化的版本)。 httpruntime:提供要求队列 (request queue)、调用 httpworkerrequest 中的 processrequest() 方法,以及后续的处理工作。 httpworkerrequest:产生 httpapplication、httpr

34、equest、httpresponse 等基础对象的 http 要求对象,并将要求转送到要处理的对象(并调用它的 processrequest() 方法)。 ihttphandler 与 ihttpasynchandler:负责处理 http 要求的单元,由 processrequest() 来分派与运行要求。 asp.net网页中的事件程序 当 httpworkerrequest 调用 asp.net 网页(system.web.ui 命名空间的 page 类) 的 page.processrequest() 方法时,它会依序的引发 page 内的各个事件,并同时调用在 page 中所有控件

35、的相关事件,其引发顺序为: preinit 事件:运行预先初始化的工作,在asp.net 2.0中,若要动态调整主版页面 (master page)、布景主题 (theme) 时,要在这个事件中调整。 init 事件:运行初始化工作。 initcompleted 事件:在完成初始化工作后引发。 preload 事件:运行预先加载的工作。 load 事件:运行加载的工作,大多数的网页都拥有page_load 事件处理程序,用户控件 (user control) 中也有 page_load 事件例程,都会在此时调用。 控件的 postback 变更通知:当网页侦测到是 postback 要求时,会

36、引发 postback 消息通知的事件。 控件的 postback 相关事件:当网页侦测到是 postback 要求时,会引发 postback 消息指定的控件的事件。 loadcompleted 事件:运行加载完成后的工作。 prerender 事件:处理在产生 html 结果前的工作。 savestatecompleted 事件:处理页面状态 (viewstate 与 controlstate) 储存完成后的事件。 render 事件:处理产生 html 的工作。 unload 事件:处理退出网页处理时的工作。 如果 httpworkerrequest 调用的是实现 ihttphandle

37、r 界面的 http 处理程序时,它只会调用 ihttphandler.processrequest() 方法,由它来处理程序的输出,不像 page.processrequest() 会处理事件顺序,因此 http handler 很适合轻量级的数据处理,像是输出文件数据流或是图片数据流等。asp.net 的事件模型是由以及数个 hidden field 组合而成,基于 http 模型的限制,所有的网页程序在运行结果输出到用户端后,程序就会退出运行,为了维护在 asp.net 网页与控件的状态数据,因此在输出 asp.net 控件时,asp.net 会将部份状态数据储存到网页的 hidden

38、field 中,这类型的状态数据称为 viewstate(id 为 _viewstate),在服务器端即会被解译出状态与事件数据。在大多数的内置 web 控件中都有使用到这个机制,因此在使用大量 asp.net web 控件的网页中,会有许多的 viewstate 会存放在网页中并随着 http 数据流输出到用户端,viewstate 在输出时,会被加密为一组乱码字符串,其金钥值定义在计算机中,并且每一个对象都会被序列化 (serialize) 成字符串(因此若是自定义对象要放到 viewstate 时,则应要让它支持序列化),再输出到 _viewstate 字段中,在每次的网页来回时都会被传

39、输,较大的 viewstate 会让网页大小膨胀,不利于快速的网络传输,不过 asp.net 本身有提供将 viewstate 关闭的功能,因此如果控件不需要状态保存时,可将它关闭以减少输出的大小。 为确保控件的事件能够确实被引发,让事件驱动能够被运行,因此控件事件引发命令时需要的参数,是交由 javascript 脚本在用户端引发时,填入另一个 hidden field(id 为 _eventtarget 以及 _eventargument),并且引发窗体的送出指示 (submit),传送到服务端后,服务端的 httpapplication 中的工具函数会解析 _eventtarget 和

40、_eventargument 字段中的信息,并且交由控件所实现的 raisepostbackevent() 来引发事件,并由 .net framework 内部的事件处理器制接手处理(调用控件设置的事件处理程序)。在 asp.net 运行的时候,经常会有网页的来回动作 (round-trip),在 asp.net 中称为 postback,在传统的 asp 技术上,判断网页的来回是需要由开发人员自行撰写,到了 asp.net 时,开发人员可以用 page.ispostback 机能来判断是否为第一次运行 (当 asp.net 发现 http post 要求的数据是空值时),它可以保证 asp.

41、net 的控件事件只会运行一次,但是它有个缺点(基于 http post 本身的缺陷),就是若用户使用浏览器的刷新功能 (按 f5 或刷新的按钮) 刷新网页时,最后一次运行的事件会再被运行一次,若要避免这个状况,必须要强迫浏览器清空高速缓存才可以。状态管理 (state management) 在web应用程序中,一向是很重要的课题,良好的状态管理可以帮助开发人员发展出具有状态持续能力的应用程序(像是工作流程型应用程序或是电子商务应用程序),但状态管理功能会视应用程序的部署状态以及信息的共用程度来选择,在 asp.net 中,分为服务器端状态管理以及用户端状态管理,用户端状态管理为viewst

42、ate以及cookies,服务端状态管理则是session与application对象。它们的差异点在于: viewstate 是加密的数据流,和 html 一起输出到用户端。 cookies 是加密(也可不加密)的小型数据,和 html 不同,它可以高速缓存在用户端浏览器中。 session 是服务器端的状态保存机制,每个用户端均有独立的空间(以浏览器运行个体来赋与唯一的sessionid值)。 application 是服务器端的状态保存机制,但应用程序所有的用户端共用同一份状态数据。application 对象会在应用程序的 application_onstart 事件中初始化,并使用名

43、称来识别数据(它是一个 nameobjectcollectionbase 集合的实现品),它会储存在应用程序的范围内,所有的连接(用户)都可以使用,属于共用型的储存体,适合储存所有用户都可使用的数据,在多人使用的情况下,可以适当的使用 lock/unlock 的机制来确保应用程序状态的更新。 application.lock();applicationpagerequestcount= (int)applicationpagerequestcount)+1;application.unlock();连接层级的对象是 session,以浏览器的运行个体为识别单位,数据依浏览器的运行个体来储存,在

44、浏览器的运行个体第一次连到应用程序时,asp.net会设置一个 session id,并且使用它来识别 session,每一个 session 都是 icollection 与 ienumerate 的实现,用 key 来识别数据值,并且具有时间的限制 (timeout),若超出时限时服务器会自动清理掉,默认的 session 时限为 20 分钟。session id 的算法是由 rngcryptoserviceprovider (密码编译乱数产生器提供者)产生,并编码成一个 session id 字符串(例如 anf4vuup3xiq0arjlqla2l55 这样的字符串)储存在服务器中,用

45、以识别不同的 session 个体。 为因应不同的用户端,asp.net 设计了不同的 session id 存放机制,像是旧式的浏览器或是行动用户端这种不支持本地储存cookie的设备时,asp.net 可以直接在 url 中加上 session id 的识别,像是 .tw/(anf4vuup3xiq0arjlqla2l55)/profile.aspx 这样的 url,可以由开发人员自行设置,或是使用 autodetect 设置来让 asp.net 自行判断要使用的 session id 存放方式。asp.net 是开发 web 应用程序的基础架构 (framework),除了它内部的运作方

46、法外,对外也显露了许多的开发支持,让开发人员可以利用它来发展出许多强大的 web 应用程序解决方案。asp.net 最基础的底层为网页 (page),网页由 system.web.ui.page 类来提供基础支持,包含了页面的事件以及对象绘制的引发点(page 类本身是一个 http handler 的实现品)。asp.net 网页在微软的官方名称中,称为 web form,除了是要和windows forms作分别以外,同时也明白的刻划出了它的主要功能:“让开发人员能够像开发 windows forms 一样的方法来发展 web 网页”。因此 asp.net page 所要提供的功能就需要类

47、似 windows forms 的窗体,每个 web form 都要有一个区块,所有的 asp.net 服务器控件都要放在这个区域中,这样才可以让 viewstate 等服务器控制能够顺畅的运作。 使用代码后置模式的设置时,可以让 asp.net 运行引擎在加载网页时,由代码后置参数取得对应的类信息,藉以使用 reflection 的方式来运行后置的代码。 asp.net 可以支持html和xhtml两种网页内容,但在visual studio.net中,默认是使用 html,但在visual studio 2005以后的版本,则一律都改用xhtml格式。mysql数据库mysql是最受欢迎的

48、开源sql数据库管理系统,它由mysql ab开发、发布和支持。mysql ab是一家基于mysql开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。mysql是mysql ab的注册商标。mysql是一个快速的、多线程、多用户和健壮的sql数据库服务器。mysql服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。mysql网站提供了关于mysql和mysql ab的最新的消息。1 它使用的核心线程是完全多线程,支持多处理器。2 有多种列类型:1、2、3、4、和8字节长度自有符号无符号整数、f

49、loat、double、char、varchar、text、blob、date、time、datetime、 timestamp、year、和enum类型。3 它通过一个高度优化的类库实现sql函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。4 全面支持sql的group by和order by子句,支持聚合函数(count()、count(distinct)、avg()、std()、sum()、max()和min()。你可以在同一查询中混来自不同数据库的表。5 支持ansi sql的left 0uter join和odbc。6 所有列都有缺省值。你可以用i

50、nsert插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。7 mysql可以工作在不同的平台上。支持c、c、java、perl、php、python和tcl api。3系统分析3.1.系统功能模块设计本系统主要实现教务处系统的一些基本功能,主要有:用户登录功能和管理员登录功能、学生选课功能、学生成绩查询功能、等级考试查询、教师评价、教师登录成绩功能、个人信息修改功能、管理员维护教师信息、管理员维护学生信息、学生的成绩的修改等。教务处系统主要有四个大的模块,系统管理模块,学生的模块,教师的模块,管理员的模块。3.1.1 学生信息模块该模块的主要任务是维护系统的正常运行和安全性设置,

51、包括用户名输入(属于学生的学号和教师的编号)、密码的输入、角色的选择(老师或学生登录)等等。对用户管理的业务流程图如下:学生保存信息到学生表或教 师 表添加学生或老师的信 息管理员数据保存 老师 3.1.2 学生信息操作模块顾名思义,该模块的主要内容应该与学生有关,学生进入系统以后,可以对成绩的查询,选修课程,对教师评价,等级考试查询,以及个人信息的修改。学生信息操作模块业务流程图如下:条件查询全部查询专业课公选课个人信息等级考试查询教师评价选课功能查询成绩学生登录3.1.3 教师信息操作模块 在此模块中,主要实现老师对学生的成绩的添加,在添加时,应该把学生学号输入,课程名称输入,将数据保存到

52、成绩表单中。教师个人信息的修改及保存。其业务流程图如下:教师课表个人信息成绩登录教师登录3.1.4 管理员数据管理模块 一个教务处系统,肯定是需要管理员的。管理员管理这学生老师的信息和学生的信息。比如老师登记了学生的成绩以后是不可以给修改学生的成绩的,学生的部分信息,如学生所属的学院等等都是不能通过老师和学生来修改的,只可以通过管理员来进行修改。其业务流程如下:学生成绩修改学生信息录入教师信息录入管理员登录3.2数据存储分析:实体联系图数据模型设计。首先来做出学生选课系统的e-r图,分析这个问题的实体,从系统分析可以知道,学生的选课是由任课教师开课给出的,学生、课程、教师组成了这个系统的三个实

53、体。再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要选择多门课程,一门课程有多位学生共同选择。无论是选修课还是必修课都是一样的e-r图。这个e-r图可画成下图。 n m 课 程 学 生选 择教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。其e-r图,如下所示。 教师与课程的e-r图组合到一起,得到最后的e-r图,有了e-r图,就可以设计数据

54、库。下图为数据模型图。3.3 功能分析:功能层次图对于整体的设计来说,整个系统主要有登录界面,登录的角色有教师,学生和管理员等。然后各个角色执行各自的权限,对数据进行操作。整体的结构设计图如下:4.系统设计4.1软件结构模块设计4.1.1 系统方案确定通过对系统的调研与分析,系统主要应完成的功能有:学生选课(包括专业课和选修课的选择)、学生成绩查询(包括整体查询和条件查询)、等级考试查询、个人信息修改、教师登录学生成绩、教师信息修改、管理员添加教师和学生信息、管理员修改学生成绩等功能。4.1.2软件结构设计本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它

55、的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。接收数据数据保存管理员操作数据教师操作数据学生操作数据 处理中4.1.3数据库设计mysql是最受欢迎的开源sql数据库管理系统,它由mysql ab开发、发布和支持。mysql ab是一家基于mysql开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。mysql是mysql ab的注册商标。mysql是一个快速的、多线程、多用户和健壮的sql数据库服务器。mysql服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。本系统中所涉及到的主要实体共有十一个数据表:admin_login表:admin_id,admin_name,pwdgrade表:gd_id,cs_id,stu_id,gd_name,gd_score,gd_test,gd_xuenian,gd_xueqilevel_test表:lt_id,lt_name,lt_score,stu_id,lt_stuna

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论