已阅读5页,还剩60页未读, 继续免费阅读
(计算机应用技术专业论文)基于模型驱动架构的软件建模技术应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖北工业大学硕士学位论文 摘要 多年来,企业为了赢得市场竞争,都在不断地进行内部改造,而企业运作方 式的变化引发了企业需求方式的变更。对于企业m i s 系统这类高度复杂、需求持 续变化的应用型软件,系统功能和其系统实现技术需要不断更新。这就对软件开 发提出了更新的要求。 从上世纪9 0 年代,面向对象技术迅速发展,u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 作为种建模语言被大家接受和推崇,它为面向对象系统的开发提供了丰富的、 严谨的、扩充性强的表达方式。u m l 是在大型、复杂系统的建模领域得到认可的“优 秀的软件工程方法”。但随着它在实际工作中的广泛应用,它的缺陷也逐渐显露出 来。2 0 0 1 年7 月对象管理组织o m g 推出了在u m l 、m o f 、x m i 、c w m 等成功建模技术 的基础上的一种新的系统框架模型驱动体系结构( m o d e ld r i v e n a r c h i t e c t u r e ,m d a ) 。在m d a 概念的基础上,国外一些组织提出了e x e c u t a b l eu m l 技术,它是在基于u m l 模型图的基础上结合m d a 的思想为系统建模: 本文以湖北省职称评审工作为研究对象,在充分分析m d a 及x u m l 建模技术的 基础上,并结合实际职称评审工作流程,应用r a t i o n a l 统一过程方法( r u p ) 对 其进行建模。分析了系统的业务数据流程,采用了“分而治之”的基本策略,提 出了整个系统由四个子系统组成,并采用构件的形式生成系统中共用的数据库、 数据文件、文档文件,从而化解了系统的复杂性,减少开发中的困难。 在此基础上,利用x u m l 对职称评审信息系统的实现进行了需求和问题领域的 分析,建立了系统的静态模型和动态行为模型,实现了信息系统的一个比较完整 的建模过程。 关键字:m d a ,x u m l ,软件开发过程,行为语言 湖北工业大学硕士学位论文 a b s tr a c t f o rm a n yy e a r s ,e n t e r p r i s e sa r ec a r r y i n go nt h ei n t e r n a lt r a n s f o r m a t i o nc o n s t a n t l y i no r d e rt og a i nt h em a r k e t c o m p e t i t i o n ,t h ec h a n g eo f t h ee n t e r p r i s e s o p e r a t i o nw a y h a s c a u s e dt h ec h a n g e o f e n t e r p r i s e s d e m a n dw a y f o rc o m p l i c a t e da p p l i e ds o f t w a r el i k ee n t e r p r i s em i ss y s t e mt h a tn e e d sc o n s t a n t r e f o r m a t i o n ,i t ss y s t e mf u n c t i o n sa n dt h et e c h n o l o g yo f t h er e a l i z a t i o no f i t ss y s t e ma l s o d e m a n dc o n s t a n tr e n e w a lt h i sh a s p u t f o r w a r dn e w e rd e m a n d sf o rs o f t w a r e d e v e l o p m e n t f r o mt h e9 0 s o fl a s t c e n t u r y , w i t ht h er a p i dd e v e l o p m e n to fo b j e c t0 r i e n t e d t e c h n o l o g y , i m i h a sb e e nw i d e l ya c c e p t e da n dr e c o m m e n d e d a sam o d e l i n gl a n g u a g e i tp r o v i d e sa r i c h ,p r e c i s ea n de x p a n d a b l ee x p r e s s i o nw a y f o rt h ed e v e l o p m e n to f o b j e c t o r i e n t e ds y s t e m u m li sa l l “e x c e l l e n ts o f t w a r ee n g i n e e r i n gm e t h o d ”r e c o g n i z e db y l a r g ea n dc o m p l i c a t e ds y s t e m si nt h em o d e l i n gf i e l dh o w e v e r , i t sl i m i t a t i o n sa r ea l s o b e c o m i n ga p p a r e n ti nt h ep r o c e s so fi t s w i d eu s a g ei np r a c t i c e i nj u l y , 2 0 0 1 ,o m g i n t r o d u c e dan e ws y s t e ms t r u c t u r e - - m o d e ld r i v e na r c h i t e c t u r em d at h a ti sm a d e b a s e do nt h es u c c e s so fu m l ,m o f , x m ia n dc w mm o r e o v e r , s o m ef o r e i g n o r g a n i z a t i o n sp r o p o s e de x e c u t a b l eu m lt e c h n o l o g y , w h i c hc o m b i n e s t h ei d e ao fm d a o nt h eb a s i so f ir m lm o d e l p i c t u r et om o d e lf o rt h es y s t e m t h i sp a p e rc h o o s e st h ep r o f e s s i o n a lt i t l ee v a l u a t i o no fh u b e ip r o v i n c ea st h e r e s e a r c ho b j e c t ,o nt h eb a s i so f f u l l ya n a l y s i n gm d a a n dx 7 m o d e l i n gt e c h n o l o g y , c o m b i n e st h ea c t u a lp r o f e s s i o n a lt i t l ee v a l u a t i o np r o c e s s 、a n du s e sr u pt oc a t r yo nt h e m o d e l i n g o f i ti ta n a l y s e st h eb u s i n e s sf l o wd a t a p r o c e s s , a d o p t sa d i v i d ea n dc o n q u e r s t r a t e g y , p r o p o s e st h a tt h ee n t i r es y s t e m b ec o m p o s e do f f o u rs u b s y s t e m sa n d a d o p t s t h e c o m p o n e n tp a r tt of o i t nt h es h a r e dd a t a b a s e d a t af i l ea n dd o c u m e n t f i l eo f t h es y s t e ms o t h a tt h e c o m p l e x i t yo ft h es y s t e mi s r e d u c e da n dt h ed i f f i c u l t i e si n d e v e l o p i n gt h e s y s t e m a r el e s s e n e d m o r e o v e r , i tu t i l i z e sx u m lt oa n a l y z et h er e a l i z a t i o no ft h ep r o f e s s i o n a lt i t l e e v a l u a t i o ni nt h en e e da n dp r o b l e ms c o p e 。c o n s t r n c t st h es t a t i cm o d e la n dt h ed y n a m i c m o d e lo ft h es y s t e m ,a n dr e a l i z e sap r e t t yc o m p l e t em o d e l i n gp r o c e s so fi n f o r m a t i o n s y 。s t e m k e yw o r d s :m d 凡x u m l ,s o f t w a r ed e v e l o p m e n tp r o c e s s ,a c t i o nl a n g u a g e 湖北工业大学硕士学位论文 第1 章绪论 1 1 本课题研究背景 软件产业作为一个独立形态的产业,在全球经济中占据日益举足 轻重的地位。软件领域的主流技术一一面向对象技术很快从编程领域 向软件系统设计、分析方面延伸,出现了一+ 系列面向对象的软件工程 方法和技术。 进入9 0 年代,面向对象技术得到了迅速发展。在计算机领域,出 现了面向对象的系统分析、面向对象的系统设计、面向对象的程序设 计语言、面向对象的智能程序设计、面向对象的数据库管理系统等等。 面向对象技术在近几年逐渐为广大的系统分析和设计人员认识、接受 和推广、发展。随着面向对象技术的发展,软件复用、建模技术也得 到了前所未有的进步,这些新技术的发展为信息系统的开发研究拓宽 了思路、提供了新的途径。 1 2 软件开发模式的现状 1 2 1 结构化设计方法 随着计算机的普及与网络的发展,人们对信息系统的需求越来越 高,难度也越来越大,为了应付越来越复杂的问题,计算机科学家开 始将目光投向问题域,试图将复杂的问题用标准的方法分解成多个简 单的问题,然后再用软件逐个解决,这种方法就是结构化方法。这些 方法的代表包括e r 图、数据流图、数据字典、流程图【2 】。 随着结构化方法的出现,软件开发逐渐转向有组织有计划的开发 模式。这些开发模式中有代表性的是瀑布模型。在瀑布( w a t e r f a l l ) 模 型方法中,分析( a n a l y s is ) 、设计( d e s i g n ) 、编码( c o d i n g ) 和部署 ( d e p l o y m e n t ) 阶段是一个接着一个按顺序进行的。前一个阶段完成后, 湖北工业大学硕士学位论文 卜一个阶段才能开始【j j 。 这种开发方式具有一些明显的缺点。首先,这种方式下的开发过程 被分割开来。分析员将分析结果转交给设计人员,设计人员在把设计 结果交给开发人员。采用这种工作方式的话,这三个组的成员在一起 工作和共享重要信息的机会就很少。 这种方法的另一个问题是它不利于在项目开发过程中对问题的逐 步理解( 通常,对问题的理解是随着开发过程的深入而增强的,甚至 是在分析之后转向设计) 。如果过程不能回溯到早期阶段,那么在后期 萌发的好的思想将不能被利用。在开发过程中塞进新的见解是非常困 难的。重新进行分析和设计( 同时引入对个别问题的更进一步理解) 会大大增加项目获得成功的机会。 1 2 2 统一建模语言 在8 0 年代末至9 0 年代初o m g 提出了统一建模语言( u n i f i e d m o d e l i n gl a n g u a g e ,u m l ) 。u m f 是一个通用的、可视化的建模语言标 准,可以用来描述( s p e c i f y ) 、可视化( v i s u a l iz e ) 、构造( c o n s t r u c t ) 、 和记载( d o c u m e n t ) 软件密集型系统的各种工件( a r t i f a c t s ) 。 它不仅统一了b o o c h 、r u m b a u g h 和j a c o b s o n 这些主流的面向对象设计、 分析中的表示方法,而且对其作了进一步的发展,并最终统一为大众 所接受的标准建模语言。它使不同厂商开发的系统模型能够基于共同 的概念,使用相同的表示法,呈现彼此一致的模型风格。 u m l 表示方法的标准化有效地促进了不同背景人们的交流以及软 件设计、开发和测试人员的相互理解。无论分析、设计和开发人员采 取何种刁i 司的方法或过程,他们提交的设计产品都是用u m l 来描述的, 这有利地促进了相互理解,以至于u m l 常被用于信息系统,技术系统, 嵌入式实时系统,分布式系统和商业系统中。 总而言之,u m l 是一种定义良好、易于表达、功能强大且普遍适用 的建模语言。它不仅适用于以面向对象技术来描述任何类型的系统, 而且适用于系统开发的不同阶段一一从需求规格描述直至系统完成后 的测试和维护。另外,u m l 的扩展机制使得为了特殊的应用域而裁制 u m l 描述的模型轮廓成为可能。这种裁制建模语言的能力意味着不同应 2 湖北工业大学硕士学位论文 用域的用户可以使建模语言适应不同应用域的需要,还能够共享在所 有领域中通用的概念【5 1 。 但随着人们对u m l 的使用,u m l 的局限性也逐渐显示出来,首先, 运用目前u m i ,技术建立的系统模型是不可执行的,难以对模型正确性 进行验证,这样不宜于前期分析、设计中错误的发现,增加了后期开 发的风险;其次,对同样系统需求在不同实现平台环境上( 如实现语 言、软件环境) 建立模型细节差别很大,从而系统建造的使用性很低。 为了解决这些问题,通过广泛收集各方面的意见后,o m g 于2 0 0 3 年6 月正式给出了u m l 2 0 规约。在u m l 2 0 版本中,行为语义得到扩展。 新版本为行为语义提供了完整的、高度抽象的行为语义集。 1 2 3 模型驱动架构 模型驱动体系架构( m o d e ld r i v e na r c h i t e c t u r e ,m d a ) 是0 m g 最新提出的战略。它是在u b t l 、m o f 、x m i 、c w m 等成功技术标准的基础 上提出的一种新的系统框架,它打破了传统的软件开发方式,以模型 为中心,模型贯穿于整个系统的分析、设计、实现、配置、维护和管 理的各个阶段,m d a 的推出标志着通用软件建模开始走向成熟【6 】。它 提倡使用形式化的系统模型作为解决企业应用系统集成问题的核心, 通过使用软件工程方法和工具去理解、设计、操作、发展企业系统的 所有方面,从而为企业应用在不同生命周期阶段的集成提供了完备解 决方案。 目前m d a 概念还比较新,现有的工具还不能完全直接转换p i m 为 p s m ,并把p s m 再转换到代码,开发者需要手工强化生成p s m 和代码。 但是现有的工具可以从p i m 生成一个基本的可执行的程序,它提供了 创建、改变系统中的对象这样的基本抽象功能,这使得开发者可以获 得开发中的系统功能的立即反馈,因此可以随时动态创建最终系统的 基本原形。 近几年,国外一些组织提出了e x e c u t a b l eu m l 技术。x u m l 不是 简单地模仿u m l 语言,而是u m l 在u m l 2 0 规约及模型驱动构架上的发 展,它增加了行为描述,是u m l 语言的图形模型和行为描述形式化语 言的综合集成运用,它的设计目的主要是为了能够精确的定义各种模 湖北工业大学硕士学位论文 型语言的静态语义和行为语义。x u m l 是u m l 的可执行版本,它清楚地 定义了简单的模型架构,运用u m l 的各种建模技术和描述图,更重要 的是它运用行为描述语言精确地定义了系统的动态行为,为模型动态 行为提供了精确的语义。 1 3 本文工作及组织 1 3 1 本文工作 湖北省职称评审信息管理系统包括四个子系统,并且开发时间又 比较紧,所以决定该系统要求由多人同时开发,如何使开发人员明确 分工,统一程序编程规范,明了项目的程序流程,以及简化和缩短项 日的开发周期是关系到该系统开发的重大因素。这些因素和项目本身 的复杂性要求系统开发必须采用一种工程化的软件开发方法,为软件 开发团队制定一个标准的软件开发过程,在编程之前进行适当的系统 分析和设计,建立系统模型。本文中采用基于m d a 的建模方式并遵循 一定的建模过程,对湖北省职称评审信息管理系统进行面向对象分析 和设讨,建立系统模型,从不同角度描述系统。 本文针对上述背景,完成了下列工作: ( 】) 将u m l 与模型驱动架构的建模技术进行比较,总结运用x u m l 建模开发方法的优点及发展方向。研究了x u m l 实现的主要技术点; ( 2 ) 从省职称评审信息管理系统要实现的功能入手,对各子系统 的实现框架、体系结构等重要因素进行了初步的设计; ( 3 ) 以实际情况为立足点,分析了湖北省职称评审信息管理系统 在开发建设中面临的问题,并结合当今技术的发展动态,提出了系统 建模的设想: ( 4 ) 按照具有人事管理特点的软件建模方法,运用x u m l 并遵照 r a t o n a l 统一开发过程,对该职称评审系统进行了建模,从不同角度 描绘了该系统。 4 湖北工业大学硕士学位论文 1 3 2 本文组织 本文从实际应用的角度出发,着重分析在湖北省职称评审系统开 发过程中,u m l 如何高效地应用于分析和设计,并对其进行系统建模。 第2 章,面向对象的建模技术。本章通过对面向对象的建模技术 的介绍,说明了x u m l 在发展过程中对软件开发中的建模技术所起到的 推动作用,并指出其不足,正是由于这些原因提出了基于模型驱动构 架的x u m l 开发方法。 第3 章,基于x u m l 模型驱动架构的研究。本章系统的介绍了一些 模型驱动体系结构的相关概念,其中重点描述了x u m l 的建模思想,另 外还论述了在建模过程后对系统的验证与编译,通过对模型驱动体系 结构基本概念和x u m l 中元素的介绍,为x u m l 建模在系统中的实际应 用奠定了一定的基础。 第4 章,x u m l 的行为语言综述。本章比较详细介绍了x u m l 的行为 浯言,包括o m 6 给出的行为语义的具体要求,在此基础上介绍了几种 实现x u m i ,的行为语言。并给出了x u m l 的c a s e 工具。 第5 章,湖北省职称评审信息管理系统的分析和设计。本章根据 项目的实际情况和计算机处理技术的发展,对系统的实现技术、功能 要求等进行了具体的分析,给出了系统的一一个基本框架结构,同时就 其中的一+ 些基本问题进行了讨论。 第6 章,湖北省职称评审信息管理系统的x u m l 建模。本章首先介 绍了建模在软件开发过程中的意义,然后详细介绍了统一建模过程。 最后结合x u m l 的建模思想对系统进行了多方面、多角度的描述,得到 了用用例图、顺序图、行为语言描述等表示的系统模型。 第7 章,总结与展望。该部分对本论文的工作进行总结,指出了 在职称评审系统中的x u m l 建模过程中许多值得研究和探讨的问题,并 列举了一些需要进一步完善的工作。 湖北工业大学硕士学位论文 第2 章面向对象的建模技术 2 1 统一建模语言 面向对象的分析与设计( o o a & d ) 方法的发展在8 0 年代末至9 0 年代 中期出现了一个高潮,统一建模语言u m l 是这个高潮的产物w 。它不 仅统一了b o o e h 、r u m b a u g h 和j a c o b s o n 的表示方法,而且对其作了避 一步的发展,并最终统一为大众所续受的统一建模语言。 2 1 。1u m l 的出现 公认的面向对象建模语言出现1 二7 0 年代中期。从1 9 8 9 年到1 9 9 4 年,其数量从不到十种增加到了五一卜多种。在众多的建模语占中,语 言的创造者努力推崇自己的产品,并在实践中不断完善。9 0 年代中期 一批新方法出现了,其中最引人注目的是b o o t h1 9 9 3 、o o s e 和o m t - 2 等【“。 面对众多的建模语言,用户由于没有能力区别不同语言之间的差 别,因此很难找到一种比较适合其应用特点的语言;并且,众多的建 模语言实际上各有千秋,虽然它们大多类同,但仍存在某些细微的差 别,极大地妨碍了用户之间的交流。因此在客观上,极有必要在精心 比较不同的建模语言优缺点及总结面向对象技术应用实践的基础上, 组织联合设计小组,根据应用需求,取其精华,去其糟粕,求同存异, 统一建模语言。 1 9 9 4 年1 0 月,g r a d yb o o c h 和j i mr u m b a u g h 开始致力于这一工 作。他们首先将b o o c h9 3 和o m t 一2 统一起来,并于1 9 9 5 年1 0 月发布 了第一个公开版本,称之为统一方法u m0 8 ( u n i f i e dm e t h o d ) 。1 9 9 5 年秋,o o s e 的创始人i v a tj a c o b s o n 加盟到这一工作。于1 9 9 6 年6 月和10 月分别发布了两个新的版本,即u m 0 9 和u m 0 9 1 ,并将u m 重 新命名为u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 。1 9 9 6 年,一些机构将u m l 作为其商业策略己日趋明显。u m l 的开发者得到了来自公众的正面反 应,并倡议成立了u m l 成员协会,以完善、加强和促进u m l 的定义工 6 湖北工业大学硕士学位论文 作。这一机构对u m l1 0 ( 1 9 9 7 年1 月) 及u m l1 1 ( 1 9 9 7 年1 1 月l7 日) 的定义和发布起了重要的促进作用, 早期版本的u m l 建立的模型是不可执行的,它们仅仅提供了非常有 限的行为语义( 发送信号、对象的创建、对象的销毁和极其难以解释 的注释字符) 。为了解决这些问题,o m g 于2 0 0 3 年6 月正式给出了u m l 2 0 版本。 图2 1u m l 发展的历程 面向对象技术和u m l 的发展过程如图2 1 所示,统一建模语言的 出现是其重要成果。在美国,截止1 9 9 6 年1 0 月,u m l 获得了工业界、 7 湖北3 - 业大学硕士学位论文 科技界和应用界的广泛支持,已有7 0 0 多个公司表示支持采用u m l 作 为建模语言。1 9 9 6 年底,u m l 己稳占面向对象技术市场的8 5 ,成为可 视化建模语言事实上的工业标准。u m l 代表了面向对象方法的软件开发 技术的发展方向,具有巨大的市场前景,也具有重大的经济价值和国 防价值。 2 1 2 u m l 的内容 首先,u m l 融合了b o o c h 、o m t 和o o s e 方法中的基本概念,而且这 些基本概念与其他面向对象技术中的基本概念大多相同,因而,u m l 必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的 建模语言:其次,u i d l 不仅仅是上述方法的简单汇合,而是在这些方法 的基础上广泛征求意见,集众家之长,几经修改而完成的,u m l 扩展了 现有方法的应用范围;第三,u m l 是标准的建模语言,而不是标准的开 发过程。尽管u m l 的应用必然以系统的开发过程为背景,但由于不同 的组织和不同的应用领域,需要采取不同的开发过程。 统一建模语言u m l 的重要内容可以由下列五类图( 共9 种图形) 来 定义1 9 1 : 第一类是用例图,从用户角度描述系统功能,并指出各功能的 操作者。 第二类是静态图( s t a t i cd j a g r a m ) ,包括类图、对象图和包图。 其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之 间的联系如关联、依赖、聚合等,也包括类的内部结构( 类的属性和操 作) 。类图描述的是一种静态关系,在系统的整个生命周期都是有效的 1 1o l 。对象圈是类图的实例,几乎使用与类图完全相同的标识。他们的 不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对 象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在 系统某一时间段存在。包图由包或类组成,表示包与包之问的关系。 包图用于描述系统的分层结构。 第三类是行为图( b e h a v i 0 1 d i a g r a m ) ,描述系统的动态模型和 组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以 及事件发生时状态的转移条件。通常,状态图是对类图的补充【1 “。在 8 湖北工业大学硕士学位论文 实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受 外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例 要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。 第四类是交互图( i n t e r a c t i v ed ja g r a m ) ,描述对象问的交互关 系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息 发送的顺序,同时显示对象之间的交互;合作图描述对象问的协作关 系,合作图与顺序图相似,显示对象间的动态合作关系。除显示信息 交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺 序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种倒 合称为交互图。 第五类是实现图( i m p l o l l l e n t a t i o nd i a g r a m ) 。其中构件图描 述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是 个资源代码部件、个二进制部件或一一个可执行部件。它包含逻辑类 或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响 程度。 配最图定义系统中软硬件的物理体系结构。它可以显示实际的计 算机和设备( 用节点表示) 以及它们之间的连接关系,也可显示连接的 类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显 示节点跟可执行软件单元的对应关系。 从应用的角度看,当采用面向对象技术设计系统时,首先是描述 需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三 步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静 态的,包括用例图、类图( 包含包) 、对象图、组件图和配置图等五个 图形,是统一建模语言u m l 的静态建模机制。其中第三步中所建立的 模型或者町以执行,或者表示执行时的时序状态或交互关系。它包括 状态图、活动图、顺序图和合作图等四个图形,是统一建模语言u m i 。 的动态建模机制。因此,统一建模语言u m l 的主要内容也可以归纳为 静态建模机制和动态建模机制两大类 12 1 。在软件工程中各种图的映射 类如图2 2 所示。 9 湖北工业大学硕士学位论文 厂i i 丽i , 一 厂i 百 * 重:二蔓、 臣耍画 、- - n 日* 一一 。1 j 月自 要苎苎= 二 i i 嚣嚣| 互三日圆回l 一- - 燕;= 二一 l ! 旦j 图2 2u m l 建模过程中各种因素的映射类 不过u m l 在取得巨大成功的同时,也不断地受到批评。来自工业 界的批评主要是,它过于庞大和复杂,用户很难全面、熟练地掌握它, 大多数用户实际上只使用它一少部分的概念;它的许多概念含义不清, 使用户感到困惑。来自学术界的批评则主要针对它在理论上的缺陷和 错误,包括语言体系结构、语法、语义等方面的问题。为了解决这些 问题,通过广泛收集各方面的意见后,o m g 于2 0 0 3 年6 月正式给出了 u m l 2 0 规范。升级后的u m l 标准有以下新特性【1 3 1 ; l 、使用m e t a o b je c t 工具( m o f ) 安排语言元模型( m e t a m o d e l ) , 简化了通过x m l 元数据交换( x m i ) 的模型交换和工具之间的交互。 2 、可扩展的机制允许建模人员加入自己的元类型,简化了 u m lp r o f i l e 的定义,并且可以更容易地将建模工作延伸到新的应用领 域。 3 、内建对基于组件开发方式的支持,能够轻易地将应用模型转化 为e 3 b 、c o r b a 或者c o m + 组件。 4 、支持运行时体系结构,能够为属于系统不同部分的对象和数据 流建模。对可执行模型的支持将加强。 5 、将加入更多详尽而精确的对象关系描述方式;更好的行为建模 方式;语法和语意将简化,整体结构的组织也更好。 湖北工业大学硕士学位论文 2 1 3 u m l 的主要特点 统一建模语言u m l 的主要特点可以归结为二三点【“1 : ( 1 ) u m l 统一了b o o c h 、o m t 和o o s e 等方法中的基本概念。 ( 2 ) u m l 还吸取了面向对象技术领域中其他流派的长处,其中也包 括非0 0 方法的影响。u m l 符号表示考虑了各种方法的图形表示,删掉 r 大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符 号。因此,在u m i ,中汇入了面向对象领域中很多人的思想。这些思想 并不是u m 的开发者们发明的,而是开发者们依据最优秀的0 0 方法和 丰富的计算机科学实践经验综合提炼而成的。 ( 3 ) u m ,在演变过程中还提出了一些新的概念。在u m l 标准中新加 了模板( s t e f e o t y p e s ) 、职责( r e s p o n s i b i l i t i e s ) 、扩展机制 ( g x t e n s i b i l i t ym e c h a n is m s ) 、线程( t h r e a ds ) 、过程( p r o c e s s e s ) 、 分布式( d is t r i b u t i o n ) 、并发( c o n c u r r e n c y ) 、模式( p a t t e r n s ) 、合 作( c o l l a b o r a t i o i q s ) 、活动图( a c t iv i t yd i a g r a m ) 等新概念,并清晰 地区分类型( t y p e ) 、类( c l a s s ) 和实例( i n s t a n c e ) 、细化( r e f i n e m e n t ) 、 接口( i n t e r f a c e s ) 和组件( c o m p o n e n t s ) 等概念【”】。 因此可以认为,u m l 是一种先进实用的统一建模语言,但其中某些 概念尚待实践来验证,u m l 也必然存在一个进化过程。 2 1 4 t l m l 的应用领域 u m l 的目标是以面向对象图的方式来描述任何类型的系统,具有很 宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以 用j 二描述非软件领域的系统,如机械系统、企业机构或业务过程,以 及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。 u m l 是一个通用的统一建模语言,可以对任何具有静态结构和动态 行为的系统进行建模【”】。此外,u m l 适用于系统开发过程中从需求规 格描述到系统完成后测试的不同阶段。在需求分析阶段,可以用用例 来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其 对系统( 用例) 的功能要求。分析阶段主要关心问题域中的主要概念( 如 抽象、类和对象等) 和机制,需要识别这些类以及它们相互间的关系, 湖北工业大学硕士学位论文 并用u m l 类图来描述。为实现用例,类之间需要协作,这可以用u m l 动态模型来描述。在分析阶段,只对问题域的对象( 现实世界的概念) 建模,而不考虑定义软件系统中技术细节的类( 如处理用户接口、数据 库、通讯和并行性等问题的类) 。这些技术细节将在设计阶段引入,因 此设计阶段为构造阶段提供更详细的规格说明。 + 编程( 构造) 是一个独立的阶段,其任务是用面向对象编程语言将 来自设计阶段的类转换成实际的代码。在用u m l 建立分析和发计模型 时,应尽量避免考虑把模型转换成某种特定的编程语言。因为在早期 阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十 分不利于建立简单正确的模型。 u m l 模型还可作为测试阶段的依据。系统通常需要经过单元测试、 集成测试、系统测试和验收测试。不同的测试小组使用不同的u m l 图 作为测试依据:单元测试使用类图和类规格说明;集成测试使用部件图 和合作图;系统测试使用用例图来验证系统的行为;验收测试由用户 进行,以验证系统测试的结果是否满足在分析阶段确定的需求。 总之,统一建模语言u m l 适用于以面向对象技术来描述任何类型 的系统,而且适用于系统开发的不同阶段,从需求规格描述赢至系统 完成后的测试和维护1 1 7 l 。 2 2 基于模型驱动体系结构开发方法及其意义 随着人们对u m l 的使用逐步增多以及软件工程的发展,基于u m l 面向对象开发方法的弊端与不足逐渐显现出来,主要表现在以下几个 方面1 1 8 】: l 、u m i 。很多地方运用难以理解的书面语言来描述系统的功能,系 统的行为和计算不易于理解和沟通。并且对数据操作没有进行定义, 以至于对象之间的行为过程没有办法加以说明表示( 如:对象之间关 系的连接操作) ,这些都迫切需要一个标准化的行为语言( a c t i o n l a n g u a g e ) 来对系统的行为进行精确形式化的描述。 湖北工业大学硕士学位论文 2 、u m l 虽然是系统设计的一种标准描述语言,但是在用u m l 进行 分析、设计的模型是不可以执行、验证的,这样不易于前期分析、设 汁中错误的发现,增加了后期开发的风险。 3 、对于不同的实现平台( 如:实现语言、软件环境) ,同样功能 需求的系统建立模型时实现细节差别很大,从而系统构建的模型重用 性就很低。旧的遗留系统必须和新技术的实施平台、开发技术相协调, 使得新旧系统之间的集成或系统的在运用新技术进行重构时,需要进 行系统模型的更新甚至完全重新建模,必然要浪费很多财力、人力。 此外,u m l 有很多纷杂的标示注释,增加了学习和应用的复杂度, 影响了软件开发的进度。 以上这些现象都是目前u m l 中存在的一些不足,他们较严重的影 响了u m l 在系统分析设计中的应用效果。因此迫切需要对u m l 规范进 行一定的修改或提出新的技术来弥补这些不足,提高开发效率和减低 开发成本。 由于以上几个原因,o m g ( o b j e c tm a n a g e m e n tg r o u p ) 提出模 型驱动架构m o d e ld r i y e na r c h i t e c t u r e ( 以下简称m d a ) 概念,分 离业务功能与实现技术之间紧密结合的关系,从而使技术变化对系统 的影响最小 1 9 1 。从宏观看,m d a 使得应用模型与领域模型在整个软件 生命周期中得到了复用。m d a 核心思想是抽象出与实现技术无关、完 整描述业务功能的核心模型平台无关模型( p l a t f o r m i n d e p e n d e n t m o d e l ,以下简称p i m ) 1 2 0j ,针对不同实现技术制订多个映射规则,然 后通过这些映射规则及辅助工具将p i m 转换成与具体实现技术相关的 应用模型平台相关模型( p 1 a t f o r m s p e c i f i cm o d e l ,以下简称 p s m ) ,最后将经过充实的p s m 转换成代码。 在这个概念基础上,国外一些组织提出了e k e c u t a b l eu m l ( 以下 简称x u m l ) 技术,运用x u m l 技术可以实现m d a 软件开发方法的思想, 同时也有利于前期分析设计中模型的验证,新的基于x u m l 的m d a 软 件工程开发方法的出现,是软件系统开发方法的一个新方向。 x u m l 不是简单地模仿u m l 语言,而是u m l 在u m l 2 o 规约及模型驱 动构架上的发展,它增加了行为描述,是u m l 语言的图形模型和行为 描述形式化语言的综合集成运用,它的设计目的主要是为了能够精确 湖北工业大学硕士学位论文 的定义各种模型语言的静态语义和行为语义。x u m l 是u m l 的可执行版 本,它清楚地定义了简单的模型架构,运用u m l 的各种建模技术和描 述图,更重要的是它运用行为描述语言精确地定义了系统的动态行为 为模型动态行为提供了精确的语义。 2 3 本章小结 本章介绍了一些u m l 的相关概念,指出u m l 在软件建模过程中曾 处于重要地位,但也有一定的缺陷,正是由于这些原因提出了基于模 型驱动构架的x u m l 开发方法,为后面系统采用x u m l 建模奠定了一定 的基础。 1 4 湖北工业大学硕士学位论文 第3 章基于x u m l 模型驱动架构的研究 3 1 模型驱动架构的概念 软件界对u m l 的广泛认可和接受大大促进了以模型为中心的软件 开发,o m g 在2 0 0 1 年初提出了支持这种开发的一系列标准框架,即模 型驱动体系结构( m d a ,m o d e 卜d r i v e na r c h i t e c t u r e ) 。 3 1 im d a 开发生命周期 m d a 开发模式的生命周期与传统的方式看起来区别并不大。他们都 具有相同的开发阶段,主要的区别就是各个阶段的设计工件是不相同 的,m d a 的设计工件是正式的精确模型,它们能够被机器所理解1 2 “。 在m d a 的开发生命周期中,最核心的是平台无关模型p i m ,这一 阶段的系统模型是完全独立于系统实现技术的功能模型;其次是平台 相关模型p s m 的建立,对不同实现技术制订多个映射规则;然后通过 这些映射规则及辅助工具将平台无关模型转换成与特定实现技术和软 件环境相关的应用模型;最后将经过充实的平台相关模型转换成代码。 3 11 1 平台无关模型 模型驱动架构技术主要依赖于平台无关模型,这种模型的主要特 征是它的实现与具体实现技术和软件环境无关性。例如:一个职称申 报系统平台无关模型,这种模型理论上仅仅抽象地描述了系统中各对 象之间的动态和静态模型,从而达到描述系统功能的目的。因此它应 不依赖于用户界面、实现它的程序语言和操作系统等方面。它应该能 被转化到多进程线程c o r b a 环境或者转化到一个c l i e n t s e r v e r 结 构下的关系型数据库环境。一个定义精确、详细的平台无关模型可以 在具体平台实现之前进行执行和测试,这样就大大提高早期系统分析 的j e 确性,从而加速系统的开发速度,提高系统的模块重用性和系统 的移植性。 湖北_ t - 业大学硕士学位论文 3 1 1 2 平台相关模型 此外,模型驱动架构思想也定义了另种模型概念即:平台相关 模型。这种模型包含有详细的系统实现信息和软件架构信息,从而 叮 以直接从平台相关模型转化到代码。所以p s m 是为某种特定实现技术 量身定做的。在p s m 中,结合具体的实现技术来构造描述系统。例如: e j bp s m 是用e j b 结构表述的系统模型。它通常包含e j b 特有的术语, 比如“e n t i t yb e a n ”、“s e s s i o nb e a n ”等等。显然p s m 只对了解相应 乎台的开发者有意义。 3 1 1 3 代码 开发的最后一个阶段是把特定的p s m 映射成代码。因为p s m 同相 应技术密切相关,所以这一变化相对较为直接。把p i m 变换一个或多 个p s m 是m d a 开发过程中最复杂的一步。p i m 、p s m 和代码表现为开发 生命周期中不同阶段的工件。更重要的是,他们表现了系统规约的不 同抽象层次。能够把高层次的p i m 变化成低层次的p s m ,这提升了开发 者工作的抽象层次,从而使开发者可以用较少的努力创建更复杂的系 统。 3 1 2m d a 的模型架构 在m d a 中模型不再仅仅是描绘系统,辅助沟通的工具,而是软 件开发的核心和主干。m d 对系统的关键模型做了区分,并把这些模 型置于一个统一的结构中。图3 1 描绘了m d a 的模型架构【22 1 。可以看 到,m d a 将模型区分为计算无关模型、平台无关模型( p i m ) 和平台市h 关模型( p s m ) 。平台无关模型中的功能如何实现,在平台相关模型中 给出具体的规约。 湖北工业大学硕士学位论文 图3 1m d a 的模型架构 平台无关模型对系统的结构和功能进行抽象的规约,不带有具体实 现的技术细节。将平台无关模型和平台相关模型显式地分开有这样几 个优点:1 、平台无关模型可以被多种实现技术复用,当技术平台发生 迁变的时候平台无关模型不必做改动;2 、由于和具体实现技术无关, 平台无关模型可以更加精确地体现系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年黔东南民族职业技术学院单招职业技能考试题库必考题
- 2026年内蒙古电子信息职业技术学院单招职业倾向性测试必刷测试卷附答案
- 2026年山东外事职业大学单招职业适应性考试题库附答案
- 2026年安徽审计职业学院单招职业适应性考试必刷测试卷附答案
- 2026年福州英华职业学院单招职业倾向性测试题库附答案
- 2026年温州大学单招职业技能考试题库及答案1套
- 2026年资阳环境科技职业学院单招职业适应性考试必刷测试卷及答案1套
- 2026年海口经济学院单招职业技能考试必刷测试卷及答案1套
- 2026年四川财经职业学院单招职业技能考试题库必考题
- 2026年武汉信息传播职业技术学院单招职业适应性测试必刷测试卷及答案1套
- DB32T3748-2020 35kV及以下客户端变电所建设标准
- 职业暴露应急预案及处理流程
- 鄂尔多斯市普通住小区物业管理服务等级标准和收费指导价格
- 六年级数学上册第一单元测试卷及答案
- 附录C.1 陆上风电、光伏建设项目质量验收范围划分1
- 国开电大《当代中国政治制度》形考任务1-4答案
- 增值服务承诺书
- 郭德纲于谦经典相声《我要穿越》台词
- 深圳市龙岗区2023年九年级上学期《数学》期中试题与参考答案
- 无违法犯罪记录证明申请表(个人)
- 四川省绵阳市绵阳中学英才学校2022-2023学年小升初数学自主招生备考卷含答案
评论
0/150
提交评论