毕业设计论文IBM认证管理系统的设计与实现.doc

上传人:laozhun 文档编号:3975766 上传时间:2023-03-30 格式:DOC 页数:51 大小:777KB
返回 下载 相关 举报
毕业设计论文IBM认证管理系统的设计与实现.doc_第1页
第1页 / 共51页
毕业设计论文IBM认证管理系统的设计与实现.doc_第2页
第2页 / 共51页
毕业设计论文IBM认证管理系统的设计与实现.doc_第3页
第3页 / 共51页
毕业设计论文IBM认证管理系统的设计与实现.doc_第4页
第4页 / 共51页
毕业设计论文IBM认证管理系统的设计与实现.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《毕业设计论文IBM认证管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计论文IBM认证管理系统的设计与实现.doc(51页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文)说明书学 院 软件学院 专 业 软件工程 年 级 07级 姓 名 指导教师 年 月 日毕业设计(论文)任务书一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。)IBM与天津大学每年都会联合举办若干场IBM全球认证考试,其中包括考试的预告,报名,收费管理,到考试辅导,成绩管理,用户信息管理等需要一套完整的管理系统。另外,随着部分与IBM合建的课程由IBM颁发结课证书,结课证书的申请、发放等全程也需要有一套管理系统。本题目正是针对上述需求提出。Web系统的开发在业界已经有了相当长的时间。这么长时间以来,web系统的开发已经有了比较成熟的架构。尤其是基于JAVA

2、的web系统,业界已经有了一套相当成熟的整合开发框架。SSH(struts+spring+hibernate)整合框架在多年的实践应用中,已经发展的相当成熟了。而基于SSH的四层架构(表示层、控制层、业务逻辑层、持久化层)也是得到了业界的认可。基于此,本系统的研发已经有了坚实的基础。本系统计划在windows XP下做开发。由于是基于java的web系统,所以可以具有跨平台的优势。本系统的服务器计划采用tomcat,虽然tomcat处理静态资源的效率不是很高,但是作为专注java的web服务器,在处理jsp请求方面还是非常高效的。如后期项目有性能要求的话,可以在线上采用apache处理静态资源

3、,jsp请求由apache转发tomcat处理的模式。作为专为java开发的集成开发环境eclipse,自然是本项目的集成开发环境。数据库方面计划采用开源的mysql。本系统计划部署在天津大学内网当中,供本校师生处理与IBM相关认证考试。二、参考文献1丰华,于松波等Eclipse开发技术详解M北京:中国铁道出版社,2010112计磊,李里,周伟J2EE-Eclipse Struts Hibernate Spring整合应用 M北京:人民邮电出版社,200683 郭善飞基于j2ee spring框架的web services研究与开发D北京:北京邮电大学,20084王国辉Java Web开发实战

4、宝典M北京:清华大学出版社,201015李兴华Java开发实战经典M北京:清华大学出版社,201016 Bruce Eckel. Thinking in javaM. China Machine press, 2002.7Erich GammaDesign patternMChina Machine press,200318陈丹丹,苏宇等SQL语言参考大全M北京:人民邮电出版社,2008109高洪岩等至简SSH:精通JAVA WEB开发技术M北京:电子工业出版社,2009810孙鑫Servlet JSP深入详解M北京:电子工业出版社,20088三、设计(研究)内容和要求(包括设计或研究内容、主

5、要指标与技术参数,并根据课题性质对学生提出具体要求。)课题主要的研究内容有以下几点:第一,报名管理。主要包括学生完成在线报名。第二,收费管理,主要包括收费的确认。第三,考试辅导管理,主要包括老师完成考试辅导资料的上传,学生可以进行下载等功能。第四,成绩管理,主要包括学生可以通过此系统查询自己的所有IBM考试的成绩。第五,用户信息管理,主要包括学生老师在此系统上进行个人信息的更新,查询等。第六,IBM合建的课程结课证书的申请、发放管理。主要包括,学生可以通过此系统申请结课证书,并查看证书申请处理进度。课题所研发的系统响应要求在5s以内完成,能承受500以上用户的并发度,并且要有完善的权限控制。课

