`

UML建模技术总结

uml 
阅读更多

一、UML的特性与发展现状

  UML是一种Language(语言)

  UML是一种Modeling(建模)Language

  UML是Unified(统一)Modeling Language

  1、已进入全面应用阶段的事实标准

  2、应用领域正在逐渐扩展,包括嵌入式系统建模、业务建模、流程建模等多个领域

  3、成为“产生式编程”的重要支持技术:MDA、 可执行UML等

  二、建模的目的与原则

  1、帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化。

  2、仅当需要模型时,才构建它。

  3、选择要创建什么模型对如何动手解决问题和如何形成解决方案有着意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系的;单个模型是不充分的。对每个重要的系统最好用一组几乎独立的模型去处理。

  三、谁应该建模

  1、业务建模:以领域专家为主,需求分析人员是主力,系统分析员、架构师可参与

  2、需求模型:以需求分析人员为主,系统分析员是主力,领域专家提供指导,架构师和资深开发人员参与

  3、设计模型:高层设计模型以架构师为主,系统分析员从需求方面提供支持,资深开发人员从技术实现方面提供支持。详细设计模型则以资深开发人员为主,架构师提供指导。

  4、实现模型:以资深开发人员(设计人员)为主,架构师提供总体指导。

  5、数据库模型:以数据库开发人员为主,架构师提供指导,资深开发人员(设计人员)予以配合。

  正式开始

  UML组成,三部分(构造块、规则、公共机制),关系如下图所示:

  UML建模技术总结

  一、构造块

  1、构造块是对模型中最具有代表性的成分的抽象

  建模元素:UML中的名词,它是模型基本物理元素。

  行为元素:UML中的动词,它是模型中的动态部分,是一种跨越时间、空间的行为。

  分组元素:UML中的容器,用来组织模型,使模型更加的结构化。

  注释元素:UML中的解释部分,和代码中的注释语句一样,是用来描述模型的。

  1.1、建模元素

  类(class)和对象(object)

  接口(interface)

  主动类(active class)

  用例(use case)

  协作(collaboration)

  构件(component)

  节点(node)

  类(class)和对象(object)

  类是对一组具有相同属性、相同操作、相同关系和相同语义的对象的抽象

  UML中类是用一个矩形表示的,它包含三个区域,最上面是类名、中间是类的属性、最下面是类的方法

  对象则是类的一个实例 (object is a Instance of Class)

  接口(interface)

  接口是描述某个类或构件的一个服务操作集

  主动类(active class)

  主动类实际上是一种特殊的类。引用它的原因,实际上是在开发中需要有一些类能够起到 启动控制活动的作用

  主动类是指其对象至少拥有一个进 程或线程,能够启动控制活动的类

  用例(use case)

  用例是著名的大师Ivar Jacobson首先提出的,现已经成为了面向对象软件开发中一个需求分析的最常用工具

  用例实例是在系统中执行的一系列动作,这些动作将生成特定执行者可见的价值结果。一个 用例定义一组用例实例。

  协作(collaboration)

  协作定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其他元素构 成的一个群体。

  对于某个用例的实现就可 以表示为一个协作

  构件(component)

  在实际的软件系统中,有许多要比“类”更大的实体,例如一个COM组件、一个DLL文件、一个JavaBeans、一个执行文件等等。为了更好地对在UML模型中对它们进行表示,就引入了构件(也译为组件)

  构件是系统设计的一个模块化部分,它隐藏了内部的实现,对外提供了一组外部接口。在系统中满足相同接口的组件可以自由地替换

  节点(node)

  为了能够有效地对部署的结构进行建模,UML引入了节点这一概念,它可以用来描述实际的PC机、打印机、服务器等软件运行的基础硬件

  节点是运行时存在的物理元素,它表示了一种可计算的资源,通常至少有存储空间和处理能力

  1.2、行为元素

  交互(interaction): 是在特定语境中,共同完成某个任务的一组对象之间交换的信息集合

  交互的表示法很简单,就是一条有向直线,并在上面标有操作名

  状态机(state machine):是一个对象或交互在生命周期内响应事件所经历的状态序列

  在UML模型中将状态画为一个圆 角矩形,并在矩形内写出状态名 称及其子状态

  1.3、分组元素

  对于一个中大型的软件系统而言,通常会包含大量的类,因此也就会存在大量的结构事物、行为事物,为了能够更加有效地对其进行整合,生成或简或繁、或宏观或微观的模型,就需要对其进行分组。在UML中,提供了“包(Package)”来完成这一目标

  1.4、注释元素

  结构事物是模型的主要构造块,行为事物则是补充了模型中的动态部分,分组事物而是用来更好地组织模型,似乎已经很完整了。而注释事物则是用来锦上添花的,它是用来在UML模型上添加适当的解释部分

  2、关系

  UML模型的关系比较多,下图

  UML建模技术总结

  2.1 关联关系

  关联(Association)表示两个类之间存在某种语义上的联系。关联关系提供了通信的路径,它是所有关系中最通用、语义最弱的。

  在UML中,使用一条实线来表示关联关系

  在关联关系中,有两种比较特殊的关系:聚合和组合

  聚合关系:聚合(Aggregation)是一种特殊形式的关联。聚合表示类之间的关系是整体与部分的关系

  如果发现“部分”类的存在,是完全依赖于“整体”类的,那么就应该使用“组合”关系来描述

  组合是聚合的变种,加入了一些重要的语义。也就是说,在一个组合关系中一个对象一次就只是一个组合的一部分,“整体”负责“部分”的创建和破坏,当“整体”被破坏时,“部分”也随之消失

  聚合就像汽车和车胎,汽车坏了胎还可以用。组合就像公司和下属部门,公司倒闭了部门也就不存在了!

  2.2  泛化、实现与依赖

  泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。

  实现关系是用来规定接口和实现接口的类或组件之间的关系。接口是操作的集合,这些操作用于规定类或组件的服务。

  有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。

  二、规则

  命名:也就是为事物、关系和图起名字。和任何语言一样,名字都是一个标识符

  范围:与类的作用域相似.

  可见性:Public,Protected,Private,Package

  三、UML公共机制

  1、规格描述

  在图形表示法的每个部分后面都有一个规格描述(也称为详述),它用来对构造块的语法和语义进行文字叙述。这种构思,也就使可视化视图和文字视图的分离 :

  2、UML修饰与通用划分

  在为了更好的表示这些细节,UML中还提供了一些修饰符号,例如不同可视性的符号、用斜体字表示抽象类

  UML通用划分:

  1)类与对象的划分:类是一种抽象,对象是一个具体 的实例

  2)接口与实现的分离:接口是一种声明、是一个契 约,也是服务的入口;实现则是负责实施接口提供 的契约

  3、UML扩展机制

  这部分不容易描述,待改(邀月注 2009.2.18)

  构造型:在实际的建模过程中,可能会需要定义一些特定于某个领域或某个系统的构造块

  标记值则是用来为事物添加新特性的。标记值的表示方法是用形如“{标记信息}”的字符串

  约束是用来增加新的语义或改变已存在规则的一种机制(自由文本和OCL两种表示法)。约束的表示法和标记值法类似,都是使用花括号括起来的串来表示,不过它是不能够放在元素中的,而是放在相关的元素附近。

  4、UML视图和图

  UML建模技术总结

  图名            功能                备注

  类图      描述类、类的特性以及类之间的关系        UML 1原有

  对象图     描述一个时间点上系统中各个对象的一个快照    UML 1非正式图

  复合结构图   描述类的运行时刻的分解             UML 2.0新增

  构件图     描述构件的结构与连接              UML 1原有

  部署图     描述在各个节点上的部署             UML 1原有

  包图      描述编译时的层次结构              UML中非正式图

  用例图     描述用户与系统如何交互             UML 1原有

  活动图     描述过程行为与并行行为             UML 1原有

  状态机图    描述事件如何改变对象生命周期          UML 1原有

  顺序图     描述对象之间的交互,重点在强调顺序       UML 1原有

  通信图     描述对象之间的交互,重点在于连接        UML 1中的协作图

  定时图     描述对象之间的交互,重点在于定时        UML 2.0 新增

  交互概观图   是一种顺序图与活动图的混合           UML 2.0新增

  附:开发过程与图的对应关系

UML是面向对象开发中一种通用的图形化建模语言

它本身成为现代软件工程环境中对象分析和设计的重要工具,被视为面向对象技术的重要成果之一

UML建模,就是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关联、类的实例相互配合实现系统的动态行为等、

UML建模主要分为结构建模、动态建模和模型管理建模3个方面

模型是什么?简单地说:模型是对现实的简化,模型提供了系统的蓝图。

为什么要建模?一个基本理由是:
建模是为了能够更好地理解正在开发的系统。
通过建模,要达到4个目的:
    (1)模型有助于按照实际情况或按照所需要的样式对系统进行可视化。
  (2)模型能够规约系统的结构或行为。
  (3)模型给出了指导构造系统的模板。
  (4)模型对做出的决策进行文档化。

因为不能完整地理解一个复杂的系统,所以要对它建模。

人对复杂问题的理解能力是有限的。通过建模,缩小所研究问题的范围,一次只着重研究它的一个方面,这就是Edsger Dijkstra几年前讲的“分而治之”的基本方法,即把一个困难问题划分成一系列能够解决的小问题;解决了这些小问题也就解决了这个难题。此外,通过建模可以增强人的智力。一个适当选择的模型可以使建模人员在较高的抽象层次上工作。

分享到:
评论

相关推荐

    超市管理系统UML建模实例+完整实验报告

    包括全套的UML建模图,用例图(3级),类图,顺序图,协作图,状态图,活动图,协作图,部署图。 附有完整的实验报告,报告包括实验内容,需求分析设计方法,思路和主要技术,软件系统建模(包括完整建模图),和三...

    《UML建模实例教程》【PPT】

    5.4.5关系小结 5.4.6WebShop电子商城用例图(含关系) 习题 第6章静态建模 6.1静态建模概述 6.2类图概述 6.3类图的基本组成 6.3.1类的概述 6.3.2绘制带属性的实体类 6.3.3绘制带操作的实体类 6.3.4绘制边界...

    UML建模语言课件,为学生更好的学习

    UML建模语言课件包含了UML的基础知识,对教材的高度提炼和总结。为学生更好的掌握该新技术打下基础。

    UML与Rational Rose 2003软件工程统一建模原理与实践教程Part2 of 2

    全书内容丰富,包括对软件工程思想、面向对象思想、UML相关概念、Rational Rose工具等方面内容的详细介绍,本书最后是一个图书馆借阅系统的研究实例,通过该综合实例,对使用Rational Rose进行UML建模的全程进行了...

    UML与Rational Rose 2003软件工程统一建模原理与实践教程Part1 of 2

    全书内容丰富,包括对软件工程思想、面向对象思想、UML相关概念、Rational Rose工具等方面内容的详细介绍,本书最后是一个图书馆借阅系统的研究实例,通过该综合实例,对使用Rational Rose进行UML建模的全程进行了...

    UML建模的要点总结

    包括嵌入式系统建模、业务建模、流程建模等多个领域3、成为“产生式编程”的重要支持技术:MDA、可执行UML等二、建模的目的与原则1、帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供一种详细说明系统...

    统一建模语言(U M L)uml参考手册

    UML 适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。U M L包括概念的语义,表示法和说明,提供了静态、动 态、...

    嵌入式与实时系统开发:使用UML对象技术框架与模式.part2.

    共两压缩包 本书深入浅出地介绍实时...另外,书后还包括三个附录,总结了UML符号表示并介绍了两个工具——PhapsodyTimeWiz。 本书适合作为计算机科学专业本科生或研究生教材,同时也可作为专业软件开发人员的参考书。

    机票预定管理系统uml数据建模分析课程设计.docx

    17 五、创建系统部署模型 19 六、小结 20 1、设计总结 20 2、改善 20 3、小组分工说明: 21 七、参考资料 21 机票预定管理系统uml数据建模分析课程设计全文共21页,当前为第2页。 机票预定管理系统uml数据建模分析...

    面向对象建模技术(UML)

    关于面向对象建模技术的一些总结,对于面向对象的思想建立很有帮助

    RSA中UML建模元素的扩展与定制

    火龙果软件工程技术中心本文内容包括:1摘要2引言3基于RSA的Palette静态扩展4基于RSA的Palette动态扩展5Palette扩展工具项的定制6总结7参考文献下载本文介绍了使用IBMRationalSoftwareArchitect进行UML建模元素的...

    UML参考手册(UML介绍及其规则)

    UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML 是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。UML包括概念的语义,表示法和说明,提供了静态、动态、...

    软件分析与建模课程设计 家具城进销存管理系统 报告+cdm+pdm+数据库+UML图+ER图文件

    第一章 系统概述 1 1.1. 项目背景 1 1.2. 系统描述 1 1.3. 系统目标 1 第二章 需求分析 3 2.1 功能需求分析 3 2.2 需求模型 3 2.3 业务流程图 3 第三章 系统的数据模型和...第五章 设计过程总结与分析 18 参考文献 18

    医院管理系统信息系统UML.doc

    UML建模语言课程设计 课程: 医院管理信息系统 专业: 计算机科学与技术(软件工程) 班级: 计科80902 指导老师: 吴宣为 小组成员: 徐玛亮,周磊,王昊,王宇鹏,陈锋 时间: 2012年6月4日 目录 1、背景介绍 1 2...

    UML参考资料

    UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML 是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。UML包括概念的语义,表示法和说明,提供了静态、动态、...

    uml使用手册

    UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。UML包括概念的语义,表示法和说明,提供了静态、动态、...

    UML 教程 全面了解uml模型图,基本视图,学习方法

    . 引 论; 2. 建模技术; 3. UML的模型图; 4. UML的基本视图; 5. 标准建模过程概述; UML的学习方法和应用领域; 6.小 结。

    UML.基础、案例与应用.(第三版)

    附录给出了每章的小测验答案,介绍了使用Microsoft Visio专业版绘制常用UML图的方法步骤,还对常用UML图进行了总结。 本书适用于从事面向对象软件开发的软件工程人员,也特别适合UML的初中级学习者。

Global site tag (gtag.js) - Google Analytics