UML学习总结

UML中的4+1模型

UML的4+1模型是一个叫Kruchten的人发明的,但网上还有其它版本的4+1 模型:Use case view, Logic view, Process view, Impementation View and Deployment View。

Logic View:对系统各个组成部分进行抽象描述,其焦点在于系统是如何构成的以及构成系统的各个部分之间是如何互动的。我们常用的类视图(class digram),对象图(object diagram),顺序图(sequence diagram)/通信图(communication diagram)都属于Logic View。
Process View:描述系统中的各种活动,典型的视图为活动图(activity diagram)。个人认为活动图和流程图非常类似,且目的都是为了将系统中的活动描述清楚。
Development View:从开发者的角度描述系统的构成,典型的视图为构件视图(component diagram)
Physical View:该视图关注软件构件在硬件上的top结构,以及构件之间的通信。典型的视图为部署视图(deployment diagram)
Use case View:对系统用例进行描述,典型的视图为用例视图(use case diagram)

UML模型、视图、图

UML的概念和模型可以分成以下几个概念域:静态结构、动态行为、实现构造、模型组织、扩展机制
UML视图和图

静态视图

1、  类元

类元是模型中的离散概念,拥有身份、状态、行为和关系。有几种类元包括类、接口和数据类型。其他几种类元是行为概念、环境事物、执行结构的具体化。这些类元中包括用例、参与者、构件、节点和子系统。图列出了几种类元和它们的功能。元模型术语类元中包括了所有这些概念。

2、类元之间关系

类元之间的关系有关联、泛化、各种形式的依赖关系,包括实现关系和使用关系。

关联:对象通常要和其他对象发生关联,关联可以具有多层形式。多重性问题(一对一、一对多)。在UML中关联用一条直线来表示。

泛化:一个类继承了其他类的属性和操作。在UML中泛化用“从之类画一条带空心三角形箭头的连线指向父类”来表示。

依赖:一个类使用了另一个类。在UML中依赖用“从依赖类到被依赖的带箭头的虚线”表示。

聚集是关联的一种,聚集对象由部分对象组成。也就是整体与部分关联。在UML中用“整体和部分之间用带空心菱形箭头的连线连接”来表示。

组合是一种特殊的聚集,在一个组合对象中,部分对象只能作为组合对象的一部分与组合对象同时存在。在UML中用“整体和部分之间用带实心菱形箭头的连线连接”来表示。

实现:类和接口之间的关系被称为实现。在UML中实现关系用一个带空心三角形箭头加虚线来表示,箭头指向接口。

关系的种类

图举例:

1.关联

2.依赖

3.限定关联

4. 聚集和组成

5.泛化

6.实现关系

用例视图

当用例视图在外部用户前出现时,它捕获到系统、子系统或类的行为。它将系统功能划分成对参与者(即系统的理想用户)有用的需求。而交互功能部分被称作用例。用例使用系统与一个或多个参与者之间的一系列消息来描述系统中的交互作用。参与者可以是人,也可以是外部计算机系统和外部进程。

用例之间的关系:关联、扩展、泛化、包含。

图举例:

1.用例图

2.用例关系图
 

交互视图

交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系。类元是对在系统内交互关系中起特定作用的一个对象的描述,这使它区别于同类的其他对象。交互视图显示了跨越多个对象的系统控制流程。交互视图可用两种图来表示:顺序图和协作图,它们各有不同的侧重点。协作图也展示对象之间的交互关系,强调交互的语境和参与交互的对象的整体组织。协作图按照空间组织布图(并行),而顺序图按照时间顺序布图(串行)。

1.顺序图

2.协作图

状态视图

状态视图是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成。状态图是对单个对象的“放大”,它说明对象所经历的状态变化。强调单个对象内状态的变化。

活动视图

活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动。活动状态代表了一个活动:一个工作流步骤或一个操作的执行。活动图描述了一组顺序的或并发的活动。活动视图用活动图来体现。活动图很像流程图,它显示出工作步骤,判定点和分支。可用于表达一个对象的操作和一个业务过程。

物理视图