6、题计划采用JavaEE技术开发,客户端基于浏览器。要求熟悉HTML/CSS/JavaScript等客户端技术,最好对Flash、 Ajax和HTML5等技术有一定了解以便开发富客户端。服务器端使用轻量级Java框架,主要有Struts2, Spring, Hibernate等技术,可能还会用到工作流技术、POI报表生成、Lucene全文检索等技术。要求熟悉常用关系型数据库和SQL语言。 指导教师(签字)年 月 日审题小组组长(签字)年 月 日 毕业设计(论文)开题报告课题名称IBM认证管理系统的设计与实现学院名称软件学院专业名称软件工程学生姓名 指导教师 (内容包括:课题的来源及意义,国内外发

7、展状况,本课题的研究目标、研究内容、研究方法、研究手段和进度安排,实验方案的可行性分析和已具备的实验条件以及主要参考文献等。)1课题的来源及意义IBM与天津大学每年都会联合举办若干场IBM全球认证考试,其中包括考试的预告,报名,收费管理,到考试辅导,成绩管理,用户信息管理等需要一套完整的管理系统。另外,随着部分与IBM合建的课程由IBM颁发结课证书,结课证书的申请、发放等全程也需要有一套管理系统。本题目正是针对上述需求提出。2国内外发展状况本课题是研发一个基于java的web系统。现在国际上主流的web开发主要是基于java,php,asp。Java作为近年来凭借其良好的跨平台性,越来越得到开

8、发者的认可。而且,在此之上已经发展出了许多成熟的开发框架。基于这些成熟框架,业界已经有了一些得到广泛认可的web架构。3课题的研究目标本课题以管理IBM所有相关认证考试的整个流程为目标。4课题的研究内容主要的研究内容有以下几点:第一,报名管理。主要包括学生完成在线报名。第二,收费管理,主要包括收费的确认。第三,考试辅导管理,主要包括老师完成考试辅导资料的上传,学生可以进行下载等功能。第四,成绩管理,主要包括学生可以通过此系统查询自己的所有IBM考试的成绩。第五,用户信息管理,主要包括学生老师在此系统上进行个人信息的更新,查询等。第六,IBM合建的课程结课证书的申请、发放管理。主要包括,学生可以

9、通过此系统申请结课证书,并查看证书申请处理进度。5 研究方法本系统计划采用MVC这一经典的WEB开发设计模式。基于这一设计模式,本系统计划采用四层架构,首先是表示层,也就是VIEW。这一层主要负责数据的呈现,请求的提交等等。这一层使系统与用户交互的接口。然后就是控制层,也就是CONTROLLER。这一层主要就是负责,接收表示层发过来的请求,并根据请求的不同,将请求转发给不同的业务逻辑层的类来处理。再然后就是业务逻辑层。这一层就是处理刚才提到的控制层转发过来的请求的。最后就是持久化层,这一层就是处理所有与数据库相关的操作。业务逻辑层和持久化层合起来就是MVC中的MODEL。把MODEL分为业务逻

10、辑层和持久化层分开,这样当持久化层改动时,就不会影响系统的业务逻辑层,相应的当业务逻辑需要改动时,同样也不会影响数据库的操作,这样就进一步降低了系统的耦合度,提高了系统的可拓展性。6研究手段本课题计划采用JavaEE技术开发,客户端基于浏览器,基于业界成熟的分层架构,并且使用成熟的SSH(struts,spring,hibernate)开源框架进行开发,更使得开发过程事半功倍。之所以选择JAVA,主要是看中了它的平台无关性。并且,JAVA WEB开发有着成熟的开源框架,并且业界有着许多丰富的经验可借鉴。在表示层,主要使用HTML,JAVASCRIPT,CSS等语言进行页面的开发,其次也会使用d

11、wr等一些基于AJAX的框架,实现与用户的无缝交互。在控制层,使用struts的MVC架构,实现表示层与控制层的交互。在这里,还使用了struts的AOP的动态代理实现方式,即struts的拦截器。计划自定义一些拦截器以实现用户权限控制等。由于使用struts的数据传递机制,在表示层也会使用struts标签,而不再使用jsp自带的标签库。在持久化层,使用hibernate框架,对数据库表与javabean进行映射,这样就不必自己直接处理SQL语句,极大地提高了开发效率。在业务逻辑层和持久化层,会抽象出接口,然后由相应类去实现接口,层与层之间的的调用使用接口,接口的实例化,使用spring的依赖

