基于.NET的教务管理系统_第1页
基于.NET的教务管理系统_第2页
基于.NET的教务管理系统_第3页
基于.NET的教务管理系统_第4页
基于.NET的教务管理系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、学生版摘要:随着计算机的普及,网络的广泛的应用,很多用人单位都使用网络系统来对人员、公司的数据进行管理。教务管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据完全性好的库。而对于后者那么要求程序功能完备,易使用等特点。教务管理的易操作性,使得在大学和中学、小学广泛使用。本系统的开发环境是vs2005,使用面向对象的C#语言开发。该论文是基于ASP.NET的教务管理系统学生版,因此,本文主要介绍了开发环境和其模块化的设计,以及其开发的特点,介绍了教务管理学生版的各个模块功能和代码,数据库需求与开发,重点说

2、明了开发思想和难点的实现。关键字:数据库,SQL2000,ASP.NET ,C#,教务管理 Educational Management System Based on AstudentAbstract: With the growing population of the computer and network application, enterprises data and staff are administrated through network. Administrative Management System is a typical information manageme

3、nt system including post-stage date base establishment and maintenance and application. For the former, data coherency and integrity are required. For the latter one, data functions integrity and use convenience are required. The applicable administrative management system which is stable enables wi

4、de application in universities, middle schools and primary schools.This system, based on VS2005 with C# language as the Object Oriented, and this thesis bases on ASP.NET administrative management system (students version). Therefore, it mainly introduces development environment and other modularizat

5、ion designs as well as its features. As well, it gives an introduction to each modules function and code, data base demand and development, emphasizing development ideas and solutions of difficult issues.Key word:SQL2000,ASP.NET , C#, educational administration manage ,Database目录 TOC o 1-2 h z HYPER

6、LINK l _Toc199770587 1 概述 PAGEREF _Toc199770587 h 1 HYPERLINK l _Toc199770588 选题的背景与意义 PAGEREF _Toc199770588 h 1 HYPERLINK l _Toc199770589 开发工具的选用与比拟 PAGEREF _Toc199770589 h 2 HYPERLINK l _Toc199770590 本章小结 PAGEREF _Toc199770590 h 2 HYPERLINK l _Toc199770591 简介 PAGEREF _Toc199770591 h 3 HYPERLINK l

7、_Toc199770592 .NET与ASP的区别以及窥探 PAGEREF _Toc199770592 h 3 HYPERLINK l _Toc199770593 基于B/S模式的三层架构开发 PAGEREF _Toc199770593 h 6 HYPERLINK l _Toc199770594 2.3C#语言探讨 PAGEREF _Toc199770594 h 6 HYPERLINK l _Toc199770595 本章小结 PAGEREF _Toc199770595 h 8 HYPERLINK l _Toc199770596 3 需求分析 PAGEREF _Toc199770596 h 9

8、 HYPERLINK l _Toc199770597 工程需求 PAGEREF _Toc199770597 h 9 HYPERLINK l _Toc199770598 性能需求 PAGEREF _Toc199770598 h 9 HYPERLINK l _Toc199770599 本章小结 PAGEREF _Toc199770599 h 11 HYPERLINK l _Toc199770600 4 系统分析 PAGEREF _Toc199770600 h 12 HYPERLINK l _Toc199770601 系统流程分析 PAGEREF _Toc199770601 h 12 HYPERLI

9、NK l _Toc199770602 数据库流程分析 PAGEREF _Toc199770602 h 13 HYPERLINK l _Toc199770603 数据库实体分析 PAGEREF _Toc199770603 h 14 HYPERLINK l _Toc199770604 本章小结 PAGEREF _Toc199770604 h 15 HYPERLINK l _Toc199770605 5 数据库设计 PAGEREF _Toc199770605 h 16 HYPERLINK l _Toc199770606 创立数据库 PAGEREF _Toc199770606 h 16 HYPERLI

10、NK l _Toc199770607 创立表 PAGEREF _Toc199770607 h 17 HYPERLINK l _Toc199770608 本章小结 PAGEREF _Toc199770608 h 21 HYPERLINK l _Toc199770609 6系统设计 PAGEREF _Toc199770609 h 22 HYPERLINK l _Toc199770610 类的创立 PAGEREF _Toc199770610 h 22 HYPERLINK l _Toc199770611 界面设计 PAGEREF _Toc199770611 h 24 HYPERLINK l _Toc1

