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):活动图描述系统中各种活动的执行顺序。
查看全文
相关阅读:
最全Pycharm教程
Django系列:(1)PyCharm下创建并运行我们的第一个Django工程
用pycharm+django开发web项目
python在不同层级目录import模块的方法
Android GetTimeAgo(时间戳转换几天前,几分钟前,刚刚等)
Fresco简单的使用—SimpleDraweeView
django常用命令
Android 浅谈 RxAndroid + Retrofit + Databinding
云计算之路-阿里云上:负载均衡从七层换成四层后的意外发现团队
云计算之路-阿里云上:因为网络问题,物理机换回虚拟机团队
原文地址:https://www.cnblogs.com/jfliuyun/p/1502084.html
最新文章
Ubuntu 16.04设置Redis为开机自动启动服务
mvnw是什么(Maven Wrapper/Maven保持构建工具版本一直的工具)
Redis可视化客户端管理Web UI工具收集
Ubuntu 16.04桌面打开终端自动进去桌面文件夹
Linux系统备份还原工具4(rsync/远程数据同步工具)
Linux系统备份还原工具2(TAR/压缩工具)
Ubuntu 16.04无损分区大小调整工具Gparted
Linux下分区、格式化、自动挂载
Ubuntu 16.04将ISO镜像写入U盘
Linux系统备份还原工具3(使用Clonezilla/再生龙对硬盘进行镜像和克隆,类似于Ghost)
热门文章
Spring Boot中Starter是什么
断路器监控(Hystrix Dashboard)
spring-cloud-starter-ribbon提供客户端的软件负载均衡算法
MySQL wait_timeout参数设置与网上常见错误小纠
replaceAll的一个bug
【重磅】Spring Boot 2.1.0 权威发布
记一次bug修复过程
记一次走心One 2 One沟通
Django实现用户注册登录
Django通过pycharm创建后,如何登录admin后台?
Copyright © 2011-2022 走看看