软件工程之动态建模

动态模型:有助于设计逻辑、代码行为或方法体。例如UML交互图。动态模型倾向于创建更为有益、困难和重要的图形。

顺序图的作用

表示用例的行为顺序,描述对象之间以及对象与Actor之间的消息发送关系;

发现类并依据其职责构建类的属性和方法。

SSD应为用例的主要成功场景以及频繁或复杂的替代场景而设计。

状态图

对于一个给定的类,可以把事件、状态和状态转移的方式进行抽象,并用一个状态图表示。

状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列、引起状态转移的事件(event)以及因状态转移而伴随的动作(action)。

在状态图中,状态是对某一时刻中属性特征的概括。

 支票(对象)已付(状态)

 汽车(对象)停在那儿(状态)

 发动机(对象)正在运行(状态)

 吉姆(对象)正在卖货(状态)

 小王(对象)已婚(状态)

每个状态框中有两格:上格放置状态名称,下格说明处于该状态时,系统或对象要进行的活动。

动作(action)与活动(activity)区别:activity与一个状态关联,当一个状态进入时开始,需要一段时间执行,可以被中断。

Action与一个转移相关联,在较少的时间内完成,其操作具有原子性,通常发生于状态的初始化、进入和退出时。

活动图

利用文本描述事件流是很有用的,但如果事件流的逻辑复杂且有许多其他事件流,则文本形式可能较难阅读和理解。这时可以使用活动图来描述事件流,它是事件流的另一种建模方式。

在用例模型中,活动图用来捕捉用例的活动,它着重描述操作以及用例实例或对象中的活动。

活动图是一种描述工作流的方式,它用来描述采取何种动作、做什么(对象状态改变)、何时发生(动作序列)以及在何处发生(泳道)。

活动图用于描述系统的工作流程和并发行为,活动图可以看作状态图的特殊形式,活动图中一个活动结束后将立即进入下一个活动。

时序图和协作图:都表示一组对象之间的动态协作关系。其中时序图反映对象之间发送消息的时间顺序,协作图反映收发消息的对象的结构组织。时序图和协作图是同构的,即两者之间可以相互转换。

相关推荐
寻丶幽风19 分钟前
论文阅读笔记——VGGT: Visual Geometry Grounded Transformer
论文阅读·笔记·transformer·三维重建·3dgs·vggt
天水幼麟1 小时前
python学习笔记(深度学习)
笔记·python·学习
you45802 小时前
小程序学习笔记:使用 MobX 实现全局数据共享,实例创建、计算属性与 Actions 方法
笔记·学习·小程序
笑衬人心。2 小时前
初学Spring AI 笔记
人工智能·笔记·spring
学习菌子2 小时前
第9章:【系统架构设计师】软件工程(5.系统运行与评价)
系统架构·软件工程·软考高级·系统架构师·系统维护·系统转换·系统评价
张较瘦_2 小时前
[论文阅读] 人工智能 + 软件工程 | Call Me Maybe:用图神经网络增强JavaScript调用图构建
论文阅读·人工智能·软件工程
Brookty2 小时前
【MySQL】JDBC编程
java·数据库·后端·学习·mysql·jdbc
UQI-LIUWJ2 小时前
计算机组成笔记:缓存替换算法
笔记·缓存
DKPT2 小时前
Java设计模式之结构型模式(外观模式)介绍与说明
java·开发语言·笔记·学习·设计模式
编程小白gogogo3 小时前
Spring学习笔记
笔记·学习·spring