健壮性图
1.设计模型
这里要解释一下什么是架构模型什么是设计模型。
架构模型:软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。
|
设计模型:软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
2.鲁棒图
2.1鲁棒图的构成
(1) 边界对象
边界对象对模拟外部环境和未来系统之间的交互进行建模,负责接收外部输入、处理内部内容的解释,并表达或传递相应的结果
例如:抽取用户界面、传感器(sensors) 、通信接口等。
高层(High-level)用户接口组件。
(2)控制对象
控制对象对行为进行封装,描述用例中事件流的控制行为。
例如:控制(服务)类(组件)扮演协调、序列化、事务以及控制另外的对象的角色,而且他们经常被用来封装与某个特定用例的控制。
(3)实体对象
实体对象对需要存储的信息进行描述,往往来自领域概念
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.预约代理点击“确定”
|
(2)放入参与者
2确定边界组件
|
3确定实体组件和动作
3.总结
鲁棒性分析创建了一个满足用例的设计组件模型。它被称为设计模型。
我们用UML的协作图来可视化设计模型。
为了提供用例协作的另外一种视角,我们通常把设计模型转换成序列图。
4.鲁棒图分析的作用
1. 鲁棒性分析(是一个强大的草图工具,是介于分析和设计之间的一种有效工具):通过分析用例规约中的事件流,识别出实现用例规定的功能所需的主要对象及其职责,形成以职责模型为主的初步设计
2. 引入架构模式:也称为架构风格,核心是架构机制
3. 质量属性分析