学习目标
听<软件架构相关音频>软件开发架构一节
待解决问题
构件的概念 ?
如何表达一个项目的架构,用什么图表?
架构设计作为一个系统开发的中间产品,交付的是什么内容?
各种架构风格的适用场景?
学习内容(耗时:40min)
- 软件架构是什么
软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述,构建的相互作用(连接件)、知道构件集成的模式以及这些模式的约束组成。软件架构不仅指定了系统的组织架构和拓扑结构,并且显示了系统需求和构建还见的对应关系,提供了一些设计决策的基本原理
- 架构设计的重要性
架构设计好比房子的钢筋水泥,定下了结构,才能撑的起整个系统.尤其是在大型软件开发中 软件架构的重要性越来越大
需求分析 -- 〉 架构设计 --〉 软件分析
软件架构 应该是项目中的一个可交付的中间产品
- 软件架构的意义(9个意义 )
架构是项目干系人进行交流的手段
架构是早期设计决策的体现
架构明确了对系统实现的约束条件
架构决定了开发和维护组织的组织结构
架构制约着系统的质量属性
架构使推理和控制更改更监督
架构有助于循序渐进的原型设计
架构可以作为培训的基础
架构是可传递和可服用的模型
- 架构的发展阶段(4个阶段)
无架构设计阶段
萌芽阶段
初级阶段
高级阶段
- 如何表示软件架构(软件架构建模)
结构模型(常用)
核心 架构描述语言
框架模型
类似 结构模型 注重整体结构 不描述细节
动态模型(常用)
对结构模型以及框架模型的补充,研究系统"大颗粒"的行为性质
过程模型
研究构造系统的步骤和过程
功能模型
认为框架有一组功能构件按层次组成,且下层向上层提供服务.
4+1视图模型
逻辑视图
开发视图
进程视图
物理视图
场景
- 软件架构风格
常用的软件架构风格。
数据流风格
批处理序列 数据流step by step 从头到尾
管道过滤器风格 每个构件都有一组输入输出,经过内部处理,产生输出数据流
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~未完待续~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
返回、调用风格
独立构建风格
虚拟机风格
仓库风格
来源:https://www.cnblogs.com/lin888/p/9932827.html