uml和模式应用:UML要点和应用



摘要:本文要阐明UML要点并对UML所推荐软件Software建模过程RUP(Rational Unied Process)做介绍以作为种应用UML过程指导

--------------------------------------------------------------------------------
UML(Unied Modeling Language)伙伴组织于1996年由Rational公司创立对象管理组织(OMG)于1997年11月采纳了它此后UML继续改进目前最新版本是UML1.3 UML是多种思路方法相互借鉴、相互融合、趋于致、走向标准化产物这样建模语言将为软件Software开发商及其用户带来诸多便利美国等计算机技术发达国家已有大量软件Software开发组织开始用UML进行系统建模学习和使用UML已经成为种潮流我国软件Software界对UML 也相当关注许多研究人员和技术人员已在几年前就开始了对UML学习和研究

----现在有更多人想学习UML但由于UML复杂性仅通过UML标准文献和国内目前有关UML资料来掌握使用它不是件轻松对它使用关键是要用它简明准确地建立模型这样人们就可以从全局把握复杂系统全貌及其组成间联系为了达到这样本文要阐明UML要点并对UML所推荐软件Software建模过程RUP(Rational Unied Process)做介绍以作为种应用UML过程指导

----UML定义有两个主要组成部分:语义和表示法UML 语义用自然语言描述表示法定义了UML可视化标准表示符号这决定了UML是种可视化建模语言这些图形符号和文字用于建立应用级模型在语义上模型是元模型例子此外UML定义还给出了语法结构精确规约对于般建模者应重点掌握基本概念和表示法并熟练运用它们建立元模型则是研究思路方法学研究重点

----要点:对系统组织

----UML是种可视化建模语言对其各建模元素可进行详细介绍说明并能生成所建模型文档使用UML时要从区别角度观察系统为此定义了个概念“视图”视图是对系统模型在某方面投影注重于系统某个方面每个视图是图协作UML定义了9种图下表是UML中5种视图各视图在静态和动态方面表示了系统模型



----用况视图由用况图组成描述可被最终用户、分析人员和测试者看到系统行为;设计视图包含类图、对象图、交互图、状态图和活动图主要反映系统功能需求;进程视图包含类图、对象图、交互图、状态图和活动图主要描述形成系统并发和同步机制线程和进程;实现视图包含构件图、交互图、状态图和活动图反映用于装配和发布物理系统构件和文件主要针对系统发布配置管理可以用各种思路方法装配它们部署视图包含部署图、交互图、状态图和活动图主要描述对组成物理系统部件分布、交付和安装根据实际需要可以组合使用这些视图

----由视图可以定义模型模型在语义上是闭合它从特定角度(系统规约或者设计)在定抽象层次上描述目标系统可以把视图组织成模型开发人员可从各视角观察使用模型

----用以描述系统模型可以是结构性强调系统组织;也可以是行为性强调系统动态方面例如RUP有9种模型分别是业务模型、领域模型、用况模型(也称需求模型)、分析模型、设计模型、过程模型、部署模型、实现模型和测试模型用于从区别角度表示系统

----系统是组反映区别侧面子系统集合为了完成特定要对这些子系统进行组织(在逻辑、功能和物理位置上是高内聚、低耦合)

----子系统是组元素聚集其中元素还可以是子系统它由组模型从区别角度进行描述子系统本身几乎应是独立有自己应用环境相互间不重叠它们的间用接口联系

UML概念模型
----为了理解UML需要掌握UML概念模型这要求学习 3个要素:UML基本构造块、支配这些构造块如何放在规则和些运用于整个UML机制下面逐予以介绍
----1. 基本构造块

----UML中有 3种基本构造块分别是事物、关系和图

----事物分结构事物(包括类、接口、协作、用况、主动类、构件和节点)、行为事物(包括交互和状态机)、分组事物(包)和注释事物(注解)

----UML中有 4种关系分别是依赖、关联、泛化和实现关系

----对于上述两种构造块通过研读相应书籍绝大多数不难掌握这里就不再赘述下面对UML中要点进行阐述

----类图 类图展示了组类、接口和协作及它们间关系在建模中所建立最常见图就是类图用类图介绍说明系统静态设计视图包含主动类类图——专注于系统静态进程视图系统可有多个类图单个类图仅表达了系统个方面要在高层给出类主要职责在低层给出类属性和操作

----对象图 对象图展示了组对象及它们间关系用对象图介绍说明类图中所反应事物例子数据结构和静态快照对象图表达了系统静态设计视图或静态过程视图除了现实和原型方面原因外它和类图作用是相同

----用况图 用况图展现了组用况、参和者以及它们间关系可以用用况图描述系统静态使用情况在对系统行为组织和建模方面用况图是相当重要

----交互图 交互图展现了按进行种交互它由在个上下文中组对象及它们间交互信息组成交互图也可用于描述个用况行为顺序图和协作图都是交互图顺序图和协作图可以相互转换

----顺序图 展现了组对象和由这组对象收发消息用于按时间顺序对控制流建模用顺序图介绍说明系统动态视图

----协作图 展现了组对象这组对象间连接以及这组对象收发消息它强调收发消息对象结构组织按组织结构对控制流建模

----状态图 展示了个特定对象所有可能状态以及由于各种事件发生而引起状态间转移个状态图描述了个状态机用状态图介绍说明系统动态视图它对于接口、类或协作行为建模尤为重要可用它描述用况例子生命周期



----活动图 活动图是种特殊状态图描述需要做活动、执行这些活动顺序(多为并行)以及工作流(完成工作所需要步骤)它对于系统功能建模特别重要强调对象间控制流程