12、注入实现。这样就极大地降低了层与层之间的耦合度,增强了系统的可拓展性。另外,还会用spring的AOP实现,完成一些日志记录。数据库方面,打算使用开源的mysql数据库,这主要是考虑到成本问题。另外,也是考虑到本系统并发度不是太高,mysql在低并发情况下,性能不比大型商业数据库差,所以,计划采用mysql。7 进度安排2010年12月20日2011年3月10日 查阅资料完成任务书,完成开题报告2011年3月11日2011年3月12日 开题报告会2011年3月13日2011年4月24日 初步完成对系统的设计编码工作2011年4月25日2011年4月30日 毕业设计中期报告会2011年5月1日2

13、011年5月22日 对系统进行最后的完善和测试工作,初步完成毕设论文2011年5月23日2011年6月22日 完成论文及答辩。8 实验方案的可行性分析BS架构是现在系统开发的一个主流架构。BS架构的系统不仅简化了客户端,还简化了系统的开发和维护,使用户的操作变得更简单。这种模式下运行的系统,不但可以节省客户机的硬盘空间与内存,而且客户端无需安装任何软件只需一个简单易用的浏览器软件就可以进行操作了。在系统维护方面,系统的维护具有更大的灵活性,系统开发人员无须再为每一个现有的客户应用程序进行升级,而只需对web服务器上的服务处理程序进行修改就可以达到目标。基于web的认证管理系统,软件的操作性灵活

14、,管理人员只须掌握简单的计算机操作知识,按照系统的提示进行操作就可以了。在数据的安全性方面,管理人员的操作都是在客户端实现,并不影响服务器的数据存储,即使客户端发生灾难性的系统崩溃,也不影响服务器的正常运行。9 已具备的实验条件软件条件:MYSQL 5.1.6 、TOMCAT 6.0、JDK1.6 硬件条件:CPU:Intel Core2 Duo T5800、 Mem:samsung 2G DDR3 1066、 HD:seagate sata2 250G10 主要参考文献1丰华,于松波等Eclipse开发技术详解M北京:中国铁道出版社,2010112计磊,李里,周伟J2EE-Eclipse S

15、truts Hibernate Spring整合应用 M北京:人民邮电出版社,200683 郭善飞基于j2ee spring框架的web services研究与开发D北京:北京邮电大学,20084王国辉Java Web开发实战宝典M北京:清华大学出版社,201015李兴华Java开发实战经典M北京:清华大学出版社,201016 Bruce Eckel. Thinking in javaM. China Machine press, 2002.7Erich GammaDesign patternMChina Machine press,200318陈丹丹,苏宇等SQL语言参考大全M北京:人民邮电

16、出版社,2008109高洪岩等至简SSH:精通JAVA WEB开发技术M北京:电子工业出版社,2009810孙鑫Servlet JSP深入详解M北京:电子工业出版社,20088选题是否合适: 是 否课题能否实现: 能 不能指导教师(签字)年 月 日选题是否合适: 是 否课题能否实现: 能 不能审题小组组长(签字)年 月 日摘要IBM与天津大学每年都会联合举办若干场IBM全球认证考试,其中包括考试的预告,报名,收费管理,到考试辅导,成绩管理,用户信息管理等需要一套完整的管理系统。另外,随着部分与IBM合建的课程由IBM颁发结课证书,结课证书的申请、发放等全程也需要有一套管理系统。所以本课题以管理

17、IBM所有相关认证考试的整个流程为目标。本论文首先从系统采用的技术、架构、框架、数据库等方面对课题研究的技术背景进行了阐述。然后,根据软件项目的开发流程,从需求分析、系统设计、详细设计和测试几个方面详细阐述了课题研究的整个过程。需求分析从功能需求、非功能需求两个方面阐述了本系统的需求分析成果。系统分析部分从系统架构、业务用例和数据库几个方面阐述了本系统的总体设计。基于MVC的系统分层架构便是在这一章详细阐述的。详细设计部分选取系统的关键功能的详细设计作为代表进行阐述。这一部分阐述了struts拦截器、spring AOP等技术在本系统关键功能里的应用。测试部分对系统的测试情况进行了阐述。关键词

18、:认证考试;架构;框架;MVC;拦截器;AOPABSTRACTIBM and Tianjin University jointly organized a number of IBM Global Certification Tests every year. Teachers and students need a management system to manage the Exam-related matters including notice of the test, registration, fee management, test counseling, performanc

19、e management and information management. And the courses established with IBM also need a system to manage the asking and issuancing of the certificate of guitar lessons. Therefore, the topicss objectives is managing the entire process of IBM certification test.The paper begins by describing the tec

