




已阅读5页,还剩75页未读, 继续免费阅读
(计算机软件与理论专业论文)基于j2ee体系结构的mis公共构件提取与设计研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于j 2 e e 体系结构的m i s 公共构件提取与设计研究 摘要 公共构件是一种可复用构件。它不仅为整个软件系统提供公共服务, 还可以复用于其它软件系统,避免了系统开发时重复开发同类模块的问 题,提高了软件开发的效率和软件的质量。 目前,可复用构件提取与设计的方法学还不完善,缺乏对构件从需求 提取一直到基于平台或体系结构设计的一套指导实际应用的方法。 针对这种情况,本文给出了m i s 公共构件提取与设计的过程模型。该模 型分为三个阶段,包括公共构件提取、公共构件接口提取与初步设计以及 公共构件基于系统体系结构的设计。这三个阶段涵盖了公共构件从提取、 接口提取与初步设计到基于具体体系结构设计的整个过程。 本文总结了m i s 公共构件的三大类型:功能类公共构件、信息实体类 公共构件和界面类公用构件。按照给出的m i s 公共构件提取与设计的过程 模型,按类型分别给出公共构件提取和设计的方法和过程,包括三类公共 构件的提取方法;接口提取与初步设计方法;基于系统体系结构的通用设 计过程。最后基于特定的j 2 e e 多层体系结构给出三类公共构件的详细设计 过程。 本文最后基于淮北煤矿安全管理信息系统给出上述过程模型和方法的 具体应用,对提出的过程和方法的理论意义与应用价值进行了验证。 关键词:公共构件提取;公共构件设计;m i s ;j 2 e e ;x m l r e s e a r c h0 1 1e x t r a c t i o na n dd e s i g no ft h em i sc o m m o n c o m p o n e n t sb a s e d o nj 2 e ea r c h i t e c t u r e a b s t r a c t t h ec o m m o nc o m p o n e n ti sar e u s a b l ec o m p o n e n t n o to n l yi ts e r v e st h e e n t i r es y s t e m ,b u ta l s oi tc a nb er e u s e di no t h e rs o f t w a r es y s t e m s ,w h i c h a v o i dd e v e l o p i n gr e p e a t e d l yt h es a m em o d u l eo ft h es y s t e ma n di m p r o v et h e e f f i c i e n c ya n dq u a l i t yo fs o f t w a r ed e v e l o p m e n t n o w a d a y s ,m e t h o d o l o g yo ft h e r e u s a b l ec o m p o n e n t se x t r a c t i o na n d d e s i g ni s n tp e r f e c ta n d l a c k so fam e a n sw h i c hd i r e c tt h ep r o c e s so f e x t r a c t i n gt h ec o m p o n e n t sf r o mt h er e q u i r e m e n tt od e s i g n i n gt h ec o m p o n e n t s b a s e do nt h ea r c h i t e c t u r e t h i sd i s s e r t a t i o np r e s e n t st h ep r o c e s sm o d e lo f t h em i sc o m m o n c o m p o n e n t se x t r a c t i o na n dd e s i g n i ti sc o m p o s e do ft h r e es t e p s ,t h e ya r et h e e x t r a c t i o no ft h ec o m m o nc o m p o n e n t s ,d e s i g no ft h e i n t e r f a c e so f t h e c o m m o nc o m p o n e n t s ,a n dd e s i g no ft h ec o m m o nc o m p o n e n tb a s e do nt h e s y s t e ma r c h i t e c t u r e t h es t e p sc o v e rw i t ht h ee n t i r ep r o c e s so ft h ec o m m o n c o m p o n e n t sf r o me x t r a c t i o nt od e s i g no ft h ei n t e r f a c e st od e s i g n i n gb a s e do n t h es y s t e ma r c h i t e c t u r e t h i sd i s s e r t a t i o ns u m m a r i z e st h et h r e es t y l e so ft h ec o m m o nc o m p o n e n t s : t h ef u n c t i o n a lo n e ,t h ei n f o r m a t i o ne n t i t ya n dt h ei n t e r f a c ec o m m o n c o m p o n e n t s a c c o r d i n gt o t h et h r e es t y l e s ,d u r i n gt h ea b o v ep r o c e s st h i s d i s s e r t a t i o np r o v i d e st h ec o r r e s p o n d i n gm e a n s :i nt h ef i r s ts t e p ,t h e r ei sa m e a n so ft h ee x t r a c t i o no ft h ec o m m o nc o m p o n e n t s ;i nt h es e c o n ds t e p ,t h e r e i sam e a n so fd e s i g n i n gt h ei n t e r f a c eo ft h ec o m p o n e n t s ;i nt h el a s ts t e p ,t h e r e a r eam e a n so fd e s i g n i n gt h ec o m p o n e n t sb a s e do nt h es y s t e ma r c h i t e c t u r e a n dag e n e r a lm e a n so fd e s i g n i n gt h e mb a s e do nj 2 e ep l a t f o r m a tt h ee n do ft h ed i s s e r t a t i o n ,t h e r ei sa na p p l i c a t i o no ft h ea b o v em e a n s b a s e do nh u a i b e ic o a ls e c u r i t ym a n a g e m e n ti n f o r m a t i o ns y s t e m f o r v a l i d a t i o no ft h et h e o r ys i g n i f i c a n c ea n da p p l i c a t i o nv a l u eo ft h em e a n st h i s d i s s e r t a t i o np r e s e n t s k e y w o r d s :e x t r a c t i o no ft h ec o m m o nc o m p o n e n t s ;d e s i g no ft h ec o m m o n c o m p o n e n t s ;m i s ;j 2 e e ;x m l 论文图表清单 图1 1 实现软件复用的各种因素2 图3 1m i s 公共构件提取与设计过程模型图1 2 图3 2 系统顶层用例图中提取公共用例1 5 图3 3 在细化用例图中提取公共用例1 5 图3 4 公共用例的合并1 6 图3 5 系统整体逻辑结构图1 6 图3 6 子系统协作图1 8 图3 7 五模型关系逻辑图1 9 图3 8 “提取晃面类公共构件的界面模板”的图形表示2 1 图3 9 角色组成( 包含) 关系2 1 图3 1 0 角色特例关系2 2 图3 1 1 用例包含关系2 2 图3 1 2 导航关系2 2 图4 1 登录公共构件接口提取过程2 6 图4 2 信息实体公共构件接口设计过程2 7 图4 3 内部接口和外部接口一一绑定2 9 图4 4 内部接口都绑定到一个外部接口2 9 图4 5 不同层公共构件的合并3 1 图4 6 相同层公共构件的合并3 1 图4 7 构件依赖关系3 2 图4 8 系统公共构件的构件图3 2 图4 9 由功能类构件和信息实体类构件组成的复合构件3 4 图5 1j 2 e e 的多层体系结构3 6 图5 2 三种不同类型的分析类型3 9 图5 3 将分析类型对象分到三个分析子系统中4 1 图5 4 将分析子系统分配到b w s 的三个分布式过程中4 1 图5 5 公共构件在j 2 e e 上的部署图4 7 图6 1 系统逻辑结构图5 0 图6 2 系统物理结构图5 0 图6 3 系统顶层用例图5 1 图6 4 系统第二层细化用例图。5 2 图6 5 系统第三层“用户管理”细化用例圈5 2 图6 6 系统第三层“通防图上报管理”细化用例图一5 3 图6 7 系统第三层“瓦斯超限管理”细化用例图一5 3 图6 8h b c m s m i s 系统功能类公共构件层次结构逻辑图5 4 图6 , 9 系统管理活动图5 5 图6 1 0 登录活动图5 5 图6 1 1 系统管理公共构件操作集合( 左) 和登录公共构件操作集合( 右) 5 6 图6 1 2 复合构件系统管理构件结构图5 7 图6 1 3 公共构件的构件图5 9 图6 1 4 系统管理构件分析模型5 9 图6 1 5 系统管理构件设计模型6 0 图6 1 6 采用x m l 作为层之间交换数据的j 2 e e 应用结构图6 1 图6 1 7 分配权限子构件中分配模块部分的设计图6 l 图6 1 8 分配权限子构件中分配模块部分的配置图6 2 图6 1 9h b c m s m i s 系统的子系统协作图6 3 图6 2 0 “登录用户”信息实体公共构件实现代码6 5 图6 2 1 系统角色关系图6 5 图6 2 2 系统界面用例关系图6 6 图6 2 3 系统界面导航关系图6 6 图6 2 4 管理信息界面模板6 7 图6 2 5 添加修改信息和查询信息界面模板6 7 图6 2 6 添加按钮类公共构件实现代码6 8 表3 1 功能类公共构件的规约格式表1 4 表3 2 信息实体公共构件的规约格式表1 7 表3 3 界面类公共构件的规约格式表2 3 表4 1 功能类公共构件接口契约格式表2 5 表4 2 信息实体公共构件接口契约格式表。2 7 表4 _ 3 界面类公共构件接口契约格式表2 8 表4 4 功能类复合构件的规约格式表3 2 表4 5 界面类复合构件的规约格式表3 4 表6 1 系统管理公共构件规约5 4 表6 2 登录理公共构件规约5 4 表6 3 添加一个用户接口契约。5 6 表6 4 登录接口契约5 6 表6 5 系统管理构件规约5 7 表6 6 更新信息构件规约5 8 表6 7 添加信息接口契约 表6 8 系统管理公共构件的e j b 接口 表6 9 信息实体公共构件“登录用户”构件规约 表6 1 0 取得当前用户用户名接口契约。 表6 1 1 存储当前用户用户名接口契约 表6 1 2 添加按钮类界面公共构件的构件规约 表6 1 3 添加信息行为接口契约 5 8 6 2 6 3 6 4 6 4 6 7 6 8 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得金e 巴玉些盍堂 或其 他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签字:琴州树签字日期:加年汨于日 学位论文版权使用授权书 本学位论文作者完全了解金厘王些太堂有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被 查阅或借阅。本人授权佥魍王、业盔堂可以将学位论文的全部或部分论文内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇 编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文者签名:凄砀j 妁 签字日期:“年f 月p 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 新虢茗衫易 签字日期:钟l ;月舀日 电话 邮编 致谢 衷心感谢我的导师袁兆山教授在这近三年的研究生学习阶段中对我的 悉心指导和帮助,如果没有袁老师的谆谆教导,本论文是不可能顺利完成 的。袁老师以他在软件工程领域深厚的理论基础和对研究方向良好的把 握,给了我意义最深刻的指引。袁老师为我提供了良好的工作学习环境的 同时,更为我创造了在理论和实践两个方面都得到锻炼的机会。袁老师认 真严谨的治学态度和工作作风将令我终身难忘。 感谢合肥工业大学研究生院及计算机与信息学院的各位领导和老师给 予的帮助。 教研室其它同学用热情的态度和丰富的知识帮我解决了许多研究中的 难题,同时也对我的工作提出了很多宝贵的建议。他们是:蔡斌辉、李超、 谢芸、吴雷、王玮。和他们的交流经常能够启发我的思路,让我能更好的 完成研究工作。 感谢我的父母在我求学期间对我的鼓励,他们督促我不断学习,不断 前进,他们的关心和支持使我更加坚定我的路。最后,感谢我的男友在我 写论文期间对我的鼓励和支持,让我能顺利的完成这篇论文。 李彬彬 2 0 0 6 年5 月 1 1 研究背景 第一章绪论 为了摆脱软件危机,产业界和学术界共同努力已经使软件开发技术得 到了很大的进步,软件生产率得到了提高,软件质量也得到了改善。但是 随着软件复杂度的增加和软件生产规模的扩大,已有的软件开发技术和环 境已经不能适应日益发展的软件开发产业的需要。但是通过复用大量经过 实践检验的标准化构件来开发软件,就可以避免系统开发时重复开发同一 类模块的问题,以提高软件开发的效率和提高软件质量。 软件复用 软件复用是在软件开发中避免重复劳动的解决方案,软件复用的出发 点是:应用系统的开发不再采用一切“从零开始”的模式,而足以己有的 工作为基础,充分利用过去开发应用系统中积累的知识和经验。软件复用 有助于提高软件开发的效率和质量。 复用概念的第一次提出是在1 9 6 8 年n a t o 软件工程会议上,m c l i r o y 的论 文“大量生产的软件构件”中。在其后的发展历程中,虽然有许多复用技 术的研究成果和成功的复用实践活动,但是复用技术整体上对软件产业的 影响却并不尽如人意,其中技术上的不成熟是一个主要原因。近十几年来, 面向对象技术出现并逐步成为主流技术,它为软件复用提供了基本的技术 支持。软件复用研究重新成为热点,被视为解决软件危机,提高软件生产 效率和质量的现实可行的途径。 软件复用通常可分为产品复用和过程复用两条途径 1 。 产品复用:产品复用指复用己有的软件构件,通过构件集成组装得到 新系统。 过程复用:过程复用指复用己有的软件开发过程,使用可复用的应用 生成器来自动或半自动地生成所需系统。 过程复用因为依赖于软件自动化技术的发展,所以目前只适用于一些 特殊的应用领域。产品复用是目前现实的、主流的途径。 软件复用相关技术 软件复用需要解决三个基本问题:一是必须有可以复用的对象,二是所 复用的对象必须是有用的,三是复用者需要知道如何去使用被复用的对 象。与上述问题相联系,实现软件复用的关键因素主要包括:软件构件技 术( s o f t w a r ec o m p o n e n tt e c h n o l o g y ) 、领域工程( d o m a i ne n g i n e e r i n g ) 、 软件构架( s o f t w a r ea r c h i t e c t u r e ) ,软件再工程( s o f t w a r e r e e n g i n e e r i n g ) 、开放系统( o p e ns y s t e m ) 、软件过程( s o f t w a r ep r o c e s s ) , c a s e 技术等以及各种非技术因素,实现软件复用的各种技术因素和非技术 因素是相互联系的。如下图1 tl 所示,这些因素结合在一起,共同影响软 件复用的实现。 1 2 研究现状及研究意义 图11 实现软件复用的各种因素 软件复用是在软件开发中避免重复劳动的解决方案,其出发点是应用 系统的开发不再采用切“从零开始”的模式,而是以已有的工作为基础, 充分利用过去应用系统开发中积累的知识和经验,如需求分析结果、设计 方案、源代码、测试计划及测试案例等,从而将开发的重点集中于应用的 特有构成成分。 现在人们已经开始认识到,复用是优秀的软件设计的关键因素之一。 并且基于复用目的开发软件,将提取出来的构件进行复用,可以极大的提 高软件开发的效率和提高软件质量,避免重复开发。目前,在构件开发方 面已经取得了一定的成果。当前一些政府、军方或企业已拥有自己的构件 库。在某些领域,如科学计算,已有商用的构件存在。同时,存在大量独 立与应用领域的计算机特定的软件构件,如程序设计语言的类库、函数库、 v b x 、o c x 、用户界面构件等。 为了得到可复用性好的构件,从系统开发的初期就应该考虑可复用构 件的提取。但是现如今,可复用构件提取与设计的方法学还不完善,缺乏 对构件从需求提取一直到构件基于平台或体系结构设计的一整套针对实 际应用的指导性方法。 2 本文的重点在于提供了m i s 公共构件从提取到设计的方法,这些方法 为解决怎样从m i s 系统的需求开始提取公共构件、怎样进行公共构件接口 的提取与初步设计、怎样基于系统体系结构设计公共构件一系列问题提供 了方法指导,对公共构件的复用有着重要的意义。 此外,本文实现了一部分m i s 公共构件,这些公共构件可以存入构件 库,为其它m i s 系统的复用提供了基础。 1 3 本文工作及章节组织 1 3 1 本文工作 本文工作内容如下: ( 1 ) 研究前人工作以及构件理论,结合笔者的实际开发经验以及迸一 步思考,提出了从需求提取( 识别) 公共构件的方法。 ( 2 ) 研究前人工作及构件理论,结合笔者的实际开发经验以及进一步 思考,提出了公共构件接口提取与初步设计的方法。 ( 3 ) 研究系统开发的分析与设计模型以及j 2 e e 规范,结合笔者的实 际开发经验,提出了基于系统体系结构的公共构件通用设计过程,并在此 过程基础上提出了基于j 2 e e 多层体系结构的公共构件详细设计过程。 ( 4 ) 总结上述提出的方法和过程,提出了m i s 公共构件提取与设计 的过程模型。 ( 5 ) 以淮北矿业集团煤矿管理信息系统为实验环境,对前面提出的 m i s 公共构件提取与设计方法进行应用。 1 , 3 2 论文组织结构 第一章绪论。阐述本文背景软件复用技术,以及可复用构件开发的 现状,介绍本文的工作内容、意义及论文的组织结构。 第二章m i s 公共构件提取与设计的理论和技术基础。介绍软件构件 技术,包括构件定义与接口定义、构件模型以及构件规约;j 2 e e 技术, 包括j 2 e e 定义以及j 2 e e 技术框架;u m l 技术,包括u m l 进行系统分 析设计的要素和5 类模型图。 第三章m i s 公共构件提取方法。提出公共构件提取与设计的原则, 分析m i s 系统的公共构件的类型,提出m i s 公共构件提取与设计的过程模 型,然后介绍从系统需求开始提取公共构件的通用方法a 第四章m i s 公共构件接口的提取与初步设计。提出设计公共构件接 口的提取与初步设计方法。 第五章 基于j 2 e e 体系结构的m i s 公用构件设计方法。介绍j 2 e e 多层 3 体系结构以及j 2 e e 各层组件技术,提出了基于系统体系结构设计公共构件 的通用方法,以及基于特定的j 2 e e 多层体系结构的公共构件详细设计方 法。 第六章公共构件提取与设计方法应用实例。给出淮北矿业集团煤矿 管理信息( h b c m s m i s ) 的需求分析以及项目设计方案,并基于 h b c m s m i s 给出m i s 公共构件提取与设计过程方法的具体应用。 第七章总结与展望。总结本文的各项工作,并对下一步的工作进行 了展望。 1 4 小结 本章对软件复用思想进行了阐述,并给出软件复用研究的现状、本文 研究的意义以及本文所做的工作。 4 第二章m i s 公共构件提取与设计的理论和技术基础 2 1 软件构件技术 构件是指应用系统中可以明确辨识的构成成分。而可复用构件 ( r e u s a b l ec o m p o n e n t ) 是指具有相对独立的功能和可复用价值的构件。 可复用构件应具备以下属性 1 : 1 、有用性( u s e f u l n e s s ) :构件必须提供有用的功能; 2 、可用性( u s a b i l i t y ) :构件必须易于理解和使用; 3 、质量( q u a l i t y ) :构件及其变形必须能正确工作; 4 、适应性( a d a p t a b i l i t y ) :构件应该易于通过参数化等方式在不同语 境中进行配置; 5 、可移植性( p o r t a b i l i t y ) :构件应能在不同的硬件运行平台和软件环 境中工作; 2 1 1 构件定义与构件接口定义 g e o r g et h e i n e m a n 等人给出如下的构件定义 1 :“软件构件是遵从 某种构件模型的软件元素( e l e m e n t ) ,可以按照构件模型所定义的组装标 准( c o m p o s i t i o ns t a n d a r d ) ,无需修改地独立发布和进行组装。” 构件接口描述了一组构件必须实现的操作,但是不提供关于操作如何 实现的具体细节,即只定义构件“做什么”,而没有定义“怎么做”。接 口与实现的分离使得以下两种做法成为可能:( 1 ) 替换实现部分时无需修 改接口; ( 2 ) 增加新的接口及其实现时无需修改现有实现。 构件契约描述了构件之间的交互机制。要想保证最终组装构件时各个 构件都能按照预定的方式进行交互,那么在开发每个构件时,都应遵循一 定的规则:如数据传输方式、构件创建方式等。 2 1 2 构件模型 构件模型是研究构件本质特征及构件间关系,是对实际构件的抽象。 构件模型是为开发者定义软件构件而建立的体系结构,使开发者可以通过 软件构件的动态组合来建立应用系统,是在特定的语境中对构件的抽象描 述。它定义了构件的本质属性,规定了构件接口的结构以及构件之间、构 件和总线之间的交互规则。 当前主要的构件模型分类: 1 构件的描述分类模型:以综合的方式来描述构件,方便用户对构件 的理解,以及构件在构件库中的分类和检索。主要有r i g 的u d m 和b i d m , j b c l ,r e b o o t ,以及己运行的构件库所使用的模型等。 2 构件的规约组装模型:给出构件的功能规约,并通过配置构件规约 而给出系统( 子系统) 规约。主要实例:各种接口描述语言i d l 、构件描述语 言c d l * 口体系结构描述语言a d l 。 3 构件的实现模型:用于指导使用某种程序设计语言实现构件或将构 件实现为某种可执行的单元。主要实例:c o r b a ,c o m d c o m ,e j r 等。 2 1 3 构件规约 基于构件的系统为了能使构件达到无缝装配,需要应用系统开发者清 楚的了解构件的外部接口和构件之间的关系。构件规约形式化地描述了构 件的语义,通常它包含有标准化的构件接口描述、前置和后续条件定义操 作、命名服务中命名和命名上下文标准、目录和目录上下文标准、事务服 务描述符、部署描述符等,同时有命名规则、目录和命名绑定规则、事务 语义定义、资源分布部署说明等。 2 。2j 2 e e 2 2 1 什么是j 2 e e 1 j 2 e e 是个标准中间件体系结构,而不是一门编程语言,旨在简化 和规范分布式多层企业应用系统的开发和部署 2 。 2 j 2 e e 是企业分布式应用开发标准,主要体现如下: ( 1 ) j 2 e e 规范了分布式组件开发的标准。它包含j s p 、s e r v l e t 、e j b 等分布式组件。j 2 e e 标准规定了这些分布式组件应该实现哪些接口以及提 供哪些方法。 ( 2 ) j 2 e e 规范了分布式组建运行环境一一容器提供服务的标准。分 布式组件的运行环境称为容器,容器通过提供标准的服务来支持分布式组 件的运行。并且不同的分布式组件由不同的容器来支撑运行。 2 2 2j 2 e e 技术框架 j 2 e e 技术框架体系分为3 部分:组件技术、服务技术和通信技术。一系 列建立分布式企业应用程序所需的技术中最常用的j 2 e e 技术是r m i ,j n d i , e j b ,j d b c ,j a v as e r v l e t s j s p 和x m l 技术。 2 2 2 1r m i 技术 r m i 是j a v a 的一组用于开发分布式应用程序的a p i ,它使用j a v a 语言接 口定义了远程对象( 在不同机器操作系统的程序对象) ,它结合了j a v a 序列化( j a v as e r i a l i z a t i o n ) 和j a v a 远程方法协议( j a v ar e m o t em e t h o d p r o t o c 0 1 ) 。它使原先的在同一操作系统的程序方法调用,变成了不同操 作系统之间的程序方法调用。 2 2 2 2j n d i 技术 j n d i 是一个j a v a 扩展,也是作为j 2 e e 一部分的一组a p i ,它用来为名字 与目录服务提供一个标准的接口。在分布式系统中,名字和目录服务对于 透明地管理和使用系统的各种资源和对象起到关键作用。通过一个逻辑名 字,客户和管理界面能够以一种位置透明的方式管理和使用资源。 j n d i 提供了一种机制,该机制把名字绑定到对象上,也可以把对象解 析成名字。可以说,通过j n d i 映射,j n d i 为各种名字与目录服务提供了一 个标准的接口。 2 2 2 3e j b 技术 e j b 是用于开发和部署多层结构的、分布式的、j a v a 应用系统的跨平台 的构件体系结构,是j 2 e e 技术的核一玉部分。e j b 2 o 规范定义了三种类型的 企业b e a n :会话b e a n ( s e s s i o nb e a n s ) ,实体b e a n ( e n t i t yb e a n s ) 和消息 驱动b e a n ( m a s s a g e l d r i v e nb e a n s ) 。 2 2 2 4j d b c 技术 j a v a 数据库连接是j a v a 应用程序连接数据库的标准方法。j d b ca p i 以 一种统一的方式来对各种各样的数据库进行存取。j d b c 和o d b c 一样,为开 发人员隐藏了不同数据库的不同特性。另外,由于j d b c 建立在j a v a 的基础 上,所以还提供了数据库存取的平台独立性。 2 2 2 5j a v as e r v l e t s 和j s p 技术 s e r v l e t 是一种服务器端程序,允许应用程序逻辑嵌入n | j h t t p 请求一一 响应过程中。s e r v l e t 实质上是动态处理h t t p 请求和生成网页的j a v a 类。 j s p 提供了一种在网页中嵌入组件的方式,并且允许生成相应的网页最 终发送给客户。j s p 网页可以包含h t m l ,j a v a 代码以及j a v ab e a n 组件,j s p 网页实际上是s e r v l e t 编程模型的一个扩充,它像是文本格式的s e r v l e t 。 2 2 2 6x m l 技术 x m l 代表扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ) ,是由万维网 联盟( w o r l dw i d ew e bc o n s o r t i u m ,w 3 c ,网址:w w w w 3 c o r g ) 定义的 一种语言。x m l 是s g m l 的子集,其目标是允许普通的s g m l 在w e b 上以目前 h t m l 的方式被服务、接收和处理。x m l 被设计成易于实现,且可在s g m l 和 h t m l 之间互相操作。 2 3u m l 技术 统一建模i 吾n ( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) 是可视化的图形建 模语言。u m l 的要素: 1 ) u m l 中的事务:事物分结构事物( 包括类、接口、协作、用例、主 动类、构件和节点) 、行为事物( 包括交互和状态机) 、分组事物f 包) 和注释事物( 注解) 。 2 ) u m l 中的关系:u m l 中有4 种关系,分别是依赖、关联、泛化和 实现关系。 3 ) u m l 中的图可分为以下5 类 4 : 第1 类是用例图,用于刻画系统的用户以及外部系统与本系统的交互, 通过用例图可以直观的反映出用户对系统功能的要求。 第2 类是静态图,包括类图、对象图和包图。 第3 类是行为图,描述系统的动态模型和组成对象间的交互关系一种 是状态图,它描述一类对象具有的所有可能的状态及其转移关系;另一种 是活动图,它是展示系统中各种活动的执行流程。 第4 类是交互图,描述对象闻的交互关系。种是顺序图,用以展示 对象之间的一种动态协作关系( 强调时间上的顺序关系) 。另一种是协作 图,从另一个角度展示对象之间的动态协作关系( 强调相互间通信关系) 。 第5 类是实现图,包括构件图和配置图。构件图描述的是构件之间的 联系,以及各构件之间的交互和它们所呈现的接口。配置图通过描述在运 行过程中各个处理单元的配置来反映系统运行时的分布方式,配嚣包括硬 件以及运行在硬件上的软件。 在系统开发的不同阶段可以用不同的模型图进行插述。 2 6 小结 本章介绍了m i s 公共构件提取与设计的理论和技术基础。首先介绍了 m i s 公共构件提取与设计的理论基础一一软件构件技术,包括构件定义与 构件接口定义、构件模型以及构件规约。然后介绍了几种技术,j 2 e e 技 术,包括j 2 e e 定义以及j 2 e e 技术框架;u m l 技术,包括u m l 进行系 统分析设计的要素和5 类模型图。现今,公共构件的提取与基于系统体系 结构尤其是基于j 2 e e 多层体系结构的设计研究已经离不开这些重要的概 念。 3 1 引言 第三章m i s 公共构件提取方法 公共构件为整个系统提供公共服务。公共构件既可以在已有系统中提 取,也可以从当前要开发的项目提取。一般的,公共构件的提取应该在系 统需求分析阶段,随着系统从分析到设计的过程同步进行。本章重点讨论 怎样从当前开发的项目中,从分析系统需求开始一步步提取公共构件。 目前,提取可复用构件的方法有基于u m l 的提取方法 5 】、基于聚类 分析算法的提取方法 6 1 等,这些方法给出了一些基本的构件提取原则。 在本章,基于前人的工作,并结合自己的实际开发经验,提出自己的 公共构件提取原则和方法。 3 2m i s 公共构件提取与设计过程模型 3 2 1 公共构件的提取与设计原则 本文对公共构件的提取与设计给出以下原则: 4 基本原则: 1 ) 针对特定系统提取公共构件,需要分析特定系统的公共构件类型, 并依据类型给出不同的提取方式。 2 ) 公共构件也是一种构件,所以它要满足构件的特性,比如:高内 聚,低耦合,自包含。 3 ) 大粒度提取原则,符合该原则可以简化系统开发,便于公共构件 的复用。如果提取出的公共构件功能相似,可考虑将其组成更大 粒度的公共构件。 4 ) 公共构件中具有相似型构或功能紧密耦合的接口可考虑将其合并 成更抽象的接口,可减少接口数目,便于太粒度公共构件的组装。 5 ) 提取公共构件要对系统模块的共有成分进行提取。并且需要建立 能明确辨识共有的成分的模型,用来辅助对公共构件的提取。提 取公共构件的结果是公共构件的需求,可以有多种表现形式。 6 ) 设计公共构件接口要对公共操作进行提取与设计。公共构件接口 由一组相关的操作组成,因此,设计公共构件接口的主要工作是 识别并设计出一组可准确表达构件功能的相关公共操作。并且接 口设计与系统需求的功能需求和行为活动需求都息息相关,所以 需要建立功能模型和行为模型用来辅助辨识和设计接口。 7 ) 无论是公共构件提取还是接口设计,其结果都要给出详细说明, 9 并写入项目文档。比如,公共构件提取要给出构件舰约说明,接 口设计要给出接口契约说明。 碡基于具体平台设计原则: 1 ) 公共构件通过其接口向系统多个模块提供不同的服务,所以要考 虑接口设计的灵活性。 2 ) 基于具体平台设计公共构件接口时,需要使用某种策略或技术实 现接口设计的灵活性。 3 ) 公共构件要易于复用。不仅指公若构件在本系统中易于多个模块 复用,而且还可以复用于其它系统。所以考虑将公共构件设计成 灵活、可配置的,使其能适用于多个软件系统。 4 ) 公共构件设计的灵活性和可配置性需通过接口设计的灵活性来实 现。 5 ) 基于某种系统体系结构或平台设计公共构件及其接口,需要遵从 其规范或标准。例如:基于j 2 e e 多层体系结构设计公共构件及其 接口,就要遵从j 2 e e 标准。 6 ) 大粒度公共构件在具体平台或系统体系结构下实现的时候,需要 拆分成多个子构件,将公共构件的不同职责分配到子构件中。子 构件的职责分配可按照基于具体平台的开发框架进行。 7 ) 采用设计模式调整大粒度构件中的子构件,可以添加或删除某种 类型的子构件,或是添加删除子构件间的关系。 8 ) 公共构件在具体平台或系统体系结构下设计接口时,其外部接口 在负责表示的子构件中实现。 9 ) 基于具体平台设计公共构件接口,可依据系统需求以及平台特性 实现为不同的形式。 3 2 2 对m i s 公共构件类型的分析 m i s ( m a n a g e m e n ti n f o r m a t i o ns y s t e m ) 即管理信息系统,是一个由人、 计算机等组成的能进行信息的收集、传递、存储、加工、维护和使用的系 统。根据m i s 系统需求的不同方面可以提取出不同类型的公共构件。现 总结m i s 系统公共构件的类型如下: ( 1 ) 业务功能类公共构件:为系统提供业务类的公共服务,如:报表、 图表、管理操作。 ( 2 ) 界面类公共构件:多个页面复用的公共界面元素,如:菜单,数 据列表,树形列表。 ( 3 ) 系统级公共构件:为整个系统提供系统级的公共服务,如:系统 维护,权限管理,日志,数据库连接。 1 0 ( 4 ) 错误处理类公共构件:为系统提供错误处理类的公共服务,如: 异常处理。 ( 5 ) 安全类公共构件:为系统提供安全类的公共服务,如:加密,验 证用户身份。 ( 6 ) 信息实体类公共构件:系统各个子模块间传递的公共信息,如: 用户信息实体。 上述公共构件类型,经分析,因为业务功能类、系统级类型、错误处 理类和安全类公共构件都是对应于系统功能需求的,所以对它们采用相同 的提取与设计方式,并将它们统称为“功能类公共构传”:“信息实体类公 共构件”指的是系统各个部分之间传递的信息实体,它的主要功能是以数 值对象为单位实现信息交换;至于“界面类公用构件”,它和前面两种都 不一样,需要等到完成界面模板的设计,然后对其中的公共界面元素进行 提取,它采用不同于前面两种的方式进行提取与设计。 3 2 3m i s 公共构件提取与设计过程模型 基于上述公共构件提取原则,以及对m i s 公共构件类型的分析,本文 提出“m i s 公共构件提取与设计过程模型”,如图3 1 所示。 该过程模型把整个m i s 公共构件提取与设计过程分为三个阶段,第一 阶段:从系统需求提取( 识别) 公共构件:第二阶段:公共构件的接口提 取( 识别) 与提取与初步设计;第三阶段:基于系统体系结构的公共构件 设计。并基于m i s 公共构件的三大类型对过程模型的每个阶段,分别给 出相应的方法和过程。 在图3 1 中,可将这些方法看作一种“处理”,以圆角矩形表示;而把 方法需要的需求或说明以及方法产生的结果看作一种“数据”,在图中以 矩形表示;整个过程模型可看作;需求或说明“数据”流向每个“处理”, “处理”中的方法对输入的“数据”进行加工,得到输出的“数据”结果, 然后流向下个“处理”,整个流程结束后,得到最终结果集合,也就是 公共构件提取与设计的结果:公共构件设计图和配置图。整个数据处理和 数据流向过程就完成了整个m i s 公共构件的提取与设计的过程。 m i s 公共构件提取与设计过程模型 ;最量矗:j 再;一对之 刊7 l i 埔黟 用户和界面酏j 交互行为需球l jl 熊鬻瓣簇黼翳矮黪褥稽簇黎奚雾黪缪藤鬻群黪 公共陶竹卜_ 基于层次划分雕 基于五种界面模 u m l 自顶向下, 厂一i 矗舅f 型的界面类公共 逐步细化提取么构件提取方法 共构件方法一扩 罗 ,。i , 。_ 、t 一, r 一 f i 公共构梓规约 畸葡圆 公共构件规约1【 行为需翊 i l 公共构件规g ,夕 , 7 x7 ,:= 二囊她毒暑。嬲j 嘲。k ; 黪端美鹚赫搦i 的。| 、 珊熊类公e 构摊接口的j 信恩文体癸公批构件接 提取与 1 7 步设汁 口的提取j 铷步设计提取与砌! 步发汁 厂经验方1 经验方法l 经验方8 j l 一, 二卜曩、 一群妒鼍|:曩量强! 。饕麓 数据集萑 | j 基于系线i 拳系结掏设计誊 二五 卜公共构件 jj i 构件的模型j 毫 i o 董:“ 、一_ 。 i 化设计过程i 一l 巴 l 一一 系统公共构件舀 复合公共构件需求 、一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版文旅产业商业合作总协议
- 2025年文化旅游产业财务策划服务协议
- 诺如病毒培训知识小结课件
- 纪念白求恩课件
- 语音课件教学课件
- 语音干货知识培训课件
- 2025购销合同争议管辖权异议申请书范文
- 语言文字知识培训课件
- 2025年财务、审计岗位劳动合同模板(或范文)
- 2025智能监控系统维护保养合同
- 我这样做老师
- 2021年SYB创业培训考试试卷及答案
- 第一单元项目一探秘鸟类研究-认识数据、信息与知识课件沪科版(2019)高中信息技术必修1
- 垃圾焚烧发电项目电气安装与调试施工方案
- 设施蔬菜生产机械化技术
- LY/T 1821-2009林业地图图式
- JJF 1272-2011阻容法露点湿度计校准规范
- 液压与气压传动 第2版 马振福 高职课件0、1新
- 危化品安全管理学习课件
- SY∕T 7298-2016 陆上石油天然气开采钻井废物处置污染控制技术要求
- 突发事件处理记录表(标准范本)
评论
0/150
提交评论