资源描述:
《航空售票系统设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
摘要随着网络技术尤其是基于浏览器的WEB技术的迅速发展,人们越来越多的通过WEB进行各种各样的活动,从电子商务到各种公共信息服务等等。这种基于Browser/Server结构的系统提供的服务方便、快捷,是人们快速获得各种服务的理想途径。航空售票系统正是在这种背景下应运而生。本系统开发是以Dreamweaver、和SQLSERVER2008数据库来开发的为开发工具进行面向对象程序设计,系统中的所有模块均利用JSP、Servlet技术和先进的数据库连接池技术进行开发。本文首先对系统开发目标和用户需求进行了分析,然后给出系统的总体设计方案。系统主要包含的模块是:用户信息管理、管理员模块、用户留言模块、订退票模块、查询模块等。各个模块都分前端网页设计和后台数据库管理,在以JSP技术设计好前端网页的基础上,利用ODBC-JDBC桥访问后台数据库,对数据进行查询、修改、删除等操作,以功能模块为单位详细叙述了航空售票系统的实现过程。该系统要解决的是机票预定管理中所要解决的问题,可以满足航空售票系统的基本要求。能根据用户的需求,快捷方便的为用户提供服务。关键词WEB技术;JSP;Servlet;系统设计;航空售票系统47 AbstractWiththefastdevelopmentofnetworktechnologyespeciallybasedonwebbrowser,moreandmorepeoplegetintouchwithweb,suchase-commerce,variouspublicinformationservicesandsoon.Theserviceproducedbythesystemwhichbasedonserver/browserarchitectureisconvenience.Bythisidealapproach,peoplecangainvariousservicesquickly.Airmanagementsystemisinthiscontextcameintobeing.Thissystemisbasedontheobject-orientedprogramusingDreamweaverasthepagesimplement.AlmostallthestencilsofthissystemutilizeJSPtechnologyandadvanceddatabankconnectiontechnologytoexploit.Mythesisanalyzedtheaimofthissystemandtherequirementofusersfirstly,andthenputoutthewholedesignproject.Everystencilcanbedividedintothedesignofwebpageinthefront-endandthemanagementofdatabaseintheback-end.Designthewebpagewellinthefront-endwithJSPServlettechnology,thenuseODBC-JDBCBridgetovisitthedatabaseintheback-endwhichtakesactionofinquiring,amendinganddeletingtothedata.Developsunceasinglyalongwiththehumansocietyandprogresses,thenetworkisplayingmoreandmoreimportantroleinpeople'sdailylife.Isfollowingtheinformationcontentwhichandtothenetworkdependencethepeoplegrowdaybyday,aswellasintheWebservicecontainshugeinformationcontent,thepeopleregardingthenetworkconveniencequick,interactive,aswellasthesecureanticipationarealsogettinghigherandhigher.TheWEBtechnologyon-lineJSPectsandsoonsaleandelectroniccommerceobtainedthepromotionvigorously,enormousimpetussocialeconomydevelopment.Thissystemcanactaccordingtotheuserthedemand,whatfacilitatesquicklyistheuserprovidestheservice.KeywordsWEBtechnologyMyEclipseSystemdesignAirplaneticketpredeterminedsystem47 目录摘要.........................................................................................................................IAbstract.......................................................................................................................II第1章绪论...............................................................................................................11.1课题背景11.2目的意义11.3系统设计思想11.4系统开发环境21.4.1JSP简介21.4.2Dreamweaver简介21.4.3MicrosoftSQLServer2008简介31.4.4Tomcat简介31.4.5MyEclipse简介3第2章可行性分析....................................................................................................42.1经济可行性42.2技术可行性52.3操作可行性52.4系统流程图52.5本章小结6第3章需求分析.........................................................................................................73.1系统概述73.2需求分析73.3航空售票管理系统功能及性能需求73.4用户界面需求93.4.1数据流图93.4.1数据字典123.5本章总结17第4章总体设计.......................................................................................................184.1系统模块总体设计184.2数据库设计194.2.1数据库设计概述194.2.2数据分析204.3数据库的详细设计204.3.1数据库的E-R图的设计214.4数据表设计2347 4.4本章小结26第5章详细设计与实现.........................................................................................275.1系统运行平台275.2网页主界面设计与实现275.3主要功能界面285.4本章总结30第6章软件测试.....................................................................................................316.1软件测试的测试的步骤316.2软件测试的主要内容316.3功能模块测试326.3.1注册模块测试326.3.2个人信息修改模块测试346.3.3添加航班模块测试356.4本章总结36结论.......................................................................................................................37致谢.......................................................................................................................38参考文献.....................................................................................................................40附录1译文.................................................................................................................43附录2英文参考资料................................................................................................474747 第1章绪论1.1课题背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用。近年来,随着Internet的蓬勃发展,电子商务也在迅速崛起,电子商务是利用Internet提供的信息网络在网上进行的商务活动。网上订票也是电子商务的一种,它变了传统的买卖双方面堆满的交流方式,打破了旧有的工作经营模式,它通过网络使航空公司面对整个世界,为用户提供24小时的全天候服务。航空售票管理系统是一种新兴的现代商务方式,近几年来得到了迅速发展,显示了巨大的现代商业价值,将会成为数字化社会的一种重要体现。1.2目的意义航空售票管理系统突破了传统商务在时间、地域上的限制,成为了方便快捷、安全可靠的新兴电子化商务活动模式,使网上订票活动更加安全、可靠、快速、明确、方便。对航空公司来说航空售票管理系统既能扩大服务范围,扩大公司影响,减少营业费用,有对稳固航空公司的客源有着重要的辅助作用,站在旅客的角度,航空售票管理系统提供了更多的方便,节省了更多时间。航空售票管理系统可以改善航空公司服务质量,优化航空公司流程,创造和提升航空公司品牌优势,提升信息化的水平。1.3系统设计思想本系统中,航班的查询和管理是重点,在管理过程中,要通过客户端和信息数据库的联系,及时乘客提供准确的信息,快速进行订票,同时,能够更新机场,航班,乘客等信息。综合功能和操作性的考虑,本系统采用B/S结构。47 本系统一共分为五大模块,每个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而已。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。1.4系统开发环境本次设计的实现主要需要JSP、MyEclipse和Dreamweaver以及MicrosoftSQLServer2008等相关技术和工具的支持1.4.1JSP简介JavaServer Pages技术提供了一种简单快速的方法来创建显示动态生成内容的 Web 页面。由业界处于领先地位的 Sun 公司制定了相关的 JSP 技术规范,该规范定义了如何在服务器和 JSP 页面间进行交互,还描述了页面的格式和语法。JSP 技术的工作原理:JSP 页面使用 XML 标签和 scriptlets(一种使用 Java 语言编写的脚本代码),封装了生成页面内容的逻辑。它将各种格式的标签(HTML 或者 XML)直接传递回响应页面。通过这种方式,JSP 页面实现了页面逻辑与其设计和显示的分离。JSP 技术是 Java 系列技术的一部分。JSP 页面被编译成 servlets,并可能调用 JavaBeans 组件 或 Enterprise JavaBeans 组件(企业 beans),以便在服务器端处理。JSP的优点是:可移植性,支持多种平台,可以使用多种WEB服务器;使用JAVA脚本语言,面向对象的编程思想;JSP组件是跨平台可重用的;可伸缩性好,可由多台服务器进行集群和负载均衡、事务处理及消息处理;多种功能强大的开发工具。因此,JSP 技术在构建可升级的基于 web 的应用程序时扮演了重要角色。1.4.2Dreamweaver简介Dreamweaver是Macromedia公司出产的一套专业级的网页编辑软件,它使用图形用户接口,能轻而易举地以所见即所得的方式编辑网页,具有即时编辑HTML源代码、制作DynamicHTML的源代码、层叠式样式表(CascadingStyleSheet,CSS)、Layer、Timeline(时间轴)、Library、Template(模板)、网站管理功能,它是一套脱离一般网页编辑器框架的优秀网页管理与制作工具,能够最大限度减轻网站管理员的负荷。47 Dreamweaver具有强大的网页编辑功能,它集成了完善的文字编辑窗口,方便用户编辑网页源代码,并能方便地对JavaScript进行编辑、修改等操作。同步化的网页设计与HTML源代码的查看功能,增加了用户操作的易用性、全新的版面配置设计、对象自动分类管理、与Fireworks4的充分结合、提供内置的Flash文字与按钮等功能,更加强化了Dreamweaver的实用性与可操作性。1.4.3MicrosoftSQLServer2008简介SQLServer2008是Microsoft公司推出的大型数据库管理系统,它建立在成熟而强大的关系型基础上,可以很好的支持客户机/服务器网络模式,能够满足各种类型的企事业单位对构建网络数据库的需求。它具有易用性、可扩展性、可靠性等特点,是目前使用最为广泛、普及率最高的数据库管理系统之一。1.4.4Tomcat简介Tomcat是一个免费的开源的Serlvet容器。在Tomcat中,应用程序的部署很简单,只需将WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能。1.4.5MyEclipse简介MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用服务程序器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。47 第2章可行性分析可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可。主要目标是进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出开发系统的初步方案与计划。经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要遇到的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。2.1经济可行性与传统的航空订票方式相比,该系统突破了传统商务在时间、地域上的限制,成为了方便快捷、安全可靠的新兴电子化商务活动模式,使网上订票活动更加安全、可靠、快速、明确、方便。对航空公司来说航空售票管理系统既能扩大服务范围,扩大公司影响,减少营业费用,有对稳固航空公司的客源有着重要的辅助作用,站在旅客的角度,航空售票管理系统提供了更多的方便,节省了更多时间。另外,系统运行所需要的硬件条件在今天是很容易得到满足的。作为其开发和运行的软件工具也是再普遍不过了的。因此,此系统在经济上是完全可行的,从以上的分析可以看出,数据库采用MicrosoftSQLServer2008,网页设计采用JSP技术,以Tomcat为Web服务器,采用B/S体系结构设计本系统,无论是在功能上、技术上还是在经济上都是不错的设计方案。经济的可行性主要是对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。首先,航空售票系统不仅可以让用户省时省力,而且可以实现低成本,简单操作,这必然会受到求职者的青睐。因此它的经济状况和投资能力完全可行。其次,分析系统的开发、运行和维护费用,主要包括软硬件设施、开发费用、人员费用、材料费用等。这项设计由学生开发,所以相比一个大型的软件开发费用,是比较低廉的。47 2.2技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是JSP开发语言,调试相对简单,JSP的优点是可移植性,支持多种平台,可以使用多种WEB服务器(Apache,IIS,PWS),JSP组件是跨平台可重用的,可伸缩性好。JSP 技术由于使用可重用的组件和标签取代了对页面本身脚本语言的严重依赖,JSP 技术大大加快了开发的速度,减少了系统开发的工作量。数据库MicrosoftSQLServer2008提供了各种各样的特性来管理数据,它是真正的客户机/服务器体系结构,它提供图形化用户界面,使系统管理和数据库管理更加直观、简单,为JSP提供了专门的连接数据库的ODBC-JDBC驱动程序。Tomcat服务器支持全部JSP以及Servel规范,是免费的Web服务器,它不仅提供了静态的HTML网页,它也可以运行程序来响应用户的请求,并将动态产生的结果传回到用户的浏览器。因此将Tomcat当作Web服务器是很好的选择。本系统的开发,已无技术上的问题。2.3操作可行性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,充分考虑系统当前和未来承受的工作量,使系统的处理能力和响应时间能够满足客户需求。设计开发过程中一直注重良好的人机交互界面,给用户以友好的感觉,操作简单易学,都很人性化,方便各个年龄阶段的人进行操作,所以操作方式在用户中行得通。2.4系统流程图用户如果不是会员,在订票前要先注册成会员,然后登录才能购买所需要的机票,会员可以根据所需修改个人信息,发布留言,修改订票信息;管理员登录后可以对航班,订票,留言,会员等信息进行修改。本系统的流程图描述如图2-1所示:47 图2-1系统流程图2.5本章小结本章主要对系统开发的可行性进行具体的分析,从经济、技术、运行、法律、时间等多方面考虑本系统是否可行,主要通过有力的数据和软件运行环境方面作为依据。通过经济可行性、技术可行性、操作可行性等方面的分析说明本工程的技术成熟、完备,具有良好的市场拓展。47 第3章需求分析所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求。需求分析是软件设计的一个重要的环节。本阶段对系统管理系统的应用情况作全面调查,以确定系统目标。确定用户的需求。用户对系统的需求我们从以下几方面进行分析。3.1系统概述本系统一共分为五大模块,每个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而已。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。依据上述功能的分析,系统在每一大模块又分为几个模块:1.用户信息管理:用于用户的信息管理。2.查询模块:负责根据用户输入的各种条件快速查找符合用户要求的航班。3.订退票模块:用户对航班进行订退操作。4.用户留言模块:负责接受并记录用户的留言信息。5.管理员模块:用于用户、订单及航班信息的添加,删除,修改等管理。3.2需求分析为了保证系统能够长期、安全、稳定、可靠、高效的运行。系统处理的准确性和及时性是系统的必要性能。由于本系统的添加功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。3.3航空售票管理系统功能及性能需求47 客户首先根据自己注册的信息登录,根据自己需要的航班信息进行相关查询,查到自己所需要的航班后根据自己需要,订购自己的机票,如果因为什么原因需要退票,还可进行退票。客户还可以根据实际情况进行相关信息的修改,一遍保证自己的信息安全。管理员可以登录后台进行相关信息的修改,根据实际情况增加航班,取消航班,处理用户注册信息,管理航空公司等,还可以对用户留言,对系统信息进行管理。根据航空公司的需要,系统应当包含基本的功能有:用户注册、用户登录和管理员登录,航班查看等。用户则划分为基本乘客和管理员两大类,管理员还兼具有管理职能。为了保证系统能够长期、安全、稳定、可靠、高效的运行,航空售票系统应该满足以下的性能要求:1.系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。由于航空售票系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而机票数量和时间又影响企业的决策活动,其准确性很大程度上决定了航空售票系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。2.系统的开放性和系统的可扩充性航空售票系统在开发过程中,应该充分考虑以后的可扩充性。例如订票系统的方式的改变(网上订票),用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3.系统的易用性和易维护性47 航空售票系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。航空售票系统中涉及到的数据是航空公司的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。1.系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。2.系统的先进性目前计算系统的技术发展相当快,作为航空售票系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。3.4用户界面需求为了方便用户的操作,实现简单实用的目的,该系统用简单明了的界面操作以及错误处理,对用户友好,让顾客满意,便于用户的购买。3.4.1数据流图前台主要是客户操作,客户根据注册信息登录后,根据所需订购、查询以及预定机票,数据流图如图3-1所示:用户登录后,可以对自己的信息进行管理,修改密码,修改个人资料以及修改预定信息,数据流图如图3-2所示:查询管理,客户根据需要进行的航班查询,用户可以国内查询航班,查询国际航班,以及根据具体信息整体查询,数据流图如图3-3所示:后台管理员管理,主要对后台的航班,管理员信息,客户信息,预定信息进行管理,比如根据所需添加临时航班,修改航班信息或者对长时间未使用的客户进行删除操作。数据流图如图3-4所示:47 图3-1前台数据流图图3-2旅客信息操作流程图47 图3-3查询数据流图图3-4后台数据流图管理员信息管理,管理员对自己信息进行的管理,执行添加删除等操作,数据流如图3-5所示:47 图3-5管理员信息管理数据流图航班管理,管理员跟据实际情况对航班进行管理,增添、修改。删除等操作,数据流图如图3-6所示:图3-6航班管理数据流图3.4.1数据字典1.数据项定义,如表3-1所示:表3-1 系统数据项的定义编号字段名描述类型是否为空IO-01username账户名varchar(50)否IO-02password密码varchar(100)否IO-03regtime申请时间datetime否47 续表3-1IO-04ifuse是否在用int否IO-05logintimes登录时间int否IO-06lasttime上次登录datetime否IO-07lastip登录ipvarchar(50)否IO-08username账户名varchar(50)否IO-09password密码varchar(100)否IO-10createtime创建时间datetime否IO-11isuse是否在用int否IO-12logintimes登录时间datetime否IO-13quanxian权限varchar(100)否IO-14type类型varchar(50)否IO-15splace航线varchar(10)否IO-16stime起飞时间datetime否IO-17etime结束时间datetime否IO-18price经济价格float否IO-19cprice头等价格float否IO-20mprice商务价格float否IO-21dz状态varchar(50)否IO-22planenum航班号varchar(50)否IO-23fromplace起发地点varchar(15)否IO-24toplace到达地点varchar(15)否IO-25cnum头等数量int否IO-26mnum商务数量int否47 续表3-1IO-27num经济数量int否IO-28mid密码int否IO-29realname真实姓名varchar(15)否IO-31sex性别varchar(50)否IO-32bir出生datetime否IO-33sheng贯籍varchar(50)否IO-34city城市varchar(50)否IO-35telphone电话varchar(50)否IO-36email邮件varchar(50)否IO-37question问题varchar(50)否IO-38answer答案varchar(50)否IO-39pid编号int否IO-40member账户名varchar(50)否IO-41price经济票数int否IO-42cprice头等票数int否IO-43mprice商务票数int否IO-44addtime到达时间datetime否IO-45zhname真实姓名varchar(50)否IO-46addr地址varchar(50)否IO-47tel电话varchar(50)否2.数据流名词条描述:数据流名称:订票信息描述:记录旅客的旅行时间和目的地,用于确定旅客航班定义:订票信息=订单号+身份证号+航班号+订票日期+票价47 订单号:4{数字}4身份证号:18{数字}18航班号:2{字母}2+4{数字}4订票日期:4{数字}4+/+2{数字}2+/+2{数字}2(例:2011/01/10)票价:0{数字}4数据流来源:修改航班信息、安排航班数据流去向:输入到航班机票管理数据流名称:旅客信息描述:记录旅客的个人信息及旅客要求航班信息,用于对旅客的确认及安排航班定义:旅客信息=身份证号码+姓名+性别+城市+旅行时间+始发地点+目的地+出生日期+问题+答案身份证号码:18{数字}18姓名:4{字符}20性别:2{字符}2城市:4{字符}20旅行时间:4{数字}4+/+2{数字}2+/+2{数字}2始发地点:4{字符}20目的地:4{字符}20出生日期:4{字符}20数据流来源:用户注册数据流去向:输入到订票数据流名称:航班信息描述:记录旅客的航班信息,根据旅客的旅行时间和目的地确定航班定义:航班信息=航班号+始发地+目的地+始发时间+抵达时间+头等舱票数+经济舱票数+头等舱价格+经济舱价格+商务舱票数+商务舱价格航班号:2{字母}2+4{数字}4始发地:4{字符}2047 目的地:4{字符}20始发时间:1{数字}2+:+2{数字}2+:+2{数字}2抵达时间:1{数字}2+:+2{数字}2+:+2{数字}2头等舱票数:0{数字}3经济舱票数:0{数字}3商务舱票数:0{数字}3头等舱价格:0{数字}4经济舱价格:0{数字}4商务舱票数:0{数字}43.数据流定义根据顶层数据流图中的输入和输出数据流分析顶层数据流定义的内容来源、去向以及组成。以下是对系统顶层数据流具体定义。数据流编号:D1—01数据流名称:注册信息数据流来源:用户数据流去向:P1-01数据流组成:I0-02+I0-03+IO-08+IO-09+IO-10+IO-12+IO-17数据流编号:D1—02数据流名称:用户信息数据流来源:用户数据流去向:F1-01数据流组成:I0-02+IO-17+IO-26数据流编号:D1—03数据流名称:用户名密码数据流来源:F1-01数据流去向:P1-04数据流组成:I0-02+IO-17数据流编号:D1—07数据流名称:航班47 数据流来源:F1-03数据流去向:P1-09数据流组成:I0-01+IO-02+IO-03+IO-04+IO-05+IO-06数据流编号:D1—08数据流名称:预定数据流来源:P1-02数据流去向:P1-07数据流组成:I0-33+IO-39+IO-40+IO-41数据流编号:D1—10数据流名称:查询数据流来源:P1-08数据流去向:F1-03数据流组成:I0-01+IO-02+IO-03数据流编号:D1—012数据流名称:管理员数据流来源:F1-05数据流去向:P1-08数据流组成:I0-28+IO-29+IO-30+IO-313.5本章总结需求分析报告是对系统需求的全面分析,是软件生存周期中最关键的一步,是建立软件开发的基础。本章在可行性分析的基础上根据用户的需求做了本网站的需求分析,制订了系统实施规划,确定了软件系统各模块间的关系及模块功能,根据数据之间的关系绘制了网站的数据流图并描述了数据字典,为以后的程序设计奠定的基础。47 第4章总体设计总体设计是在系统分析的基础上由抽象到具体的过程。主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案,为下一阶段系统实施提供必要的技术资料,应符合系统性、灵活性、可靠性的要求。根据需求分析,航空售票系统可以分解为前端网页和后台数据库两大部分。网页的制作采用JSP技术,以MyEclipse、Dreamweaver为开发工具,并使用先进的数据库连接池技术JDBC对数据库进行访问。数据库采用的是MicrosoftSQLServer2008,建立JOB.MDF数据库文件。4.1系统模块总体设计本系统一共分为五大模块,每个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而已。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。依据上述功能的分析,系统在每一大模块又分为几个模块:1.用户信息管理:用于用户的信息管理。2.查询模块:负责根据用户输入的各种条件快速查找符合用户要求的航班。3.订退票模块:用户对航班进行订退操作。4.用户留言模块:负责接受并记录用户的留言信息。5.管理员模块:用于用户、订单及航班信息的添加,删除,修改等管理。系统功能模块图如图4-1所示:47 图4-1系统功能模块图4.2数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库设计是建立数据及其应用系统的技术,是信息系统开发和建议中的核心技术。4.2.1数据库设计概述在设计数据库时,首先应考虑表的设计,表示关系模型中表示试题的方式,是用来组织和存储数据的。建立一个数据库应用系统,很关键的一个问题是如何把现实世界表达成适合于它们的数据库模式,这是数据库的逻辑设计问题。层次模型和网状模型的数据库设计除了遵循层次模型和网状模型的原则以及管理系统本身的规定外,主要凭设计者的经验直观地选择然后确定实体集、属性及实体集之间的关系。因此,数据表的合理划分应该是数据库设计首要解决的问题。其次要考虑表间关联,数据表间的联系就是通过键来实现的。再次要注意正确认识和处理数据冗余,为了提高系统的的空间效率和运行效率,应尽可能减少数据冗余。47 4.2.2数据分析数据分析是指通过建立审计分析模型对数据进行核对、检查、复算、判断等操作,将被审计单位数据的现实状态与理想状态进行比较,从而发现审计线索,搜集审计证据的过程。数据分析过程同数据库的逻辑结构和物理结构密切相关,需要确定、编制、组织、筛选应用程序所使用的信息。它以一种能够分析和分类的方式来捕获用户的所有信息,这使得某一模型可以直接转化成数据库结构。数据分析的目的是把隐没在一大批看来杂乱无章的数据中的信息集中、萃取和提炼出来,以找出所研究对象的内在规律。我们使用一种信息建模技术,这种技术是通过实体、关系、属性三种基本对象来定义信息。实体是需要维护和使用的相关特性的集合体;属性是实体的特性或特征;关系是实体之间的联系,关系为实体记录(实例)之间的联系和交互作用方式建立了模型。在为实体确定相关的属性过程中,也需要确定此实体的主键和索引,并且要确定在每个实体中怎样组织这些属性,确定属性的数据类型和它是否为空值。在高层次的描述过程中,还可以确定所有扩展属性信息,包括长度、格式、编辑风格、校验规则和初始值。单独实体的属性被组织起来,用户就能够开始以某一种组织方式来给实体分类。用户必须通过关系,来为实体分组的方式确定分类模式,这是抽象化的初始层,或者说是通过隐藏模糊的信息来提高对分析的理解,通过将数据分类成组,就产生了相关分组的不同类型,这样更加易于观察和分析JSP可以通过JDBC,与诸如Oracle、SQLServer这样的大型关系数据库进行连接。4.3数据库的详细设计数据库设计的任务是根据用户的信息需求、处理需求和数据库的支持环境设计出相应的的数据模式。1.信息需求:主要是指用户对象的数据及其结构,它反映数据库的静态要求。2.处理需求:47 主要是指用户对象的数据处理过程和方式,它反映数据库的动态要求。1.数据模式:是以上述两者为基础,在一定平台制约之下进行设计得到的最终产物。详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。在设计数据库时,应考虑以下事项:1.数据库的用途及该用途将如何影响设计,应创建符合用途的数据库计划;2.数据库规范化规则,防止数据库设计中出现错误;3.对数据完整性的保护;4.数据库和用户权限的安全要求;5.应用程序的性能需求,设计数据库时必须利用MicrosoftSQLServer2008中能够提高性能的功能。对于性能而言,在数据库大小和硬件配置之间权衡也是很重要的;6.数据库维护。4.3.1数据库的E-R图的设计E-R方法是“实体-联系方法”的简称。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型。E-R方法是一种用来在数据库设计过程中表示数据库系统结构的方法,该方法用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。在E-R图中,包含了实体、关系和属性等三种基本成分。实体是需要维护和使用的相关特性的集合体;属性是实体的特性或特征;关系是实体之间的联系。通过对以上系统业务流程图和数据流图的分析,确定航空售票系统全局E-R图,如图4-2所示:证件号电话47 姓名地址性别航线飞行航班号起飞时间目的地订票旅客飞机型号飞机型号旅客订票11机票价购买1n姓名1证件号航班机型1航空公司航班目的地n航班类型飞行航班号订票日期1起飞时间航班剩余票数票价到达时间出发地起飞日期图4-2E-R结构图47 4.4数据表设计1.用户注册表信息,用于存储用户信息,如表4-1所示:表4-1member(用户信息表)序号字段名数据类型长度是否主键描述1idint10是编号2usernamevarchar50用户名称3passwordvarchar100用户密码4regtimedatetime注册时间5ifuseint15是否使用6logintimesint50登录次数7lasttimedatetime上次登录8lastipvarchar50登录IP2.管理员表,用于存储管理员信息。数据表的结构如表4-2所示:表4-2admin(管理员表)序号字段名数据类型长度是否主键描述1idint10是编号2usernamevarchar50姓名3passwordvarchar50密码4creattimedatetime创建时间5Flagint10标志6isusrint10是否7logintimesint10登录时间8quanxianvarchar100权限47 3.航班表,用于存储航班信息。数据表的结构如表4-3所示:表4-3plane(航班表)序号字段名数据类型长度是否主键描述1idin50是编号2typevarchar50类型3splacevarchar50航线4stimedatetime起飞时间5etimedatetime到达时间6cnumint50商务数量7mnumint50头等数量8pricefloat50经济舱9cpricefloat50商务舱10mpricefloat50头等舱11dzfloat50状态12numint20数量13planenumvarchar50航班号14fromplacevarchar100出发地15toplacevarchar100到达地4.用户订票信息表,用于存放用户预定信息。数据表的结构如表4-4所示:表4-4pmember(用户注册信息表)序号字段名数据类型长度是否主键描述1idint50是编号2midint50密码3realnamevarchar50真实姓名47 续表4-44sexvarchar50性别5birdatetime出生日期6shengvarchar50贯籍7cityvarchar50城市8telephonevarchar50电话9emailvarchar50邮件10questionvarchar50问题11answervarchar50答案5.航空公司表用于存储航空公司信息。数据表的结构如表4-5所示:表4-5co(航空公司表)序号字段名数据类型长度是否主键描述1idin50是编号2namevarchar50名字6.预定信息表,用于存储预定信息表。数据表结构如表4-6所示:表4-6yuding(预订信息表)序号字段名数据类型长度是否主键描述1idint10是编号2pidint50年龄3membervarchar150账号4priceint10经济舱数量5cpriceint10商务舱数量6mpriceint10头等舱数量7addtimedatetime预定时间47 续表4-68zhnamevarchar100真实姓名9addrvarchar100地址10telvarchar100电话4.4本章小结本章是对本系统的总体设计,主要介绍了系统功能的设计以及网站数据库的设计。在系统功能设计中描述了本系统的各个功能模块并绘制了系统功能结构图。在数据库设计中对数据库进行了详细的设计,进行了数据库E-R图的设计和数据库表的设计等,由于本网站数据库内涉及的数据较多,所以数据库设计的时间较长。47 第5章详细设计与实现在软件的总体设计中,已将系统划分为多个,将它们按照一定的原则组装起来,同时确定了每个模块的功能及模块与模块之间的外部接口。详细设计是软件设计的重要阶段,主要确定各个模块具体执行过程。5.1系统运行平台硬件条件:酷睿2CPU、1GRAM、10G硬盘以上的PC机。软件条件:windows75.2网页主界面设计与实现首页主要为航班信息查询如图5-1所示:图5-1首页47 5.3主要功能界面1.本网站采用统一的风格,其主要的界面设计结构都采用了上中下的结构,上部分为本网站头部,其下面是主功能菜单区,包括左部功能栏和右部显示栏用于动态显示各种不同的信息。国内航班用于用户对国内航班的查询如图5-2所示:图5-2国内航班查询国际航班用于用户对国内航班的查询如图5-3所示:图5-3国际航班查询2.用户根据注册信息进行登录,登录成功后进入会员中心主界面。用户登录界面如图5-4所示:47 图5-4用户登录界面(1)用户登录程序流程描述当会员用户输入用户名和密码后首先要进行身份验证,如果用户存在,则成功登录,反之,如果用户不存在,提示错误信息“登录失败!”,返回登录界面重新输入用户名和密码。如过用户忘记自己的用户名,可以点击忘记密码,进入找回密码页面找回自己的密码。3.管理员后台用于航班信息、预订信息、用户注册信息等信息的管理。管理员后台管理如图5-5所示:图5-5管理员后台管理4.管理员航班信息管理如图5-6所示:47 图5-6航班管理5.4本章总结根据上一章的总体设计本章对网站进行了详细的设计。首先介绍了本网站的开发平台,包括开发工具、数据库开发环境和系统运行环境的介绍。然后对网站的主要模块进行了详细介绍,包括用户注册、登录、查询、订购、留言、后台管理等各个模块具体的实现目标和实现过程,并对部分模块进行了程序流程描述。47 第6章软件测试软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。经过需求分析、设计和编码等阶段的开发后,得到了源程序,开始进入到软件测试阶段。在测试之前的各阶段中都可能在软件产品中遗留下许多错误和缺陷,如果不及时找出这些错误和缺陷,并将其改正,这个软件产品就不能正常使用,甚至会导致巨大的损失。所以需要进行软件测试。6.1软件测试的测试的步骤与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:1.模块测试在这个测试步骤中所发现的往往是编码和详细设计的错误。2.系统测试在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。3.验收测试在这个测试步骤中发现的往往是系统需求说明书中的错误。6.2软件测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。1.单元测试47 单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。2.集成测试集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。3.确认测试确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。4.系统测试软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。单独对系统的测试主要从以下几方面入手:(1)功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。(2)强度测试及性能测试:测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。(3)安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。6.3功能模块测试6.3.1注册模块测试47 在用户注册模块中涉及到了三项数据,项目分别为用户名、密码、确认密码。测试这个模块准备的数据有:1.stone、123456789、1234567892.Liulei、123456789、1234567893.Love、123456789、123456789首先进入注册页面,输入第一组数据,单击注册按钮系统会提示表单信息不能为空,因为表单信息要全部填写,然后测试第二组数据,可以明显看出所输入的密码与确认密码是不一致的。接下来测试第三组数据,然后进入详细信息填写页面,真实姓名,电话,住址,邮箱等具体信息,然后提交,数据都是正确信息,因此测试成功。如图6-1所示:图6-1注册成功如果数据输入的不符合,或者有些信息没有按要求填写,会出现注册不成功,测试这个模块准备的数据有:1.stone、123456789、1234567892.Stone123、12345678、123456789首先输入第一组数据,之前已经注册过stone这个用户名,系统会提示用户名重复,请重新输入用户名;输入第二组数据,因为密码前后不一致,提示密码不一样,请输入密码,这两组数据因为个别原因导致注册不能成功。如图6-2所示47 图6-2注册不成功6.3.2个人信息修改模块测试会员在登录成功后,可以对自己的信息进行一些修改,比如登录密码的修改,个人信息的修改等操作,测试数据为:1.刘磊、男、1989-12-06、河南、郑州、14798014412、1343630043@qq.com、我是谁、刘磊修改为:2.刘磊、男、1989-12-06、河南、郑州、15114690043、1343630043@qq.com、我是谁、刘磊3.刘磊、男、1989-12-06、河南、郑州、14798014412、375859863@qq.com、我是谁、刘磊如图6-3所示:图6-3修改成功47 6.3.3添加航班模块测试添加航班功能是管理员根据实际情况添加航班,在添加航班中用到航线类型、航线航班、航线、航班号、起飞时间、降落时间、航空公司、头等舱票价、头等舱票数、经济舱票价、经济舱票数、商务舱票价、商务舱票数等数据。测设数据有:1.国际、北京-纽约、K12408、2012-11-301:1、2012-12-011:1、美国波音公司、80000、60000、50000、100、200、3002.国内、哈尔滨-广州、K12408、2012-11-301:1、2012-12-011:1、哈尔滨航空公司、8000、6000、5000、100、200、3003.国际、北京-渥太华、K12408、2012-11-301:1、2012-12-011:1、美国波音公司、80000、60000、50000、100、200、300然后提交,数据都是正确信息,因此测试成功。如图6-4所示:图6-4添加成功如果添加的航班数据有问题,比如说没有航班号等一些操作造成订票失败,测试数据:1.国际、北京-渥太华、、2012-11-301:1、2012-12-011:1、美国波音公司、80000、60000、50000、100、200、300如图6-5所示:47 图6-5添加航班失败6.4本章总结软件测试是软件开发中的重中之重,在项目管理过程中,强调的是每个过程的每一个环节都要进行测试,保证系统在每个阶段可以控制。本章着重对用户注册模块和后台管理模块进行了详细的测试说明。通过反复大量的测试,每个模块均测试成功47 结论半学期的设计,该系统的程序设计和论文撰写已经基本结束了。在此期间,根据题目要求,查阅了大量关于建设网络教学网的相关资料,切实地按照软件工程的步骤,从需求分析,概要设计,详细设计,数据库设计,再到编码,调试运行,测试等步骤。现已顺利完成各个步骤的开发工作,基本达到预期设计的要求。系统中对各个数据对象的处理最能说明MVC模式的这些特性,在系统中把每个数据对象的处理封装在一个类中,这些类在MVC模式中充当M的角色。如果要增加对某个数据对象的操作,就可以在类中为此数据对象定义处理方法,这样在其他地方就可以方便调用,这恰恰就是MVC模式扩展性好的最好证明。如果要对某个操作修改,也只须在类中对相应的方法修改即可,因此也为系统的维护提供了便利。将这些技术整合起来的时候,使该网站在健壮性、代码重用和可扩充方面上了一个新的台阶,有利于网站的维护和升级。在我的程序设计过程中,我充分的体会到了“实践出真知”这一点,书本上的知识是不够的,只有把理论与实践相结合才能够真正的学到知识。一个管理信息系统的设计,不可能一步到位,还需要不断的完善和补充。同时,系统中还存在许多问题,有待在日后的使用中发现和解决。编程前的深思熟虑是减少程序调试工作量的重要方法,只有进行充分考虑,才会减少调试过程中的工作量。虽然在开始写程序之前我们做了多的准备工作,但在真正的写程序时仍然发现许多问题,有些问题是分析时的疏漏,有些则是如果不做无论如何也想不到的。47 致谢在本次毕业设计过程中,得到了指导老师的指导与支持。在此特别感谢刘月兰老师的大力帮助。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我们小组顺利完成这次毕业设计起到了关键性的作用。我还要感谢我的母校——哈尔滨华德学院,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。转眼间,大学生活即将结束,回首过去四年的大学生活,真是有苦也有乐,然而更多的则是收获,感谢母校的各位老师不但无私地传授给我们知识,也教会了我们如何做人。管理信息系统专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感到自己的知识得到了一次升华,我相信:我的毕业设计会给我的四年大学画上一个圆满的句号。21世纪已经到来了,在新的世纪里,人们自然对未来有许多美好的愿望和设想。现代科学技术的飞速发展,改变了世界,也改变了世界的生活。作为新世纪的大学生,应当站在世界的发展前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。新世纪需要具有丰富现代科学知识、能够独立解决面临任务、有创新意识的新型人才。47 参考文献1 刘遵仁,于忠清.SQLSever中文版基础培训教程.人民邮电出版社,2007:80-902 刘智勇.sqlserver2005宝典.电子工业出版社,2007:5-1583王路群.基于Java的高级程序设计研究.Java科技报.2006:50-604 刘智勇.sqlserver2005宝典.电子工业出版社,2007:5-1585BruceEckel.ThinkingInJava.机械工业出版社,2007:150-1706 KennethFKrutsch,(美)DividSCargo.Java用户界面编程指南.电子工业出版社,2006:100-1107 黄理,洪亮,曹林有.JSP高级编程-编程高手成长之路.北京希望电子出版社,2006:56-758 (美)Flanagan,D.JavaScript:TheDefinitiveGuide,2001:132-1409 黄开枝,冉晓旻.SQL实用教程第二版.清华大学出版社,2006:86-9510(美)Schildt,H.Java:theCompleteReference.2006:47-5611周亚辉.Java数据库系统项目开发实践.北京科学出版社,2007:171-18312 赵文靖.数据库系统基础教程.清华大学出版社,2001:32-4813王国辉,牛强,李南南.JSP信息系统开发实例精选.机械工业出版社,2005:46-5914ArnoldDoray.JSPTechnology.ApressL.P,2005:32-7815 吴其庆.JSP数据库系统开发完全手册.人民邮电出版社,2006:61-9816柳永坡,刘雪梅,赵长海.JSP应用开发技术.人民邮电出版社,2005:56-13247 附录1译文Jsp技术JSP(JAVASERVERPAGES)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有其强大而别特的功能,他主要用于创建可支持跨平台及跨Web服务器的动态网页。JSP可与微软的ActiveServerPages(ASP)相媲美,但JSP使用的是类似于HTML的标记和Java代码片段而不是用VBScript。当你使用不提供ASP本地支持的Web服务器(例如Apache或Netscape服务器)时,你就可以考虑使用JSP了。JavaServerPages技术可以让web开发人员和设计人员非常容易的创建和维护动态网页,特别是目前的商业系统。作为JavaTM技术的一部分,JSP能够快速开发出基于web独立平台的应用程序。JSP把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。那么什么是JavaServerPage呢?简单的说,一个JSP网页就是在HTML网页中包含了能够生成动态内容的可执行应用程序代码。此应用程序可能包含JavaBeanTM,JDBCTM对象,EnterpriseJavaBeanTM(EJB)和RemoteMethodInvocation(RMI)对象,所有的部分都可以非常容易的从JSP网页上访问到。例如,一个JSP网页可以包含HTML代码所显示的静态文本和图像,也可以调用一个JDBC对象来访问数据库;当网页显示到用户界面上以后,它将包含静态HTML内容和从数据库中找到相应的动态信息。在JSP网页中,要把用户界面和应用程序分开可以考虑在网页设计人员和开发人员之间执行一个非常方便的授权任务。它也允许开发人员去建立灵活的代码,从而非常容易的进行更新和重复利用。由于JSP网页能够根据需要自动进行编译,web设计人员无须重新编译应用程序逻辑就可以改变表述代码。这也使得JSP与Javaservlet(它是JavaSeverPages功能的扩展)相比成为一种可以更灵活生成动态web内容的方法。47 在Sun正式发布JSP(JavaServerPages)之后,这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照Sun的说法,JSP能够适应市场上包括ApacheWebServer、IIS4.0在内的85%的服务器产品。即使您对ASP或PHP、CGI一往情深,我们认为,关注JSP的发展仍旧很有必要,这是基于以下的比较分析。JSP与Microsoft的ASP、PHP技术非常相似。ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是他们最明显的区别。此外,ASP、PHP与JSP还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。事实证明,JavaServlet是一种开发Web应用的理想构架。JSP以Servlet技术为基础,又在许多方面作了改进。利用跨平台运行的JavaBean组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。JSP必将成为其它动态网页技术的有力竞争者。JSP技术特点:1.将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。2.强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise47 JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。3.采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。47 附录2英文参考译文JspTechnologyJSP(JAVASERVERPAGES)wasinitiatedbySunMicrosystemsInc.,alongwithanumberofcompaniesinvolvedintheestablishmentofadynamicweboftechnicalstandards,itsdynamicpage-buildinghasitsstrongandotherspecialfunctions,heusedtosupportthecreationofaninter-Cross-platformWebserveranddynamicpages.JSPwithMicrosoft'sActiveServerPages(ASP)match,buttheuseofJSPissimilartotheHTMLtagsandJavacodefragment,ratherthanusingVBScript.WhenyouuseASPtoprovidesupportforthelocalWebserver(suchasApacheorNetscapeserver),youmaywanttoconsiderusingtheJSP.JavaServerPagestechnologyallowswebdevelopersanddesignersareveryeasytocreateandmaintaindynamicwebpages,especiallythecurrentbusinesssystems.JavaTMtechnologyasapartof,JSPquicklydevelopedbasedontheweb,platform-independentapplications.JSPuserinterfacetothesystemfromthecontenttoleavethemiddlesothatdesignerscannotchangetheunderlyingdynamiccontentonthepremiseoftheentirepagelayoutchanges.SowhatdoesitJavaServerPage?Inshort,aJSPpageisincludedintheHTMLpagestogeneratedynamiccontentoftheapplicationexecutablecode.ThisapplicationmaycontainJavaBeanTM,JDBCTMobject,EnterpriseJavaBeanTM(EJB)andRemoteMethodInvocation(RMI)objects,allcanbepartofaveryeasyfromtheJSPpagetovisit.Forexample,aJSPpagecancontainHTMLcodeshowninstatictextandimagescanalsobeacalltoJDBCaccesstodatabaseobjects;whenthepagedisplaytotheuserinterface,whichwillincludestaticHTMLcontentfromthedatabaseandfindthecorrespondingdynamicInformation.IntheJSPpage,theuserinterfaceisnecessaryandapplicationscanbeconsideredseparatelyfromthewebdesignersanddevelopers47 averyconvenientbetweentheimplementationofthemandate.Italsoallowsdeveloperstobuildflexiblecode,whichisveryeasytoupdateandre-use.AstheJSPpageasneededtoautomaticallycompile,webdesignersnoneedtorecompiletheapplicationlogicwillbeabletochangethecodestatements.ThisalsomakesJSPandJavaservlet(itisafunctionoftheexpansionofJavaSeverPages)comparedtoamoreflexibleanddynamicgenerationofwebcontent.SunpublishedintheofficialJSP(JavaServerPages),thisnewWebapplicationdevelopmenttechnologyquicklyattractedattention.JSPtocreateahighlydynamicWebapplicationprovidesauniquedevelopmentenvironment.InaccordancewithSun'sview,JSPbeabletoadapttothemarket,includingtheApacheWebServer,IIS4.0,85%oftheserverproducts.EvenifyourASPorPHP,CGIpassion,webelievethatconcernthedevelopmentofJSPisstillnecessary,whichisbasedonthecomparativeanalysis.JSPandMicrosoft'sASP,PHPisverysimilartothetechnology.ASPisaprogramminglanguagelikeVBScriptscriptinglanguage,JSPusingJava,thisisthemostobviousdifferencebetweenthem.Inaddition,ASP,PHPandJSPhasamoreessentiallydifferent:thetwolanguageswiththeenginecompletelydifferentapproachembeddedinthepagecode.ASPinthenext,VBScriptcodewasexplainedthatimplementationoftheASPengine;intheJSP,thecodewascompiledbytheServletimplementationoftheJavaVirtualMachine,whichoperateonlyinthecompilationofJSPpagesforthefirsttimewhentherequest.Factshaveprovedthat,JavaServletisaWebapplicationdevelopmentframeworkfortheideal.JSPtoServlettechnology,butalsoinmanywaysbeenimproved.Theuseofcross-platformrunningJavaBeancomponents,JSPfordealingwithseparationoflogicandstyleshowprovidesasuperiorsolution.JSPisboundtobecomeadynamicwebtechnologytootherpowerfulcompetitors.JSPTechnicalCharacteristics1.Thecontentwillbegeneratedanddisplayedforseparation47 TheuseofJSPtechnology,WebpagedeveloperscanuseHTMLorXMLformatandlogodesigntothefinalpage.JSPlogoortheuseofboundfeetwouldhavetogeneratedynamiccontentonthepage.ContentgeneratedbythelogicofthelogoandpackagingJavaBeanscomponents,andtiedupinasmallscript,thescriptallrunningontheserverside.IfthecorelogicispackagedintoalogoandBeans,thenothers,suchasmanagersandWebpagedesigners,editorsandbeabletousetheJSPpage,withoutaffectingthecontentofthegeneration.Ontheserverside,JSPengineexplainedJSPscriptlogoandsmall,generatedbythecontentsoftherequest(forexample,byvisitingJavaBeanscomponents,theuseoftechnologyJDBCTMaccessthedatabase,orfilethatcontains),andtheresultswillbeinHTML(orXML)intheformofthepageSentbacktothebrowser.ThiswillhelpauthorstoprotecttheircodewithoutanyguaranteethattheHTML-basedWebbrowser,fullavailability.2.EmphasisonreusablecomponentsThevastmajorityofJSPpagesrelyonreusable,cross-platformcomponents(JavaBeansorEnterpriseJavaBeansTMcomponents)tocarryouttherequiredapplicationismorecomplextodealwith.Developerstoshareandexchangetheimplementationofthegeneraloperationofthecomponents,orcomponentstomakethemmoreuserorcustomergroupsused.Component-basedapproachtoacceleratetheoveralldevelopmentprocessandmakeallkindsoforganizationsintheirexistingskillstodevelopandoptimizetheresultsofeffortstostrikeabalance.3.LogousedtosimplifythedevelopmentofthepageWebpagedevelopersarenotfamiliarwiththescriptinglanguageprogrammers.JavaServerPagetechnologypackageanumberoffunctionsineasy-to-use,XMLandJSPrelatedtotheidentificationofdynamiccontentgenerationneeds.JSPstandardofidentityandaccesstoexamplesofJavaBeanscomponents,orsetuptoretrievecomponentproperties,todownloadApplet,aswellasinotherwaysmoredifficultandtime-consuming47 coding.ThroughthedevelopmentofcustomizedIDdatabase,JSPtechnologycanbeextended.Inthefuture,third-partydevelopersandotherscanbeusedtocreatetheirownlogolibrary.ThisWebpagedeveloperscanusefamiliartoolsandthesamelogoastheimplementationofthespecificfeaturesofthecomponentstowork.JSPtechnologycaneasilybeintegratedintoavarietyofapplicationsinarchitecturetotakeadvantageofexistingtoolsandtechniques,andcanbeextendedtosupportenterprise-classdistributedapplications.UseofJavatechnologyaspartofthefamily,aswellastheJava2(EnterpriseArchitecture)asanintegralpartof,JSPtechnologycansupportahighdegreeofcomplexWeb-basedapplications.47 附录2英文参考资料47