UML2.0 学习笔记

1、建模工具:Visio,Enterprise Architect(EA),PowerDesigner,starUML等等。

2、UML是由UML构造块、规则、通用机制三部分组成。其中,UML构造块由建模元素、关系和图组成。

2.1、建模元素分为结构元素,行为元素,分组元素和注释元素。

2.1.1、 结构元素有7中类型,分别是类,对象,组件,接口,用例,节点,协作和活动类。

2.1.2、 交互(Interaction)和状态机(State Machine)是UML模型中最基本的动态行为元素。

2.1.3、 最主要的分组元素是包(package)。在图形上,包用一个左上角带有一个小矩形的大矩形表示。如下

                                                                              

2.1.4、 有一种主要的注释元素,称为注解。在图形上,注解用一个右上角是折角的矩形表示。

                                                                              

2.2、在UML中有四种关系,分别是依赖关系,关联关系,泛化关系和实现关系。

2.2.1、 依赖关系其中一个元素(独立元素)发生变化,会影响到另一个元素(依赖元素)的语义。在图形上,依赖关系用一个带有箭头的虚线表示(),偶尔在其上有标记。

2.2.2、 关联关系在图形上是一条实线(),可带有箭头,即直接关联。关联关系中包含两种特殊的关系:聚合关系和组合关系。聚合关系表示整体和部分的关系,部分能脱离整体独立存在;组合关系也表示整体和部分的关系,但是部分可以脱离整体独立存在。

2.2.3、 泛化关系是一种特殊/一般关系,也可以理解为继承关系。在图形上用一个空心三角作为箭头的实线表示()。

2.2.4、 一般情况下,需要在两个地方使用实现关系:一种是在接口和实现他们的类或组件之间;另一种是在用例和实现他们的协作之间。在图形上,是实现关系用一个空心三角作为箭头的虚线(),箭头由源模型指向目标模型,表示源模型实现目标模型。

2.3、在UML中图分为(1.x只有9种,2.0增加到13中)类图(Class Diagram),对象图(Object Diagram),用列图(Use Case Diagram),顺序图/序列图(Sequence Diagram),通信图/协作图(Collaboration/Communication Diagram),状态机图(State Machine Diagram),活动图(Activity Diagram),组件图(Component Diagram),部署图(Deployment Diagram);UML2.x中的有创新也有保留的包图(Package Diagram),组合结构图,交互预览图(Interaction Overview Diagram)和时间图(Timing Diagram)。

2.4、UML规则包含命名、范围,可见性,完整性和执行五部分。

2.5、UML中有4种贯穿整个语言并且一致应用的通用机制:规范说明,修饰,通用划分(指元素/元素实例,接口/实现这样的划分方法)和扩展机制(包括构造型,标记值和约束)。

3、UML体系结构:元元模型层(Metametamodel),元模型层(Metamodel),模型层(Model)和用户模型层(Usermodel)。

4、UML建模流程:需求分析阶段,分析阶段,设计阶段,构造阶段和测试阶段。

用例图是UML中较为重要和常用的一种图。它描述了人们希望如何使用一个系统,包含用户希望系统实现什么功能,以及用户需要为系统提供哪些信息。

用例图是UML建模的基础图,其他类型的图都建立在用例图的基础上。用例图也是程序开发的基础,当作系统需求分析的参考来使用。

5、用例图有4部分组成:用例、系统、参与者和关系。用例图的最终目的是:描述系统开发过程中需要实现的所有功能。其中关系有分为:关联关系,泛化关系,包含关系和扩展关系。

5.1、 关联关系是参与者与用列之间的关系;

5.2、 泛化关系可用于用例之间,也可用于参与者之间;

5.3、 包含关系是用例之间的关系,是用例的细化或者合并;

5.4、 扩展关系是一种依赖关系,扩展用例描述用例在执行过程中对可能出现的情况做出处理的用例。

示例如下

