记录软件架构:视图

 视图可将一个软件架构划分为许多可管理的有趣的系统表现形式。

一、模块视图

如果没有至少一个模块视图,任何软件架构的文档都不太可能完成。

元素模块
关系Is part of(子模块), Depends on(模块间的依赖关系), Is a(泛化特化)
约束不同的模块视图可能会施加特定的拓扑约束,例如对模块之间的可见性的限制
用途为建设代码的蓝图;变化影响分析;规划增量开发;需求可追溯性分析;沟通系统的功能及其代码库的结构;支持工作分配的定义;实施计划和预算信息;显示系统需要管理的信息的结构

二、组件和连接器视图

元素组件、连接器
关系Attachments, Interface delegation
约束

组件只能连接到连接器上,而不能直接连接到其他组件上。

连接器只能连接到组件上,而不能直接连接到其他连接器上。

Attachments只能在兼容的端口和角色之间制作。

Interface delegation只能在两个兼容的端口(或两个兼容的角色)之间定义。

连接器不能单独显示;连接器必须连接到组件。

用途

显示该系统是如何工作的;通过指定运行时元素的结构和行为来指导开发;帮助说明运行时系统质量属性,如性能和可用性

三、分配视图 

元素软件元素、环境元素、软件元素具有环境所需的属性、环境元素有提供给软件的属性
关系Allocated to
约束

根据视图不同

用途推理有关性能,如可用性、防护性和安全性;关于分布式开发和将工作分配给团队的推理;关于并发访问软件版本的推理;关于系统安装的形式和机制的推理

四、质量视图

元素软件元素、环境元素、软件元素具有环境所需的属性、环境元素有提供给软件的属性
关系Allocated to
约束

根据视图不同

用途推理有关性能,如可用性、防护性和安全性;关于分布式开发和将工作分配给团队的推理;关于并发访问软件版本的推理;关于系统安装的形式和机制的推理

五、选择什么视图

至少有一个模块视图、一个C&C视图,大型系统中,至少还需要一个分配视图。

方法: 建立一个stakeholder/view表 -> 合并视图以减少数量 -> 优先级和阶段

六、记录行为

行为文档:通过描述该视图中的体系结构元素如何相互交互来补充每个视图。

行为文档支持推理:系统发生死锁的可能性;系统在给定时间内完成任务的能力;最大的内存消耗;……

两种Notations:Trace-oriented language 和 Comprehensive language

 

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值