三个步骤所完成的主要任务和输入输出:
QAW(Quality Attributes Workshop质量属性会议):
完成系统的质量属性,并进行优先级排序
输入: stakeholders的需求
输出:按优先级排序的质量属性
ADD(attribute-dirven design method):
逐渐地有组织地为系统产生刚开始的体系结构的设计
输入:
质量属性需求(quality attribute requirements)
功能需求(functional requirements)
约束(constraints)
架构师所掌握的策略与风格
输出:
初步设计的体系结构
ATAM(Architecture Tradeoff Analysis Method):
主要任务:对产生的软件体系结构进行评估,判断其是否合理
输入:软件体系结构和业务需求
输出:绩效树、场景、风险点、非风险点、敏感点和权衡点
好的文档的七个原则:从读者的角度来写
避免无意义的重复
避免模糊
使用标准的组织形式
记录的合理性
保持文档是当前的
为了适当的目标审查文档
4+1视图模型从5个角度来描述软件体系结构:逻辑视图、进程视图、物理视图、开发视图、场景视图
模型概述:
每个模型的内涵:
逻辑视图:(类图、对象图、状态图、交互图)系统各部分的抽象描述
开发视图:(包图、组件图)系统各部分是如何组织的
进程视图:(活动图)系统完成业务的过程
物理视图:(部署图)系统的设计时如何对应到实际的
场景视图:(用例图)系统对外提供了什么“有价值的功能”
逻辑视图和开发视图描述系统的静态结构
进程视图和物理视图描述系统的动态结构
对于不同的软件系统来说,侧重的角度也不同
对于管理信息系统来说,侧重于从逻辑视图和开发视图来描述系统
对于实时控制系统来说,侧重于从进程视图和物理视图来描述系统
UML图:
用例图:
从外部视角来看系统,不关心系统内部(类似黑盒,只关心输入和输出)
类图:
对象图:
图形像数据结构中的树
包图:
图形像一个一个文件夹
序列图:
描绘了多个对象如何协作来完成一个用例
不适合精确定义对象的行为
查看一个对象在多个用例之间的行为
如果想查看多个用例或线程之间的行为,用活动图
通信图(协作图):
描述对象间的协作关系,跟序列图相似,显示对象间的动态合作关系。如果强调时间顺序,则使用序列图;如果强调联系,则选择协作图。