20、hnology, architecture, framework and database used by the system. Then, according to the software project development process, the paper describes the Requirement analysis, system design, detailed design and test in order. Requirement analysis describes the system requirement analysis from two aspec

21、t the functional requirements, and non-functional requirements. The system analysis describes the systems overall design from three aspect the system architecture, business case and database. The system stratification architecture based on MVC is also introduced in this part. The part of detail desi

22、gn selects serval critical function as representatives to describe. This section describes the struts interceptor, spring AOP technology used in these key functions. The part of test describe the system test cases.Key words:Certification Test;architecture;framework;requirement analysis;MVC;struts;sp

23、ring;AOP目录(三号、黑体、居中、目录两字空两格、与正文空一行)第一章(空两格)(小三号、宋体)1.1(空一格、四号宋体)1.21.3第四章(空两格)(小三号、宋体)4.14.2参考文献(小三号、宋体)附录(小三号、宋体)外文资料(小三号、宋体)中文译文(小三号、宋体)致谢(小三号、宋体) 第一章 概述1.1 IBM认证管理系统研究背景及意义IBM与天津大学每年都会联合举办若干场IBM全球认证考试。由于起初的规模无论是从考试数量还是参考人数方面来讲并不是太大,所以从考试的预告,报名、收费管理,到考试辅导,成绩管理,用户信息管理等都是由相关老师或学生人工进行管理。随着IBM与天津大学合作的

24、深入开展,在天津大学举办的IBM全球认证考试无论从数量上还是规模上都有了很大的发展。但是,现在仍然还是沿用以前的来方法来管理考试相关的事情。相应的也就出现了许多之前没有预见到的问题。例如,由于报名是由人工进行管理,而且报名人数较多,所以很容易造成报名周期过长,如此发展下去甚至有可能会影响考试的正常进行。又譬如,由于考试数量的增多,经常造成考试之间的连接过于紧密,甚至是重叠,这很容易让人工管理考试的方式出现混乱。诸如此类的问题不胜枚举。虽然,一开始用这种管理方式没什么问题,但是,现在看来,这种管理方式无论是从人力投入上来说还是从时间投入上来说,都已经不能适应现在的规模了,所以现在急需一套完整的现

25、代化的管理系统来完成IBM全球认证考试的相关事务管理。另外,随着部分与IBM合建的课程由IBM颁发结课证书,结课证书的申请、发放等全程也需要有一套管理系统。1.2 考试管理系统国内外发展状况国际上,考试相关事务的管理的曾经也是主要靠人工管理。但是,在一些大规模的考试中,这种人工管理的方式也曝露出了越来越多的问题。人们越发的认识到,一个现代化的完备的考试管理系统在大规模的考试中是必不可少的。认识到这一点之后,人们也在不断地做着尝试。倚靠网络,基于CS架构的考试管理系统也就应运而生。这种架构的考试管理系统的出现,极大地提高了考试管理的效率,并且极大地方便了考试相关人员的活动。但是,随着基于CS架构

26、的考试管理系统应用的深入,也暴露了一些它存在的问题。譬如,系统的部署问题。不仅考试管理系统的服务器要部署考试管理系统,而且,每台与考试管理系统相关的电脑都要安装考试管理系统的客户端程序。而且,这种部署并不是一劳永逸的。一旦客户端要升级的话,这又是一项不小的任务。鉴于此,人们在享受着考试管理系统带来的种种好处的时候,也在时刻思考着考试管理系统的改进问题。与此同时,另外一种系统架构方式悄然的发展了起来,这就是基于web的BS架构。这种架构虽然从本质上说是CS架构的改进版本,但是这种架构的客户端无需安装,只要系统的机器上有一个web浏览器就可以访问服务。这种架构极大地简化了系统的部署升级过程。也正是

27、因为这一点,BS架构很快的在诸多领域取代了传统的CS架构的系统。基于web的BS架构的兴起,给正在挣扎于传统CS架构考试管理系统的人们一盏明灯。考试管理系统的开发很快的就顺应潮流的发展,转向了BS架构。相应的,考试管理系统的部署难,维护难的问题也就迎刃而解了。考试管理系统的发展也就步入了一个全新的阶段。1.3 研究的主要任务 本课题以管理IBM所有相关认证考试的整个流程为目标。 主要的研究内容有以下几点:第一,报名管理。主要包括学生完成在线报名。第二,收费管理,主要包括收费的确认。第三,考试辅导管理,主要包括老师完成考试辅导资料的上传,学生可以进行下载等功能。第四,成绩管理,主要包括学生可以通

