(工商管理专业论文)思科网迅在线教学系统设计与实施.pdf_第1页
(工商管理专业论文)思科网迅在线教学系统设计与实施.pdf_第2页
(工商管理专业论文)思科网迅在线教学系统设计与实施.pdf_第3页
(工商管理专业论文)思科网迅在线教学系统设计与实施.pdf_第4页
(工商管理专业论文)思科网迅在线教学系统设计与实施.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

思科一网迅在线教学系统设计与实施 摘要 随着i t 技术发展和互联网应用的普及,在线会议与在线教学全面展开。本 论文主要讲述的是目前全球市场占有率第一的思科一网迅在线教学系统的设计 与实现方式。 c s 和b s 是目前信息系统设计较常见的两种平台,论文指出了各自的特 点,并分析了各自的优点和缺点。确定了基于w e b 的m v c 模式为系统的设计 模式,根据系统的技术实现,论述了j 2 e e 技术和中间件技术,并基于u m l 技 术对系统需求,系统功能和系统架构进行了建模分析。 m v c 设计模式分离了数据的控制层和表现层,在实现多层w e b 应用系统 中具有明显的优势。s t r u t s 是一个基于j 2 e e 平台,实现m v c 设计模式的成熟 框架,它全面减轻构建多层w e b 应用的负担,提供可复用的软件架构。在软件 工程和软件设计模式的思想指导下,论文论述了基于s t r u t s 框架的在线教学系 统的系统设计与实现过程,主要包括系统体系结构设计、系统功能设计、数据 库设计,系统界面设计,系统实现和软件测试。 为保证在线教学系统的顺利进行,系统引入了全面项目管理的理念,包括 项目计划、进度控制、质量管理、文档管理等。论文最后对系统实现进行了总 结,并对系统的发展进行了展望。 关键词:在线教学;上机实验室:j 2 e e 平台;s t r u t s ;m v c 模式 c i s c o - w e b e xo n l i n et r a i n i n gs y s t e md e s i g na n d i m p l e m e n t a t i o n a b s t r a c t w i t ht h ed e v e l o p m e n to fi t t e c h n o l o g y a n dt h e p o p u l a r i t y o fi n t e r n e t a p p l i c a t i o n ,o n l i n es e s s i o na n do n l i n et r a i n i n gb e c o m ev e r yp o p u l a r ,t h i sp a p e r m a i n l yi n t r o d u c e st h ed e s i g na n dr e a l i z a t i o no ft h eo n l i n et r a i n i n gs y s t e mo f c i s c o w e b e xw h oh a st h ef i r s tc u r r e n tm a r k e ts h a r e c sa n db sa r et h et w oc o m m o np l a t f o r mo fc u r r e n ti n f o r m a t i o ns y s t e m d e s i g n ,t h ep a p e rp o i n t so u tt h e i rr e s p e c t i v ec h a r a c t e r i s t i c s ,a n da n a l y z e st h e i r a d v a n t a g e sa n dd i s a d v a n t a g e s ,d e t e r m i n et h em v cp a t t e r nb a s e do nt h ew e bf o r s y s t e md e s i g np a t t e r n a c c o r d i n gt ot h es y s t e m st e c h n o l o g yi m p l e m e n t a t i o n ,t h i s p a p e rd i s c u s s e st h ej 2 e et e c h n o l o g ya n dm i d d l e w a r et e c h n o l o g y , a n db a s e do n u m lt e c h n o l o g yf o rs y s t e mr e q u i r e m e n t s ,s y s t e mf u n c t i o na n ds y s t e ms t r u c t u r e , d om o d e l i n ga n a l y s i s m v c d e s i g np a t t e r nm a k e st h es e p a r a t i o no fd a t al a y e ra n dc o n t r o ll a y e r ,i t h a so b v i o u sa d v a n t a g e so nm u l t i l a y e rw e ba p p l i c a t i o ns y s t e m s t r u t si st h e m a t u r i t yf r a m e w o r kb a s e do nt h ej 2 e ep l a t f o r ma n dw h i c hr e a l i z e st h em v c d e s i g np a t t e r n ,i tf u l l yr e d u c e st h eb u r d e n o ft h em u l t i l a y e rw e ba p p l i c a t i o n s c o n s t r u c t i o n ,p r o v i d e st h er e u s a b l es o f t w a r ea r c h i t e c t u r e u n d e rt h eg u i d a n c eo ft h e s o f t w a r ee n g i n e e r i n ga n ds o f t w a r ed e s i g nm o d e l ,b a s e do nt h es t r u t sf r a m e w o r k , t h i sp a p e rd i s c u s s e st h eo nl i n et r a i n i n gs y s t e mf o rd e s i g na n dr e a l i z a t i o np r o c e s s , i n c l u d i n gt h es y s t e ms t r u c t u r e ,s y s t e md e s i g n ,f u n c t i o n a ld e s i g n ,d a t a b a s ed e s i g n a n ds y s t e mi n t e r f a c ed e s i g n ,s y s t e mi m p l e m e n t a t i o na n ds o f t w a r et e s t i n g i no r d e rt oe n s u r et h es m o o t hp r o g r e s so fo n l i n et r a i n i n gs y s t e m ,t h es y s t e m i n t r o d u c e st h ec o n c e p to fac o m p r e h e n s i v ep r o je c tm a n a g e m e n t ,i n c l u d i n gp r o je c t p l a n n i n g ,p r o g r e s sc o n t r o l ,q u a l i t ym a n a g e m e n t ,d o c u m e n tm a n a g e m e n ta n de t c a t l a s t ,p a p e rs u m m a r i z e st h es y s t e mi m p l e m e n t a t i o na n dp r o s p e c t st h ed e v e l o p m e n t o ft h es y s t e m k e y w o r d s :o n l i n et r a i n i n g ;h a n d so nl a b ;j 2 e ep l a t f o r m ;s t r u t s ;m v cp a t t e r n 2 插图清单 j 2ee 体系架构7 上机实验室子系统流程分析图l 4 s t r u t s 实现的mvc 框架一14 上机实验室子系统类图15 上机实验室子系统用例图16 上机实验室子系统顺序图一17 上机实验室子系统活动图18 在线教学系统主要功能模块一2 0 界面设计:查看实验室机器预订情况27 上机实验室子系统业务逻辑层功能实现28 用j p r o f i le r 进行性能测试- 30 用j m e t e r 进行压力与回归测试31 i i i 1 l 2 3 4 5 6 l 2 3 4 5 - - - - - - - - - - - 2 3 3 3 3 3 3 4 4 4 4 4 图图图图图图图图图图图图 表格清单 表4 1 上机实验室子系统主要功能一22 表4 2w bxsitelab 表设计一23 表4 3w bxrahost 表设计24 表4 4wbxrah0stlab 表设计2 4 表4 5wbxla bsch du le 表设计24 表4 6wbxsessionex t 表设计24 表4 7w bxat tende eex t 表设计25 表4 8 用户界面设计原则2 7 表5 1 在线教学项目管理计划任务表33 i v 特别声明 本学位论文是在我的导师指导下独立完成的。在研究生学习期间,我的 导师要求我坚决抵制学术不端行为。在此,我郑重声明,本论文无任何学术 不端行为,如果被发现有任何学术不端行为,一切责任完全由本人承担。 4 3 学位论文作者签名:2 川炙 签字日期:叫年,易月f 日 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所 知,除了文中特l l l n 以标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得金县曼王些太堂 或其他教育机构的学位或证书而使用过的材料。与我一同工作 的同志对本研究所做的贡献均己在论文中作了明确的说明并表示谢意。 学位论文作者签字:动 1 欠签字日期:加矸年j z 月1 日 学位论文版权使用授权书 本学位论文作者完全了解金壁王些太堂有关保留、使用学位论文的规定,有权保留并向 国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人授权金目曼王些塞 兰l 可以将学位论文的全部或部分论文内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文者签名:参1 久 i i i - 7 i i i i :砷年,明怕 导师签名“i 畸 签字日期:沙7 年,棚f 日 工作单位:最科冈啪杆良历司勿泥纫易司电话:肜船叫g 谚7 垆 通讯地址:向犯彳禹新忍秀磷茯重;。野 邮编:;巾 致谢 本论文是在合肥工业大学管理学院刘林副教授直接指导下完成的,在论文的选题及其写作 思路上刘林副教授多次给予指导,多次修改论文提纲。当论文的初稿完成之后,刘老师从繁忙的 工作中抽出时间,认真仔细地阅读了全部初稿,提出很多宝贵的修改意见。本人的论文工作能得 到刘林副教授的指导倍感荣幸,刘老师严谨的治学作风、极高的学术造诣、热情诚恳的待人态度 无不给我留下深刻的印象,对我今后的工作产生极大的影响,值此论文完成之际,特向刘林副教 授表示衷心的感谢和诚挚的敬意。 此外,在论文的书写过程中,得到了思科网迅软件公司合肥分公司很多同事的大力帮助,在 此一并致谢。 在论文将要发评之际,对我的导师、同学、同事和家人给予的帮助和关心再次表示衷心的感 谢1 3 作者:砂i 灸 刎年胁月f 1 日 第1 章绪论 随着计算机与网络技术的迅速发展,数字化成为这个时代的主题。传统的 手工管理方式,不仅耗费大量的时间、人力与物力却达不到良好的效果。目前 许多大型企业都有自己一套信息管理方案与平台、中小型企业也从信息化中看 到了商机,加大对信息技术的投资力度。 网络的发展也改变与影响着人类的生活与交流的方式,世界正越来越像一 个地球村。为了提供方便快捷的在线联系与会晤方式,提高资源的利用效率, 网迅公司以此为切入点,提供一整套的网上在线会议,在线教学,在线事务的 系统。 1 1 选题背景 1 1 1 目前该课题的研究现状、水平以及存在的问题 网上在线会议与教学系统目前在国内与国际都有很多应用,比如说: m i c r o m e d i a 公司的f l a s h 及其对应的在线教学与在线考试系统,m i c r o s o f t 公司 的n e t m e e t i n g 系统等等,都在一定的层次和领域与网迅有竞争关系。 目前在这方面的研究也是在前沿水平,公司的产品从1 9 9 9 的p h p 版本, 到2 0 0 4 的j 2 e e 版本,再到2 0 0 8 年基于w e b 2 0 技术的w e b e xc o n n e c t 集成应 用,就是想在这个领域有更大的突破,引领在线视频与会晤的市场。 传统的信息管理系统平台,一是功能跟不上形势发展的变化;其次是系统 的通用性、扩展性、交互友好性都不令人满意。长期以来,大量的信息管理系 统是基于c s ( 客户机服务器) 结构的。在两层结构系统中,客户端包含了大量 的数据处理逻辑,几乎所有的应用逻辑都在客户端实现,导致客户端的应用程 序越来越复杂,给开发人员带来了大量的移植工作,同时维护更是一件庞杂的 工作。这是很多中小信息企业存在的通病。 1 1 2 课题研究的目的和意义 本课题研究的目的是开发一个功能相对全面、技术领先的网上在线会议与 教学系统。意义在于让更多的人体验到网络应用给人们日常生活带来的便捷, 推动网络技术应用的进一步发展。 1 2 采用的主要技术 ( 1 ) 采用容量大、安全性高的o r a c l e9 x 数据库管理系统作为核心数据库, 建立基于会议为中心的管理信息系统数据库。 ( 2 ) 针对在线教学系统软件项目开发需求,采用u m l 建立主要的系统模型。 ( 3 ) 软件系统采用逻辑显示控制相分离的m v c 三层技术架构模型,基于 j 2 e e 规范,采用e j b 与j a v a s e r v l e t 控制内部逻辑运算,使用j s p 与x m l 进 行外部输出显示。 ( 4 ) 采用w e b l o g i c 应用服务器及e c l i p s e 开发工具,以j a v a 语言作为基本 开发语言进行系统开发。 ( 5 ) 采用s t r u t s 框架技术。 1 3 论文的结构安排 本文的章节按如下方式组织 第一章为绪论,介绍了课题的研究背景及采用的主要技术。 第二章阐述j 2 e e 技术的发展以及其体系结构,从传统的二层体系结构到 j 2 e e 体系结构,基于w e b 的分布式组件技术的简介和比较,基于r u p 的系统 开发。 第三章基于u m l 的可视化建模系统分析,系统需求获取系统流程分析, 系统分析与建模。 第四章阐述在线教学系统的设计与实现。系统研发的原则、系统设计、用 户界面( u i ) 设计、系统开发平台及工具选择、系统实现与系统测试。 第五章主要阐述在线教学系统项目管理,包括项目范围及变更管理、项目 工作计划的编制与进度控制、项目质量管理、系统的跟踪与维护管理、系统的 文档管理、系统实施的风险管理和对系统评价。 最后,对全文工作进行了总结,并且对进一步研究提出展望。 2 第2 章在线教学系统实现关键技术及理论基础 2 1 从传统的二层体系结构到j 2 e e 体系结构 随着技术的发展、企业应用体系结构发生了巨大的变化。第一代是集中式 的大型机应用,到了2 0 世纪8 0 年代后期和9 0 年代初期,企业应用几乎都采用二 层体系结构也称之为客户服务器体系结构,后来发展到三层体系结构,然后是 基于w 曲的体系结构,目前发展到以j 2 e e 为代表的体系结构1 1 。 2 1 1 二层应用体系结构c ,s 与b s 在实际应用中c s 结构是一个普遍的模式,它使用客户机n 务器模式工 作。在服务器端,一般采用高性能的p c 、工作站或专用服务器,并根据需要采 用大型的数据库系统,如o r a c l e ,d b 2 ,i n f o r m i x 或者m ss q ls e r v e r ;而客 户端则需要安装专用的客户端软件。c s 结构是一种很常见的结构,例如基于 客户端的o u t l o o ke x p r e s s ,基于服务器的o u t l o o ke x c h a n g es e r v e r ,又如m s n 、 雅虎邮件、网络游戏等都是典型的c s 模式的应用结构。 c s 结构,充分发挥客户端p c 的处理能力,将很多工作,如计算,数据采 集等可以由客户端处理后再提交到服务器,这样就相对减少了服务器的压力, 以便能迅速响应客户端的请求。c s 结构也有很大的限制,客户端需要安装用 户专用的客户端软件,这样给开发、安装、升级、维护以及数据存储带来了一 系列问题,同时,客户端程序可能会受到操作系统的限制,如果应用程序不支 持跨平台,只能运行在w i n d o w s 系统上,而无法在l i n u x ,s o l a r i s 或者其他平 台上运行。这就引出了b s 结构。 b s 结构克服了c s 结构的上述缺点:安装维护不方便、需要在客户端机 器上安装程序。对于b s 结构,客户端程序不需要额外的支持,而是通过浏览 器与服务器之间的通信和数据传输,易于维护和升级。目前一般操作系统自带 浏览器,包括w i n d o w s 、m a co s 、u n i x 、l i n u x 等平台都已安装浏览器,最常 见的浏览器有m i c r o s o f t 的i e 、n e t s c a p e 的n s 等。b s 结构的应用非常广泛, 如搜狐、新浪门户网站、各种电子商务网站就使用b s 结构。 2 1 2 传统的三层体系结构 传统的三层体系结构出现是为了解决二层c s 结构的不足,对二层结构进行 了适当的扩展。通过将显示逻辑和业务逻辑适当分离,把业务逻辑放置在服务 器端,将表现层逻辑布置在客户端计算机上。传统的三层体系结构有其不足之 处:结构复杂、缺乏可移植性、各个提供商产品之间兼容差等等【2 1 。 2 1 3 早期的基于w e b 的应用体系结构 w e b 的引入改变了一切。因为二层和传统的三层体系结构都不支持w e b 应 用的开发,因此早期的w e b 应用程序开发人员不得不想出一些新的途径。他们 使用各种w e b 服务器插件扩充,利用存储在企业数据库中的信息,动态地构造 h t m l 文档。同样,这种w e b 服务器的扩充也从提交的h t m l 表单中,将信息加 入到企业数据库中。 这种扩充的典型例子就是c g i ( c o m m o ng a t e w a yi n t e r f a c e ) 脚本。虽然c g i 脚本和类似的机制允许企业应用开发者构建简单的w e b 应用,但是c g i 方式并不 适用于更复杂的企业应用,原因如下: ( 1 ) c g i 脚本不提供内部业务流程或者一个业务实体的结构完善的方案。 ( 2 ) c g i 脚本难以开发、维护和管理。高层次的应用开发工具没有为c g i 脚 本的开发提供良好的支持。 ( 3 ) c g i 脚本将业务过程的实现和呈现逻辑的实现缠绕在一起。当更改任何 部分的实施,就有可能改变其它的部分。 ( 4 ) c g i 脚本不利于业务规则完整性的维护。企业业务规则的实现被分散到 多个c g i 脚本程序中,它们被部署到企业中的几个w 曲服务器上,因此,企业维 护其业务规则的完整性是困难的【3 】。 2 1 4j 2 e e 应用体系结构 j 2 e e 是一个体系结构,它以j a v a 程序设计语言为基础。企业能够使用j 2 e e 体系结构进行应用的开发和部署,从而有效地替代二层和三层模型。对于互联 网应用的发展,我们可以有效地取代基于c g i 的方法。同时,j 2 e e 也提供了对 于二层和三层应用的支持。 在j 2 e e 中,容器是一个重要的概念。容器是一种运行在服务器上的软件实 体,用于管理特定类型的组件。它为开发入员开发j 2 e e 组件提供了执行环境。 通过这些容器,j 2 e e 体系结构就能在开发和部署之间提供无关性,并在不同类 型的中间层服务器上提供可移植性,容器还负责管理部署在其中的组件的生命 周期。j 2 e e 平台2 种常用容器分别是e j b 容器和w e b 容器。 ( 1 ) e j b 容器提供适用于各个企业的企业b e a n 。企业b e a n 是实现业务过程和 实体的组件开发、部署以及运行时管理的环境。 ( 2 ) w 曲容器提供适合于s e r v l e t 和j s p ( j a v as e r v e rp a g e ) 开发、部署以及运行 时管理的环境。这些s e r v l e t 和j s p 称为w e b 应用的可部署单元,在w e b 中实现了 一个企业应用的呈现逻辑p j 。 4 2 2 基于w e b 的分布式组件技术的简介和比较 2 2 1 多层分布式对象技术简介 2 0 世纪9 0 年代初,传统的信息系统多数是基于c s 的两层模型,随着技术的 发展逐渐向三层和多层应用模型转变。w e b 浏览器的广泛应用是浏览器i l l 务器 ( b s ) 模式产生的根源。i n t e r n e t 网上丰富的资源,便利的访问方式,促使各层 次各领域都有了相对广泛的应用,越来越多的人借助w e b 浏览器来获得信息, 进行与世界沟通与资源共享。企业和政府也希望通过由这种没有地域,没有国 界,没有时间限制,方便的互联网的使用环境来发展自己的w e b 应用。但是, 人们认识到,由于大型计算的互联网应用,以及企业应用要良好的适应性和可 扩展性,要求系统的稳定性越来越高的情况下,在依靠传统的w e b 服务器,数 据库服务器下的因特网应用程序的方式,如今已经无法满足在w e b 应用程序快 速开发,可扩展性,资源结构调整的迫切要求迅速发展。在这种情况下,基于 多层架构的分布式处理的w e b 应用应运而生,它通过应用服务器端组件的形式, 封装了业务处理逻辑,提高了程序的可重用性和可扩展性。在互联网中能够支 持多种客户端的访问,更好地满足当今开发w 曲应用技术发展的需求。这种技 术被成为基于面向对象技术的多层分布式对象模式( n t i e rd i s t i r b u t e do b j e c t m o d e l ) 技术,所谓分布对象,是指其位置透明( 可存在于网络任何地方) ,并能 被远程客户以方法调用的形式来访问的实体。至于分布对象是使用何种程序设 计,使用何种编译器创建,对客户应用来说是透明的,它己成为当前最流行、 最重要的构建w e b 应用系统的技术。 2 2 2 多层分布式对象架构的基本理论 以传统客户服务器模式为基础,将客户程序和数据库服务器的功能进一步 分解,使客户程序仅根据需要提出数据请求,数据库服务器也仅负责与数据存 储、完整性控制等有关的任务,而数据组合、分解和转换,以及客户身份验证 等任务则转而交于第三方程序( 中间件) 来完成,这样不仅减轻了服务器的负担, 也使前台客户程序更加独立,仅注重于与操作人员的交互和数据的单一处理, 这就是分层处理的基本概念。 当然,如果所有的中间件集中于一台应用程序服务器,那么该应用程序服 务器就可能成为系统的瓶颈。采用分布式技术的概念,从逻辑功能和运算的相 关性上划分各中间件,使应用程序服务器仅包含相关运算的中间件,不仅降低 了各种应用程序服务之间的耦合度,也可有效地减少网络流量,此外各应用程 序服务器的位置也可放在对用户最为有利的位置,以更好地为客户服务。当某 台应用程序服务器的负担过重时,可以在网络中增加该应用程序服务器的数量 来提升其处理能力,有效地实现负载平衡和容错机制。 当前分布式组件对象实现的主流技术有以下3 种:d c o m ( 分布式组件对象 模型) 、c o r b a ( 公共对象请求代理结构) 和j 2 e e e j b 。它们都实现了组件对象 逻辑分层和位置分布的透明性,以及相关服务,给系统开发人员提供了诸多方 便4 1 。 2 2 3 微软的组件对象模型c o m ,d c o m 标准 d c o m 是微软公司提出的一种分布式组件对象模型( d i s t r i b u t e d c o m p o n e n to b j e c tm o d e l ) 技术。d c o m 起源于动态数据交换( d d e ) 技术,通过剪 切、粘贴实现两个应用程序之间共享数据的动态交换,对象连接与嵌入( o l e ) 就是从d d e 引伸而来的。为了适应网络环境,d c o m 主要的任务是在c o m 的基 础上,实现远程调用,并采取一些策略,以适应和优化网络环境。d c o m 建立 在标准的分布式计算环境( d c e ) r p c 引擎之上,拥有d c e 提供的通用服务集, 如远程过程调用( r e m o t ep r o c e d u r ec a l l s ,r p c ) 、命名、线程管理,以及安全性 等。d c o m 对d c er p c 进行面向对象的扩展,故又称对象r p c ( o r p c ) 。d c o m 运行于网络的最高层,相当于i s o o s i 中的应用层,它具有协议无关性,可以使 用t c p i p ,u d p 和i p x s p x ,以及n e t b i o s 等底层面向连接或无连接协议。 2 2 4 公共对象请求代理结构c o r b a 概述 c o r b a ( c o m m o n0 b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 是对象管理组织 ( o m g ) 为解决分布式计算环境( d i s t r i b u t e de n v i r o n m e n t ) 中硬件和软件系统的互 连而提出的一种解决方案。在c o r b a 体系中,组件既可以是客户,也可以是服 务器。从本质上来说,如果该组件包含为其它对象提供服务的c o r b a 对象,该 组件就是服务器组件。o m g 定义了为c o r b a 规范提供作用域和上下文的更高 级规范o m a ( o b j e c tm a n a g e m e n ta r c h i t e c t u r e ) ,o m a 在o r b 构架之上,还定义了 很多为高级别的企业服务定义的标准接口,如命名服务、交易服务对象、关系 服务等等,程序开发成员最普遍的访问层次是与o r b 进行交互,对于这些服务 只要由产品提供直接应用即可。因此使用符合c o r b a 规范的产品开发分布式应 用,基本不用考虑底层的发布编程问题,可以将精力集中在上层应用上。因此 c o r b a 被越来越多的设计人员所青睐,并有越来越多的大公司在其软件和应用 服务器中提供对c o r b a 的支持。 2 2 5s u n 公司j 2 e e 分布式应用架构及其优越性 ( 1 ) j 2 e e 的多层分布式体系结构 j 2 e e 多层分布式应用模型将应用逻辑根据功能划分成组件,这些组件包括 应用客户组件( a p p l i c a t i o nc l i e n tc o m p o n e n t s ) ,e n t e r p r i s ej a v ab e a n s 组件、 s e r v l e t 及j a v as e r v e rp a g e ( j s p 页面) 组件、a p p l e t s 等等,可以在同一个服务器或 不同的服务器上安装这些不同的组件。一个应用组件被安装的地方取决于该应 6 用组件属于j 2 e e 环境中的层。j 2 e e 体系结构分为客户层、w 曲层、业务层及企 业信息系统层( e i s ) ,如图2 1 所示【5 1 客户口客户机 业哥一 业务规划层 i 一 日s 层- 7 数据库服务嚣 图2 1j 2 e e 体系架构 为了保证完全的开放性和兼容性,j 2 e e 体系架构详细定义了实现一个j 2 e e 分布式应用各个角色的接口标准,实现商业逻辑的e j b 组件可以更加高效地运 行在应用服务器中,支持多种客户端的访问,h t t p 的客户端可以先向运行在 w e b s e r v e r 上的j a v as e r v l e t 或者j s p 发出请求,在j s p 中嵌入j a v a 的代码,调用运 行在e j bs e r v e r 上的e j b ,以实现商业逻辑:而其他的客户端,可以通过h o p ( 网 络寻址协议) 直接访问运行在e j bs e r v e r 中的组件j 2 e e 提供了企业级的计算模型 和运行环境,用于开发和部署多层体系结构的应用,可通过提供企业计算环境 所必需的各种服务,使得部署在j 2 e e 平台上的多层应用可以实现高可用性、安 全性、可扩展性和可靠性。 ( 2 ) 使用j 2 e e 平台开发的优越之处 这三种分布对象技术中,c o m d c o m 实际上是m i c o r s o f t 的专有技术,但由 于m i c r o s o f t 为此提供集成的解决方案和强大的开发工具,所以仍然对许多用户 有吸引力。由于d c o m 和视窗操作系统的自然结合,使其在对象管理、安全控 制方面具有相对较强的优势,大大简化了开发人员的编程控制工作。d c o m 的 主要缺点在于其对平台无关性的支持能力。在实际应用中,c o m 对象往往以 后台应用的形式为客户提供服务,这使得对象在设计与实现时异常不利于编程 人员的调试工作,如在d c o m 对象中使用消息窗口则很可能造成应用程序服务 器暂停执行的灾难性故障。 c o r b a 一开始就是众多o m g 成员共同制定的操作规范,整个服务体系相 对完整,也易于编程控制。由于其具有语言、操作系统和硬件平台无关等特点。 7 耋暑 暴雯 勰一 国 使它最容易将大量的遗留应用和c + + 、s m a l l t a l k 对象轻松集成在一起。c o r b a 标准在结构标准实现的灵活性、跨语言能力、跨平台实现及安全性等方面的综 合对比中都优于d c o m 和j 2 e e 。但由于c o r b a 不象d c o m 技术那样属于操作系 统的一部分,用户在使用时需要辅助的应用软件来支撑,而目前市场上的中间 件,功能完善但价格都比较高,增加了客户投资,免费的c o r b a 产品提供的功 能还不尽完善。而且,使用c o r b a 开发的困难度较大。 j 2 e e 优越性在于:计算平台支持j a v a 语言,使得基于j 2 e e 标准开发的应用 可以跨平台地移植;j a v a 语言非常安全、严格,开发者可以编写出非常可靠的 代码;j 2 e e 提供了企业计算中需要的所有服务,且更加易用;j 2 e e 的很多标准 定义了规范的接口,例如j n d i ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) ,j d b c ,j a v a m a i l 等,因此可以和许多厂商的产品配合,容易得到广泛的支持:j 2 e e 树立了 一个广泛而通用的标准,大大简化了应用开发和移植过程。而且j 2 e e 可以很容 易采用c o r b a 技术的优点。实际上,j 2 e e 的拥有者s u n 也是o m g 的创始成员, c o r b a 标准中的许多内容( 例如i d l i i o p ) 都是以s u n 公司提交的方案为核心制 定的,j 2 e e 的名字目录服务和事务服务也都可以基于c o r b a 的相应服务实现。 c o r b a 和j 2 e e 可以通过r m i i i o p 进行融合。c o r b a 可以作为e j b 的底层通信 基础,e j b 贝, 0 可以作为c o r b a 的构件模型。s u n 已经为此定义了e j b 至u c o r b a 的映射规范1 4 儿引。 s t r u t s 是一个基于j 2 e e 平台,实现m v c 设计模式的成熟框架,它全面减轻 构建多层w e b 应用的负担,提供可复用的软件架构。m v c 设计模式分离了数据 的控制层和表现层,在实现多层w e b 应用系统中具有明显的优势。基于j 2 e e 体 系在开发w e b 分布式应用方面的各种优势,使用该体系来开发企业级应用是相 当适宜,对项目的顺利实施提供了技术支持。 2 3 基于r u p 的系统开发 r u p ( r a t i o n a lu n i f i e dp r o c e s s ,r a t i o n a l 统一过程) 是一个先进的通用软件 开发过程框架,遵循它的开发方法可以在进度和成本的范围内开发出高质量的 软件产品。r u p 具有以下三个重要特征:用例驱动、以构架为中心和迭代增量 开剔7 1 。 2 3 1 用例驱动的过程 首先,在业务建模工作流中,业务流程被定义为多个不同的业务用例,其 中每个业务用例都代表业务中某个特定的工作流程,业务主角通过业务用例中 的动作序列获得组织的服务。所有的业务用例和业务主角构成了组织的业务用 例模型。在需求工作流中,根据业务用例模型确定待开发系统支持业务用例实 现的功能并限定系统的边界,这些功能用系统用例来描述:用例主角为组织内 部的业务工人( 员工、直接使用系统的客户等) 。所有的系统用例和用例主角构 成了系统用例模型,它描述了系统的功能需求瞵j 。 在分析设计工作流中,开发人员使用系统用例模型作为输入,对每个系统 用例进行用例分析和用例设计,得到相应的用例实现。用例实现在设计模型中 提供了一种结构,用于组织与用例有关但却属于设计模型的工件。这些相关工 件包括协作图和序列图,这些图使用协作对象说明用例行为。最终这些协作对 象可以归纳为系统要开发的分析类和设计类。 在实施工作流中,将设计模型作为输入,将设计类实现为组件,创建实施 模型在测试工作流期间,根据用例的功能描述编写测试用例,验证系统是否实 现了用例的功能。因此,用例将各个工作流整合成一个流来确定用例、分析用 例、设计用例、实现用例、根据用例编写测试用例来验证系统设计。 2 3 2 以构架为中心的过程 在r u p 中,软件系统的构架是指系统重要组件的组织或结构,这些重要组 件通过接口与那些由不断减小的组件与接口所构成的组件进行交互。构架具有 以下作用: ( 1 ) 理解系统 r u p 使用u m l 可视化建模系统的构架,并以构架为中心进行开发,这使 得开发人员、管理人员及其他相关人员能够详细地理解所需要做的工作,以 利于他们参与系统的开发。 ( 2 ) 组织开发 构架设计师通过将系统划分为带有明确定义接口的子系统,并让开发小组 负责每个子系统,可以显著减少开发组之间交流的工作量,而且接口双方的软 件可独立地进化。 ( 3 ) 鼓励重用 好的构架为开发人员提供了可以在其上开展工作的稳定的骨架,它有助于 开发人员知道在哪里能有效地找到可重用的元素以及发现合适的可重用的组 件。 ( 4 ) 进化系统 一个具有稳定的构架的系统在分析和设计时就考虑到系统进化的需求,从 而具有一定的容变能力,系统可以适度地进化。 2 3 3 迭代和增量开发 迭代是指带有己建立基准的计划和评估准则的独特活动序列,迭代生成系 统的内部或外部发布版。增量是指在后续迭代结束后,两个发布版本之间存在 的差异( 差值) 。在r u p 中,软件的生命周期是由一系列迭代组成的,这些迭代 9 都是由软件项目分解成的许多袖珍项目。每个迭代都产生以内部版本形式交付 的实际结果,其中每个内部版本会增加一个增量并表明所关注的风险得以降低。 这些版本可以展示给客户,从而获得有价值的反馈以确认工作成果。早期阶段 的迭代主要是关注确定项目的范围,消除关键风险和建立系统构架基准。后期 迭代则不断增加增量结果,直至得到一个可对外发布的产品。迭代有助于管理 层规划、组织、监控和控制项目。 迭代和增量开发具有以下的一些优点: ( 1 ) 允许变更需求 ( 2 ) 允许持续的集成 ( 3 ) 及早降低风险 ( 4 ) 有助于组织学习和提高 ( 5 ) 提高复用性 ( 6 ) 生成更强壮的产品【8 】 1 0 第3 章基于u m l 的可视化建模系统分析 系统分析是软件工程的重要阶段,是所有开发的依据。在系统分析阶段, 通过对系统的综合研究,对问题域进行抽象,准确的理解系统需求和系统内部 运行机制,有助于准确的掌握系统的需求,从而正确的定义问题域,确定软件 开发的具体内容。 通过系统分析,我们要完成确定系统需求的内容、确定所有涉及到的要素、 为当前需要的问题建立相应的模型等工作,做到充分理解用户对系统的需求。 3 1 常用开发方法比较 生命周期法是诞生于2 0 世纪7 0 年代的主流方法,是结构化方法的基础。 它基本思想是“自上而下,逐步求精 ,即严格划分系统开发的各个阶段,从全 局出发全面规划,然后自上而下一步步地实现【9 】。 原型法产生于2 0 世纪8 0 年代,它一开始不进行全局分析,抓住一个原型, 经设计实现后,再不断扩充,使之成为全局的系统。 面向对象的方法从2 0 世纪9 0 年代开始获得广泛的应用,面向对象方法的 基本思想是,从现实世界中客观存在的事物出发来构造系统,并在系统构造中 尽可能运用人类的自然思维方式。面向对象方法强调直接以问题域( 现实世界) 中的事物为中心来思考问题,认识问题,并根据这些事物的本质特征,把它们 抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接地 映射客观世界,保持所研究领域中事物及其相互关系的本来面貌【l o 】。 结构化生命周期法遵循从抽象到具体的思想,按分解的方法将复杂问题简 单化。生命周期法的局限在于周期过长、用户参与程度不高而不能应允需求变 化,加大了系统风险。 原型法符合实践、认识、再实践、再认识的认识规律,原型法用工具快速 构造原型,使系统开发周期较短,应变能力较强。它“扬弃”了结构化系统开 发方法的某些繁琐细节,继承其合理的内核,是对结构化开发方法的发展和补 充。但原型法过程定义不够清晰、文档不够完善,需求定义不够规范,不利于 过程改善。 面向对象的方法具有自然的模型化能力,它支持建立可重用、可维护、可 共享的代码且将这些代码组织存放在程序设计环境的类库中;随着类库中的类 不断积累,以后的程序设计过程会变得越来越简单,从而提高开发效率。面向 对象方法更重要的是思维方式的改变,类和继承性提高了系统可维护性,拓展 系统生命期,构件化使软件生产走向工厂化【9 j 【1 0 】。这也是本系统主要采用面向 对象方法的原因。 面向对象方法在可视化的建模语言u m l 的支持下,系统分析员、客户、 程序员和其他系统开发人员都能够相互理解,并以一致的方式来组织系统的设 计过程。 3 2 基于i j l d l 的可视化建模 3 2 1 u m l ( 统一建模语言) u m l ( 统一建模语言,u n i f i e dm o d e l i n gl a n g u a g e ) 是一种支持对象技术的建 模语言,是在计算机系统中表示真实世界的语言,描述真实世界中的对象和它 们之间的关系,支持应用的开发。 3 2 2 r a t i o n a l 统一过程( r u p ) 因为u m l 只是标准化的建模语言,不是完整的开发方法,u m l 规范也没 有定义标准的过程,而软件的开发则必须遵循一个过程,r u p 则是r a t i o n a l 公 司提出的有效使用u m l 的指南。r a t i o n a l 统一过程是一种公共过程,而且己经 在多个软件开发组织的实践中得到了验证。r u p 是风险和用例驱动的过程,其 迭代以用例为依据。 除此之外,r u p 还是体系结构优先的过程,系统的体系结构在早期就稳定 下来,以便对设计进行验证,在后续的迭代中逐步进行精化。r u p 吸收了众多 的软件设计和实现过程的经验中,其核心思想有两条,一是注重系统体系结构 的开发,二是注重过程的迭代和递增性。 3 3 系统需求获取 需求的获取关系到一个软件系统开发的成败,所以现代的面向对象技术及 软件开发过程都十分强调需求的准确、全面的获取,同时,需求的获取也是一 个不断迭代的过程,并不只局限于项目的开始阶段,而是一个不断发现,不断 完善的过程。 思科网迅公司对在线教学系统的需求获得也是一个不断迭代的过程。最初 的需求是: 在线教学需要能把所有参与的人集中到一个虚拟课堂中,教师在这个虚拟 课堂中组织教学,学生进行听讲,并能完成日常教学的基本环节。 为了检查教学效果,就必须要有在线考试功能。 对于没有能及时到课的同学,需要能

温馨提示

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

评论

0/150

提交评论