11、99770612 本章小结 PAGEREF _Toc199770612 h 30 HYPERLINK l _Toc199770613 7 总结 PAGEREF _Toc199770613 h 32 HYPERLINK l _Toc199770615 谢 辞 PAGEREF _Toc199770615 h 341 概述背景:已了解的本课题国内外研究现状近年来,随着企业信息化的开展,学校中的电子文档也变得越来越多,各种影、音、图像等多媒体信息文档也大量出现。21世纪以来,人类经济高速开展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应

12、现在社会的开展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的开展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。此时,微软推出了ASP.NET,它不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB效劳器建立强大的应用程序。是微软开展的新体系结构.NET的一局部,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大大简化了编程。利用面向对象的编程语言,提高代码的可重用性;编译运行的编程框架,大大提高程序运行速率。 在.NET 开发平台下,所有语言C#、VB.NET 、J# 、C+都会被编译为MSIL(微软

13、中间语言即Microsoft Intermediate Language)1,再由CLR负责运行,增强了程序的可移植性。中外学者普遍认为,信息是企业开展的一个非常重要的资源,信息作为资源,除了一般的可利用、有价值等特性外,还具备共享性、历史积累性、时效性和屡次再生性的特性。随着 Internet 的开展,建立面向不同用户的教务管理系统是非常必要的。建立教务管理系统的目的就是要实现对文档的集中存储和管理,从而可以很好地保证文档的存储平安,提高文档的平安访问级别,很好地实现文档的分发、查询、共享,提高学校的文档管理和使用效率。从知识管理的角度,建立信息管理系统,使人与知识资源有机结合,它将人、知识

14、与现实工作任务整合起来,必将为学校管理带来实效。意义:现代化学校应该有个现代化的管理系统去管理学校内的各项事物,学校是一个数据量比拟大的单位,如何去管理及查询学校内的数据就成为了一项及为重要,而且需要迫切解决的问题,所以开发出一个教务管理系统就是现在及为重要的事情,从而教务管理系统的重要性就不言而喻了。此系统的设计联系到多个方面系统设计的工具比拟与选用:NET2.0有四个特点:1、基于XML文件的共同语言 2、定制效劳软件 3、融合多平台设备以及新一代的人机交互页面2。与VS2003比拟,VS2005有以下几个优点:大多数WEB常用控件开箱即可使用,在建立站点和维护网站比以前更加方便,代码量比

15、以前更少,vs2005是基于文件管理的,而vs2003是基于解决方案管理的,vs2005比 vs2003管理起来更为方便。因此选用vs2005数据库设计的工具比拟与选用:Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据到达100M左右,很容易造成效劳器iis假死,或者消耗掉效劳器的内存导致效劳器崩溃。SQL Server是基于效劳器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩

16、展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者根本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制7。因此,对数据库的设计使用SQLSERVER。本章简单介绍了vs2005与vs2003的区别,说明了vs2005 的优势在于站点的维护更为方便,代码更为精简,以及ACCESS 与SQLSERVER的区别,SQLSERVER在处理海量数据效率高,后台开发灵活度大,可扩展性强,有利于以后对数据大量增加进行管理。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/J

17、S这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 1)码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能到达的管理能力,从而造成出错或这样那样的问题。 2)代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。3)弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 以上是语言本

18、身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 那么,ASP.Net有哪些改良呢? ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C+ , VB , JS等等,当然,最适宜的编程语言还是MS为.Net Framework 专门推出的C(读c sharp),它可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言3,而不是一

19、种脚本,所以它具有面向对象编程语言的一切特性,比方封装性、继承性、多态性等等,这就解决了刚刚谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面别离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C+、Java一样提供了完善的调试/纠错体系。ASPActive Server Pages是Microsoft公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微

20、软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占效劳器的应用程序。运用ASP可将VBScript、JavaScript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在效劳器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在效劳器上而不是客户端运行,ASP所使用的脚本语言都在效劳端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与效劳器之间的交互的速度。此外,它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一

21、台WEB效劳器建立强大的应用程序。是微软开展的新体系结构.NET的一局部,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络效劳。 ASP与ASP.NET的区别:开发语言不同:ASP仅局限于使用non-type脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。 ASP.NET允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜力巨大的.NET Framework。 运行机制不同:ASP是解释运行的编程框架,所以执行效率加较低。 ASP.NET是编译性的编程