28、过此系统查询自己的所有IBM考试的成绩。第五,用户信息管理,主要包括学生老师在此系统上进行个人信息的更新,查询等。第六,IBM合建的课程结课证书的申请、发放管理。主要包括,学生可以通过此系统申请结课证书,并查看证书申请处理进度。1.4 论文内容概述本论文是以IBM认证考试管理系统的开发为背景,论述了IBM认证考试管理系统的概念、结构及系统开发的基本原理和方法,全文共分为八章,分别是概述、开发技术背景、需求分析、系统分析、详细设计、测试、总结与展望等。概述部分概要讲述了本课题的研究背景、国内外发展状况、主要研究任务等。开发技术背景主要讲述了本系统开发技术的选择。这一章主要从系统基本架构、开发技术

29、、系统分层架构、框架等几个方面的技术选择来阐述的。需求分析部分主要讲述了本系统的需求分析成果。这一章主要从系统的背景、功能需求、非功能需求三个方面进行阐述。系统分析部分主要讲述了本系统整体结构的设计。这一章主要从系统架构设计,业务用例分析、类及接口设计、数据库设计等几个方面进行阐述。详细设计部分主要讲述了本系统的模块的详细设计。这一章主要选取了系统的关键模块作为代表进行了阐述。测试部分主要讲述了本系统的测试方案设计、测试结果、测试出的bug的解决情况。总结与展望部分主要讲述了本课题研究过程中的感受以及收获等。第二章 开发技术背景2.1 系统基本架构考试管理系统的开发起初大都是基于CS架构的形式

30、的。CS架构,即Client/Server(客户机/服务器) 结构,是大家熟知的软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。但是CS架构的缺陷也是很明显的,那就是部署难,维护难。每一台系统的机器都需要安装客户端才可进行管理操作。光是部署系统就是一项不小的工作。而且,如果将来客户端进行升级的话,那将又是一次不亚于系统部署工作量的工作。基于web的BS架构出现,无疑是受困于CS架构缺陷的考试管理系统开发者的福音。BS架构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结

31、构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展性非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。正是因为BS架构的这些优势,考试管理系统开发者也迅速的从CS架构过渡到了BS架构。本系统作为考试管理系统的一种,毫无疑问的选择了BS架构。2.2 开发技术虽然本系统基于web的BS架构。但是,在web开发领域仍然有三大

32、主流的开发技术,这就是ASP(Active Server Pages),JSP(Java Server Pages),PHP (Hypertext Preprocessor)。在web开发刚刚兴起的时代,各种技术迅速崛起。但是,经过时间的考验,只有这三种技术获得了市场的认可。这三种技术虽各有所长,但是经过长时间的竞争,却未能将任何一方击倒。反倒是在长时间的竞争中,各自培养起了一批忠实的用户。没有一种技术能够满足所有的需求,这也正是web开发领域出现三种技术鼎立的原因。所以,在特定的情境下选择最适合的技术才是最重要的。ASP是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性

33、能的WEB服务应用程序。ASP采用脚本语言VB(Java )作为自己的开发语言。PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。而且,PHP是完全免费的,开源的,你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,使JSP迅速成长为主流web开发技术之一。Java Sever Pages依托Serverlet和JavaBean,使得完成功能强大的网站变得轻而易举。从总

34、体上来说,三者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。在ASP、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP、PHP、JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。虽然,总体上这三种技术提供了大体相同的功能,但是每种技术的实现细节还是有很大区别的。ASP使用VB、J等简单易懂的脚本语言,结

35、合HTML代码,即可快速地完成网站的应用程序。ASP无须compile编译,容易编写,可在服务器端直接执行。并且,ASP与浏览器无关(Browser Independence), 客户端只要使用可执行HTML码的浏览器,浏览Active ServerPages的网页内容。Active ServerPages 所使用的脚本语言(VB 、J)均在WEB服务器端执行,客户端的浏览器不需要能够执行这些脚本语言。更重要的是ASP的拓展性。Active Server Pages与任何ActiveX ing语言兼容。除了可使除了可使用VB或J语言来设计外,还可通过plugin的方式,使用由第三方所提供的其它

