系统架构设计师教程 第16章 16.3 嵌入式系统软件架构设计方法 笔记

16.3 嵌入式系统软件架构设计方法

嵌入式系统软件架构是开发大型嵌入式系统密集型软件贯穿始终的关键桥梁,同时软件架 构也是软件开发的基础。架构设计的目的是:

● 保证应用的代码逻辑清晰,避免重复的设计;

● 实现软件的可移植性;

● 最大限度的实现软件复用;

● 实现代码的高内聚、低耦合。

16.3.1 基于架构的软件设计开发方法的应用

基于架构的软件设计 (Architecture-Based Software Design,ABSD) 方法强调由业务、质量 和功能需求的组合驱动软件架构设计。

ABSD是一个自顶向下,递归细化的软件开发方法,它 以系统功能的分解为基础,通过选择架构风格实现质量和业务需求,并强调在架构设计过程中使用软件架构模板。

16.3.2 属性驱动的软件设计方法

属性驱动的软件设计 (Attribute-Driven Design,ADD) 是把 一组质量属性场景作为输入,利用对质量属性实现与架构设计之间的关系的了解对软件架构进行设计的一种方法。

ADD 是一种定义软件体系结构的方法, 该方法将模块分解过程建立在软件必须满足的质量属性之上。

1.ADD 开发方法的质量属性

1)质量属性

质量属性是指反映软件产品某一方面质量的特征或特性。

在嵌入式系统中,质量属性重点关注的是可靠性、安全性、可用性、可修改性、性能、可 测试性、易用性和可维护性等。

2)质量场景

质量场景是描述质量属性需求的一种规范,是一种面向特定的质量属性的需求。质量场景 通常由刺激源、刺激、环境、制品、响应和响应度量等6个部分组成。

● 刺激源:指生成刺激的实体(计算机、人);

● 刺激:指某事物,当其到达系统后需要对其加以考虑;

● 环境:指刺激发生时的各种条件;

● 制品:指系统或系统的一部分;

● 响应:指刺激到达后采取的反应;

● 响应度量:指能够以某种方式对响应进行度量。

2.ADD开发过程

采 用 ADD 方法进行软件开发时,需要经历评审、选择驱动因子、选择系统元素、选择设 计概念、实体化元素和定义接口、草拟视图和分析评价等七个阶段

16.3.3 实时系统设计方法

实时系统设计方法 (Design Approach for RealTime System,DARTS) 主要是将实时系统分解为多个并发任务,并定义这些任务之间的接口。在分析阶段使用实时结构化分析 (RTSA) 方法,设计阶段使用实时结构化 设计 (RTSD) 方法

1.DARTS开发方法的基本概念

1)RTSAD 方法

RTSAD方法是对传统结构化分析和设计方法的补充扩展,专门用于开发实时系统。

实时结构化分析 (RTSA) 是自顶向下的实时结构化分析方法,主要对传统的结构化分析方法扩充了行为建模部分,它通过状态 转换图 (STD) 刻画系统的行为特征,并利用控制转换 (Control Transformation) 与数据流图集 成在一起。

实时结构化设计 (RTSD) 是利用内聚和耦合原则进行程序设计的一个方法,它通过事务和 变换两种策略将 RTSA 的分析结构DFD/CFD转换为程序结构图。

2)任务结构化标准

任务结构化标准可以为设计人员将实时系统分解为并发任务的时候提供帮助。确定任务过程中主要考虑的问题是系统内部功能 的并发特性,定义一组并发任务间接口。

3)信息隐藏

信息隐藏作为封装数据存储的标准来使用。信息隐藏模块用于信息数据存储和状态转换表 的内容和表示。

4)任务架构图

RTSAD 设计方法使用任务架构图来显示系统分解为并发任务的过程,以及采用消息、事件 和信息隐藏模块形式的任务间接口。

2.DARTS开发过程

DARTS 方法由以下5部分组成。

1)用实时结构化分析方法 (RTSA) 开发系统规范

开发系统环境图 (SCD) 和状态转换 图 (STD)。

2)将系统划分为多个并发任务

3)定义任务间接口

4)设计每个任务

5)设计过程的成果

3.DARTS开发方法的评价

DARTS开发方法的主要优势:

● 强调把系统分解成并发的任务,并提供了确认标准。

● 提供了详细的定义任务间接口的指南;

● 强调了用任务架构图 (STD) 的重要性,

● 提供了从RTSA规格到实时设计的转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值