静态建模是指对象之间通过属性相互联系,而这些关系不随时间而转移。静态建模又称作结构建模。类和对象的建模是UML建模的基础。UML的静态建模机制包括类图,对象图和包图。类图是描述系统中类的静态结构,它不仅定义系统中的类,表示类制剂的关系(如关联,依赖,泛化等),还包括类的内部结构(如类的属性和操作)。类图描述的是一种静态关系,在系统的整个周期中都是有效的。

6、类图在UML中通常用实线矩形框表示,矩形框中包含多个分隔框,分别包含类的名称、属性、操作、约束以及其他成分等。

7、UML中将类图分为实体类(Entity)、边界类(Boundary)和控制类(Control)三种。

8、抽象类的类名用斜体字表示,不同的建模工具,表示方式也不同。

9、接口的符号有两种形式:一种是构造型表示法(见最后的示例部分),另一种是“棒棒糖”标识法。名称前加大写i字母

10、类之间的关系包括依赖关系,关联关系,泛化关系和实现关系这四种。

10.1、 依赖关系分为使用依赖(Usage)、抽象依赖(Abstraction)、授权依赖(Permission)和绑定依赖(Binding)。在UML2中增加了替代依赖。

10.1.1、 使用依赖的关键字有使用(use)、调用(call)、参数(parameter)、实例化(instantiate)和发送(send)。

10.1.2、 抽象依赖的关键字有跟踪(trace)、精化(refinement)和派生(derive)。

10.1.3、 授权依赖的关键字有访问(access)、导入(import)和友元(friend)。

10.1.4、 绑定依赖的关键字bind。

10.1.5、 替代依赖的关键字substitute。

10.2、关联关系的传统的多重性有4中形式,分别是“1对1”,“1对多”,“多对1”和“多对多”。常见关联有自关联、关联类和限定关联。

10.3、聚合关系是一种特殊的关联关系,表示has-a的关系,组合关系是一种特殊的聚合关系,表示contains-a的关系。聚合关系的整体和部分可独立存在,组合则不可以。聚合关系的符号表示为,组合关系的符号表示为。(其中菱形指向整体)

10.4、泛化关系符号表示为,实现关系的符号表示为

11、类图建模的一般步骤如下:a、研究分析问题领域,确定系统需求。b、确定类,明确类的含义和职责,确定属性和操作。c、确定类之间的关系。识别类的技巧有:名词分析法、从用例中识别类、使用CRC分析法和对领域进行分析。

12、类图的特点:a、表述系统静态视图。b、显示今天视图中元素之间的协作。c、有系统执行的功能描述。d、构建软件应用面向对象的语言。类图遵循的原则:简化原则,分层理解原则和关注关键点原则。类图的作业:对概念建模,对简单协作建模和对数据库模式建模。类图的层次结构:概念层,说明层和实现层。

示例如下

13、对象包含标识、状态和行为;即对象名、属性和操作。UML对象图中对象的名称格式为“对象名:类名”,这两个部分可选,但是如果包含了类名,则必须加上“:”。另外对象名还必须加上下划线。对象图的名称三种状态如下图:

                                                      

14、对象图中对象的各种关系称为链。对象图的用途:a、捕获实例和连接;b、在分析和设计阶段创建;c、捕获交互的静态部分;d、举例说明数据/对象结构;e、详细描述瞬态图;f、由分析人员、设计人员和代码实现人员开发。对象图的作用:a、说明复杂的数据结构;b、表示对象之间的行为。

15、对象名建模的步骤:a、先找出类和对象,通常类在class、new和implements等关键字后。而对象名通常在类名之后。b、对类和对象进行细化的关联分析;c、绘制相应的对象图。

