1、前 言21世纪的教育必须适应信息化社会需求。为此,世界发达国家高度重视信息技术对教育的影响和作用,重新调整教育目标,制定教育改革方案,加快推进教育信息化建设。近年来我国也十分重视教育信息化,特别是在“面向21世纪教育振兴行动计划”中强调利用信息技术推进教育改革。教育改革中强调了教育方式和管理方式的变革。随着高校规模的不断扩大和对教学管理需求的不断提高,引进先进的信息技术,实现教学管理方式的网络化和智能化已成为教学改革的必然趋势,我这次设计的题目是网上实验预约系统(简称预约系统),是针对原有手工管理效率低下,缺乏可控性等特点,采用科学、高效的教学管理方式,使教师、学生预约实验比原来更加方便快捷。
2、此次的毕业设计课题是一个新的体验、新的挑战,我在此过程中初次涉足JSP技术,对Java编程的首次尝试,其中遇到了不少的困难,不足与失误之处在所难免,故敬请各位老师、领导批评指正。在此期间,我也不仅仅应用了所学的知识,而且还不断的学习了新的知识、工具,以完成设计的需要。在设计的过程中我深深体会到作为一个学习计算机专业的职员,为了实现一个模块的代码、为了一个设计的实现思想、经常要绞尽脑汁来达到设计所要达到的目的。尽管我的基础知识还不够扎实,但是在此期间我积累了许多宝贵的经验,这都是我以后走上工作岗位的巨大的财富。由于这是我的一个新尝试,以及受有限的知识和仓促的时间所限,所以程序代码中难免会有不足的
3、地方,望各位老师给予我指正,我将在以后的设计中做得更好。1 绪 论学校中的实验设备是属于全校师生共用的教学资源。由于学校实验室个数及每门课程相关实验室课时数的有限性,使得实验室不可能像普通教室那样按周次进行固定排课。当前实验教室的排课普遍采用人工预约的方法,这种方式无论在人员联系上还是实验室安排上都很不方便。预约一个教室的周期往往在两周以上,极大地影响了教学进度的安排,并且由于实验室教室的分散性,往往会出现一个教室爆满而另一个闲置的不对称使用情况,在这种情况下,开发一种全校实验室资源共享、合理分配教室资源、远距离操作实验室预约系统就显得尤为必要。在国外,预约系统早就起源并且早已经扩展开来。基于
4、ASP的高校实验网络管理系统,也可为学生提供一种选修自己喜欢实验的途径。有些系统允许学生通过校园网选修实验,它具有实验预约、查询等功能。在国内,现在一般是用ASP做实验预约系统。预先查看几个比较典型的实验预约系统:长江大学电子信息学院开发的长江大学电工电子实验预约系统,它是一个实验预约管理系统,提供学生和教师登录预约,教师和学生登录后的功能不一样,教师登录后还可以对学生进行实验管理;学生可以进行实验预约,只是该系统有时候学生预约并不开放,以教师预约为主。这是国内目前功能比较完善的实验预约系统。绍兴文理学院的开放实验网上预约系统预约实现了可选择的实验进行预约和取消预约,可以轻松查看实验室状况,不
5、过此系统封闭性不强,任何注册人员都可以进行预约,这给系统管理带来了负面影响。另外,最近在网上还出现了一个简单的网上实验预约系统,简单实现了预约功能,也是一个纯粹的实验预约系统,用户可以随时进行注册并预约实验,又没有取消预约的功能,而且此系统维护不够,预约得不到管理员的批准与调配。但这也说明预约系统现在在国内比较盛行,大家在勇于攀登,在不断完善实验预约系统的功能。建国以来,我国经济飞速的发展,特别是改革开放以后,大量资金、先进技术的引入,人民的生活水平有了很大的提高,物质生活的提高也改变了消费观念,网络逐渐走进了人们的生活。随着学校场所规模的扩大,使其在管理上存在一些漏洞,如实验安排不及时,实验
6、安排有时间缺乏双方交流性等。这导致了这些实验室不能达到实验的最佳结果。实验室本来是用来结合理论联系实践的一个重要环节,这步如果出了一点点问题,不良后果也是很大的。至少是一个班级的同学不能完成实践学习或者是不能及时完成相关的实践,也会给理论学习带来一定的困难,也可能导致对该课程的学习失去兴趣。我这次毕业设计题目是网上实验预约的设计与实现,是湖南科技大学教学研究重点项目中的一个方面。我们湖南科技大学是由原湘潭工学院和原湘潭师范学院合并而来,现在分为南北两个主校区。为充分利用两个校区的实验室,就要根据现有的实验室情况调配两个校区的学生人数,尽量做到最大限度的使用实验设备,实现全校实验的合理化,提高实
7、验设备的利用率。通过实验室的调查,实验室暂时还没实现网上实验预约功能,而且实现也有一定的难度。实验室的管理员老师用他们的经验和事实说明在实验室工作并不是一件简单的事情,因为实验室是个流动的场所,按照周一到周日,而且每天又按照一二节课、三四节课、五六节课、七八节课以及晚上分开进行排课,如果是节假日提前全部排满的课程也只能被冲掉,不能再重新安排。在这一点上就说明本系统的建立就很有必要性,如果是授课教师能够实时地进行实验预约,就能够尽量避免实验安排冲突的现象。现在实验室的课程安排更是复杂,一般都是用手工安排实验课,又由于没有网上预约系统,实验预约必须由教师与管理员进行预约并查看实验室有关安排信息。实
8、验室是公共场合,除了上课还要用于实验考试等,有些固定安排是不能被耽搁的,任课老师完成对班级理论课表的参照后与实验室管理员商量好实验时间段,最后还是要等待实验室最后的安排表出来才能定好实验日期,这一般是要几个星期的时间。而学生一般是不能进行实验预约的。根据对实验室日常业务的考察,以及具体情况的分析得到实验预约系统的迫切性,特别是作为计算机实验室,本身就为实验预约系统的应用奠定了基础,加上师生的需求就确定了该系统开发必要性。2 系统开发平台基于对系统的分析,本系统采用JSP技术来实现动态网页,利用Microsoft SQL Server 2000作为数据库管理系统建立数据库,操作系统为Window
9、s XP profession,Web服务器为Tomcat 5.0。2.1 HTML语言HTML(HyperTextMarkupLanguage超文本标记语言)7是一种用来制作超文本文档的简单标记语言。与常见的字处理文件不同,Web页以超文本标识语言编排格式。HTML文件是带有特定HTML插入标记的用以编排文档属性和格式的标准文本文件。它能独立于各种操作系统平台。自1990年以来HTML就一直被用作WorldWideWeb上的信息表示语言,用于描述Homepage的格式设计和它与WWW上其它Homepage的连结信息。HTML文档是一个放置了标记的ASCII文本文件,通常它带有.html或.h
10、tm的文件扩展名。2.2 JavaScript语言JaveScript脚本语言脚本是应用程序在网页上表达的语言,可以将脚本嵌入Web页中。通常脚本在服务器上运行,但也可以采用客户端和服务器端结合使用VBScript是ASP的默认脚本语言3。2.3 JSP技术2.3.1 JSP概述JSP(Java Server Page)技术是由Sun Microsystem公司倡导,许多公司参与,于1999年6月推出的一种动态网页技术标准。它是基于Java Servlet以及整个Java体系的Web开发技术,是Servlet 2.1 API的扩展。JSP技术是由Servlet技术发展起来的,自从有了JSP后,
11、在Java服务器端编程中普遍采用的就是JSP,而不是 Servlet。同时,JSP秉承了Java的“编程一次到处运行”的精神,能应用于不同的操作平台之上(如Windows、Unix、Linux等多种操作系统),是一种与平台无关的技术。简而言之,JSP就是Java,就是Servlet.只是它是一个特别的Java语言,同时又引入了“”等一系列的特别语法。JSP技术的具体实现简单地说,就是在传统的网页HTML文件(*.htm,*.html)中,利用HTML(或XML)标签的扩展,插入JSP脚本代码(主要是Java代码),构成了JSP文件(扩展名为.jsp)3。2.3.2 JSP工作原理在JSP第一次
12、获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSP engine)转换成一个Servlet,即将”.jsp”文件编译成Java Class文件。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。如图2-1。在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息;如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。此时JSP引擎还请求了jspIni
13、t()方法的执行,并对此Servlet初始化。JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP文件的请求,服务器将检查该JSP文件自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的jspService()方法,执行回复操作。由于Servlet始终驻于内存,所以响应是非常快的。JSP页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件了,所以速度非常得快。Client客户端请求(Request)Web Server响应(Resp
14、onse)Serverextension服务器扩展ServletengineJSPengineServlet引擎JSP引擎ClassloaderJavacomplierJSPparser类载入器Java编译器JSP语法分析器图2-1 JSP运行原理2.3.3 JSP页面的组成JSP页面看上去像是标准的HTML和XML页面,并附带有JSP引擎能够处理和解析执行的代码与组件。通常,JSP代码和组件用于创建在最终页面上显示的文本。通常来说,JSP页面包括编译指令,动作指令,声明,表达式和程序段等内容。1、编译指令:使用JSP编译指令(% 和 %内的)来指定所使用的脚本语言,Servlet实现的接口,
15、Servlet扩展的类,Servlet导入的软件包。JSP指令的一般语法形式为:。2、动作指令(标识):动作指令用于执行某些动作。在JSP规范中有2种类型的动作指令的标识。第一种是标准动作,它定义的是无论在什么版本的JSP引擎或Web服务器下总是可用的动作。第二种是自定义动作,它通过使用taglib指令来实现。例如JSP:useBean;JSP:setProperty;JSP:getProperty就是标准动作。3、声明:用于声明合法的变量和方法。与任何语言相同,JSP语言使用变量来保存数据。这些变量用declaration元素声明,声明的语法为。当页面被初始化的时候,JSP页面中的所有声明都
16、被初始化。除了简单的变量,方法也能被声明。声明不对当前的输出流产生任何影响。4、表达式:通过计算表达式所得到的结果来表示某个值。表达式的形式为:。表达式求值的结果被强制转换为一个字符串,并插入到当前的输出流中。5、程序段:JSP可以在页面中包含的一段程序,称之为程序段。程序段是一个代码片断,在请求的处理过程中被执行。程序段可以和页面中的静态元件组合起来创建动态生成的页面。程序段在“”中定义,在这对标识中的所有东西都会被当成JSP程序执行。 2.3.4 JavaBean技术介绍JavaBean技术是一种基于Java的组件技术,JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以
17、及数据的提取等,是解决代码重用问题的一种策略。以前的组件无法实现真正的代码重用,其主要原因就是它们对于处理平台的依赖和对开发语言的依赖过重。由于Java语言在这些方面所具有的特点和优势,使得基于它的软件JavaBean组件技术倍受人们的关注。它的任务就是:一次编写,可以在任何地方执行,可以在任何地方重用。JavaBean组件可以在任何地方重用包括了可以在应用程序、其他组件、文档、Web站点和应用程序构造器工具等多种方案中再利用。为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台和结构的应用程序接口,它的实现可以忽略内部的结构及细节问题,只需要定义其外部的特征及对外功能就行。
18、其中,属性、方法和事件三种接口可以独立对外进行开发。JavaBean的实质就是一个.class文件,也可以成为类文件。JavaBean以binary格式保存,可以保护Java源代码不容易被他人抄袭。2.3.5 JSP的运行环境要运行JSP(注意,不是浏览JSP页面),需要有支持JSP的服务器。这里分2种情况:一种是自身就支持JSP的服务器,如Jrun,Weblogic,JSWDK等;而另一种则是在不支持JSP的服务器上安装JSP引擎的插件,如在IIS,Apache等服务器上安装WebSphere,tomcat,Resin等插件。其中主流服务器是Weblogic和tomcat.Weblogic是
19、一款功能强大的服务器软件,配置比较简单,而且JSP的扩展功能较多,附带了数据库的JDBC驱动程序。,支持JHTML(一种与JSP十分相似的技术),是目前市场占有率最高的服务器。不过,Weblogic的运行情况不太稳定,使用它调试JSP文件,出现语法错误或者数据库连接错误时,Weblogic就有可能崩溃。Tomcat服务器是当今使用广泛的JSP/Servlet服务器,它本身也可做Web服务器使用。它的运行稳定好。Tomcat服务器是Apache Group Jakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。访问的地址
20、 http:/jakarta. apache.org/tomacat/index.html, Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun公司也将其作为JSP技术应用的示例服务器。不足之处是它的配置比较麻烦,而且有一些安全性的问题没有解决。但是Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。2.4 SQL Server 2000数据库简介Microsoft SQL Server 2000是由一系列产品组成,不仅能够满足最大的数据处理系统和商业Web站点存储和处理数据的需要,还能
21、为个人或小企业提供容易使用的数据存储服务。现在的企业和政府部门对数据的存储要求非常高,如要求系统必须可以同时处理上千件订单,能提供安全、与Web紧密集成的数据存储,能够存储最大量的数据和支持众多的用户,有可靠的联机分析处理系统,这些系统能够很容易地通过OLTP(联机事务处理)数据生成,并支持复杂的数据分析。要求数据存储系统可由应用程序配置,然后系统自身可以自动调整,用户不需要专门的数据库管理员不间断的监视和调整应用程序。Microsoft SQL Server 2000通过提供一系列相互协助的足见满足了用户的各种要求。 Microsoft SQL Server 2000是由一系列相互协作的组件
22、构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需要。 Microsoft SQL Server 2000主要由以下几个组件组成:关系数据库组件、数据库构架、管理构架、复制构架、数据仓库和联机分析处理分析和应用程序开发构架等。2.4.1 Microsoft SQL Server 2000的特性Microsoft SQL Server 2000的主要特性包括:与Internet集成、可伸缩性和可用性、企业级数据库功能、易于安装、部署和使用数据仓库。Microsoft SQL Server 2000数据库引擎提供完整的XML(可扩展标记语言)支持。SQL Server 2000与其他
23、产品共同构成了可靠安全的Internet和Intranet系统的数据存储。SQL Server 2000支持English Query和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。同一Microsoft SQL Server 2000数据库引擎可以运行在Microsoft SQL Server 2000的各个版本。Microsoft Windows NT4.0版的所有版本、Windows98和Windows Millennium Edition上。 同时,当以默认设置运行时, SQL Server 2000还具有动态自调整等功能,可以有效地运行在便
24、携式电脑和台式机中,用户无需承担管理任务。SQL Server 2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其可以升级到最大的Web站点所需的性能级别。SQL Server 2000关系数据库引擎支持当今苛刻的数据处理环境所需要的功能。如分布式查询、动态行级锁定、充分的完整性保护、分布式事务、复制等功能,为用户提供企业级的数据库功能。Microsoft SQL Server 2000中包含了一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQL Server的过程。Microsoft SQL Server 2000包含多个可用于生成有效地支持决策、支持处
25、理需求的数据仓库的组件。这些组件包括:数据仓库框架、数据转换服务、联机分析处理支持、数据挖掘支持、English Query、Meta Data Services.2.4.2 数据库构架Microsoft SQL Server 2000的数据存储在数据库中。在数据库中,数据被组织到用户可以看见的逻辑组件中。数据库还可以按物理方式,在磁盘上作为两个或更多的文件实现。使用数据库时使用的主要是逻辑组件,例如表、视图、过程和用户。文件的物理实现在很大程度上是透明的。一般只有数据库管理员需要处理物理实现。每个SQL Server实例中有4个系统数据库(master,tempdb,model和msdb)以
26、及由用户创建的一个或多个用户数据库。在4个系统数据库中,master数据库记录SQL Server系统的所有系统级别信息记录、所有的登录帐户和系统配置设置,记录所有其他的数据库的信息,包括其他数据库文件的位置记录SQL Server的初始化信息,并且始终有一个可用的最新的master数据库备份。Tempdb数据库保存所有的临时表和临时存储过程。它还能满足任何其他的临时存储要求。Tempdb数据库在SQL Server每次启动时都将重新创建,并且将重置为初始大小。Model数据库用作在系统上创建的所有数据库的模板。当创建新的数据库时,新数据库的第一部分通过复制的model数据库中的内容创建,剩余
27、部分有空白页填充。由于SQL Server每次启动都要创建tempdb数据库,所以model数据库必须一直存在于SQL Server系统。Msdb数据库是供SQL Server代理程序调度警报和作业以及记录操作员时使用的数据库。SQL Server2000中的每个数据库都包含系统表,用来记录SQL Server足见所需的数据。SQL Server的操作能否成功,取决于系统表信息的完整性,因此Microsoft 不支持用户直接更新系统表中的信息。下面介绍图形工具。Microsoft SQL Server 2000包含许多图形实用工具,使得用户、程序员和系统管理员得以轻松地完成各项复杂的工作。这些
28、图形实用工具主要包括:SQL Server企业管理器、SQL查询分析器、Windows 2000系统监视器(Windows NT性能监视器)、导入/导出数据向导、SQL事件探查器、SQL Server服务管理器、客户端网络实用工具、服务器网络实用工具和其他一些实用工具。1、SQL Server企业管理器SQL Server企业管理器是Microsoft SQL Server 2000的主要管理工具,提供了一个遵从Microsoft管理控制台(MMC)的用户界面,SQL Server企业管理器提供的主要功能有:定义运行SQL Server的服务器组,将个别服务器注册到组中,为每个已注册的服务器配
29、置所有的SQL Server选项,在每个已注册的服务器中创建并管理所有SQL Server数据库、对象、登录、用户和权限,在每个已注册的服务器 定义并执行所有的SQL Server管理任务,通过唤醒调用SQL查询分析器,交互地设计并测试SQL语句、批处理文件和脚本,唤醒调用为SQL Server定义的各种向导。2、SQL查询分析器SQL查询分析器是一个图形用户界面,用以交互地设计和测试Transact-SQL语句、批处理文件和脚本。它可以从SQL Server企业管理器中调用。SQL查询分析器提供如下功能:可以对Transact-SQL语句进行文本编辑。用不同的颜色对Transact-SQL语
30、句不同成分进行标识,这样提高了复杂语句的易读性。提供了对象浏览器和对象搜索工具,可以轻松查找数据库中的对象和对象结构。提供了性能优越的模板,可用于加快创建SQL Server对象的Transact-SQL语句的开发速度。模板是包含创建数据库对象所需的Transact-SQL语句基本结构的文件。提供了用于分析存储过程的交互式调试工具。2.4.3 SOL语言简单介绍SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语
31、句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle、Sybase、MicrosoftSQLServer、Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select、Insert、Update、Delete、Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQL Server数据库系统在客户机/服务器运算模式下,数据库的查询操作都集中在服务器方进行,在网络上传输的是用户的请求命令和服务器的检索结果,而不是整个数据库文件,这样可以减
32、少网络上的信息流量,从而提高网络的使用效率。2.4.4 JDBC数据库连接技术数据库连接对动态网站来说是最为重要的部分,Java中连接数据库的技术是JDBC(Java Database Connectivity)。它是SUN基于X/Open SQL CLI的数据库技术,是一种能通过Java语言访问结构化数据库的应用程序接口(JDBC API),对于一些使用结构化查询语句的关系型数据库尤为有效。很多数据库系统带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询、提取数据等等操作。JDBC不但提供了标准的API连接数据源,而且还为数据库的生产厂家提供了标准的驱动程序,使得
33、用户可以方便地使自己的Java 应用程序与数据库互相通信。JDBC最大的特点是:对下,JDBC封装了各种底层数据源之间的差异;对上,JDBC提供标准的SQL界面。这使得上层应用对底层数据源的访问完全透明,大大地简化了访问底层数据源的复杂性,真正做到了无障碍沟通。2.5 搭建开发环境2.5.1 安装和配置JDK 下载JDK1.5.0并安装完后,在环境变量中进行相关的配置。下面以WindowsXP操作系统为例进行配置:1、Java_HOME环境变量的设置,Java_HOME是表示Java安装的目录,其他应用程序如果需要使用Java运行环境,首先获得该变量信息,然后确定执行路径。2、CLASSPAT
34、H环境变量的设置,CLASSPATH表示搜索Java类的路径,这个路径中可以包括一些Jar归档文件,也可以是一个目录。3、PATH环境变量的设置,PATH变量是系统可执行程序的路径。2.5.2 安装TomcatTomcat服务器是当今使用广泛的JSP/Servlet服务器,它运行稳定、性能可靠,是学习和中小企业的最佳选择。在安装Tomcat的过程中选择Java的安装目录,安装完后启动Tomcat监视器点击Start service来启动Tomcat服务器,并打开IE浏览器,在地址栏输入http:/127.0.0.1:8080进行测试。2.5.3 安装和配置JDBC安装好MS SQL Serve
35、r 2000数据库系统后,继续安装微软公司提供的JDBC驱动程序SQL Server 2000 Driver for JDBC SP3,然后进行配置如下:1、JDBC_HOME环境变量中设置为JDBC的安装地址。2、增加新的环境参数CLASSPATH=%JDBC_Home%libmsbase.jar;%JDBC_Home%libmssqlserver.jar;%JDBC_Home%libmsutil.jar。3、把3个JDBC的驱动程序文件msbase.jar、mssqlserver.jar、msutil.jar 拷贝到所有源码目录的Web-INFlib目录中,否则JSP无法连接到SQL Se
36、rver 2000数据库。3 需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。分析需求是所有是所有网上实验预约系统开发的第一步,也是最重要的一步。理解需求是在问题及其最终解决方案之间架设桥梁的第一步。开发者只有和客户充分理解了需求之后才可以设计系统,否则,对需求定义的任何改进,设计上都必须大量的返工 2。3.1 系统需要解决的主要问题通过对网上实验预约系统的实地调查,得知实验预约是面向特定的某些对象的,并且实验预约是任意的
37、,一般一次预约是连续的两节课,预约者可以在某一周的星期一至星期日的一二节、三四节、五六节、七八节和晚上,预约实验和固定实验一旦被安排好之后节假日也不再安排实验。实验预约系统是给高校的实验提供通过网络管理的系统,给学生、教师和实验室的管理人员都提供方便。学生和老师在系统中能够预约实验、取消实验、查看实验情况等;管理员再对预约实验进行审批,以及添加固定实验。3.2 基本功能分析根据调查后的实际情况以及这次设计的要求,网上实验预约系统应该具备这些基本功能:1、有使用权限的用户登录才可以进入系统。2、进入系统后用户可以查看实验室状态并进行实验预约、在未被批准前取消自己的预约、查看实验预约情况。3、管理
38、员在后台可以添加固定实验和安排预约实验。4、为了健全预约系统,管理员可以添加删除预约实验的用户,以及修改他们除开密码和预约信息以外的所有的信息。5、为了实现网上实验预约系统的快捷性,系统还可实现邮件群发单发的功能,管理员可以对用户利用邮件发送通知预约情况。除了实现上述功能以外,在线实验预约系统还应该一些其他小功能,并具有友好、简洁的界面,安全性要高,稳定性要强,能够满足100人以上同时及进行在线预约。3.3 建模分析为了更好地理解复杂事物,人们常常采用建立事物模型的方法。所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一些图形符号和组织这些符号的规
39、则组成。结构化分析实质上是一种创建模型的活动。为了开发出复杂的软件系统,我们在需求阶段应该从不同角度抽象出目标系统的特性,使用精确的方法构造系统的模型,验证模型是否满足用户对目标系统的需求,并在设计中逐渐把和实现有关的细节加进模型中,直至最终用程序实现模型2。3.3.1系统流程图系统流程图是概括地描绘物理系统的传统工具。它是用图形符号以黑盒子形式描绘出组成系统的每个部件。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序 流程图。预约用户使用该系统进行实验预约,每一次预约信息
40、的变化称为一个事务,由用户通过预约输入到计算机中;系统中的实验预约程序对事务进行处理,更新存储在预约信息中。最后由管理员审批安排实验。图3-1描绘了上述系统的概貌。注意图中每个符号用黑盒子形式定义了组成系统的一个部件,然而并没有指明每个部件的具体工作过程;图中的箭头确定了信息通过系统的逻辑路径(信息流动路径)。图3-1 基本系统流程图3.3.2 数据流图数据流图是系统的逻辑模型,然而任何计算机系统实质上都是信息处理系统,也就是说计算机系统本质上都是把输入数据变换成输出数据。因此,任何系统的基本模型都由若干个数据源点/终点以及一个处理组成,这个处理就代表了系统对数据加工变换的基本功能。对于这个系
41、统画出图3-2这样的基本系统模型。图3-2 实验预约系统的基本系统模型从这个基本系统模型出发开始画功能级数据流图,把基本系统模型细化,描绘系统的主要功能。预约实验和审批实验是系统必须完成的两个主要功能,它们将替代图3-2中的预约系统。此外,细化后的的数据流图中还增加了两个数据存储:处理事务需要实验室状态数据;审批预约和处理事务在两个不同时间,因此需要存储预约信息。还有另外两个数据流,它们与数据存储相同。这是因为从一个数据存储中取出来的或放进去的数据通常和原来存储的数据相同,也就是说,数据存储和数据流只不过是同样数据的两种不同形式。如图3-3预约系统的功能级数据流图所示。在图3-3中给处理和数据
42、存储都加了编号,这样做的目的是便于引用和追踪。图3-3 系统的功能级数据流图接下来应该对功能级数据流图中描绘的系统主要功能进一步细化。考虑通过系统的逻辑数据流:当发生一个事务时必须首先接收它;对后按照事务的内容修改实验室状态;然后写入预约信息中。因此,把实验预约这个功能分解为下述3个步骤,这在逻辑上是合理的:查看实验室状态、添加预约、取消预约。如图3-4所示。图3-4 系统的功能级进一步分解的数据流图3.4 系统运行环境运行JSP的服务器端的要求,如表3-1所示表3-1 服务器端配置操作系统需要安装的J2SDK TomcatWindows 98J2sdk-1_4_1_01 Tomcat 4.0
43、以上Windows NT 4.0 ServerJ2sdk-1_4_1_01 Tomcat 4.0以上Windows 2000J2sdk-1_4_1_01 Tomcat 4.0以上Windows XPJ2sdk-1_4_1_01 Tomcat 4.0以上 4 系统设计4.1 系统设计思想本系统采用三层架构设计,它的工作原理如图4-1所示。图4-1系统工作原理图采用三层构架以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可
44、。4.2 系统功能模块图根据需求分析得到系统的总体结构图,如图4-2所示。本系统工作在Web浏览器/服务器模式(Browser/Server,简称B/S) 模式下。实际上是一种三层模型,包括前台用户窗口、后台数据库和中间应用程序。用户窗口围绕主页进行展开,主页采取自顶向下的规则进行,逐级分解功能进行链接。本程序采用jsp和数据库技术结合编程。本系统设计思想基于以上实验预约的需求分析,将系统分为以下五大功能模块。 1、 系统登录模块 该模块包括超级管理员、普通管理员、教师用户、学生用户的系统登录,每一个系统用户都拥有事先分配好的用户名和密码,不同类型的用户只能访问各自工作领域内的相关页面。2、
45、超级管理员模块超级管理员可以对系统进行管理,主要是对实验室、普通管理员、教师信息、学生信息的维护,以及对实验进行管理,此外还可以发送邮件,管理留言求助。3、 普通管理员模块普通管理员可以查看实验室信息、教师信息,以及进行留言管理和实验管理。4、 教师用户模块 教师进入系统后就进入预约页面,包括任意预约、取消预约和查看预约情况。另外教师还可以进行留言求助和修改个人信息。5、 学生用户模块 学生进入系统后就进入预约页面,包括任意预约、取消预约和查看预约情况。学生也可以进行留言求助和修改个人信息。图4-2 系统功能模块图5 数据库设计5.1 数据库设计原则一致性原则:对信息进行统一系统的设计,协调好
46、各数据,保证系统数据的一致性和有效性。完整性原则:数据库的完整性是数据库的正确性和相容性。要防止合法用户在使用数据库用数据库造成数据泄露,更改和破坏。要有认证和授权机制。可伸缩性原则:数据库结构的设计应充分考虑发展的需要,移植的需要,具有良好的可扩展性,伸缩性和适度繁琐度。规范化数据库的设计:应遵循规范化理论,程度过低,可能会存在插入。删除异常,修改复杂,数据繁琐的问题,解决的方法就是对关系模式进行分解或合并,转换成高级范式。范式有六个级别:1NF,2NF,3NF,BCNF,4NF,5NF。但是也应当注意到,并不是规范程度越高就越好。当一个应用的查询中经常涉及到两个或两个以上的关系模式的属性时
47、,系统就必须经常地进行连接运算,而连接运算的代价是非常高的。所以,在具体应用时的规范化程度需要权衡利弊。一般而言,做到第三范式就足够了。5.2 数据库需求分析根据前面的分析得,系统的实体-联系图为5-1,预约用户教师和学生的关系是多对多,一个教师可以预约多个实验室,因为一个教师有可能教几个班级的课;一个学生代表一个班集体进行实验预约预约,与实验室的预约关系是一对一的关系。因为一个班级一次只能预约一次实验室。图5-1 实体间关系的ER图1、教师实体图如图5-2所示。教师实体信息包括教师编号、教师姓名、教师密码、邮箱、所属学院、电话、住址、性别。图5-2教师实体图 2、 学生实体图如图5-3所示,主要信息包括学号、姓名、密码、班级、学院、邮箱、性别、电话。图5-3学生实体图3、 实验室实体图如图5-4所示,主要信息包括实验室编号、实验室名、实验室现状态、设备数量。图5-4实验室实体图4、管理员实体图如图5-5所示
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100