主要内容

  • 体系结构定义(SA01)
  • 体系结构风格(SA02)
  • 建模和文档化体系结构(SA03)
  • 质量属性(SA04)
    • 可用、可修改、安全、易用、可测试、性能
  • 体系结构设计(SA05)
    • 设计策略
  • 体系结构评估(SA06)
    • ATAM,效用树

体系结构定义

  • 无同一定义(各流派定义不一)
  • 体系结构=组件+连接件+约束
    • 组件:完成处理
    • 连接件:完成通信处理
    • 约束:调用规则

体系结构分风格

  • 体系结构风格的定义、描述
  • 常见的体系风格,优点、缺点(大题会考)

建模和文档化软件体系结构

  • 基于软件体系结构的开发(ABD)
    • notion image
  • 如何文档化软件架构
  • 好文档的评价准则
  • 采用视图描述软件架构
    • IEEE 1471
    • 4+1视图
  • 体系结构语言ADL
  • UML

软件质量属性

  • (质量属性是非功能性需求的子集)
  • 软件质量属性定义
  • 软件质量属性与功能、非功能需求的关系
  • 质量属性情景
    • 6要素法
  • 常见的软件质量数学

软件体系结构设计

  • 基于6个质量属性的设计策略

软件体系结构评估

  • 常见体系结构评估方法
    • ATAM
  • 质量属性评估效用树
  • 风险点、非风险点、敏感点、权衡点

考试题型

  • 基本概念题
    • 问答形式
  • 选择题
    • 软件体系结构定义
    • 软件体系结构风格
    • 软件文档、建模
    • 软件质量属性及实现方法
    • 软件评估
  • 综合题
    • 质量属性/场景、设计策略、软件体系结构风格
    • 软件体系结构设计
    • 软件质量评估:效用树、风险点、敏感点

例题

什么叫软件架构?

对于研究复杂系统的方法,比较抽象,无同一定义,业界较为认可的定义:体系结构=组件+连接件+约束(对该定义加入一些自己的理解和认知)

例题1

notion image
notion image
notion image
  • 质量属性判断(先判断是功能还是非功能性需求)
      1. 功能
      1. 可用性
      1. 易用性
      1. 可修改性
      1. 安全性
      1. 功能
      1. 性能
      1. 可测试性
  • 架构风格
    • 隐式调用,事件系统

例题2

notion image
  • 质量属性分析
    • notion image
  • 架构风格
    • 规则系统
    • 计算discount 的规则在变,应该抽取规则,而不是抽取数据

其他例题截图

notion image
notion image
notion image
notion image
notion image
notion image
notion image
notion image
notion image
notion image