20181107-软件开发架构1

 学习目标
  听<软件架构相关音频>软件开发架构一节 
 
  待解决问题
  构件的概念 ?
  如何表达一个项目的架构,用什么图表?
  架构设计作为一个系统开发的中间产品,交付的是什么内容?
  各种架构风格的适用场景?
 
  学习内容(耗时:40min)
  •  软件架构是什么 

  软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述,构建的相互作用(连接件)、知道构件集成的模式以及这些模式的约束组成。软件架构不仅指定了系统的组织架构和拓扑结构,并且显示了系统需求和构建还见的对应关系,提供了一些设计决策的基本原理

  • 架构设计的重要性
架构设计好比房子的钢筋水泥,定下了结构,才能撑的起整个系统.尤其是在大型软件开发中 软件架构的重要性越来越大
需求分析  -- 〉 架构设计 --〉 软件分析
 
软件架构 应该是项目中的一个可交付的中间产品
  
  • 软件架构的意义(9个意义 )

架构是项目干系人进行交流的手段

架构是早期设计决策的体现

架构明确了对系统实现的约束条件

架构决定了开发和维护组织的组织结构

架构制约着系统的质量属性

架构使推理和控制更改更监督

架构有助于循序渐进的原型设计

架构可以作为培训的基础

架构是可传递和可服用的模型 

  • 架构的发展阶段(4个阶段)
无架构设计阶段
萌芽阶段
初级阶段
高级阶段 
  
  • 如何表示软件架构(软件架构建模)     
结构模型(常用)
核心 架构描述语言
  
框架模型
类似 结构模型 注重整体结构 不描述细节 
 
动态模型(常用)
对结构模型以及框架模型的补充,研究系统"大颗粒"的行为性质 
 
过程模型
研究构造系统的步骤和过程
 
功能模型
认为框架有一组功能构件按层次组成,且下层向上层提供服务.
 
4+1视图模型
逻辑视图
 
开发视图
 
进程视图
 
物理视图
 
场景
 
  • 软件架构风格
    
常用的软件架构风格。
 
数据流风格
  批处理序列  数据流step by step 从头到尾
  管道过滤器风格 每个构件都有一组输入输出,经过内部处理,产生输出数据流
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~未完待续~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
返回、调用风格
独立构建风格
虚拟机风格
仓库风格
 
    
   
 
 
 
 
 
 
 
  
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/lin888/p/9932827.html