UML建模
文章
1 UML笔记之模型和视图
UML概念 UML的全称,统一建模语言(UML是 Unified ModelingLanguage的缩写)是用来对软件系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。 什么是模型 模型是对现实世界的形状或状态的抽象模拟和简化。 模型的分类 描述系统的模型:软件模型分为逻辑模型和物理模型。逻辑模型描述未来系统用来做什么。物理模型描述未来系统做什么,规定了系统所采用的的技术,在设计阶段使用物理模型。 描述事物的模型:交通模型、建筑模型、设计模型、数据分析模型。用图形符号对现实世界中某个事物 按照模型的用途分类: 用例模型:表示业务系统或软件系统功能的模型。 对象模型:用来表示业务或软件系统的组成和结构。 动态模型:展现了系统的内部行文。包括顺序图、活动图、状态图。 使用模型的理由最简单的理由: 为了能够更好地理解正在开发的系统。通过建模,可以达到四个目的: 1、有助于按照需求对系统进行可视化的分析 2、能够系统的结构或行为 3、给出了知道构造系统的模板 4、对做出的决策进行文档化 UML中建模与视图 ...
2 UML笔记之语言体系
UML语言的组成: 包括构造块、规则、公共机制 构造快: 事物:事物代表了系统中最简单的实体。 关系:关系代表了实体间的联系。 图:代表了实体间按某种规则链接在一起组成的更大的实体。 **规则:**构造块应该遵守的规则,名称、作用范围、可见性、完整性、可执行等属性,在软件系统或业务系统中事物应该遵守的约束或规定。 名称:值每个构造块代表的事务应该有一个名字。 范围:每个构造快代表的事物的使用范围。 可见性:方位构造快代表的事物是,授予访问者的权限或者级别。 完整性:构造块代码的事物应该有完整的含义。 可执行性:构造块代表的事物具有实际含义和合理性。 **公共机制:**每个事物都必须遵守的通用规则。细分为:项数、修饰、通用划分、扩展机制。 构造块——事物(也成为符号)的解释 结构符号代表了业务系统或软件系统中的某个简单事物。结构符号代表的简单事物有7种,分别是类(对象)、接口、主动类、用例、协作、构件和节点。结构符号常用名词命名。下面分别介绍7种结构符号的表示法和含义。 结构符号 结构符号代表了业务系统或软件系统中的某个简单事物。结构符号代表的简单事物有7种,分别是类(对象...
3 UML笔记之图和视图
UML构造块——图的解释 UML中的图可分为两大类:结构图和行为图。结构图描绘系统中事物的组成及结构关系;行为图描绘系统中事物间的相互交互行为。下面是UML图的组成,如图23所示。(图是根据UML中存在的构造块进行说明的,视图是根据要具体解决的问题对系统进行说明。也就是说,要想完成某个视图,需要使用一个或者多个UML中的构造块,由事物构成的图) 图23 UML图的组成 1.结构图(静态结构图) 结构图又分为6种,如图24所示。 图6-24 结构图组成 (1)类图 类图是使用UML建模时最常用的图,它展示了系统中的静态事物、它们的结构以及它们之间的相互关系。这种图的典型用法是描述系统的逻辑设计和物理设计。 (2)构件图 构件图可以展示一组构件的组织和彼此间的依赖关系,它用于说明软件系统如何实现,以及软件系统内构件如何协同工作等。 (3)对象图 对象图可以展示系统中的一组对象,它是系统在某一时刻的快照,也可以说对象图是类图在某一时刻的快照。 (4)部署图 部署图可以展示物理系统运行时的架构,同时可以描述系统中的硬件架构和硬件上驻留的软件架构。 (5)组合结构图 组合结构图可以展示...
4 UML笔记之规则和公共机制
规则 在UML中,代表事物的元素符号在使用时应遵守一系列规则,每个元素必须遵守的3种语义规则如下: l 名称:每个元素应该有一个名字,即,事物、关系和图都应该有一个名字。和任何语言一样,名字即是一个标识符。 l 范围:每个元素起作用的范围。相当于程序设计语言中变量的“作用域”。 l 可见性:我们知道,UML元素可能属于一个类或包中,因此,所有元素都具有可见属性。在UML中,为元素定义了4种可见性,如表2-4所示。 表2-4 UML元素的可见性 元素的可见性 规 则(假设被访问的元素在包中) 标准表示法 public 任一元素若能访问包,则就可以访问包中的元素它 + protected 只有包中的元素或子包才能访问它 # private 只有包中的元素才能访问它 - package 只有声明在同一个包中的元素才能访问该元素 ~ 公共机制 在UML语言中,定义了4种公共机制:规格描述、修饰、通用划分和扩展机制。 规格描述 在UML语言中,对每一个元素有一个图形符号来表示,同时,对每个图形符号的语义有一个详细的文字描...
5 UML笔记之类图关系
类关系概述关系在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency) 关系表示 虚线箭头指向依赖; 实线箭头指向关联; 虚线三角指向接口; 实线三角指向父类; 空心菱形能分离而独立存在,是聚合; 实心菱形精密关联不可分,是组合; 详述1. 泛化(Generalization) 【泛化关系】:(is a)是一种继承关系, 表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。子类拥有超类所欲的属性和擦偶偶。例如:老虎是动物的一种, 即有老虎的特性也有动物的共性. 【箭头指向】:带三角箭头的实线,箭头指向父类 2. 实现(Realization) 【实现关系】:是一种类与接口的关系, 表示类是接口所有特征和行为的实现. 【箭头指向】:带三角箭头的虚线,箭头指向接口 3. 关联(Association) 【关联关系】:(has a )是一种拥有的关系,它使一个类知道另一个类的属性和方...
6 UML笔记之类图
类图概述 类图定义 类图显示了系统的静态结构。类图就是用于对系统中的各种概念进行建模,并描绘类图之间的静态关系。再简单一点,类就是一组具有相同结构、行为、关系的一群对象。 组成要素 类(类名,属性,操作)、关系(关联,泛化,聚合等) 类图示例 类的表示 类的关系 已经单独说明 类的详细描述 类的名称 类的属性 - hello : String = “hello” 类的操作 +getHello(in num:int = 1):String **可见性:**公有类型(public)、受保护类型(protected)、私有类型(private)、Implementation。 公有类型(public):允许在类的外面使用或查看该属性 受保护类型(protected):允许子类访问父类中受保护类型的属性 私有类型(private):只有类本身能够访问,外部一概不能 包访问类型(package)Implementation:该属性仅仅在被定义的包中才能够可见 作用域 类作用域:类的所有对象共享的属性或者操作,成为类作用域属性或者类作用域操作。...
7 UML笔记之对象图
对象图概述 定义 表示系统在某一时刻内部的对象状态,是系统的快照。对象图显示了一组对象和他们之间的关系。对象是客观存在的事物,所有的对象都有属性。 三要素 状态:对象状态值在某一时刻对象所有属性的集合。 行为:没有一个对象是孤立存在的,对象可以被操作,也可以操作别的对象,对象的这些动态特征成为对象的行为。 标识:为了讲一个对象和其他对象分开,赋予对象一个标识,以区别其他对象。 对象与类的区别 对象是类的一个实例,类是对一组对象的共同特征进行概括和描述。 对象是存在于时间空间中的具体实体,二类是一个类型。 类泛华了对象,对象特化了实体。类是定义,对象是实例。 对象分类 物理对象和概念对象。物理对象是客观存在的事物,概念对象是无形的事物。 领域对象和实现对象。从现实世界中识别出来的对象是领域对象。为了满足需求而构造的对象成为实现对象。 主动对象和被动对象。主动对象能够改变自身状态的对象,被动对象,只有接收到消息后才会改变自身状态。 对象表示 对象图实例:类在某一时刻的实例。在系统给的某一时刻存在。 对象图中的元素:对象、协作、注释、约束和包。 对象图表示 对象图的用途 系统快...
8 UML笔记之包图
包图概述 包图定义 使用包图可以将相关元素归入一个系统。一个包中可以包含附属包、图表或单个元素。 包的表示 组成元素 类、接口、构建、节点、协作、用例、子包。 包图优点: 为了方便对类和接口的开发进行管理。 用于组织模型中的元素进行分组以便更容易理解。 对包中的元素进行可见性控制。 对于以上相关的元素进行分组。 以包为单位对系统进行配置管理。 以包为单位分配设计任务。 包提供了一个封闭的空间,避免命名冲突。 包的应用 对建模元素进行分组。提高模型的可读性和可维护性。 包的设计原则 前三个原则互斥。共同闭包原则希望包越大越好。共同重用原则要求包越小越好。 重用等价原则:指的是把类放入包中时,应考虑把包作为可重用的单元。 共同闭包原则:指的是把那些需要同时改变的类放在一个包中。如果一个类的行为和/或结构的改变要求另一个类作相应的改变,则这两个类应放在一个包中;•共同闭包原则就是要提高包的内聚性、降低包与包之间的耦合度,希望在改动或升级一个包的时候要尽量少影响别的包。 共同重用原则:指的是不会一起使用的类不要放在同一包中。修改了一个对用户实际上毫...
9 UML笔记之序列图
序列图概述 定义 交互图是一种表示对象之间以及对象与系统外部的参与者actor之间动态联系的图形文档。序列图和协作图都是交互图,彼此等价,可以相互转化。 序列图是对对象之间传送消息的时间顺序的可视化表示。序列图用于表现交互,侧重于强调时间顺序。协作图着重描述系统成分如何系统协同工作。 **序列图将交互关系表示为一个二维图,**一个顺序图显示了一系列的对象和在在这些对象之间发送和接受消息的先后顺序。顺序图中水平方向为对象维,沿水平方向排列参与交互的对象;竖向方向为时间维,沿垂直向下方向按时间递增顺序列出各对象所发出和接收的消息。 序列图示例 注:虚线表示,此时对象不处于激活状态,双道线,表示对象处于激活状态;消息使用从一个对象的生命线到另一个对象的生命线的箭头表示。 序列图的作用: 检查用例图中描述的用户需求,。 和类图相互补充,表示对象之间的消息交互。 序列图与类图的关系 描述系统静态结构的类图和描述系统动态行为的交互图之间要保持一致性: 交互图中的生命线对应于类图中的类。 交互图中有消息交互的生命线,对应在类图中的两...
10 UML笔记之协作图
协作图概述 协作 包含一组对象和链,用于描述系统的行为是如何由系统成分协作实现的。在一定的语境中一组对象以及实现某些行为的对象间的相互作用。协作图就是表现对象协作关系的图。强调组织机构和交互角色。以生命线之间的链接为核心来描述对象之间的消息交互。 作用 显示对象及其交互关系的空间组织结构 表现一个类操作的实现 组成 协作图基本元素:活动者、对象、链接、消息。 对象:用来表示操作图中参与交互的对象。 多对象:用来表示协作图中参与交互的多个对象。 链接:两个或多个对象之间的独立连接,是对象引用元组,是关联的实例。链的表示形式:一个或多个相连的线或弧。 消息:对象之间发送的消息。 示例 通信图的建立 1. 确定交互过程的上下文(context); 2. 识别参与交互过程的对象; 3. 如果需要,为每个对象设置初始特性; 4. 确定对象之间的链(link),以及沿着链的消息; 5. 从引发这个交互过程的初始消息开始,将随后的每个消息附到相应的链上; 6. 如果需要表示消息的嵌套,则用Dewey十进制表...














