基于Web的学校管理系统的设计与实现Word文件下载.docx
《基于Web的学校管理系统的设计与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于Web的学校管理系统的设计与实现Word文件下载.docx(34页珍藏版)》请在冰点文库上搜索。
ASP。
NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript。
NET.)创作应用程序。
另外,任何ASP。
NET应用程序都可以使用整个。
NETFramework.开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等.
NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。
这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持.
微软为ASP。
net设计了这样一些策略:
易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
net的新性能
ne提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务.贯穿整个ASP.net的主题就是系统帮用户做了大部分不重要的琐碎的工作。
全新的构造
新的ASP.net引入受管代码(ManagedCode)这样一个全新概念,横贯整个视窗开发平台.受管代码在NGWSRuntime下运行,而NGWSRuntime是一个时间运行环境,它管理代码的执行,使程序设计更为简便。
高效率
对于一个程序,速度是一件非常令人渴望的东西。
一旦代码开始工作,接下来你就得尽可能地让它运作得快些快些再快些。
在ASP中你只有尽可能精简你的代码,以至于不得不将它们移植到一个仅有很少一点性能的部件中。
而现在,ASP.net会妥善地解决这一问题。
易控制
在ASP。
net里,你将会拥有一个“Data-Bounds”(数据约束),这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行.
语言支持
ASP.net支持多种语言,支持编译类语言,支持比如VB、VC++、C#等,它比这些编译类语言运行速度快,更适合编写大型应用。
更好的升级能力
快速发展的分布式应用也需要更快速、更模块化、更易操作、更多平台支持和重复利用性更强的开发,需要一种新的技术来适应不同的系统,网络应用和网站需要提供一种更加强大的可升级的服务。
ASP.net能够适应上面的要求。
1.3本课题的设计目标、目的及作者的贡献
学校管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学校管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.
基于以上的种种原因,我以.NET为开发平台,用SQLservice建立数据库,参于私立学校管理系统的开发。
其中我负责的是宿舍管理分系统的设计以及实现。
以WebService方式实现宿舍管理。
其中功能包括:
学生入住信息登记、学生住宿费用收缴登记、宿舍费用统计以及宿舍统计显示。
2系统开发环境
2.1本课题的技术特色
本课题是采用ASP.Net(C#)、ADO。
Net、WebService技术开发的,C#是由C和C++衍生出来的面向对象的编程语言,它是牢牢根植于C和C++语言之上的一种编程语言.。
NETFramework是一种可靠性强、高安全和集成性、支持智能客户、元数据、无接触部署和内部命名、支持多种语言的编译环境。
而WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。
其工作原理是:
通过松耦合这个特性将所有服务联系起来实现系统之间的整合与协同。
传统的Web(HTML/HTTP)技术有效地解决了人与信息系统的交互和沟通问题,极大地促进了B2C模式的发展。
Web服务(XML/SOAP/WSDL)技术则是要解决信息系统之间的交互和沟通问题,促进B2B/EAI/CB2C的发展。
SOA则是采用面向服务的商业建模技术和Web服务技术,实现系统之间的松耦合,实现系统之间的整合与协同.ADO。
NET的前身是ADO,OLEDB。
ADO仅仅是OLEDB的一个包装器,这个包装器是迎合OLEDB无法应付的复杂性的产物。
因此,它的体系结构是相当松散的,而且没有得到良好的设计。
为了能够在各种不同的环境下访问数据库功能,老式ADO的数据必须要历经多个接口层,同时还会消耗系统资源.尽管ADO支持断接的数据共享,但它显然依赖于紧密藕合连接模式,这会造成每一个请求都要创建一个新的数据源连接。
而ADO.NET在设计时就避免了这些缺点,ADO.NET并不是原先的ADO技术的包装器.它是一个全新的数据访问技术,主要驻留在.NETFrameworksSystem.Data.*和System。
Xma命名空间中。
2。
2本课题的开发语言及操作平台
2.1C#的特点
C#是一种类型安全的、现代的、简单的,由C和C++衍生出来的面向对象的编程语言,它是牢牢根植于C和C++语言之上的,并可立即被C和C++的使用者所熟悉的一种编程语言。
C#语言有很大的自由性,用C#编写的程序能最大程度地和任何支持.NET的语言互相交换信息。
能够继承和使用任何语言所编写的程序可以称得上是知识的继承,这样做的好处是节省了大量的工作,你不必把COBOL等语言强行改成另一种语言,。
NET让各种语言真正地互相交流了。
在C#的Web编程中,最让人兴奋的是Web服务端的组件,它们不仅包括传统组件,还包括那些能够自动连接服务的可编程组件,你可以用C#编写自己的服务器端组件,服务器端组件和标准的HTML提供的服务自然是不一样的,使用它们可以更自由、更容易地进行数据绑定.像Java一样,C#编写的应用程序具有强大的跨平台性,这种跨平台性也包括了C#程序的客户端可以运行在不同类型的客户端上,比如PDA、手机等非PC装置。
由于XML技术真正融入到了。
NET和C#之中,C#的编程变成了真正意义的网络编程,甚至可以说。
NET和C#是专为XML而设计,使用C#的程序员可以轻松用C#内含的类来使用XML技术。
就这方面而言,目前C#提供给了程序员更多的自由和更好的性能来使用XML.
2.2.2ADO.NET的概念及特点
Microsoft.NET是MicrosoftXMLWebservices平台。
XMLWebservices允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
这意味着我们不仅可以使用任何。
NetFramework兼容的程序语言(VisualBasic.Net、VisualC#或Jscript.Net)来编写程序,还可以充分利用。
NetFramework的CommonLanguageRuntime(CLR)、类型安全性,继承性与其他各项特性.此外,。
Net具有更快的运行效率、简单易懂的程序设计模型、数据访问方式和配置设置、易用的状态管理、良好的延展性和可使用性、更好的安全性和兼容性、实用的自定义能力与扩充性.
2.2.3ADO。
NET的特点
ActivexDataObject(ADO)对象是继OpenDataBaseConnectivity(ODBC),开放数据库连接架构。
微软所制定的架构,可以让透过这种架构和数据库连结.之后微软主推存取数据的最新技术,ADO对象是程序开发平台用来和OLEDB沟通的媒介,ADO目前的最新版本为ADO.NET。
ADO。
NET不像以前的ADO版本是站在为了存取数据库的观点而设计的,ADO。
NET是为了适应广泛的数据控制而设计的,所以使用起来比以前的ADO更灵活有弹性,也提供了更多的功能.ADO.NET的出现并不是要来取代ADO,而是要提供更有效率的数据存取.微软透过最新的.NET技术提供了可以满足众多需求的架构,这个架构就是.NET共享对象类别库。
这个共享对象类别库不但涵盖了WindowsAPI(WindowsApplicationProgrammingInterface,Windows应用程序设计界面。
提供许多撰写Windows程序所需要使用的对象以及基本函数等)的所有功能,并且还提供更多的功能及技术;
另外它还将以前放在不同COM组件上,我们常常使用的对象及功能一并包含进来.除此之外ADO.NET还将XML整合进来,这样一来数据的交换就变的非常轻松容易了。
所以ADO.NET的架构及新功能是为了能满足广泛的数据交换需求所产生出来的新技术。
NET对象可以让我们快速简单的来存取各种数据。
传统的主从式应用程序在执行时,都会保持和数据源的联机。
但是在某些状况下和数据库一直保持联机是不需要的,而且一直保持和数据源的联机会浪费系统资源.有些时候我们只需要很单纯的将数据取回,这时候就不需要保持对数据源的联机.ADO.NET被设计成对于数据处理不一直保持联机的架构,应用程序只有在要取得数据或是更新数据的时候才对数据源进行联机的工作,所以应用程序所要管理的连接减少;
数据源就不用一直和应用程序保持联机,负载减轻了效率自然也就提升.
2.2.4WerService的概念
WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.这种技术允许网络上的所有系统进行交互。
随着技术的发展,一个Web服务可以包含额外的指定功能并且可以在多个B2B应用中协作通讯。
Web服务可以理解请求中上下文的关系,并且在每一个特定的情况下产生动态的结果。
这些服务会根据用户的身份,地点以及产生请求的原因来改变不同的处理,用以产生一个唯一的,定制的方案。
这种协作机制对那些只对最终结果有兴趣的用户来说,是完全透明的。
在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件。
所以,我们需要一种方法来发布我们的Web服务。
UDDI(UniversalDescription,Discovery,andIntegration)是一个主要针对Web服务供应商和使用者的新项目.UDDI项目中的成员可以通过UDDIBusinessRegistry(UBR)来操作Web服务的调用,UBR是一个全球性的服务。
Web服务供应商可以在UBR中描述并且注册他们的服务.用户可以在UBR中查找并定位那些他们需要的服务.UDDI是一种根据描述文档来引导系统查找相应服务的机制.UDDI包含标准的“白皮书"
类型的商业查询方式,“黄皮书"
类型的局部查找,以及“绿皮书”类型的服务类型查找。
UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。
它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据.对于商业用户来说,要找到一个自己需要使用的服务,他必须知道如何来调用。
WSDL(WebServicesDescriptionLanguage)规范是一个描述接口,语义以及Web服务为了响应请求需要经常处理的工作的XML文档。
这将使简单地服务方便,快速地被描述和记录.SOAP当商业用户通过UDDI找到你的WSDL描述文档后,他通过可以SimpleObjectAccessProtocol(SOAP)调用你建立的Web服务中的一个或多个操作。
SOAP是XML文档形式的调用商业方法的规范,它可以支持不同的底层接口,象HTTP(S)或者SMTP。
之所以使用XML是因为它的独立于编程语言,良好的可扩展性以及强大的工业支持。
之所以使用HTTP是因为几乎所有的网络系统都可以用这种协议来通信,由于它是一种简单协议,所以可以与任何系统结合,还有一个原因就是它可以利用80端口来穿越过防火墙。
SOAP的强大是因为它简单.SOAP是一种轻量级的,非常容易理解的技术,并且很容易实现.它有工业支持,可以从各主要的电子商务平台供应商那里获得。
从技术角度来看,SOAP详细指明了如何响应不同的请求以及如何对参数编码。
一个SOAP封装了可选的头信息和正文,并且通常使用HTTPPOST方法来传送到一个HTTP服务器,当然其他方法也是可以的,例如SMTP.SOAP同时支持消息传送和远程过程调用。
2.2。
5SQL语言基础
1、
SQL简介
用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。
不同的数据库管理系统提供不同的数据库语言。
关系数据库管理系统几乎都提供关系数据库标准语言—-SQL。
SQL的全称是StructuredQueryLanguage,即结构化查询语言。
SQL语句可以从关系数据库中获得数据,也可以建立数据库、增加数据、修改数据。
1986年ANSI采用SQL语言作为关系数据库系统的标准语言,后被国际化标准组织(ISO)采纳为国际标准。
SQL语言使用方便、功能丰富、简洁易学,是操作数据库的工业标准语言,得到广泛地应用。
例如关系数据库产品DB2、ORACLE等都实现了SQL语言。
同时,其它数据库产品厂家也纷纷推出各自的支持SQL的软件或者与SQL的接口软件。
这样SQL语言很快被整个计算机界认可。
SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。
SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。
SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。
当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节.
SQL语言可以完成许多功能,例如:
●查询数据
●在数据库表格中插入、修改和删除记录
●建立、修改和删除数据对象
●控制对数据和数据对象的存取
●确保数据库的一致性和完整性等
2、
SQL查询
数据查询是关系运算理论在SQL语言中的主要体现,SELECT语句是SQL查询的基本语句,当我们在对一个数据库进各种各样的操作时,使用的最多的就是数据查询,在以SQL为基础的关系数据库中,使用的最多的就是SELECT查询语句.
SELECT语句的完整句法如下:
SELECT目标表的列名或列表达式序列
FROM
基本表和(或)视图序列
[WHERE行条件表达式]
[GROUPBY列名序列]
[HAVING组条件表达式]
[ORDERBY列名[ASC│DEAC]…]
我在SELECT语句中还使用了大量的保留字和通配符以进行各种各样的条件查询。
在系统中有大量的查询按钮,其使用了大量的查询语句,而且这些查询语句大部分使用的是模糊查询,所以大量的使用了模式匹配符LIKE(判断值是否与指定的字符通配格式相符).在包含LIKE的查询语句中可以使用两个通配符:
%(百分号):
与零个或多个字符组成的字符串匹配;
_(下划线):
与单个字符匹配。
系统中的条件判断往往包含多个条件,这时就需要使用逻辑运算符NOT、AND、OR(用于多条件的逻辑连接),谓词ALL以及保留字DISTINCT等等。
做为SELECT语句还有很多的使用方法,这里就不再叙述。
3、
SQL数据更新
使用数据库的目的是为了有效地管理数据,而数据的插入、删除和修改则是必不可少的一个功能。
在本系统中就大量地使用了数据插入、删除和修改这三种操作,现做一个简单地介绍。
●数据插入
往数据库的基本表中插入数据使用的是INSERT语句,其方式有两种:
一种是元组值的插入,另一种是查询结果的插入。
在本系统中使用的是前一种方式,其句法如下:
INSERTINTO基本表名(列表名)VALUES(元组值)
●数据删除
往数据库的基本表中删除数据使用的是DELETE语句,其句法如下:
DELETEFROM基本表名[WHERE条件表达式]
在些作一点说明,删除语句实际上是“SELECT*FROM基本表名[WHERE条件表达式]”和DELETE操作的结合,每找到一个元组,就把它删除.此外,DELETE语句只能从一个基本表中删除元组,WHERE子句中条件可以嵌套,也可以是来自几个基本表的复合条件。
●数据修改
当需要修改基本表中元组的某些列值时,可以用UPDATE语句实现,其句法如下:
UPDATE基本表名
SET列名=值表达式[,列名=值表达式…]
[WHERE条件表达式]
6本课题的操作平台
服务器端
操作系统:
Windows2000或其他服务器版的操作平台。
Web服务器:
NETFramework1.1和IIS5.0
数据库:
SQL—Server2000
客户端
能装有下面要求的上网浏览器的系统
浏览器:
InternetExplorer4.0及以上版本或NetscapeNavigator的浏览器
3系统设计
3.1系统主流程
3.1.1系统功能概述
本系统主要包括的模块有:
系统用户管理模块、学生学籍管理模块、学生宿舍管理模块、教职员工管理模块、教务管理模块、学校简单财务管理模块.其中:
用户管理模块实现了用户的登陆,注册,区分不同管理,都并规定不同登陆都的权限;
1、学生学籍模块实现了学生资料的记录、查询、删除等功能;
2、教职员工管理模块实现了教职工的录入,查询、记录学生对教职工的反馈信息以及评价;
3、教务管理模块实现了课程表的登记、打印,方便统计汇总,能实现教师、课室、时间、上课班级、学生人数的汇总,方便对教职工工作量的统计;
4、学校简单财务管理模块实现了办学经费的投入(人员、金额)的登记、办学经费的支出(学生宿舍、办学材料、业务联系、外出补贴、水电费用、教职工工薪水、教学场地等费用的支出)、投资的回报(主要来源于学生的学费、其他等收费)、统计各个方面的比例、输出统计报表。
5、我负责的是学生宿舍管理模块,实现功能包括;
学生入住登记:
学生入住房间地址,学生所在房号以有床号登记并通过查询显示出来;
学生住宿费用:
学生入住房间的收费情况、水电收费、押金情况登记通过查询显示出来;
住宿费用收缴:
水费、电费、宿舍费用的收缴,显示并输出统计报表.
学校对学生宿舍入住情况的查询,方便用户为新生分配住房和退还租用房间。
3。
1.2系统主流程图
图3—1-1系统主流程图
图3—2宿舍管理模块绘声结构图
3.2数据库设计
1需求分析
在项目中,本课题主要做的是对各方面学校信的查询以及管理、包括信息的录入、查询、删除等功能和对网站的管理等工作。
宿舍管理模块在建立数据库时,我主要从这几方面着手,在数据库里面建立了下列表:
学生入住登记信息表(live)。
包括字段有:
学号、姓名、性别、宿舍类型、宿舍、床号、班级、系别、入住时间、备注。
其中宿舍类型是指在哪一区或哪一楼,班级,班别是为了方便查询。
学生住宿收缴表(liveUsing)。
包括字段:
学号、姓名、班级、系别、年份、水费、电费、宿舍费、实交金额、交费人姓名、经办人、宿舍类别。
其中班级和姓名也是为了方便查询、年份是指缴哪一年的费用、宿舍类型是为了后面的统计.
宿舍收缴统计表(costtotal).包括字段:
编号、宿舍类型、年份、已缴水费统计、已缴电费统计、已缴宿舍费统计、已缴费用合计、支出水费、支出电费、支出宿舍其它费用、支出合计.其中:
宿舍类型是说明对哪一区的统计,编号是为了方便财务模块统计.
宿舍租用情况表(dor)。
包括字段:
宿舍类型、宿舍、住宿情况、住宿人数。
其中住宿情况是说明是否已有学生入住。
2概念设计
根据上面的数据设计分析,数据库的大致结构和各个数据表之间的联系已经很清晰。
现在便可设计出数据库各信息表,图如下所示:
图3—3学生入住登记E-R图
图3-4学生费用收缴表E—R图
图3—5宿舍收缴统计表E—R图
图3-6宿舍租用情况表E-R
3.2.3逻辑结构设计
通过上面的分析,现在用SqlServer来设计建立数据库,把数据库中各个表的字段形成数据字典的形式,方便在程序中的调用。
本课题中各个表设计结果如下面几个表格所示。
每一个表格对应数据库中的一个表。
表3—1学生入住登记(live)
字段名
数据类型
说明
sid
Char(8)
学号(主键)
did
宿舍(notNull)
bId
Char
(1)
床号(notNull)
inTime
Datetime(8)
入住时间
lOther
Varchar(50)
备注
sdep
Char(10)
系别
scla
班级
ssex
Char(1