16、在UML中,包使用一个大矩形的左上角附带一个小矩形的图标来表示。包的标准构造型有:facade , framework , stub , subsystem , system。包图的作用:a、描述需求(用例图);b、对设计进行概述(类图);c、在逻辑上把一个复杂的图模块化;d、组织源代码(命名空间)。包图分类有:a、用例包图;b、类包图。包图设计原则:a、重用发布等价原则(REP);b、无环依赖原则(ADP);c、稳定抽象等价原则(SAP);d、稳定依赖原则(SDP);e、共同封闭原则(CCP);f、全部重用原则(CRP)。

示例如下

状态机图是系统分析的一种常用工具,用于描述系统的状态变化。正如用例图通过用例来描述系统的功能,状态机图通过对象的状态变化来描述对象的一个生命周期。

17、状态机由状态(state)、转移(transition)、事件(event)、活动(activity)和动作(action)等元素组成。

18、状态机图中的基本标识符有状态(包含初始状态和终结状态)、转移、判定决策点和同步。开始状态是一个实心的圆,结束状态是一个实心圆外加一个实线圆圈。

19、系统满足下列情况的时候可以为系统绘制状态机图:a、系统建模对象的状态多余3个的;b、拥有大量信息,并经常需要对信息进行增、删、改等操作的类;c、界面类;d、实时系统中的类。

20、状态机图的建模步骤:a、确认建模实体;b、标识出模型元素的开始和结束状态;c、确定主要状态;d、确定与每一个实体相关的事件;e、从开始状态建模完整状态机图;f、如果必要,则指定组成状态。

21、状态机图中转移有5个要素:源状态(受转换影响的状态)、目标状态(当转换完成之后对象的状态)、触发事件(用来为转换定义一个时间,包括调用、改变、时间和信号四类事件)、监护条件(布尔表达式,决定是否激活转换)和动作(转换激活时的操作)。

22、状态机中的动作是不可中断不可分割的行为,是行为的最小单位。动作有5个基本类型:a、entry:入口动作,进入状态是发生的动作;b、exit:出口动作,当前状态结束时发生的动作;c、do:内部动作,模型元素处于某个状态时执行的动作;d、include:引用子状态机状态;e、event:用来指定当特定事件触发时发生的相应动作。

23、状态机图中状态的类型有:顺序状态、并发状态、同步状态、历史状态和子状态机引用。

示例如下

24、活动图是一种特殊形式的状态机,用于对计算流程和工作流程建模。活动图可用来分析用例,理解牵涉多个用例的工作流和使用多线程应用。活动图的主要开始和结束状态,分支和合并,分叉和回合,对象流和泳道等。

25、活动图和状态机图都是用于对系统的动态行为建模。状态机图是展示状态和状态转换的图,通常是一个状态机依附于一个类,并且描述这个系统实例对接收到的事物的反应。状态机有两种可视化方式,分别是状态机图和活动图。

如果强调对象的潜在的状态和这些状态间的转换,一般使用状态机图;如果强调从活动到活动的控制流,一般使用活动图。活动图用于描述一个过程或操作的执行顺序,从这个方面讲,活动图可以算是状态的一种扩展方式。状态机图描述一个对象的状态以及状态的改变,而活动图除了描述对象状态外,还能突出它的活动和操作。

示例如下

用例图从参与者的角度出发,描述了系统的需求;静态图定义系统中类和对象间的静态关系;状态机模型描述系统元素的行为和状态变化流程;而交互图描述整个系统各元素间的交互。交互图包含顺序图、时间图、交互概览图和通信图等;在交互图中,使用最广泛的是顺序图和通信图,顺序图主要突出系统对象间交互的顺序;通信图主要突出系统对象间的协作关系和交互详细内容

26、顺序图的构成元素有4个:对象,生命线,消息和激活。对象大多的工具中参与者是小人标识,其他用矩形框,生命线是一条竖着的虚线,激活期是生命线上一个矩形框,消息有带箭头的实现或虚线表示。

27、顺序图中的消息在UML中分为4类:同步消息、异步消息、简单消息和返回消息。

27.1、 同步消息是同步进行、需要返回消息的消息,通常成对出现;