22、框架,运行是效劳器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。 开发方式:ASP把界面设计和程序设计混在一起,维护和重用困难。ASP.NET把界面设计和程序设计以不同的文件别离开,复用性和维护性得到了提高。增强的性能:ASP.NET是在效劳器上运行的编译好的公共语言运行库代码。与被解释的前辈不同,ASP.NET 可利用早期绑定、实时编译、本机优化和盒外缓存效劳。这相当于在编写代码行之前便显著提高了性能。 世界级的工具支持:ASP.NET 框架补充了 Visual Studio 集成开发环境中的大量工具箱和设计器。WYSIWYG 编辑、拖放效劳器控件和自动部署只是这个

23、强大的工具所提供功能中的少数几种。威力和灵活性:由于 ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员可以利用整个平台的威力和灵活性。.NET 框架类库、消息处理和数据访问解决方案都可从 Web 无缝访问。ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到 ASP.NET 时保存基于 COM 的开发中的现有投资。简易性:ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。例如,ASP.NET 页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类

24、似 Visual Basic 的简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码效劳如自动引用计数和垃圾回收简化了开发。可管理性:ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于效劳器环境和 Web 应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此零本地管理哲学也扩展到了 ASP.NET 框架应用程序的部署。只需将必要的文件复制到效劳器,即可将 ASP.NET 框架应用程序部署到效劳器。不需要重新启动效劳器,即使是在部署或替换运行的编译代码时。可缩放性和可用性:ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集

25、环境和多处理器环境中提高性能的功能。另外,进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常泄漏、死锁时,可就地创立新进程,以帮助保持应用程序始终可用于处理请求。自定义性和扩展性:ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别插入代码。实际上,可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。实现自定义身份验证或状态效劳一直没有变得更容易。B/SBrowser/Server结构即浏览器和效劳器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改良的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少

26、局部事务逻辑在前端Browser实现,但是主要事务逻辑在效劳器端Server实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的本钱和工作量,降低了用户的总体本钱TCO。三层架构为:表现层:位于最外层最上层,离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。 中间业务层:负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问层中的函数再次读出这些数据。中间业务层也可以包括一些对“商业逻辑描述代码在里面。数据访问层:仅实现对数据的保存和读取操作。数据访问,可以访问数据库系统、二进制文件、文本文档或是X

27、ML文档。ASP.NET是在网页中使用基于事件的处理,可以指定处理的后台代码文件,可以使用C#, VB,J#作为后台代码的语言。.NET中可以方便的实现组件的装配,后台代码通过命名控件可以方便的使用自己定义的组件。显示层放在 ASP页面中,数据库操作和逻辑层用组件来实现,这样就很方便的实现了b/s模式三层架构。2.3C#语言探讨Visual C#读作“C sharp是 Visual Studio .NET 中引入的一种新的编程语言。C# 从 C 和 C+ 演变而来,是一种简单、现代、类型平安和面向对象的语言。设计 C# 是为了建立运行于 .NET 平台上的、范围广泛的企业级应用程序。用 Vis

28、ual C# 编写的代码被编译为托管代码,这意味着它将受益于公共语言运行库的效劳。这些效劳包括:语言互操作性、垃圾回收、增强的平安性以及改良的版本支持。在Visual Studio .NET中有很多不同的开发语言,JAVA,JSP,VB等等,正如以上所说的,C#从头到尾完全被构造,使编程和维护变得更容易,它根本上具备了VB的所有优点,并且把他添加到C/C+,但又去掉了C+中深奥的而且很少用到的高级功能,使得代码更加稳定,更加平安。在Visual Studio .NET的开发中,C#为首选语言。C#最引人入胜的地方是它和Java的不同,而不是相似的地方。这一节(和这个系列第二局部的大局部地方)讲

29、述了C#实现的和Java不同的地方或者Java根本没有的特点。中间代码:微软在用户选择何时MSIL应该编译成机器码的时候是留了很大的余地。而这种实现方式决定了基于MSIL的程序(指的是用C#,Visual Basic, Managed C+-C+的一个符合CLS的版本-等语言编写的程序)将在性能上超过解释性的Java代码。当然,这一点还需要得到事实证明,因为C#和其他生成MSIL的编译器还没有发布。但是Java JIT编译器的普遍存在使得Java和C#在性能上相对相同。象C#是编译语言而Java是解释性的,之类的声明只是商业技巧。Java的中间代码和MSIL都是中间的汇编形式的语言,它们在运行

