认识UML
问:什么是UML?
答:中文名称:统一建模语言
英文名称:unified modeling language;
UML定义:是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。
答:这种语言是一种图形化语言。通过几种不同的图来代替语言的描述。
进一步了解UML
问:UML 由什么构成?
答:基本构造块,规则,机制。
1、其中基本构造块又分:事物,关系,图。
(1)事物包含:结构事物,行为事物,分组事物,注记事物。
结构事物 | 行为事物 | 分组事物 | 注记事物 |
UML模型的静态部分,描述概念或物理模型 | UML 图中的动态行为,描述空间,时间上的行为 | UML 图的组织部分 | UML 中解释部分 |
Class (具有相同属性和操作的 对象的集合) | Interaction (实现某一功能的一组动作集合)
| Packages (把元素组织成组) | Notes (对图符,关系进行说明) |
Interface (一组操作规范) | State mechanism (事物或者交互在生命周期内的状态集合) |
|
|
Collaboration (描述一组事物 相互作用的集合)
|
|
|
|
Use case (系统的一部分, 一组动作的集合) |
|
|
|
Activity class (主动类) |
|
|
|
Component (系统中的物理存在元素) |
|
|
|
Nodes (运行时存在的物理元素) |
|
|
|
(2)关系(相见上篇博客)
关联:事物间存在的结构关系。
普通关联
整体——部分(聚合,组合)
依赖:是一种使用的关系(Use)。被依赖的事物发生变化会影响到依赖的事物。
依赖的体现:A:类A 的参数中使用到类B 。
B:类A的方法中使用到类B。
泛化:一般——特殊的关系。
子类从父类中继承的泛化;
从多个模块中抽出相同的子模块,作为公共部分,也是一种泛化。
实现:类元之间的语义关系。一个类实现了另一类保证的契约。
举个例子就是:接口只是定义了操作规范,没有具体实现办法,某个类要实现这个接口中定义的操作。
(3)图
UML 中最重要的可视化图形语言,包含九种图。
用例图:站在用户的角度,体现出系统给用户提供的功能。
系统的静态结构
类图:系统的静态结构表现,描写了系统中的类和类之间的关系。
包图:将系统中的纷繁杂乱的类,关系根据逻辑关系组织成包。
描述系统的动态行为。
状态图:描述了类或者对象在系统中的所有状态。
活动图:描述了类或者对象完场系统功能的一系列活动。
时序图:从消息发生顺序方面描述了系统中对象之间交互的关系。
协作图:从对象组织结构方面描述了系统中对象间的交互关系。
描述系统实现的图
构件图:描述了系统的物理组成部分。
部署图:描述了系统在实际环境中的运行部署情况。
2、规则
命名规范:是为事物、关系和图命名做的一些要求。和任何语言一样,名字都是一个标识符。
范围:与类的作用域相似。
可见性:UML 中的访问权限控制:Public,Protected,Private,Package。
完整性:UML 中各个图要要完整,一直的表现出事物间的联系。
执行:运行或模拟动态模型的含义是什么
3、机制
规格说明:描述系统的细节。每一种图形都是在一定的语义环境下进行理解的,只有图形,没有解释说明,那 一个图有N种理解,所以UML 中的图都是有一定的规格说明的。
修饰:各种符号的含义。
通用划分:类/对象二分法;接口/实现二分法……
类/对象二分法:在UML 中类到处都存在,但是类是一种抽相化的描述,需要有对象来进行具体的实例化。
接口/实现二分法:接口只是定义了操作规范,需要类或者构件来实现其中的契约。
扩展机制:对UML 中的图示符号进行的扩展。
约束:用来增加新的语义或改变已存在规则的一种机制,放在相关元素的附近进行说明。
答:到此,我说明白了吗?那么你有点概念了吗?