物理视图对应用自身的实现结构建模,例如系统的构件组织和建立在运行节点上的配置。这类视图提供了将系统中的类映射成物理构件和节点的机制。物理视图有两种:构件图和部署视图。

1.构件图

2.部署图

模型管理视图

模型管理视图对模型自身组织建模。一系列由模型元素(如类、状态机和用例)构成的包组成了模型。一个包(package)可能包含其他的包,因此,整个模型实际上可看成一个根包,它间接包含了模型中的所有内容。包是操作模型内容、存取控制和配置控制的基本单元。每一个模型元素包含于包中或包含于其他模型元素中。

扩展机制

UML提供了几种扩展机制,允许建模者在不用改变基本建模语言的情况下做一些通用的扩展。这些扩展机制已经被设计好,以便于在不需理解全部语义的情况下就可以存储和使用。由于这个原因,扩展可以作为字符串存储和使用。对不支持扩展机制的工具来说,扩展只是一个字符串,它可以作为模型的一部分被导入、存储,还可以被传递到其他工具。我们期望后端工具设计成能够处理各种扩展,这些工具会为它们需要理解的扩展定义特定的语法和语义。扩展机制包括约束、标记值和构造型。

约束是用文字表达式表示的语义限制。

标记值是一对字符串—一个标记字符串和一个值字符串—存储着有关元素的一些信息。标记值可以与任何独立元素相关,包括模型元素和表达元素。标记是建模者想要记录的一些特性的名字,而值是给定元素的特性的值。例如,标记可以是author,而值是对元素负责的人的名字,如Charles Babbage。

标记值

构造型是在一个已定义的模型元素的基础上构造的一种新的模型元素。构造型的信息内容和形式与已存在的基本模型元素相同,但是含义和使用不同。例如,商业建模领域的建模者希望将商业对象和商业过程作为特殊的建模元素区别开来,这些元素的使用在特定的开发过程中是不同的。它们可以被看作特殊的类—它们有属性和操作,但是在它们与其他元素的关系上和它们的使用上有特殊的约束。

各种图汇总

时间: 2024-12-12 17:35:31

UML学习总结的相关文章

UML学习(类图和序列图等)

visio绘制UML图使用visio 提示此UML形状所在的绘图页不是UML模型图的一部分 请问这个问题怎么解决?新建->选择绘图类型->选择软件与数据库模板->选择UML模型图->注意:如果不选择UML模型图的话,可能会出现无法编辑形状文本,提示“此UML形状所在的绘图页不是UML模型图的一部分,该形状设计用于利用UML模型图模板创建的绘图”所以利用Visio绘UML图第一步就是选择绘图类型为软件中的UML模型图. 还可以参考百度云盘的UML学习资料 参考:UML中几种类间关系:

UML学习(二)-----类图

UML学习(二)-----类图 http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html http://www.cnblogs.com/yangfengming/archive/2008/08/14/1267495.html http://www.cnblogs.com/huangxincheng/archive/2012/10/17/2728736.html http://www.cnblogs.com/playing/

Thinking in UML 学习笔记(二)——UML核心视图之用例图

在UML中,需求模型又称为用例模型,它主要用于描述系统的功能性需求,即软件可以实现的功能,如登录.注册.入库.出库.查看库存报表.增加员工信息等.常规的用例建模一般包括两个组成部分:绘制用例图和编写用例文档. 用例图采用参与者和用例作为基本元素,以不同的视角展现系统的功能性需求. 一.业务用例视图 说明:使用业务主角和业务用例展现业务建模. 1.业务主角视角 作用:从业务的角度展示业务主角在业务中使用用例达成业务目标. 借阅人在借书管理系统中有借阅图书和办理借阅证两个业务目标. 2.业务模块视角

Thinking in UML 学习笔记(四)——UML核心视图之活动图

在UML中活动图的本质就是流程图,它描述了为了完成某一个目标需要做的活动以及这些互动的执行顺序.UML中有两个层面的活动图,一种用于描述用例场景,另一种用于描述对象交互. 活动图只是我们用来描述业务目标的达成过程并借此来发现对象的工具,它不是我们的分析目标,也不是编程的依据. 建立活动图: 一个登录过程的活动图如下: Thinking in UML 学习笔记(四)--UML核心视图之活动图

