zoukankan
html css js c++ java
UML的基本构造块
UML由图和元模型组成,图是语法,元模型是语义。UML主要包括三个基本构造块:事物(Things)、关系(Relationships)和图(Diagrams)。本次连载我们将对UML的这些基本组成部分及UML工具和应用进行介绍,使读者对UML形成初步的整体印象。在其后的几次连载里,再以数个实例对这些内容逐步展开。
1.1 UML的基本构造块
1.1.1事物
事物是是实体抽象化的最终结果,是模型中的基本成员,UML中包含结构事物、行为事物、分组事物和注释事物。
(1)结构事物(Structural things)
结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的元素,共有以下七种:
类(Class):类是指具有相同属性、方法、关系和语义的对象的集合;
接口(Interface):接口是指类或组件所提供的服务(操作),描述了类或组件对外可见的动作;
协作(Collaboration):协作描述合作完成某个特定任务的一组类及其关联的集合,用于对使用情形的实现建模;
用例(Use Case):用例定义了执行者(在系统外部和系统交互的人)和被考虑的系统之间的交互来实现的一个业务目标;
活动类(Active Class):活动类的对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的;
组件(Component):组件是物理的、可替换的部分,包含接口的集合,例如COM+ 、JAVA BEANS等;
结点(Node):结点是系统在运行时存在的物理元素,代表一个可计算的资源,通常占用一些内存和具有处理能力。
(2)行为事物(Behavioral things)
行为事物指的是UML模型中的动态部分,代表语句里的"动词",表示模型里随着时空不断变化的部分,包含两类:
交互(ineraction):交互是由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作;
状态机(state machine):状态机由一系列对象的状态组成。
(3)分组事物(Grouping things)
可以把分组事物看成是一个"盒子",模型可以在其中被分解。目前只有一种分组事物,即包(package)。结构事物、动作事物甚至分组事物都有可能放在一个包中。包纯粹是概念上的,只存在于开发阶段,而组件在运行时存在。
(4)注释事物(Annotational things)
注释事物是UML模型的解释部分。
1.1.2关系
关系是将事物联系在一起的方式,UML中定义了四种关系:
(1)依赖(Dependencies):两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义;
(2)关联(Association):一种描述一组对象之间连接的结构关系,如聚合关系(描述了整体和部分间的结构关系);
(3)泛化(Generalization):一种一般化-特殊化的关系;
(4)实现(Realization) :类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
1.1.3图
图是事物集合的分类,UML中包含多种图:
(1)类图(Class Diagram):类图描述系统所包含的类、类的内部结构及类之间的关系;
(2)对象图(Object Diagram):对象图是类图的一个具体实例;
(3)包图(Package Diagram):包图表明包及其之间的依赖类图;
(4)组件图(Compoment Diagram,也称构件图):组件图描述代码部件的物理结构以及各部件之间的依赖关系;
(5)部署图(Deployment Diagram):部署图定义系统中软硬件的物理体系结构;
(6)用例图(Usecase Diagram):用例图从用户的角度出发描述系统的功能、需求,展示系统外部的各类角色与系统内部的各种用例之间的关系;
(7)顺序图(Sequence Diagram):顺序图表示对象之间动态合作的关系;
(8)协作图(Collaboration Diagram):合作图描述对象之间的协作关系;
(9)状态图(Statechart Diagram):状态图描述一类对象的所有可能的状态以及事件发生时状态的转移条件;
(10)活动图(Activity Diagram):活动图描述系统中各种活动的执行顺序。
查看全文
相关阅读:
spark调度器FIFO,FAIR
elasticsearch5.6.8 创建TransportClient工具类
elasticsearch TransportClient bulk批量提交数据
java 参数来带回方法运算结果
idea上传代码到git本地仓库
2020-03-01 助教一周小结(第三周)
2020-02-23 助教一周小结(第二周)
2020-02-16 助教一周小结(第一周)
寻找两个有序数组的中位数
无重复字符的最长子串
原文地址:https://www.cnblogs.com/jfliuyun/p/1502084.html
最新文章
EasyExcel随笔
SSM框架集成各配置文件
java 异常
数据库 分库分表
用到的指令
java 多线程 day17 Exchanger
java 多线程 day16 CountDownLatch 倒计时计数器
java 多线程 day15 CyclicBarrier 路障
java 多线程 day14 Semaphore 线程信号灯
java 多线程 day13 condition 线程通信
热门文章
java 多线程 day12 读写锁
java 多线程 day11 lock
logging模块1
configparser模块
两台linux ssh免密登录
json模块
shutil模块
sys 模块
spark
spark--shuffle原理
Copyright © 2011-2022 走看看