Skip to content

2.软件架构设计与生命周期

生命周期

架构为了支撑需求

需求分析阶段(在具体架构之前)

需求模型是逻辑模型,到架构设计阶段要转换为物理模型,模型转换需要关注两个问题

  • 如何根据需求模型构建 SA【架构】模型
  • 转换工程可以追溯(溯源)

设计阶段(架构设计属于设计阶段,有高层的架构设计,也有中层的设计模式等)

早期研究架构设计,后期研究架构内设计如何落地

这是 SA【架构】研究关注的最早和最多的阶段

需要关注 ADL 和 4+1 视图

实现阶段

把设计的思想、逻辑落地

落地时配套构件的方法论

构件组装阶段

把各部分构件组装起来

部署

SA 为部署提供高层视图知道

后开发阶段(维护)

会涉及到架构优化、演化

动态软件体系结构(内部执行和外部请求导致变化)、体系结构恢复和重建

ADL(类似伪代码)

ADL 是一种形式化语言,在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架

  • C2SADL 【基于组件和消息的软件架构描述语言】
  • Wright 【分布、并发类型的架构描述语言】
  • ACME 【架构互换语言】
  • UniCon 【基于组件和连接的架构描述语言】
  • Rapide 【基于事件的架构描述语言】

三个基本元素

  • 构件:计算或数据存储单元
  • 连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则
  • 架构配置:描述体系结构的构件与连接件的连接图

4+1 视图

架构是复杂的东西 需要从不同角度去看待(类似建筑中的电路图、设计图等)

视图可以降低架构呈现的复杂度

逻辑视图用到了类与对象(考试中可能不叫逻辑视图,是个抽象) (实现/开发)视图强调系统配置、装配(体现源代码结构) (进程/过程)视图强调并发、可伸缩、吞吐率 (部署/物理)视图对应发布、安装

KESHAOYE-知识星球 V20250523200726