//架构设计的方法体系
3个阶段,一个贯穿:
Pre-architecture阶段 “预处理阶段”简称PA
Conceptual Architecture阶段 “”CA
Refined Architecture阶段 “” RA
对非功能目标的考虑贯穿整个过程。(非功能目标:6个质量属性和约束条件)
//软件需求分析的三个层次
业务目标,用户目标,系统目标
//三尖刀原则:
业务目标(功能)、好处(质量)、度量(约束)
//PA阶段(预处理阶段)
目的:
分析业务需求和约束背后衍生的需求
发现遗漏需求
确定关键功能
确定关键质量
权衡质量属性之间的矛盾关系
需求过程:
需求结构化
分析约束影响
确定关键质量
确定关键功能
确定关键质量与关键功能:
分类合适+必要扩充
考虑多方涉众
检查性思维
识别矛盾+划定优先级
严格程度符合领域与规模特点
//实际上架构设计的驱动力:功能+质量+约束。
//CA阶段(概要设计阶段)----大系统必须阶段(重大需求塑造概要架构)---“战略方向”
//针对的具体事件不同:战略针对宏观问题,是高瞻远瞩而制 定的,是指导和运用战术的。战术针对具体的微观问题,战术 必须是具体地针对个别情况而制定的,有丰富多采的变化和机 敏迅速的反应这两个重要的特点。
/确定关键质量(易用性,可用性,可修改性,性能,安全性,可测试性)与关键功能(核心功能,必做功能,高风险功能,独特功能)
//鲁棒图
边界、控制、实体
边界——起与外界交互的作用,它只能与控制对象和执行者有关系
控制——对业务控制、流程控制的作用,它能与边界对象和实体对象有关系
实体——业务元素的存储对象,与领域模型中的对象有良好的关系。它只能与控制对象有关系
//高层分割
分层式概要架构实践,“3+1”种流派
Layer:逻辑层
Tier:物理层
按通用性分层
技术堆叠
//OSI模型七层结构(理想模型):
物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
//协作图
·协作图与时序图类似,也是一种交互图,如果强调时间顺序, 就使用时序图,强调上下机关系,就选择协作图。
·协作图代表一个系统的组织结构和发送/接受的消息。
·协作图的目的是可视化的组织对象及相互作用
//概念架构(上面)
//细化架构
//RUP(统一建模过程)4+1视图
逻辑架构,开发架构,物理架构,数据架构,运行架构(对应 的要写 概要设计文档)
//细化架构-逻辑架构(关注接口)
划分子系统策略:分层的细化(分);分区的引入(分);机制的提取(合)(三种策略,混合使用,三管齐下)。
子系统划分4个原则:职责分离原则;通用专用分离原则;技能分离原则;工作量均衡原则。
分层的细化:
展现层-(展现层,和控制层)
业务层-(业务接口层,业务实现层,业务实体层)
数据访问层-(数据访问层)
//物理架构
1+1<2
物理架构的思维架构(“开销”和“争用”是核心)
如何降低物理节点“内”的计算开销
如何降低物理节点“间”的通信开销
如何避免物理节点“内”CPU、内存、硬盘等资源的争用
如何避免物理节点“间”网络的带宽资源冲突
//运行架构
解决物理架构中的资源争用问题
控制流图是关键---考虑模块加锁