30、时或其它的时候被编译成机器代码。命名空间中的申明:当你创立一个程序的时候,你在一个命名空间里创立了一个或多个类。同在这个命名空间里(在类的外面)你还有可能声明界面,枚举类型和结构体。必须使用using关键字来引用其他命名空间的内容。根本的数据类型:C#拥有比C,C+或者Java更广泛的数据类型.这些类型是bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double,和decimal。象Java一样,所有这些类型都有一个固定的大小。又象C和C+一样,每个数据类型都有有符号和无符号两种类型5。与Java相同的是,一个

31、字符变量包含的是一个16位的Unicode字符。C#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字。两个根本类:一个名叫object的类是所有其他类的基类。而一个名叫string的类也象object一样是这个语言的一局部。作为语言的一局部存在意味着编译器有可能使用它-无论何时你在程序中写入一句带引号的字符串,编译器会创立一个string对象来保存它。参数传递:方法可以被声明接受可变数目的参数。缺省的参数传递方法是对根本数据类型进行值传递。ref关键字可以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值。out关键字也能声明引用传递过程,与ref不同

32、的地方是,它指明这个参数并不需要初始值。与COM的集成:C#对Windows程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的Win32组件技术。C#编写的类可以子类化一个以存在的COM组件;生成的类也能被作为一个COM组件使用,然后又能使用,比方说,JScript语言子类化它从而得到第三个COM组件。索引下标:一个索引与属性除了不使用属性名来引用类成员而是用一个方括号中的数字来匿名引用(就象用数组下标一样)以外是相似的.代理和反应:一个代理对象包括了访问一个特定对象的特定方法所需的信息。只要把它当成一个聪明的方法指针就行了。代理对象可以被移动到另一个地方,然后可以通过访问它来对已

33、存在的方法进行类型平安的调用。一个反应方法是代理的特例。event关键字用在将在事件发生的时候被当成代理调用的方法声明中。本章介绍了ASP.NET的一些特点,说明了在当今WEB开发中有着非常重要的地位,介绍了B/S模型,与三层架构,与ASP.NET在实现B/S模型三层架构上的优势,最后介绍了ASP.NET首选语言C#。3 需求分析1公告通知 查看教务管理处发布的消息2成绩查询 有选择性的查询成绩,并且显示所得学分3课表查询 查询某个学期的课表,并且显示该课程的详细信息。4选课 选择或者取消所选课程。5留言版 给某个人留下短讯息。6) 修改密码7返回主页8收藏本页 为了保证系统能够长期、平安、稳

34、定、可靠、高效的运行,教务管理系统应该满足以下的性能需求:1系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。由于管理系统的数据录入功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而数据的采集录入又影响企业的决策活动,其准确性很大程度上决定了查询与决策的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。2系统的开放性和系统的可扩充性教务管理系统在开发过程中,应该充分考虑以后的可扩充性。例如用户查询的需求也会不断的更新和完善。所有这

35、些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的标准,可以简单的参加和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3系统的易用性和易维护性教务管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。教务管理系统中涉及到的数据是相当重要的信息,系统要提供方便的手段供系统维护

36、人员进行数据的备份,日常的平安管理,系统意外崩溃时数据的恢复等工作。4系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。如标准的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量标准等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程标准,保证代码的易读性、可操作性和可移植性。5系统的先进性目前计算系统的技术开展相当快,做为教务管理系统工程,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。

37、这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑本钱的根底上尽量采用当前主流并先进且有良好开展前途的产品。6系统的响应速度教务管理系统系统在日常处理中的响应速度为秒级,到达实时要求,以及时反应信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级, 原那么是保证操作人员不会因为速度问题而影响工作效率。本章主要讲述了性能需求与工程需求,在工程需求中主要使要对人员的管理,资源的充分利用,制定工作方案,降低本钱,降低风险。在系统需求中最重要的是要使系统具有可扩展性,平安性,界面人性化。4 系统分析系统总体设计如下列图1 图1 页面关系示意

38、图 登陆界面此页面为验证用户登陆,如果没有登陆将不能访问以后的界面。系统主界面此页面为保证其他模式页面的样板一样,保持统一界面。3公告通知显示系统消息。4课表查询查询某个学生的所有课程。5学生选课查询所选课程,选学某个课程。6留言版给某个用户留言。 1成绩查询如下列图2 SHAPE * MERGEFORMAT 图2 成绩查询流程图2选课查询如下列图3 SHAPE * MERGEFORMAT 图3 选课查询流程图1数据模型设计。首先做出学生管理的ER图,分析一个问题的实体,从系统分析可以知道,学生的成绩是由任课老师按照课程给出的,学生,课程,老师组成了这个系统的三个实体7。2再分析三个实体之间的

