




已阅读5页,还剩48页未读, 继续免费阅读
(计算机应用技术专业论文)基于petri网的uml模型映射与验证方法的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士学位论文 m a s t e r st h e s i s 摘要 统一建模语言( u m l ) 是对象管理集团( o m g ) 的标准,是一种用于对 软件密集型系统以及商业建模和非软件系统进行可视化、详述、构造和文档化 的建模语言,主要适用于分析与设计阶段的系统建模。u m l 最主要的优点是 表达软件系统的能力强、效率高。但u m l 的缺点是难以直接用数学工具对 u m l 模型进行检验,另外u m l 在语义方面也存在一些不足。 作为软件系统建模的工具,p e t r i 网的优点是:可以对一个系统的并发、同 步行为以及资源共享建摸,而且有许多与p e t r i 网相关联的对p e t r i 网模型进行 检测和行为分析的理论结果。p e t r i 网的缺点是:丌发者不容易绘制( 特别是对 于复杂系统的) p e t r i 网图,并在对对象及划象问的关系建模时存在困难。 对复杂的并发系统进行有效建模要求有一套形式化体系,由它能获取系统 的本质特性,如不确定性、同步性和并发性。p e t r i 网提供一套清楚的具有并发 性的形式化体系,但是缺乏彻底模块化的技术。而面向对象方法对高度呵重用 的和模块化的系统提供形式化体系,但是缺乏整体并发特性。于是许多人努力 将p e t r i 网和面向对象概念结合起来,以扬长避短,发挥各自的优势,形成一 种更有效的软件建模技术。进一步深入的研究提出将u m l 与p e t r i 网结合建模 的解决方法是:用户先使用u m l 建模,然后将其转换为p e t r i 网来验证。 在本文中,我们设计并讨沦一个从u m l 动态模型到p e t r i 网映射的实例, 以获得一种灵活的、可定制的p b m u m 方法( 即基于p e t r i 网的u m l 模型映 射与验e 方法) ,去推断面向对象模型的动态方面的一些特性,并分析浚模型 的特定部分。本文提出的p b m u m 方法的基本思想是采用与u m l 具有同等功 能的p e t r i 网的形式化语义规则去拙述u m l 的主要元素。 关键词:u m l ,p e t r i 网,软件系统建模,形式化定义,动念模型 映射,验证 硕士学位论文 m a s t e r st h e s i s a b s t r a c t u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) i sa s t a n d a r do fo m g ( o b j e c tm a n a g e m e n t g r o u p ) a n du m l i sag r a p h i c a ll a n g u a g ef o rv i s u a l i z i n g ,s p e c i f y i n g ,c o n s t r u c t i n g , a n dd o c u m e n t i n gt h ea r t i f a c t so fas o f t w a r es y s t e m a sw e l la sf o rb u s i n e s s m o d e l i n ga n do t h e rn o n s o f t w a r es y s t e m s t h ea d v a n t a g eo fu m li s p o w e r f u l e n o u g ht os p e c i f ys o f t w a r es y s t e mm o d e lv i s u a l l ya n de f f i c i e n t l y , t h ed i s a d v a n t a g e o fi ti sl a c k i n gaf o r m a ls e m a n t i c sa n dd i f f i c u l tt oa p p l y , d i r e c t l y , m a t h e m a t i c a l t e c h n i q u e so nu m lm o d e l sf o rs y s t e mv a l i d a t i o n a sat o o lf o rs o f t w a r es y s t e mm o d e l i n g p e t r in e th a sa d v a n t a g e s :a l l o w i n g t h em o d e l i n go fc o n c u r r e n c v ,s v n c h r o n i z a t i o na n dr e s o u r c es h a r i n gb e h a v i o ro fa s y s t e m a n dt h e r ea r em a n yt h e o r e t i c a lr e s u l t sa s s o c i a t e dw i t hp e t r in e t sf o ra n a l y s i s o fs u c hi s s h e sd e t e c t i o na n dp e r f o r m a n c ea n a l y s i s p e t r in e ta l s oh a sd i s a d v a n t a g e s : i t sn o te a s yf o rd e v e l o p e r st od r a wap e t r in e t ,e s p e c i a l l yf o rc o m p l e xs y s t e m s ,a n d h a v i n gd i f f i c u l t yt om o d e lo b j e c t sa n dr e l a t i o nb e t w e e no b i e c t s e 虢c t i v em o d e l i n go fc o m p l e xc o n c u r r e n ts y s t e m sr e q u i r e saf o r m a l i s mt h a t c a nc a p t u r ee s s e n t i a lp r o p e r t i e ss u c ha sn o n d e t e r m i n i s m s y n c h r o n i z a t i o na n d p a r a l l e l i s m p e t r in e t so f & rac l e a nf o r m a l i s mf o rc o n c u r r e n c y h o w e v e rl a c k t h o r o u g hm o d u l a r i z a t i o nt e c h n i q u e s 0 b j e c to r i e n t a t i o no f f e r sf o r m a l i s mf o rh i g h l y r e u s a b l ea n dm o d u l a rs y s t e m s b u tl a c k sg e n e r a lc o n c u r r e n c yf e a t u r e st h e r eh a v e b e e nan u m b e ro fa t t e m p t st oc o m b i n ep e t r in e t sw i t h0 b j e c t0 r i e n t e dc o n c e p t st o p r o f i tf r o mt h es t r e n g t h so fb o t ha p p r o a c h e s t h es o l u t i o nm a yb e :1 e tu s e rd e s i g n t h eu m la n dv a l i d a t ei tb yc o n v e r t i n gi ti n t ot h ep e t r in e t i nt h i sp a p e rw ed i s c u s sa s p e c i a le x a m p l eo f t h em a p p i n go f u m ld y n a m i c m o d e l sw i t hp e t r in e t st oo b t a i naf l e x i b l ea n dc u s t o m i z a b l em e a n st or e a s o no nt h e d y n a m i ca s p e c t so fo b j e c t o r i e n t e dm o d e l s ,t oa n a l y z ep a r t i c u l a rp a r t so ft h e s e m o d e l s t h ed i s c u s s i o ne x p l o i t sr u l e st oa s c r i b em a i nu m le l e m e n t sw i t hf o r m a l s e m a n t i c si nt e r m so ff u n c t i o n a l l ye q u i v a l e n tp e t r in e t s k e y w o r d s :u m l ,p e t r in e t s ,s o f t w a r es y s t e mm o d e l i n g ,f o r m a ls p e c i t i c a t i o q s , d y n a m i cm o d e l m a p p i n g ,v a l i d a t i o n 硕士学位论文 m a s t e r st h e s i s 郑重声明 本人的学位论文是在导师指导下独立撰写的,学位论文没有剽窃、抄袭、 造假等违反学术道德、学术规范和侵权行为,本人愿意承担由此而产生的法律 责任和法律后果,特此郑重声明。 学位论文作者( 签名) :? 苗酏咤 衅歹月瑚只 硕士学位论文 m a s t e r st h e s i s 第一章概述 1 1 论文的研究背景及意义 随着计算机硬件性能的不断提高和价格的不断下降,计算机的应用领域 也在不断扩大。在越来越多的领域,人们希望把更多、更难的问题交给计算 机去解决。这使得计算机软件的规模和复杂性与日俱增,从而使软件技术不 断地受到新的挑战。6 0 年代软件危机的出现就是因为系统的复杂性超出了人 们在当时的技术条件下所能驾驭的程度。此后在软件领域,从学术界到工业 界,人们一直在为寻求更先进的软件方法与技术而奋斗。大型的、复杂的软 件系统的丌发是项工程,必须按照工程学的方法组织软件的生产和管理。 只有在分析和设计阶段建立了良好的系统模型,才有可能保证工程的萨确实 施。 统一建模语言( u m l ) 是一种用于对软件密集型系统进行可视化、详述、 构造和文档化的建模语言,主要适用于分析与设计阶段的系统建模。u m l 最 主要的特点是表达能力丰富,因为它从各种面向对象的分析与设计( o o a & d ) 方法中吸取了大量的概念。可以说,u m l 对系统模型的表达能力超出了以往 任何一种面向对象的分析与设计( o o a & d ) 方法。 从u m l 的早期版本丌始,便受到了计算机产业界的重视,o m g ( 对象 管理组织) 的采纳和大公司的支持把它推上了实际上的工业标准的地位,使 它拥有越来越多的用户。它被广泛地用于应用领域和多种类型的系统建模, 姗管理信息系统、通信与控制系统、嵌入式实时系统、分布式系统、系统软 件等。近几年它还被运用于软件再工程、质量管理、过程管理、配置管理 等方面。而且它的应用不仅仅限于计算机软件,还可用于非软件系统,例如 硬件设计、业务处理流程、企业或事业单位的结构与行为建模。 硕士学位论文 m a s t e r st h e s i s 不过u m l 在取得巨大成功的同时,也不断地受到批评。来自工业界的批 评主要是,它过于庞大和复杂,用户很难全面、熟练地掌握它,大多数用户 实际上只使用它的少部分概念:它的许多概念含义不清,使用户感到困惑。 来自学术界的批评则主要针对它在理论i :的缺陷和错误,包括语言体系结构、 语法、语义等方面的问题 u m l 的关键问题是过于庞大和复杂,以及在语言体系结构、语义等方面 存在理论缺陷。产生这些问题的个重要原因是,在形成规范的过程中不得 不照顾多种方法流派的观点和多家公司的利益。 2 0 0 3 年,u m l 的三位倡导者之一的j a m e sr u m b a u g h 发表讲话。谈及了 u m l 最新版u m l 2 0 的概要,以及u m l 和对象指向技术的现状。目前正在 制定的最新版u m l2 0 的改进之处大体上有三点。 第一,整理并强化类和组件的内部结构。通过将类和组件归类,就能够生 成层次结构。 第二,改进了表示对象间相互作用的“顺序图( s e q u e n c ed i a g r a m ) ”。通 过增加与条件分支和循环有关的标记方法,或改进单个的标记方法,使顺序 图绘制更加容易。 第三,改进了表示对象本身内容的活动视图。通过采用建模方法之一的 p e t r i 网,就能够描述业务流程。 通过这三点的改进,有望使得大型系统的分析和设计变得更加容易。通过 篇一点改进,将更加容易了解整个应用的结构。利用第二点改进,就能够把 更复杂的现象作为系统构筑的对象来表现。而通过第三点改进,则将能够更 灵活地表现对象的变化情况。 由此可见,u m l 与p e t r i 网结合进行建模和模型分析是今后的自然发展趋 势。 p e t r i 网是严格定义的数学对象,借助数学开发的p e t r i 网分析方法和技术 既可以用于静态的结构分析,又可以用于动态的行为分析。p e t r i 网既有严格 的形式定义,又有直观的图形表示,既有丰富的系统描述手段和系统行为分 析技术,又为计算机科学提供了坚实的概念基础。利用p e t r i 网对u m l 图进 2 硕士学位论文 m a s t e r st h e s i s 行分析,可以分析用u m l 所建立的模型中存在的冲突、竞争、并发等各种关 系,并能够对模型的行为和性能进行全面的评价,为模型的改善提供依据。 1 2 论文的研究重点 本文提出了将实例系统的u m l 动态模型映射为p e t r i 网的p b m u m 方法 ( 即基于p e t r i 网的u m l 模型映射与验证方法) :并提出了一套从u m l 状态 图向p e t r i 网映射的规则以实现p b m u m 。通过对从u m l 模型映射生成的p e t r i 网的分析,我们可以对模型的一些重要方面的行为和效率进行研究。本文的 研究重点是p b m u m 对实例系统的建模,p b m u m 的映射方法,以及p b m u m 对模型的分析与讨论。 1 21p b m u m 对实例系统的建模 生成一个完整的动态模型,我们不仅要使用定义行为的表示符号,还要 使用一些定义系统结构的表示符号,为不同的系统视图提供一个一致的语义 框架。 在本文中,我们主要关注u m l 类图和状态图。类图主要定义系统的结构, 但它不能提供系统的运行行为信息,这些运行行为信息能够从定义类的运行 行为的状态图中得到。 1 2 2p b i i t u m 的映射方法 要对u m l 模型进行基于p e t r i 网的行为和效率分析,将u m l 图映射为 p e t r i 网是一个关键问题。本文首先讨论了p b m u m 的一套规则使得u m l 状 态图可以自动映射到p e t r i 网中的状态( 库所) 。然后讨论了p b m u m 如何通 过u m l 类图所体现出来的请求与实际服务的动态关联将p e t r i 网中的各库所 通过变迁连接起来,形成一个完整的p e t r i 网。 3 硕士学位论文 m a s t e r st h e s i s 1 2 3 分析与讨论 p b m u m 通过得到的p e t r i 网对u m l 的语义模型进行分析并揭示了其中 存在的一个缺陷。然后我们介绍了国际和国内该领域的研究动态,并与我们 的工作进行了比较。 1 j3 论文的组织结构 第一章为概述,介绍论文的研究背景和意义、论文的研究重点以及篇章 结构。 第二章讨论对实例系统的u m l 建模的几个主要问题。首先介绍了u m l 的基本概念,讨论了模型的概念、性质及用途。然后结合本文提出的一个实 例问题建立了u m l 状态图和类图。 第三章主要研究采用p b m u m 将u m l 图映射到p e t r i 网的方法。首先介 绍了p e t r i 网的基本概念;然后深入探讨了p b m u m 将u m l 状态图映射到p e t f i 网的规则;最后探讨了p b m u m 通过u m l 类图连接形成一个完整的p e t r i 网 的方法。 第四章主要研究p b m u m 通过生成的p e t r i 网对模型进行分析和验证。通 过对p e t r i 网的一组特定触发序列的研究,揭示了模型中存在的一个缺陷。 第五章介绍了国际和国内在u m l 和p e t r i 网结合建模方面的研究动态, 并与我们的工作进行了比较。 第六章对论文所做的工作进行了总结,并对今后的研究方向和进一步的 工作做出展望。 4 硕士学位论文 m a s t e r st h e s i s 第二章u m l 与实例建模 本章讨论了对实例系统的u m l 建模过程。在本章中介绍了u m l 的基本 概念,当前对u m l 的优点和不足之处的评价,以及对u m l 今后发展的展望。 然后讨论了模型的概念、性质和用途。最后介绍了一个实例系统,并对该实 例系统建立了u m l 类图和状态图。 2 1 统一建模语言u m l 面向对象的分析与设计( o o a & d ) 方法的发展在二十世纪8 0 年代术至9 0 年代中出现了一个商潮,u m l 是这个高潮的产物。它不仅统一了b o o c h 、 r u m b a u g h 和j a c o b s o n 的表示方法,而且对其作了进一步的发展,并最终统一 为大众所接受的标准建模语言。 211u m l 的发展及现状 u m l 是在多种丽向对象建模疗法的基础上发展起来的建模语言,主要用 于软件密集型系统的建模。它的演化,可以按其性质划分为以下几个阶段: 最初的阶段是专家的联合行动,由三三位o o ( 面向对象) 方法学家将他们各自 的方法结合在一起,形成u m l0 9 。第二阶段是公司的联合行动,由十几家 公司组成的“u m l 伙伴组织”将各自的意见加入u m l ,形成u m l1 0 和1 1 , 并作为向o m g 申请成为建模语言规范的提案。第三阶段是在o m g 控制下的 修订与改进,o m g 于1 9 9 7 年1 1 月正式采纳u m l l 1 作为建模语吉规范,然 后成立任务组进行不断的修订,并产生了u m l1 2 、1 3 和1 4 版本,其中u m l 1 3 是较为重要的修订版。目前正处于u m l 的重大修订阶段,目标是推出u m l 2 0 ,作为向i s o ( 国际标准化组织) 提交的标准提案。 硕士学位论文 m a s t e r st h e s i s u ml 1 1 被o m g 倒2 - 1u m l 发展树形刚 在多种厕向对象建模方法流派并存和拥互竞争的局面小,u m l 树起了统 一的旗l 阻使坷;同厂商开发的系统模型能够基于共同的概念,使用相同的表 示法,呈现彼此毁的模型风格。而且它从多种方法中吸收了大量有用( 或 者对一部分用户可能有用) 的建模概念,使它的概念和表示法在规模上超过 了以往任何一种方法,菇且提供了允许用户刘语言+ 做进一步扩展的机制。 u m l 在语法和语义的定义方面也做了大鬣的工作。以往各种关 二面向对 象方法的著作通常是以比较简单的方式定义其建摸概念,而以主要篇幅给出 过程指导,论述如何运用这些概念来进行开发。u m l 则以一种建模语言的姿 态出现,使用语言学中的一些技术来定义。尽管真正从语言学的角度看它还 有许多缺陷,但它在这方面所做的努力却是以往的各种建模方法无法比拟的。 从u m l 的早期版本开始,便受到了计算机产业界的重视,o m g 的采纳 和大公司的支持把它推上了实际上韵工业标准的地位,使它拥有越来越多的 6 硕士学位论文 m a s t e r st h e s i s 用,。它被广泛地用于应用领域和多种类型的系统建模,加管理信息系统、 通信与控制系统、嵌入式实时系统、分佰式系统、系统软件等。近几年还被 运用于软件再工程、质量管理、过程管理、配置管理等方面。而且它的应用 不仅仅限于计算机软件,还可用于非软件系统,例如硬件设计、业务处理流 程、企业或事业单位的结卡勾与行为建模。 不过u m l 在取得巨大成功的同时,也不断地受到批评。来自:、i e 界的批 评主要是,它过于庞大和复杂,用户很难全商、熟练地掌握它,大多数用户 实际上只使用它的。少部分概念:它的询:多概念含义不清,使用户感到困惑。 来自学术界的批评则主要针对它在理论卜的缺陷和错误,包括语言体系结构, 语法、语义等方面的问题。 无论是i n t e r n e te 的意见交流,或是每年一次的u m l 研讨会,还是学术 期刊上发表的文章,都是既肯定其成绩,又指出其缺点和错误,并嗣以积极 的态度提出建设性意见。在酝酿u m l 下一次的重大发布和筹划u m l2 0 作 为i s o 标准提案的最近两年内嗣绕u m l 的i 寸论更为活跃和热烈。 为了u m l 的下一次重大发布,u m l2 0 修订的主持者正在广泛收集各方 面的意见。各界都给予了很高的关注,提出的意见涉及u m l 的各个方面。其 e 卜一个关键问题是u m l 是否需要简化,以及如何使之更精练,最终大部分意 见是提供。个精练的核心,而把,: :常用的内容放到定义良好的外例或扩展机 制中。此外,u m l2 0 还将对u m l 的底层结构、上层结构和对象约束语言 ( 0 c l ) 做重大改进。 2 1 2u m l 的基本性质 u m l 是一种语言,它是一种可视化语言,是一种可用于详细描述的语言 是_ 种构造语言,而且是种文档化语言。现将这五个特性分述如下: 1 u m l 是一种语言 一种语言提供了用于交流的词汇表和在词汇表中组合词汇的规则。而一 种建模语言的词汇表和规则则注重于对系统进行概念上和物理上的描述。建 硕士学位论文 m a s t e r st h e s i s 模是为了产生对系统的理解。只用个模型是不够的,相反,为了理解系统 中的各种事物,经常需要多个相互联系的模型。对于软件密集型系统,就需 要这样一种语言,它贯穿于软件开发生命周期,并能表达系统体系结构的各 种不同视图。像u m l 这样的语言的词汇表和规则可以告诉你如何创建或理解 结构良好的模型,但它没有告诉你应该在什么时候创建什么样的模型因为 这是软件丌发过程的: 作。 2 ,u m l 是一种可视化语言 u m l 只是一组图形符号。确切地讲,u m l 表示法中的每个符号都有明 确语义。这样,一个丌发者可以用u m l 绘制一个模型,而另一个丌发者可以 无歧义地解释这个模型。 3 u m l 是一种可用于详细描述的语言 在这晕,详细描述意味着所建立的模型是精确的、无歧义的和完整的。 特别是,u m l 适于对所有重要的分析、设计和实现决策进行详细描述这些 是软件密集型系统在丌发和部署月寸所必需的。 4 u m l 是一种构造语言 u m l 不是一种可视化的编程语言,但用u m l 描述的模型可与各种编程 语言直接相连。这意味着一种可能性,即可把用u m l 描述的模型映射成编程 语言,如j a v a 、c + + 和v i s u a lb a s i c 等,甚至映射成关系数据库的表或面向对 象数据库的永久储存。这种映射允许进行f 向工程:从u m l 模型到编程语言 的代码生成。也可以进行逆向过程:由编程语言代码重新构造u m l 模型。把 正向代码生成和逆向工程这两种方式结合起来就可以产生双向工程。除了直 接映射以外,u m l 具有丰富的表达力,而且无歧义,这允许模型的直接执行、 系统的模拟以及对运行系统进行操纵。 5 o i d k 是一种文档化语言 一个健壮的软件组织除了生产可执行的源代码之外,还要给出各种制品。 这些制品包括( 但不限于) :需求,体系结构,设计,源代码,项目计划,测 试,原型,发布。u m l 适于建立系统体系结构及其所有的细节文档。u m l 还提供了用于表达需求和用于测试的语言。最终u m l 提供了对项目计划和发 硕士学位论文 m a s t e r st h e s i s 布管理的活动进行建模的语言。 2 1 3u m l 的概念模型 为了理解u m l ,需要形成一个语言的概念模型,这罩包括建模的3 个主 要要素:u m l 的基本构造块、支配这些构造块如何放在一起的规则和一些运 用于整个u m l 的公共机制。然后就能够在这些概念模型之上使用更高深的语 言特征进行构造 1 u m l 中的构造块 u m l 的词汇表包含3 种构造块:事物、关系和图 事物是对模型中最具有代表性的成分的抽象:关系把事物结合在一起: 图聚集了相关的事物。 u m l 中的事物 在u m l 中有四种事物: 1 ) 结构事物( s t r u c t u r a lt h i n g ) 是u m l 模型的静态部分。它们是模型中 的名词,描述概念或物理元素。共有7 种结构事物。第一,类( c l a s s ) 是一 组具有相同属性、相同操作、相同关系和相同语义的对象的描述。一个类实 现一个或多个接口。第二,接口( i n t e r l s c e ) 是描述了一个类或构件的一个服 务的操作集。第三,协作( c o l l a b o r a t i o n ) 定义了一个交互,它是由一组共同 工作以提供某协作行为的角色和其他元素构成一个群体,这些协作行为大于 所有元素的各自行为的总和。第四,用况( u s ec a s e ) 是对一组动作序列的描 述,系统执行这些动作将产生一个对特定的参与者有价值而且可观察的结果。 第五,主动类( a c t i v ec l a s s ) 是这样的类,其对象至少拥有一个进程或线程, 因此它能够启动控制活动。第六,构件( c o m p o n e n t ) 是系统中物理的、可替 代的部件,它遵循且提供一组接口的实现。第七,节点( n o d e ) 是在运行时 存在的物理元素,它表示了一种可计算的资源,它通常至少有一些记忆能力 和处理能力。这七种元素是u m l 模型中可阻包含的基本结构事物。它们也有 变体,如参与者、信号、实用程序( 一种类) 、进程和线程( 两种主动类) 、 9 硕士学位论文 m a s t e r st h e s i s 应用、文档、文件、库、页和表( 一种构件) 等。 2 ) 行为事物( b e h a v i o r a lt h i n g ) 是u m l 模型的动态部分。它们是模型 中的动词,描述了跨越时问和空间的行为。共有两类主要的行为事物。第一, 交互( i n t e r a c t i o n ) 是这样一种行为,它由在特定语境中共同完成一定任务的 一组对象之间交换的消息组成。第二,状态机( s t a t em a c h i n e ) 是这样的一种 行为,它描述了一个对象或一个交互在生命期内响应事件所经历的状态序列。 交互和状态机这两种元素是可以包含在u m l 模型中的基本行为事物。在语义 上,这些元素通常与各种结构元素( 主要是类、协作和对象) 相关。 3 ) 分组事物( g r o u p i n gt h i n g ) 是u m l 模型的组织部分。它们是一些由 模型分解成的“盒子”。在所有的分组事物中,最主要的分组事物是包。包 ( p a c k a g e ) 是把元素组织成组的机制,这种机制具有多种用途。包是用来组 织u m i 。模型的基本分组事物。它也有变体,如框架、模型和予系统等( 它们 是包的不同种类) 。 4 ) 注释事物( a n n o t a t i o n a lt h i n g ) 是u m l 模型的解释部分。这些注释事 物用来描述、浣明和标注模型的任何元素。有一种主要的注释事物,称为注 解。注解( n o t e ) 是一个依| f 于于一个元素或一组元素之上,对它进行约束或解 释的简单符号。该元素是可以包含在u m l 模型中的基本注释事物。通常可以 用注解修饰带有约束或解释的图,当然最好是把注释表示成形式或形式化的 文本。像需求( 从模型的外部来描述一些想得到的行为) 样,这种元素也 有变体。 以上这些事物是u m i 。中基本的面向对象的构造块。用它们可以写出结 构良好的模型。 u m l 中的关系 在u m l 中有四种关系: 1 ) 依赖( d e p e n d e n c y ) 是两个事物问的语义关系,其中一个事物( 独立 事物) 发生变化会影响另一个事物( 依赖事物) 的语义。 2 ) 关联( a s s o c i a t i o n ) 是一种结构关系,它描述了一组链,链是对象之 间的连接。聚合是一种特殊类型的关联,它描述整体和部分之间的结构关系。 0 硕士学位论文 m a s t e r st h e s i s 3 ) 泛化( g e n e r a l i z a t i o n ) 是一种特殊一般关系,特殊元素( 子元素) 的 对象可替代一般元素( 父元素) 的对象。用这种方法,子元素共享了父元素 的结构和行为。 4 ) 实现( r e a l i z a t i o n ) 是类元之间的语义关系,其中一个类元指定了出 另一个类元保证执行的契约。在两种地方要遇到实现关系:一种是在接口和 实现它们的类或构件之间;另一种是在用况和实现它们的协作之间。 以上这四种元素是u m l 模型中可以包含的基本关系事物。它们也有变 体;例如,依赖的变体有精化、跟踪、包含和延伸。 圉胃 丽专瓦关联 厂、 i 丁u 幽2 - 2u m l 的部分模型元素 _ 聚集 u m l 中的图 图( d i a g r a m ) 是一组元素的图形表示,大多数情况下把图画成顶点( 代 表事物) 和弧( 代表关系) 的连通图。为了对系统进行可视化,可以从不同 硕士学位论文 m a s t e r st h e s i s 的角度画图,这样的图是对系统的投影。除了非常微小的系统外,图是系统 组成元素的省略视图。有的元素可以出现在所有的图中,有的元素可以出现 在一些图中( 很常见) ,还有的元素不能出现在图中( 很罕见) 。在理论上, 图可以包含任何事物及其关系的组合。然而,实际上仅存在着少量的常见组 合,它们要与5 种最有用的组成了软件密集型系统的体系结构的视图相一致。 由于这个原因,u m l 包括9 种这样的图: 1 ) 类图( c l a s s d i a g r a m ) 展现了一组对象、接口、协作和它们之间的关 系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出系统 的静态设计视图。包含主动类的类图给出系统的静态进程视图。 2 ) 对象图( o b j e c t d i a g r a m ) 展现了一组对象以及它们之间的关系。对象 图描述了在类图中所建立的事物的实例的静态快照。和类图一样,这些图给 出系统的静态设计视图或静态进程视图,但它们是从真实的或原型案例的角 度建立的。 3 ) 用况图( u s ec a s ed i a g r a m ) 展现了一组用况、参与者( 一种特殊的类) 及其它们之问的关系。用况图给出系统的静念用况视图。这些图对于系统的 行为进行组织和建模是非常重要的。 顺序图和协作图都是交互图。交互图( i n t e r a c t i o n d i a g r a m ) 展现了一种 交互,它由一组对象和它们之间的关系组成,包括它们之间可能发送的消息。 交互图专注于系统的动态视图。 4 ) 顺序图( s e q u e n c ed i a g r a m ) 是一种强调消息的时间顺序的交互图。 5 ) 协作图( c o l l a b o r a t i o nd i a g r a m ) 也是一种交互图,它强调收发消息的 对象的结构组织。 顺序图和协作图是同构的,这意味着它们是可以相互转换的。 6 ) 状态图( s t a t e c h a r t d i a g r a m ) 展现了一个状态机,它由状态、转换、 事件和活动组成。状态图专注于系统的动念视图。它对于接口、类或协作的 行为建模尤为重要,而且它强调对象行为的事件顺序,这非常有助于对反应 式系统建模。 7 ) 活动图( a c t i v i t yd i a g r a m ) 是一种特殊的状态图,它展现了在系统内 硕士学位论文 m a s t e r st h e s i s 从一个活动到另一个活动的流程。活动图专注于系统的动态视图。它对于系 统的功能建模非常重要,并强调对象问的控制流程。 8 ) 构件图( c o m p o n e n td i a g r a m ) 展现了一组构件之间的组织和依赖。构 件图专注于系统的静态实现视图。它与类图相关,通常把构件映射成一个或 多个类、接口或协作。 9 ) 实施图( d e p l o y m e n t d i a g r a m ) 展现了对运行时处理节点以及其中的 构件的配置。实施图给出了体系结构的静态实施视图。它与构件图相关,通 常一个节点包含一个或多个构件。 u m l 并不限定仅使用这9 种图,开发工具可以采用u m l 来提供其他种 类的图,但到目前为止,这9 种图在实际应用中是最常用的。 2 u m l 规则 不能简单的把u m l 的构造块按随机的方式放在一起。象任何语言一样, u m l 有一套规则,这些规则描述了一个结构良好的模型看起束应该象什么。 一个结构良好的模型应该在语义上是前后一致的,并且与所有的相关模型协 调一致。 u m l 有用于描述如下事物的语义规则: 1 ) 命名为事务、关系和图起名字 2 ) 范围给一个名称以特定含义的语境 3 ) 可见性怎样让其他人使用或看见名称 4 ) 完整性事物如何正确、一致地相互联系 5 ) 执行运行或模拟动态模型的含义是什么 在软件密集型系统的丌发期间所建造的模型往往需要发展变化,并可以 由许多人员以不同的方式、在不同的时间进行观察。由于这个原因,下述的 情况是常见的,即开发组不仅要建造一些结构良好的模型,也要建造一些这 样的模型: 1 ) 省略隐藏某些元素以简化视图 2 ) 不完全性 可以遗漏某些元素 3 ) 不一致性不保证模型的完整性 硕士学位论文 m a s t e r st h e s i s 在软件开发的生命期内,随着系统细节的展开和变动,不可避免地要出 现这些不太规范的模型。u m l 规则鼓励( 不是强迫) 设计者专注于最重要的 分析、设计和实现问题,这些问题将促使模型随着时间的推移而具有良好的 结构。 3 u m l 中的公共机制 通过与具有公共特征的模式取得一致性,可以使一座建筑更为简单和更 为协调。一座房子可以按一定的结构模式( 它定义了建筑风格) 建造成维多 利亚式的或法国乡村式的。对于u m l 也是如此。由于在u m l 中有4 种贯穿 整个语言且一致应用的公共机制,因此使得u m l 变得较为简单。这4 种机制 是: 1 ) 规则说明。u m l 不只是一种图形语言。实际上,在它的图形表示法 的每部分背后都有一个规则说明,这个规则说明提供了对构造块的语法和语 义的文字描述。u m l 的图形表示法用来对系统进行可视化;u m l 的规则说 明用来描述系统的细节。假定把二者分开,就可能进行增量式的建模。这可 以通过以下方式完成:先画图,然后再对这个模型的规则说明增加语义,或 直接创建规则说明,也可能对一个已经存在的系统进行逆向工程,然后再创 建作为这些规则说明的投影图。 u m l 的规则说明提供了一个语义底版,它包含了一个系统的各模型的所 有部分,并且各部分相互联系,并保持一致。因此,u m l 的图只不过是对底 版的简单视觉投影,每一个图展现了系统的一个特定的方面。 2 ) 修饰。u m l 中的大多数元素都有唯一的和直接的图形表示符号,这 些图形表示符号对元素的最重要的方面提供了可视化的表示。u m l 表示法中 的每一个元素都有一个基本符号,可以把各种修饰细节加到这个符号上。 3 ) 通用划分。在面向对象系统建模中,至少有两种划分方法。第一种方 法是对类和对象的划分。类是一个抽象:对象是这种抽象的一个具体形式。 在u m l 中,可以对类和对象建立模型。u m l 的每一个构造块几乎都存在像 类,对象这样的二分法。例如,可以有用况和用况实例,构件和构件实例。节 点和节点实例等。在图形上,u m l 用与类同样的图形符号来表示对象。只是 4 硕士学位论文 m a s t e r st h e s i s 简单地在对象名的下边画一道线,以示与类的区别。 第二种方法是接口和实现的分离。接1 5 1 定义了一个契约,而实现则表示 了对该契约的具体实施,它负责如实地实现接口的完整语义。在u m l 中,可 以既对接口又对它们的实现建模。几乎每一个u m l 的构造块都有像接口实 现这样的二分法。例如,用况和实现它们的协作,操作和实现它们的方法。 4 ) 扩展机制。u m l 提供了一种绘制软件蓝图的标准语言,但是一种闭 合的语言即使表达能力再丰富,也难以表示出各种领域中的各种模型在不同 时刻所有可能的细微差别。由于这个原因,u m l 是可扩展的,可以以受控的 方式扩展该语言。u m l 的扩展机制包括: 第一种,构造型( s t e r e o t y p e ) 扩展了u m l 的词汇,它允许你创建新的 构造块,这个新的构造块既可以从现有的构造块派生,又专门针对你要解决 的问题。 第二种,标记值( t a g g e dv a l u e ) 扩展了u m l 构造块的特性,允许创建详 述元素的新信息。版本和作者不是u m l 的基本概念。通过引入新的标记值, 可以把它们加到像类那样的任何构造块中去。 第三种,约束( c o n s t r a i n t ) 扩展了u m l 构造块的语义,它允许增加新的 规则或修改现有的规则。 总的来说,这三种扩展机制都允许根据项目的需要塑造和培育u m l 。这 些机制也使得u m l 适合于新的软件技术( 例如,很可能出现的功能更强的分 布式编程语言) 。可以增加新的构造块,修改已存在的构造块的详述,甚至可 以改变它们的语义。当然,以受控的方式进行扩展是重要的,这可以使之不 偏离u m l 的真f 目的信息交流。 2 2 软件系统建模 模型是用某种工具对同类或其他工具的表达方式。模型从个建模观点 出发,抓住事物最重要的方面而简化或忽略其他方面。软件系统的模型用建 模语言来表达。模型包含语义信息和表示法,可以采取图形和文字等多种不 1 5 硕士学位论文 m a s t e r st h e s i s 同形式。建立模型的目的是因为在某些用途中模型用起来比操纵实物更容易 和方便。 2 2 1 软件系统建模的作用 模型有多种用途。 1 ) 捕获和精确表达项目的需求和应用领域中的有关知识,以使各方面的 利益相关者能够理解并达成一致。软件系统的不同模型可以捕获关于这个软 件的应用领域、使用方法、度量手段和构造模式等各方面的需求信息。各方 面的利益相关者包括软件结构设计师、系统分析员、程序员、项目经理、顾 客、投资者、最终用户和使用软件的操作员。 2 ) 进行系统设计。在编写程序代码之前,软件系统的模型可以帮助软件 丌发人员方便地研究软件的多种构架和设计方案。在进行详细设计之前,一 种好的建模语言可以让设计者对软件的架构有全面的认识。 3 ) 使具体的设计细节与需求分开。软件系统的一类模型可以说明这个系 统的外部行为和系统中对应于真实世界的有关信息,另一类模型可以展示系 统中的类以及实现系统外部行为特性所需要的内部操作。实现这些行为有多 种方法。最后的设计结果对应的模型一定是设计者认为最好的一种。 4 ) 生成有用的实际产品。利用软件系统的模型,可以获得类的声明、过 程体、用户界面、数据库、合法使用的说明、培植草案以及与其它单位技术 竞争的对比说明。 5 ) 组织、查找、过滤、重获、检查以及编辑大型系统的有关信息。软件 系统用视图来组织信息:静态结构视图、状态机视图、交互视图、反映需求 的视图等等。每一种视图均是针对某一目的从模型中挑选的一部分信息的映 射。 6 ) 经济的研究多种设计过程中的解决方案。通过研究一个大型软件系统 的模型可以提出多个实际方案并可以对它们进行相互比较。当然模型不可能 做得足够精细,但即使一个粗糙的模型也能够说明在最终设计中所要解决的 6 硕士学位论文 m a s t e r st h e s i s 许多问题。利用模型可以研究多种设计方案,所花费的成本只是实现其中一 种方案所花费的成本。 7 ) 全面把握复杂的系统。一个大型的软件系统由于其复杂程度可能无法 直接研究,但模型使之成为可能。在不损失细节的情况下,模型可以抽象到 一定的层次以使人们能够理解。可以利用计算机对模型进行复杂的分析找出 可能的“问题点”,如时间错误和资源竞争等。在对实物做出改动前,通过模 型研究系统内各组成部分之间的依赖关系可以得出这种改动可能会带来哪些 影响。 2 2 2 模型的层次 针对不同的目的,模型可以采取各种不同的形式及不同的抽象层次。模 型中所包含
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医学高级职称-烧伤外科学(医学高级)历年参考题库含答案解析(5套共100道单选题合辑)
- 2025年医学高级职称-呼吸内科学(医学高级)历年参考题库含答案解析(5套共100道单选题合辑)
- 2025年医学高级职称-临床医学检验临床血液(医学高级)历年参考题库含答案解析(5套共100道单选合辑)
- 2025年住院医师规范培训(各省)-江苏住院医师康复医学科历年参考题库含答案解析(5套共100道单选合辑)
- 2025年公共事业技能鉴定考试-新三板董秘资格考试历年参考题库含答案解析(5套100道单选题合辑)
- 2025年住院医师规范培训(各省)-福建住院医师外科历年参考题库含答案解析(5套100道单选题合辑)
- 2025年住院医师规范培训(各省)-河南住院医师中医皮肤科历年参考题库含答案解析(5套100道单选题合辑)
- 2025年住院医师规范培训(各省)-江苏住院医师外科历年参考题库含答案解析(5套共100道单选合辑)
- 2025年住院医师规范培训(各省)-广西住院医师放射科历年参考题库含答案解析(5套共100道单选合辑)
- 2025年住院医师考试-放射肿瘤科住院医师历年参考题库含答案解析(5套共100道单选题合辑)
- 地坪材料推广活动方案
- 音乐数据分析与用户行为研究-洞察阐释
- 2025至2030中国电子级磷酸行业市场发展分析及市场需求与投资方向报告
- 2024年成都农业科技中心招聘笔试真题
- 2025年陕西省中考英语试题卷(含答案)
- 中国锂离子电池隔膜行业发展白皮书(2025年)
- 射频消融术治疗心律失常讲课件
- 《危险货物港口作业重大事故隐患判定指南》解读与培训
- 虚幻引擎介绍课件
- 2024年常德市安乡县教育局选调工作人员笔试真题
- 财产申报表-被执行人用
评论
0/150
提交评论