系统架构师备考——系统架构设计篇(软件架构)

系统架构师备考日记(2.24)

第7章 系统架构篇(一)——软件架构


文章目录

  • 系统架构师备考日记(2.24)
  • 考点
  • 一、软件架构定义
  • 二、软件架构设计与生命周期
    • 2.1生命周期
      • 2.1.1 需求分析阶段
      • 2.1.2 设计阶段
      • 2.1.3 实现阶段
      • 2.1.4 构件组装阶段
      • 2.1.5 部署阶段
      • 2.1.6 后开发阶段
  • 三、软件架构的重要性
  • 总结


考点

单项选择题(约占 8~15 分)和下午案例题(25 分),论文
系统架构师备考——系统架构设计篇(软件架构)_第1张图片


一、软件架构定义

软件体系结构是指系统的一个或者多个结构,包括软件的构件,构建的外部可见属性以及它们之间的相互关系。
软件的构件表示程序模块、面向对象的类、数据库或者中间件
体系结构设计两个层次:数据设计和体系结构设计,体系结构设计关注软件构件的结构、属性和交互作用

二、软件架构设计与生命周期

2.1生命周期

  1. 需求分析阶段
  2. 设计阶段
  3. 实现阶段
  4. 构件组装阶段
  5. 部署阶段
  6. 后开发阶段

提示:SA(Software Architecture)翻译为体系结构和架构

2.1.1 需求分析阶段

需求分析面临问题空间,SA面临解空间。
软件工程领域追求的目标:以上二者的可追踪性和可转换性
软件需求转换成SA模型的两个关注问题:
(1)如何根据需求模型构件SA模型。
(2)如何保证模型转换的可追踪性。

2.1.2 设计阶段

设计阶段SA研究主要包括:SA模型的描述SA模型的设计与分析方法对SA设计经验的总结与复用等​​​​​​​。其中SA模型描述的研究分为3个层次。
(1)SA的基本概念:构件和连接子的建模
(2)体系结构描述语言(ADL):支持构件、连接子及其配置的描述语言
(3)SA模型的多视图:4+1模型(逻辑视图、进程视图、开发视图、物理视图、统一场景)、Hofmesiter的4视图模型(概念视图、模块视图、执行视图和代码视图)、CMU-SEI的Views and Beyond模型(模块视图、构件和连接子视图、分配视图) 视图标准:1471-2000 、RM-ODP、UMLZachman

2.1.3 实现阶段

(1)基于 SA 的开发过程支持。
(2)寻求从 SA 向实现过渡的途径。
(3)研究基于 SA 的测试技术。
缩小高层SA模型和底层实现之间的鸿沟,可通过封装底层的实现细节、模型转换、精化(在SA模型中引入实现阶段的概念)

2.1.4 构件组装阶段

研究内容:
(1)如何支持可复用构件的互联,即对 SA 设计模型中规约的连接子的实现提供支持。
(2)组装过程中,如何检测并消除体系结构失配问题。这些问题主要包括:①构件本身的失配;
②连接子(互联机制)的失配;③系统成分对全局SA的假设存在冲突引起的失配。

2.1.5 部署阶段

部署阶段的软件架构对软件部署的作用:一是提供高层的体系结构视图描述部署阶段的软硬件模型;二是基于软件架构模型可以分析部署方案的质量属性,从而选择合理的部署
方案。

2.1.6 后开发阶段

研究方向包括:动态软件体系结构、
体系结构恢复与重建。体系结构重建的方法有:手工体系结构重建、工具支持的手工重建、通过查
询语言来自动建立聚集、使用其他技术(如数据挖掘)。

三、软件架构的重要性

软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素

  1. 架构设计能够满足系统的品质
  2. 架构设计使受益人达成一致的目标
  3. 架构设计能够支持计划编制过程
  4. 架构设计对系统开发的指导性
  5. 架构设计能够有效地管理复杂性
  6. 架构设计为复用奠定基础
  7. 架构设计能够降低维护费用
  8. 架构设计能够支持冲突分析

总结

这部分考点占分比例多,需仔细复习。

你可能感兴趣的:(系统架构师备考笔记,系统架构)