🏠 首页›第一梯队 · 决胜核心 · 第 9 小时 · 系统架构设计基础

架构复用与特定领域架构 DSSA

选择 8~15 分案例 25 分论文高频
📄 教材出处 · 第 9 小时《架构设计》 (书第 87–96 页) ▸ 查看原文摘录 打开教材 PDF ↗
第 87 页 ↗系统架构设计基础知识 9.0 章节考点分析 主要学习软件架构的基本概念、基于架构的软件开发方法、软件架构风格、软件架构 复用以及特定领域软件体系结构等内容。
第 88 页 ↗【导读小贴士】 软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素。
第 89 页 ↗系统架构设计基础知识 81 1)组成SA模型(软件架构模型)的基本概念。
第 90 页 ↗9.2 基于架构的软件开发方法 【基础知识点】 1.体系结构的设计方法概述 基于体系结构(架构)的软件设计(Architecture-Based Software Design,ABSD)方法是体系 结构驱动的,即指构成体系结构的商业、质量和功能需求的组合驱动的。
第 91 页 ↗ 9.3 软件架构风格 【基础知识点】 1.软件架构风格概述 软件体系结构设计的核心目标是重复的体系结构模式(软件复用/重用)。
第 92 页 ↗ 图9.3 管道和过滤器风格 3.调用/返回体系结构风格 调用-返回风格在系统中采用了调用与返回机制。

知识点目录(共 4 项)

  1. 软件架构复用的对象、方式与意义(资产库)
  2. DSSA 三层次:领域开发环境 / 领域特定应用开发 / 应用执行环境
  3. DSSA 基本活动:领域分析 / 领域设计 / 领域实现
  4. DSSA 与架构风格的关系与区别

知识点详解

一、软件架构复用

软件架构复用是系统化的软件开发过程:开发一组基本的软件构件模块,以覆盖不同需求/体系结构之间的相似性,提高系统开发的效率、质量和性能。

类型含义
机会复用开发过程中,只要发现有可复用的资产就复用(被动、随机)
系统复用开发之前进行规划,决定哪些复用(主动、系统化)

复用的原因:减少开发工作量、缩短开发时间、降低开发成本、提高生产力、提高产品质量、更好的互操作性、使维护更简单。

可复用资产包括:需求、架构设计、元素、建模与分析、测试、项目规划、过程+方法+工具、人员、样本系统、缺陷消除。一般形式的复用:函数的复用、库的复用、面向对象中类/接口/包的复用(趋势:从小粒度代码复用向架构级大粒度资产复用演进)。

① 构建/获取可复用资产复用的前提:可靠、易理解易修改 ② 管理可复用资产核心设施:构件库(存储/检索/维护) ③ 使用可复用资产检索→定制(修改/扩展/配置)→组装
图 1-7 软件架构复用的基本过程三阶段
考法:"管理可复用资产阶段最重要的是构件库";复用两类型区分(机会/系统)。

二、特定领域软件体系结构 DSSA

DSSA(Domain Specific Software Architecture)是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构,即用于某一类特定应用领域的标准软件构件集合。目标:支持在一个特定领域中多个应用的生成。

三、DSSA 三个基本活动(必背)

领域分析产出:领域模型(共同需求/领域需求) 领域设计产出:DSSA(需求的解决方案) 领域实现产出:可重用信息(提取/新开发) 领域分析=问题域(共性需求);领域设计=解空间(高层次设计);领域实现=依据 DSSA 开发和组织可重用信息
图 1-8 DSSA 三个基本活动

参与 DSSA 的四种人员:领域专家(提供领域知识/需求规约)、领域分析人员(知识工程背景的有经验的系统分析员)、领域设计人员(有经验的软件设计人员)、领域实现人员(有经验的程序员)。

四、DSSA 建立过程与三层次模型

建立过程是一个并发的、递归的、反复的、螺旋过程,分五个阶段:① 定义领域范围 → ② 定义领域特定元素(领域字典、术语)→ ③ 定义领域特定的设计和实现约束 → ④ 定义领域模型和体系结构 → ⑤ 产生、搜集可重用的产品单元。

三层次模型对应角色内容
领域开发环境领域架构师产出核心通用架构:参考需求、参考架构、领域模型、开发工具
领域特定应用开发环境应用工程师根据具体环境将核心架构实例化(真题考点:应用工程师在此层工作)
应用执行环境操作员运行实例化后的应用
记忆:三活动"析-设-现"(分析得模型、设计得 DSSA、实现得资产);五阶段"范围-元素-约束-模型架构-资产";三层次"开发环境出架构、应用环境来实例化、执行环境跑应用"。
真题验证:2021/2023 上午题反复考"DSSA 三层次模型填空"——第一层为领域开发环境(非"领域需求环境"),应用工程师主要在领域特定应用开发环境中工作。