健壮性图

1.设计模型

​​健壮性图_设计模型​​

这里要解释一下什么是架构模型什么是设计模型。

架构模型:软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。

​​健壮性图_用例_02​​


设计模型:软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。

2.鲁棒图

2.1鲁棒图的构成

(1) 边界对象

边界对象对模拟外部环境和未来系统之间的交互进行建模,负责接收外部输入、处理内部内容的解释,并表达或传递相应的结果

​​健壮性图_软件架构_03​​

例如:抽取用户界面、传感器(sensors) 、通信接口等。

高层(High-level)用户接口组件。

(2)控制对象

控制对象对行为进行封装,描述用例中事件流的控制行为。

​​健壮性图_软件架构_04​​

例如:控制(服务)类(组件)扮演协调、序列化、事务以及控制另外的对象的角色,而且他们经常被用来封装与某个特定用例的控制。

(3)实体对象

实体对象对需要存储的信息进行描述,往往来自领域概念

​​健壮性图_设计模型_05​​

2.2鲁棒图的创建过程

1.选择一个适当的用例。

2.把一个参与者放到协作图里面。

3.分析这个用例(活动图)。

对于用例的每一个动作:

a.确定并增加边界组件

b.确定并增加服务组件

c.确定并增加实体组件

d.画出这些组件间的关联

e.把每个组件都贴上用来满足用例交互的动作标签

实例:

1选择用例

选择一个用例:创建预约

1.顾客联系预约代理

2.预约代理选择“新建预约”图标

3.预约代理输入查询标准

3.1预约代理输入入住和退宿日期

3.2预约代理输入房间类型

4.预约代理点击“查询”按钮

…………

11预约代理输入顾客姓名

12.预约代理点击“查询”按钮

13.如果没有找到匹配的顾客:

13.1预约代理输入地址信息

13.2预约代理输入电话信息

13.3预约代理点击“增加新顾客”

14.否则

14.1系统显示匹配信息列表

14.2预约代理选择所要查找的顾客

14.3系统跳转到顾客信息界面

…………

21.系统保存预约并显示预约编号

22.预约代理点击“确定”

​​健壮性图_用例_06​​


(2)放入参与者

2确定边界组件

​​健壮性图_用例_07​​

​​健壮性图_软件架构_08​​

​​健壮性图_软件架构_09​​

​​健壮性图_用例_10​​
3确定实体组件和动作

3.总结

鲁棒性分析创建了一个满足用例的设计组件模型。它被称为设计模型。

我们用UML的协作图来可视化设计模型。

为了提供用例协作的另外一种视角,我们通常把设计模型转换成序列图。


4.鲁棒图分析的作用

​​健壮性图_软件架构_11​​

1. 鲁棒性分析(是一个强大的草图工具,是介于分析和设计之间的一种有效工具):通过分析用例规约中的事件流,识别出实现用例规定的功能所需的主要对象及其职责,形成以职责模型为主的初步设计

2. 引入架构模式:也称为架构风格,核心是架构机制

3. 质量属性分析