当前位置:网站首页>软考 ----- UML设计与分析(下)
软考 ----- UML设计与分析(下)
2022-08-02 19:21:00 【想写程序的毛毛虫】
一、模型图(下)
模型图分为两大类:
- 静态模型(系统结构)
用例图、类图、对象图、构件图、部署图;
- 动态模型(系统行为)
状态图、活动图、顺序图、协作图;
1.1 类图 ( Class Diagram )
描述一组类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构图;
1.1.1 类之间的关系
- 依赖 ( dependency )
- 依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他食物,大多情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数;
- 在 UML 中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方;
- 泛化 ( generalization )
- 一般元素和特殊元素之间的关系;
- 泛化关系是继承关系的反关系,子类从父类中继承,父类是子类的泛化;
- 关联 ( accociation )
- 表示两个类之间存在某种语义上的联系,一个人为一家公司工作,一家公司有许多办公室;
- 关联关系是所有关系中语义最弱的;
- 可以分为聚合关系、组合关系;
a. 聚合关系
关联关系的一种特例,是强的关联关系,聚合表示类之间的关系是整体与部分的关系,但是整体与部分之间是可分离的,它们可以有各自的生命周期;
b. 组合关系
- 也是关联关系的一种特例,这种关系比聚合更强,也称强聚合;
- 它同样体现整体与部分间的关系,但此时整体和部分是不可分的;
- 实现 ( realization )
- 一个元素完成另外一个元素的操作功能,则两者构成实现关系;
- 如接口类及其实现,接口类是操作的集合,只声明了操作方法(没有实现该方法),而实现类具体定义实现部分;
1.2 对象图 ( Object Diagram )
描述的是参与交互的各个对象在交互过程中某一时刻的状态,对象图可以被看作是类图在某一时刻的实例;
在 UML 中,对象图使用的是与 UML 类图相同的符号和关系,因为对象就是类的实例;
1.3 状态图 ( state chart diagram )
- 状态图用来描述一个特定对象的所有可能状态及引起状态转移的事件;
- 它由状态、转移、事件和活动组成;
- 状态图给出了对象的动态视图;
1.4 活动图 ( activity diagram )
将进程或其他计算的结构展示为为计算机内部一步步的控制流和数据流,活动图专注于系统的动态视图;
- 活动图侧重从行为的动作来描述;
- 状态图侧重于从行为的结果来描述;
1.5 顺序图 ( sequence diagram )
是一种交互图 ( interaction diagram ),交互图展现了一种交互,它由一组对象或角色以及它们之间可能发送的消息构成,交互图专注于系统的动态视图,顺序图是强调信息的时间次序的交互图;
1.6 协作图(通信图,UML2.0 后的名称)
是一种交互图,强调的是发送和接收消息的对象之间的组织结构;
一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息;
1.7 构建图 ( component diagram )
- 构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图;
- 构件图用于表示系统的静态设计实现视图;
- 是物理方面进行建模的两种图之一;
1.8 部署图 ( deployment diagram )
- 用来显示系统中软件和硬件的物理架构;
- 从部署图中,可以了解到软件和硬件之间的物理关系以及处理节点的组件分布情况;
- 是物理方面进行建模的两种图之一;
边栏推荐
- 十六进制文本的字节序问题
- 安装Mac版Mysql卡在Installation阶段,彻底清理mysql并重装mysql
- 流量分析第二题
- 元旦快乐(2022)
- SQL-UDT是什么功能?
- 【心理学 · 人物】第一期
- MaxCompute 近期发布上线的版本的 SQL 引擎新功能参数化视图有什么优势?
- MySQL安装时一直卡在starting server
- Brain-computer interface 003 | Musk said that he has realized a virtual self-dialogue with the cloud, and related concept shares have risen sharply
- 一些不错的博主
猜你喜欢

实现客户服务自助,打造产品知识库

你想要的宏基因组-微生物组知识全在这(2022.8)

Detailed explanation of common examples of dynamic programming

Caldera(一)配置完成的虚拟机镜像及admin身份简单使用

线程池原理与实践|从入门到放弃,深度解析

【C语言刷题】牛客JZ65——不用四则运算作加法

Three.js入门

Based on OpenGL glaciers and firebird (illumination calculation model, visual, particle system)

Mysql基础篇(视图)

元宇宙001 | 情绪无法自控?元宇宙助你一臂之力
随机推荐
es DELETE index 源码分析
es 读流程源码解析
【LeetCode】118. 杨辉三角 - Go 语言题解
如何正确地配置入口文件?
MaxCompute 近期发布上线的版本的 SQL 引擎新功能参数化视图有什么优势?
golang刷leetcode动态规划(11)不同路径
Detailed explanation of common examples of dynamic programming
服务器Centos7 静默安装Oracle Database 12.2
扫码预约 | 观看Apache Linkis数据处理实践以及计算治理能力
【OpenNI2】资料整理 -- 不断更新中
Geoserver+mysql+openlayers
2022-07-28
[Dynamic Programming Special Training] Basics
spack install报错/tmp/ccBDQNaB.s: Assembler message:
MOSN 反向通道详解
7.21 - 每日一题 - 408
健康报告-设计与实现
流量分析第二题
【C语言刷题】牛客网刷题——替换空格
SQL server有什么认证吗?