----高层活动图用于表示需要完成些任务即用于分析用况理解涉及多个用况工作流、多线程及并行显示相互联系行为整体还可用于对企业过程建模对系统功能建模低层活动图用于表示类思路方法但活动图不适用于描述动作和对象间关系显示对象间合作以及显示对象在生命周期内运转情况

----构件图 构件图展现了组构件的间组织和依赖用于对原代码、可执行发布、物理数据库和可调整系统建模

----部署图 部署图展现了对运行时处理节点以及其中构件配署它描述系统硬件物理拓扑结构(包括网络布局和构件在网络上位置)以及在此结构上执行软件Software(即运行时软构件在节点中分布情况)用部署图介绍说明系统结构静态部署视图即介绍说明分布、交付和安装物理系统

----2. 运用构造块规则

----UML用于描述事物语义规则分别是:为事物、关系和图命名;给个名字以特定含义语境即范围;怎样使用或看见名字即可见性;事物如何正确、致地相互联系即完整性;运行或模拟动态模型含义是什么即执行另外 UML还允许在阶段隐藏模型某些元素、遗漏某些元素以及不保证模型完整性但模型逐步地要达到完整和

----3. 机制

----有 4种在整个语言中致应用机制使得该语言变得较为简单这 4种机制是详细介绍说明、修饰、通用划分和扩展机制

----UML不只是种图形语言实际上在它图形表示法每部分背后都有个详细介绍说明提供了对构造块语法和语义文字叙述

----UML表示法中个元素都有个基本符号这些图形符号对元素最重要方面提供了可视化表示对元素描述还包含其他细节例如个类是否是抽象类或它属性和操作是否可见要把这样修饰细节加到基本符号上

----在对面向对象系统建模中至少有两种通用划分世界思路方法:对类和对象划分;对接口和实现划分UML中构造块几乎都存在着这样两分法

----UML是开放可用种受限思路方法扩展它UML扩展机制包括构造型、标记值和约束

----UML应用

----UML是种建模语言不是种思路方法它独立于过程利于它建模时可遵循任何类型建模过程该建模语言作者们给出了种推荐性建模过程指导即RUP本部分阐述RUP如何支持UML应用

----RUP是以用况为驱动、体系结构为中心、迭代和增量过程RUP包括 4个阶段每个阶段又分为若干次迭代每次迭代都有个核心工作流(包括5个活动)请参见下图



----用况驱动旨在为到最终产品为止每个阶段都可以回溯到用户真正需求以体系结构为中心是指关注体系结构模式开发以引导后续系统保证系统平滑演进次迭代包括迭代计划、迭代评价和些具体活动有关核心工作流中 5个活动:需求、分析、设计、实现和测试较好理解这里不再赘述下面对RUP 4个阶段要做工作做阐述

----1. 阶段

----本阶段确定所设立项目是否可行具体要做如下工作:

对需求有个大概了解确定系统中大多数角色和用况但此时用况是简要对给出系统体系结构概貌细化到主要子系统即可
识别影响项目可行性风险
考虑时间、经费、技术、项目规模和效益等原因
关注业务情况制订出开发计划
----2. 细化阶段

识别出剩余大多数用况对当前迭代每个用况进行细化分析用况处理流程、状态细节以及可能发生状态改变细化流程时可以使用框图和合作图还可以使用活动图、类图分析用况
对风险处理
----需求风险 考虑项目目标是否偏离了用户需求为解决需求风险要充分了解用户需求以及各需求优先度还应尽量列出所有用况至少列出重要用况并要建立领域概念模型

----技术风险 考察所选技术方案是否可行建立原型是解决技术风险种有效思路方法

----技能风险 考虑实施项目人员素质能否胜任项目要求

----政策风险 考虑政策性原因对项目影响

----● 进行高层分析和设计并作出结构性决策

----所产生基线体系结构包括用况列表、领域概念模型和技术平台等以后阶段对细化阶段建立体系结构不能进行过大变动

----● 为构造阶段制订计划

----细化阶段完成意味着已经完成了如下任务:用况完全细化并被用户接受;完成概念验证;完成类图;开发人员能给出项目估算(可分为精确、人月和无法估算);基于用况考虑了所有风险(可分为高风险、可能风险和不可能风险)并制订了相应对策和计划;对用况标出优先级(可分为必须先实现、短期内实现和长期实现)

----3. 构造阶段

----识别出剩余用况次迭代开发都针对用况进行分析、设计、编码(如类声明、属性声明、范围声明、原型声明和继承声明等)、测试和集成过程所得到产品满足项目需求个子集由于细化阶段软件Software设计已经完成这样各项目组可以并发开发

----在代码完成后要保证其符合标准和设计规则并要进行质量检查对于新出现变化要通过逆向工具把代码转换为模型对模型进行修改再重新产生代码以保证软件Software和模型同步

----此阶段要建立类图、交互图和配置图;如个类具有复杂生命周期可绘制状态图;如算法特别复杂可绘制活动图



----4. 移交阶段

----这阶段完成最后软件Software产品和最后验收测试并完成用户文档编制以及用户培训等工作

结束语
----可以说UML对系统模型表达能力超出了以往任何种面向对象分析和设计思路方法随的出现问题是复杂性也超出了以往任何种思路方法由于UML复杂性对它掌握和使用确实不是件轻松建议对UML掌握和使用本着由简至难原则即熟练掌握基本概念和表示法后再学习使用UML更深入部分UML 3位创始人所著述The Unied Modeling language也是这样组织内容有关UML作者所推荐过程指导请阅读他们著述The Unied Software Development Process此外北京大学也推出了套青鸟面向对象软件Software开发规范标准其中包括有套很完整过程指导





Tags:  uml应用 uml和模式应用 uml基础案例与应用 uml与模式应用

延伸阅读

最新评论

发表评论