Author:赵志乾
Date:2024-07-18
Declaration:All Right Reserved!!!
1. 架构定义
架构是指系统的一个或多个结构,结构中包括构件、构件的外部可见属性以及构件之间的相互关系。
故架构是一种表达,其作用如下:
- 分析所做设计的有效性;(即能否满足需求)
- 在变更相对容易的阶段,考虑架构的可选方案;
- 降低与软件构造相关联的风险;
2. 架构的重要性
架构设计是降低成本、改进质量、按时按需交付产品的关键因素。其重要性体现在以下8个方面:
- 有助于各利益相关方达成一致的目标;
- 有助于在早期评估设计能否满足系统的品质;
- 有效管理复杂性;
- 对系统开发具有指导性;
- 能够支持计划编制过程;
- 为复用奠定基础
- 降低维护费用
- 支持冲突分析
3. 架构设计的生命周期
架构设计过程可分为6个阶段:需求分析阶段、设计阶段、实现阶段、构件组装阶段、部署阶段、后开发阶段;
4. 架构的五大模型与4+1视图
4.1 五大模型
- 结构模型:以架构的构件、连接件和其他概念来刻画结构,并试图以结构模型来反映整个系统的配置、内在逻辑等;
- 框架模型:不太侧重描述结构细节而更侧重于整体的结构;主要是针对具体问题为目标,来设计适应该问题的模型;
- 动态模型:系统的大颗粒行为性质,是对结构模型和框架模型的补充,描述系统的演化;
- 过程模型:构建系统的步骤和过程;
- 功能模型:由一组功能构件按层次组成,下层向上层提供服务;
4.2 4+1视图
- 逻辑视图:支持系统的功能需求,用类图来描述;
- 开发视图:也称模块视图或实现视图,主要侧重软件模块的组织和管理,通过系统IO关系的模型图和子系统图来描述;
- 进程视图:侧重系统的运行特性,主要关注非功能性需求,如性能、可用性等,强调并发性、分布性、集成性和容错能力,定义了逻辑视图中的各个类的操作具体是在哪个线程中被执行的;
- 物理视图:也称为部署视图,主要考虑如何把软件映射到硬件上,通常要考虑到系统拓扑、系统安装、通信等问题;
- 场景:可看作重要系统活动的抽象,其使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象,对应于UML中的用例视图;
5. 额外知识点
架构设计的根本目的是要解决好软件的复用、质量以及维护问题;其本质是需求分配,即将满足需求的职责分配到组件上。