27.2、 异步消息是不需要返回消息的消息,通常单独出现;

27.3、 简单消息是不必区分同步、异步的消息,用于概括消息的传递;

27.4、 返回消息是对象间返回的信息消息,用于信息的传递。(虚线表示,上面三个是实线)

28、序号和参数是顺序图的一部分,但序号和参数并不是必须的。

29、一个活动的执行通常包括两个临界状态,即激活器的开始和终止。消息和激活期描述了事件的状态,激活期的顶端通常与接收的消息对齐;底部与结束消息对齐。

30、关于生命线需要注意几点:a、生命线激活状态的高度决定了激活状态发生的顺序;b、不同的激活状态表示不同的交互;c、生命线不能精确表示实际时间,而是描述交互的执行顺序。

31、组合片段是顺序图中的一个片段,一组合的形式描述顺序图中的一个特殊工作流;一个顺序图中可同时使用多种组合片段。(具体见顺序图组合片段类型及属性

示例如下

顺序图侧重于描述对象间交互的序列,而通信图/协作图侧重于描述对象间的组织结构、相互作用和联系。

32、协作图/通信图(Communication Diagram/Collaboration Diagram)由参与者、对象、链接和消息构成。

33、通信图/协作图中消息的序号是不可省略的,图中只能靠消息的序号描述对象交互的顺序。同样通信图/协作图中也没能使用组合片段,但消息的类型和顺序图一样。因为没有组合片段的使用,所以通信图/协作图中使用了消息控制点,控制点通常放在中括号[]内,用于区分控制点消息和消息名称。

34、消息迭代有两种:a、标记符用于单个对象发送消息到一组对象,这组对象代表了类的多个实例,使用重叠的矩形来表示。这种迭代表示一组对象的每个成员都将参与交互;b、类似的迭代标记符是表示消息从一个对象到另一个对象被发送多次。

35、迭代通过在消息的序号后添加一个迭代符“*”或一个可选的迭代表达式来表示。迭代表达式有:a、[i:=1..n] b、[i:=1..10] c、[while(表达式)] d、[until(表达式)] e、[for each(表达式集合)] 。

示例如下

实现阶段是软件开发的最后一个阶段,这时会涉及到实现图来描述实现方面的信息。实现图是从系统的层次来描述的,描述硬件的组成和布局,描述软件系统划分和功能实现。UML的实现图有:组件图和部署图。

36、组件图又被成为构件图。组件图的作用有:a、组件图的主要目的是显示系统组件之间的结构关系;b、在以组件为基础的开发中,组件图为系统架构师提供一个开始为解决方案建模的自然形式。组件图允许系统架构师验证系统的必须功能是有组件实现的,这样确保了最终系统将会被接收。c、组件图通常可以使项目发起人感到轻松,该图对于不同的小组是很有用的一种交流工具;d、组件图为开发者提供了将要建立的系统的高层次的架构视图,这将帮助开发者建立实现的目标。

37、组件图中包含了包、组件、接口、依赖关系、实现关系、工件和端口,也可包括子系统,约束和注释等。但最常用的只有组件、接口和依赖关系(依赖关系和泛化关系)。

38、一个结构良好的组件图应该具有以下几个特点:a、侧重于描述系统静态视图的某一侧面;b、只包含那些对描述该侧面内容有关的模型元素;c、提供与抽象层次一致的描述,只显示有助于理解该组件图的必要的修饰;d、图形不要过于简化,以防产生误解。

39、部署图通常又被称作配置图。部署图描述处理器、设备、软件增距镜在运行时的架构。它是系统拓扑的最终物理描述,即描述硬件单元和运行在硬件单元上的软件的结构。

40、部署图的组成元素包括节点和节点之间的连接。部署图中除了包括基本的节点、组件和关系(依赖关系、实现和关联关系)外,还可以包含其他元素,如子系统、包、设备、执行环境等等。

示例如下

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值