Thinking in UML 学习笔记(三)——UML核心视图之类图

类图的作用:用于展示系统中的类及其相互之间的关系. UML在解决面向对象的方法中对类理解为三个层次,分别是:概念层.说明层.实现层.在UML中,从开始的需求到最终设计类,类图也是围绕这三个层次的观点进行建模的. 一.概念层类图 在概念层上类图着重于对问题领域的概念化理解,而不是实现,因此类名称通常都是问题领域中实际事物的名称. 网上购物主要由商品.订单.支付卡这几个关键类构成,这几个类的交互能够完成网上购物这个业务目标. 二.说明层类图 这一层是类的接口而不是实现,类图中表达类和类之间的交互接口

UML学习笔记

这个学期有幸选到章老师的UML精品课程,虽然到目前仅仅上课两周,但是收益匪浅.尽管在本科接触过UML,却没有非常详细的对其进行深入的了解,只是对一些图的名称有所耳闻,没有深究其功能. 就最近所学知识,谈一下我对uml统一建模语言的一个总体认识,软件工程作为一门工程类学科,如同建筑类学科一样,当我们需要搭建一所建筑时,我们都需要对其进行需求和设计,在施工的时候,我们就需要一些设计图纸,例如各个房间的具体设计.三维视图等,通过这些图纸进行施工.软件工程也是如此,当我们拿到一个项目时,并不是直接开始编

UML学习小结

最近在使用状态模式写一个仿Windows计算器的MFC程序,顺便学习了一下UML图的绘制,尤其是类图和状态图的绘制,这里做一下总结吧.    一.UML简介 统一建模语言UML(Unified Modeling Language的缩写):是用来对软件系统进行可视化建模的一种标准语言. (1)在开发阶段,UML是用于说明.可视化.构建和书写面向对象软件制品的设计语言. (2)UML可以贯穿软件开发周期中的每一个阶段.被OMG(对象管理组织)采纳作为业界的标准. (3)UML最适于数据建模,业务建模

Uml学习-类图简介

类图(Class Diagram)简介  类图是面向对象分析(OOA,Object-Oriented Analysis)和面向对象设计(OOP,Object-Oriented Deisgn)思想的重要工具,是业务结构建模的重要工具. 需求中提到的各种业务概念,人物等,经过抽象后都可以视之为类.将某类东西归纳在一起,可以称为一个类,类有很多种提炼角度,需要根据系统的目标,业务的场景等,选取合适的角度对事物进行归纳. 类的识别: 1.  类的识别 将需求分析中遇到的人.物.概念识别为类,这是比较容易

Uml学习-用例建模简介

用例建模简介  用例建模是UML建模的一部分,它也是UML里最基础的部分.用例建模的最主要功能就是用来表达系统的功能性需求或行为.用例图重点描述用户需求. 它描述需求.用户和主要组件之间的关系. 它不会详细描述用户需求:在可链接到每个用例的其他关系图或文档中可详细描述这些需求.用例图是UML的九个图中较为重要和常用的一种图.常常用于软件开发的需求分析阶段,也能用于软件的系统测试阶段.简单的来说,用例图是描述系统的外部视图,为了搞清某个项目的大概需求,我们往往要问两个问题, 1.  这个系统有什么

Thinking in UML 学习笔记(一)——建立对象模型

一.面向对象的本质 面向对象的本质是抽象,当系统达到了超越其处理能力的程度,我们能够抽象出我们能够处理的范围来提成抽象级别,这样就能够构建更大.更复杂的系统. 现实世界和对象世界之间存在着一道沟壑,这道沟壑的名字叫抽象,抽象是面向对象的精髓所在.同一时候也是面向对象的困难所在.要跨越这道沟壑,我们须要解决下面问题: 1.一种把现实世界映射到对象世界的方法. 2.一种从对象世界描写叙述现实世界的方法. 3.一种验证对象世界行为是否正确反映了现实世界的方法. UML正是解决这一问题的分析设计方法.