36、脚本语言,譬如REXX 、Perl、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model)对象。ActiveX Server Components(ActiveX 服务器组件)具有无限可扩充性。可以使用Visual Basic、Java 、Visual C 、COBOL等程序设计语言来编写你所需要的ActiveX Server Component 。PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的群组合。你还可以自己编写外围的函数去间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松地修改编码以适应这样的变化。PHPLIB

37、就是最常用的可以提供一般事务需要的一系列基库。PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。JSP将内容的产生和显示进行分离。用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来产生页面上的动态内容。产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如

38、,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。JSP强调可重用的群组件。绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者EnterpriseJavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。JSP采用标识简化页面开发。

39、Web页面开发人员不会都是熟悉脚本语言的程序设计人员。JavaServerPages多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。标准的JSP标识能够存取和实例化JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其它人员可以为常用功能建立自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。

40、作为采用Java技术家族的一部分,以及Java 2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。这三种技术从应用范围上来说也各有不同。ASP是Microsoft开发的动态网页语言,也继承了微

41、软产品的一贯传统,只能执行于微软的服务器产品,IIS(InternetInformation Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的组件来支持ASP,但是ASP本身的功能有限,必须通过ASPCOM的群组合来扩充,Unix下的COM实现起来非常困难。PHP3可在Windows,Unix,Linux的Web服务器上正常执行,还支持IIS,Apache等一般的Web服务器,用户更换平台时,无需变换PHP3代码,可即拿即用。JSP同PHP3类似,几乎可以执行于所有平台。如WinNT,Lin

42、ux,Unix。在NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的执行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。从性能上来说,三种技术也不尽相同。对这三种语言分别做回圈性能测试及存取Oracle数据库测试。在循环性能测试中,JSP只用了令人吃

43、惊的四秒钟就结束了2000020000的回圈。而ASP、PHP测试的是20002000循环(少一个数量级),却分别用了63秒和84秒。(参考PHPLIB)。数据库测试中,三者分别对 Oracle 8 进行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP则 需要 73 秒。就本考试管理系统来说,由于只是天津大学的IBM认证考试管理,所以用户规模大概在一千左右,并发度一般不会超过一百。所以,本考试管理系统对性能上的要求不高,三种技术在这方面都可以满足需求。从应用范围上来说,本考试管理系统应该是部署在校内的Linux服务

44、器上,但是,考虑到该系统将来部署环境变化的可能,所以,该系统要具有比较高的可移植性。在这一方面,ASP就不符合需求了。本考试管理系统,从功能上来说,PHP、JSP技术大体都可以满足。但是考虑到本系统只是第一版,以后进行升级的可能性很大,所以,本系统要具有较好的拓展性。在拓展性这一方面,PHP就远不如JSP了。所以,经过仔细分析三种技术的优劣所在,并仔细考量过本系统的特性,本系统决定采用JSP进行开发。数据库方面,现在业界主流的数据库管理系统有MS SQL SERVER、DB2、ORACLE、MySQL等。从性能上来说,本系统用户量较小,并发度较低,所以,对性能方面要求不高,所以,这几个数据库管

45、理系统都能满足需求。从可移植性来说,本系统应该是部署在Linux环境下,并且以后变更部署环境的可能性较大,所以要求具有较高的可移植性。MS SQL SERVER由于只支持微软平台,所以不符合要求。从成本方面来考虑,本系统只是校内自己使用的系统,投入成本不能太高,所以,只有开源的MYSQl符合需求了。综上,本系统决定采用JSP+MYSQL进行开发。2.3 系统分层架构本系统作为一个典型的web系统,当然无可置疑的选择了MVC架构。大部分用过程语言比如ASP、PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页

46、面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性力度很小,很难满足用户的变化性需求。MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。MVC架构的系统使得多个视图可以对应一个模型。对于拥有多种视图的web应用来说,这几乎是必不可少的。再次,由于一个应用被分离为多层,因此有时改变其中的一层就能满足应用的改变。这点对于系统更新频繁的文本应用来说,也是很重要的。最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。所以,要想做出一个具有高拓展性,高质量的系统,是一定要选择MVC架构的。虽然,MVC已经将系统划分为三层架构,但是,为了进一步提高系统的拓展性,本系统决定将MVC的三层架构进一步细分,将MODEL划分为业务逻辑层和持久

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号