39、联系。首先,这三个实体不是一个统一体,学生成绩与老师没有内在的联系,老师必须通过课程实体才能与学生建立联系,因而不考虑。课程与学生这两个实体是多对多的联系,一个学生要学习多门课程,一门课程有多名学生学习。而学习成绩是这两个实体“学生和“成绩共有的属性,应填在二者的联系的“学习边。因为成绩不是学生独有的,也不是课程独有的;“某个学生80分或“某们课程80分是不完全的,但说“学生甲的语文80分才是正确的,因为80分是学生甲和英语课程共有的。ER图4如下: 图4 学生与课程ER图 教师与课程这两个实体之间,是一对多的联系;一位教师可以交多门课程,而一个课程对于学生成绩来说只能有一为教师,ER图5如下

40、所示。 图5 学生与老师ER图与课程和教师ER图组合在一起,得到最后的ER图,有了ER图6,就可以设计数据库了,如下列图6。图6 数据库示意图 本章介绍了系统模型,说明了每个模块的功能,简单地讲述了数据库流程和数据库实体的分析,对一对多,多对一和多对多的数据模型进行了具体的分析,通过学生,选课和教师的关系具体分析了这一点。5 数据库设计 在Microsoft SQL Server 2000 中,创立test数据库.具体操作步骤如下:1选择开始|程序|Microsoft SQL Server|企业管理器命令,启动Microsoft SQL Server 企业管理器.2在控制台树中右击数据库节点,

41、然后从快捷菜单中选择新建数据库命令.3翻开数据库属性对话框,输入数据库的名称test,单击确定按钮,结束表命令操作8.数据库创立完毕,企业管理器控制台如下列图7所示.图7 数据库创立1学生表:学生表的字段类型与长度如图8图8 学生数据表表5.1 学生表各个字段含义图字段 字段含义stuID专业stuName姓名sex性别birthday出生日期dept所在系comedate入校学期password登陆密码specialty所学专业grade所在班级2老师表老师各个字段的数据类型与长度如图9图9 老师数据图表5.2 老师各个字段含义表 字段字段含义teaID职工序号teaName老师名称Sex性

42、别Dept任课系别Birthday出生日期Password登陆密码Degree教师学位telephonenumber联系 3课程表课程表各个字段的类型和长度如图10图10 课程表表5.3 课程表各个字段含义表字段字段含义id序号week第几节课course课程名nowdate上课学期dept上课院系coursetime总学时xuefen学分shangkebanji上课班级4选课表选课表各个字段的类型与长度如图11图11 选课表表5.4 选课表各个字段的含义字段字段含义courseID课程号stuID学生学号stuName学生姓名teaName老师姓名grade分数nowtime上课学期cour

43、sename课程名5所有课表所有课表字段的类型和长度如图12图12 所有课表表5.5 所有课表各个字段的含义字段字段含义courseID课程号coursename课程名teaName任课老师checkstyle考试类型coursequstity选课类型6公告通知表公告通知各个字段的类型与长度图13 公告通知表表5.6 公告通知表的各个字段的含义字段字段含义id序号name公告标题filename文件名faxingren发行人createtime创立时间7留言表留言表字段的数据类型与长度如图14图14 留言表表5.7 留言表字段含义字段字段含义faxingren发信人shouxingren收信人

44、biaoti标题shijian发信时间leirong内容 本章主要是对数据库的设计与创立,详细说明了数据库的创立 ,每个表的作用,用表的方式说明了每个表,每个字段的定义。6系统设计Pagebase.cs:该类为每个页面的基类,用来验证用户是否登陆系统,如果没有登陆系统,返回登陆界面,代码如下10:public void PageBegin(string fName) if (fName = null | fName = ) this.FunctionName = this.GetParaValue(FunctionName); this.FunName = this.FunctionName;

