一、基于架构的软件设计开发方法(ABSD)

1. 核心思想
  • 驱动因素:由业务需求、质量属性(可靠性/安全性)和功能需求共同驱动架构设计。
  • 开发模式:自顶向下递归细化,需求分析与设计活动并行迭代。
  • 关键工具:使用软件架构模板规范设计过程,降低随意性。
2. 嵌入式系统适配要点
特性设计策略
硬件关联性需求从系统角度分解,关注硬件约束(如温度适应性)
可复用性通过架构模板实现模块化复用
可移植性抽象硬件差异,定义标准化接口

典型考题
ABSD方法如何解决嵌入式系统的硬件关联性问题?
:从系统级需求分解,明确硬件约束(如环境温度),通过抽象层隔离硬件差异。


二、属性驱动的软件设计方法(ADD)

1. 质量属性与场景
  • 质量属性分类
    • 核心属性:可靠性、安全性、实时性、可维护性。
    • 场景六要素:刺激源、刺激、环境、制品、响应、响应度量。
  • 质量场景示例(可用性)
    要素值举例
    刺激源系统内部传感器故障
    响应记录故障并切换备份模块
    响应度量系统降级运行时间 ≤ 50ms
2. ADD开发流程
步骤关键行动输出产物
1. 评审输入确认架构驱动因子(质量场景/功能/约束)已验证的需求清单
2. 选择驱动因子确定当前迭代目标(如满足性能场景)迭代目标文档
3. 细化系统元素分解模块(如任务调度子系统)模块分解图
4. 选择设计概念采用分层架构或半同步/半异步模式架构模式选择报告
5. 实例化元素定义层数、分配职责(如表示层/业务层)元素接口规范
6. 草拟视图绘制任务架构图(图16-26)架构视图草案
7. 分析评审验证是否满足驱动因子,风险评估架构评审报告

考点:ADD通过递归分解满足质量场景,步骤4中“设计概念”指架构模式(如分层)。


三、实时系统设计方法(DARTS)

1. 核心方法论
  • 任务分解:将系统拆分为并发任务,定义任务间接口(消息/事件/IHM)。
  • 任务结构化标准
    • 时间顺序:按功能执行时序分组任务(如工业控制流水线)。
    • 接口类型:消息通信(紧耦合/松耦合)、事件同步、信息隐藏模块(IHM)。
2. 设计工具
  • 任务架构图:可视化并发任务及接口。
  • 信息隐藏(IHM):封装共享数据存储,同步多任务访问。
3. 优劣分析
优势不足
强调并发任务分解,适合实时系统依赖RTSA阶段质量,需求不清时设计困难
提供详细接口定义指南未完全实现数据封装(不如OOD彻底)

典型考题
DARTS方法中IHM的作用是什么?
:封装共享数据存储,通过同步机制确保多任务访问的安全性。


四、嵌入式软件架构案例分析:鸿蒙OS

1. 分层架构
层级核心组件技术特性
内核层多内核(LiteOS/Linux)、驱动框架(HDF)自适应裁剪,支持不同设备资源
系统服务层分布式软总线、方舟运行时、安全子系统按设备形态裁剪子系统(如穿戴设备专有服务)
框架层Ability框架、多语言API(Java/C++/JS)一次开发多端部署
应用层FA(有UI)、PA(无UI后台任务)跨设备调度与分发
2. 四大技术突破
  1. 分布式架构
    • 软总线:设备自动发现与低时延通信(≤20ms)。
    • 设备虚拟化:多设备融合为“超级终端”。
  2. 确定时延引擎
    • 优先级任务调度,应用响应时延降低25.7%。
  3. 微内核安全
    • 形式化验证TEE微内核,通过CC EAL 5+认证。
    • 代码量仅为Linux内核的1/1000,攻击面极小。
  4. 统一IDE
    • 方舟编译器静态化Java程序,支持多语言统一编译。
3. 安全机制
  • 三层防护
    1. 多端协同身份认证 → “正确的人”。
    2. 可信执行环境(TEE) → “正确的设备”。
    3. 数据分级管理 → “正确使用数据”。
  • 证书传输:设备间TEE通道加密(图16-28)。

考点:鸿蒙的分布式软总线实现跨设备通信,微内核通过形式化方法提升安全等级。


五、考点与考题汇总

  1. ABSD递归细化:需求分析与设计并行迭代,降低架构随意性。
  2. ADD质量场景六要素:刺激源、刺激、环境、制品、响应、响应度量(表16-4)。
  3. DARTS任务接口:消息通信(紧/松耦合)、事件同步、IHM数据封装。
  4. 鸿蒙分布式能力:软总线、设备虚拟化、数据管理、任务调度四大核心。
  5. 微内核安全优势:代码量小(千分之一)、形式化验证、TEE防护。
Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