45、 else this.FunName = fName; this.FunctionName = fName; this.EmpName = this.GetParaValue(name); if (EmpName = null | EmpName = ) FormsAuthentication.SignOut(); Response.Clear(); if (File.Exists(Server.MapPath(Login.aspx) Response.Redirect(Login.aspx, false); else Response.Redirect(./Login.aspx, false

46、); Sqlcon.cs:该类为数据库连接类,连接数据库,对数据库进行操作;代码如下:namespace abc public class sql public sql() / / TODO: 在此处添加构造函数逻辑 / public SqlConnection dbcon()/数据库连接; string con = Data Source=.;Initial Catalog=JWGL;User Id=sa;Password=; SqlConnection conn = new SqlConnection(con); return conn; public string Loginon(str

47、ing username, string pwd, string identity,ref string grade,ref string xueming)/身份验证; string massage; string str; SqlConnection scon=dbcon(); scon.Open(); try if (identity = 0) str = select * from student where stuID= + username + and password= + pwd + ; SqlCommand cmd = new SqlCommand(str, scon); Sq

48、lDataReader reader = cmd.ExecuteReader(); if (reader.Read() = true) xueming = readerstuname.ToString(); grade = readergrade.ToString(); massage = 1; else massage = 0; reader.Close(); else str = select * from teacher where teaName= + username + and password= + pwd + ; SqlCommand cmd = new SqlCommand(

49、str, scon); SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read() = true) grade = readergrade.ToString(); massage = 1; else massage = 0; reader.Close(); catch (Exception error) massage = error.Message.ToString(); scon.Close();return massage; Login.aspx:主要是身份验证,判断是否是合法用户,合法那么进入教务管理系统否那么禁止访问该系

50、统图15 登陆界面代码如下13: protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) string xueming=; string grade=; string name = this.TextBox1.Text; string pwd = this.TextBox2.Text; string shengfen = this.Select1.SelectedIndex.ToString(); string a = (new s

51、ql().Loginon(name, pwd, shengfen,ref grade,ref xueming); if (a =1) Sessionshengfen = shengfen; Sessiongrade = grade;/班级 Sessionname = name;/如果是老师为名字;如果是学生为学号 Sessionxueming = xueming;/如果是老师为空;如果是学生为名字 Response.Redirect(Default.aspx); else this.Label1.Text = 用户名或密码错误; 主界面default.aspx为一个模版,其中top.aspx,

52、frame.aspx,bottom.aspx。其中top.aspx为头,bottom.aspx为底版,frame.aspx为内容页面其中,当加载主界面时候,gonggao.aspx.frame.aspx代码:namespace jwgl public partial class frame : pagebase string url; protected void Page_Load(object sender, EventArgs e) PageBegin(frame); url = gonggaotongzhi/gonggao.aspx; this.RdlFrame.Attributes.

53、Add(src, url); this.Label1.Text = 公告通知:; this.Label2.Text = Sessionname.ToString(); this.Label3.Text = Sessionxueming.ToString(); protected void ImageButton1_Click(object sender, ImageClickEventArgs e) url = gonggaotongzhi/gonggao.aspx; this.RdlFrame.Attributes.Add(src, url); this.Label1.Text = 公告通知

54、:; protected void ImageButton2_Click(object sender, ImageClickEventArgs e) url = gerenkebiao/kechengbiao.aspx; this.RdlFrame.Attributes.Add(src, url); this.Label1.Text = 个人课表:; protected void ImageButton3_Click(object sender, ImageClickEventArgs e) url = chengjichaxue/chengjichaxun.aspx; this.RdlFra

55、me.Attributes.Add(src, url); this.Label1.Text = 成绩查询; protected void ImageButton4_Click(object sender, ImageClickEventArgs e) url = xuanke/xuanke.aspx; this.RdlFrame.Attributes.Add(src, url); this.Label1.Text = 学生选课; 图16 课表界面代码如下:namespace jwgl public partial class kechengbiao : pagebase public stat

56、ic int j = 0; protected void Page_Load(object sender, EventArgs e) PageBegin(gerenkebiao); if (!IsPostBack) ddlbind(); dvbind(); private void ddlbind() DataView dv = new DataView(); dv = (new sql().gettime(); this.DropDownList1.DataSource = dv; this.DropDownList1.DataValueField = id; this.DropDownLi

57、st1.DataTextField = nowtime; this.DropDownList1.DataBind(); private void dvbind() string time = DropDownList1.SelectedItem.Text.ToString(); DataView dv = new DataView(); dv = (new sql().kechengbiao(time,Sessiongrade.ToString().DefaultView; PagedDataSource ps = new PagedDataSource(); ps.DataSource = dv; this.GridView1.DataSource = ps; GridView1.DataBind(); this.GridView1.GetType(); /GridView1.DataBind(); protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) dvbind(); pro

温馨提示

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

评论

0/150

提交评论