(正版)软件设计方法[61页]

上传人:哈**** 文档编号:137344595 上传时间:2020-07-07 格式:PPT 页数:61 大小:6.80MB
返回 下载 相关 举报
(正版)软件设计方法[61页]_第1页
第1页 / 共61页
(正版)软件设计方法[61页]_第2页
第2页 / 共61页
(正版)软件设计方法[61页]_第3页
第3页 / 共61页
(正版)软件设计方法[61页]_第4页
第4页 / 共61页
(正版)软件设计方法[61页]_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《(正版)软件设计方法[61页]》由会员分享,可在线阅读,更多相关《(正版)软件设计方法[61页](61页珍藏版)》请在金锄头文库上搜索。

1、第4讲 实时软件设计方法主讲: 黎忠文,2020/7/7,2,内容提要 本讲首先讲述了RSTAD的一些相关概念,并以行驶监控系统案例介绍了其应用步骤和方法。 介绍了DARTS的相关知识,并以行驶监控系统案例介绍其使用步骤和方法。 对本讲中介绍的各种并发和实时软件设计方法进行比较。 最后概述了使用性能模型和应用实时调度理论进行软件设计性能分析的过程。,2020/7/7,3,目 录 4.1 实时系统的结构化分析与设计 4.2 实时系统设计方法 4.3 并发和实时软件设计方法的比较 4.4 并发与实时系统软件设计性能分析,2020/7/7,4,转换可以是数据转换或控制转换。 在设计过程中,功能被映射

2、为模块。 以状态转换图形时表示的有限状态机用于定义系统的行为特征。 控制转换表示的是状态转换图的执行过程。 实体关系(ER)模型用于显示系统中数据存储之间的关系模型。 模块内聚在模块分解过程中作为一种标准来使用,用于确定模块内部的强度或统一性。 模块耦合在模块分解过程中作为一种标准来使用,用于判断模块间连接性的程度。,4.1 实时系统的结构化分析与设计,4.1.1 基本概念,2020/7/7,5,4.1.2 表示法,4.1 实时系统的结构化分析与设计,实时结构化分析中使用了数据流/控制流图。图4-1中显示的是用于数据流/控制流图的Ward/Mellor表示法。,状态转换图是有限状态机的图形表示

3、法。 实体关系图是E-R模型的图形表示法。 结构图用于显示程序分解为模块的方式,还用于显示模块间的接口。,图4-1 实时结构化分析表示法,2020/7/7,6,4.1.3 使用方法的步骤,实时结构化分析 在实时结构化分析阶段,将会发生以下活动: 开发系统环境图。 实现数据流/控制流的分解系统要分解为多个功能并且要以数据流或控制流的形式定义功能间的接口。 开发控制转换(Ward/Mellor)或控制规范(Boeing/Hatley)对结构化分析主要的实时扩展是引入了对控制问题的考虑,以定义系统的行为特征。 定义小说明(mini-specifications,或过程规范)通常使用的是结构化的英语。

4、 开发数据字典数据字典用于定义所有的数据流、事件流、数据存储。,4.1 实时系统的结构化分析与设计,2020/7/7,7,实时设计 在RTSA阶段之后,Boeing/Hatley方法使用了系统构架图。Ward/Mellor方法则继续采用以下步骤: f) 将转换分配到各个处理器中。 g) 将转换分配到各个任务中每个处理器的转换都被分配到并发任务中。 h) 结构化设计指定任务中的转换使用结构化设计分解为多个模块。 转换分析是用于将数据流图映射为结构图的一种策略,其重要的流程是输入-处理-输出流。 在模块分解过程中,功能内聚和信息内聚被认为是最强的内聚形式。数据耦合是耦合的最低形式。,4.1 实时系

5、统的结构化分析与设计,2020/7/7,8,4.1.4 设计过程的成果,实时结构化分析应用RTSA所产生的规范包括以下内容: 系统环境图; 数据流/控制流图的层次集合; 数据字典; 小说明。 定义每种控制转换或控制规范的状态转换图。 结构化设计对于每个程序来说,都有一个结构图来显示将其分解为模块的方式。,4.1 实时系统的结构化分析与设计,2020/7/7,9,4.1.5 行驶监控系统案例研究,实时结构化分析 实时结构化分析规范包括系统环境图、数据流/控制流图的层次集合以及状态转换图。如图4-24-11所示。这个方案使用了Ward/Mellor表示法。 开发系统环境图,4.1 实时系统的结构化

6、分析与设计,图4-2显示的是系统环境图,每个外部实体由一个终端表示。,图4-2 行使控制系统环境图,2020/7/7,10,分解系统环境图 图4-3为顶级数据流/控制流图,其中系统环境图分解为两个主要功能行驶控制功能和监视功能。,4.1 实时系统的结构化分析与设计,图4-3 分解为子系统,2020/7/7,11,实现汽车行驶控制 实现汽车行驶控制(图4-3)分解为图4-4所示的数据流图。有3个数据转换在监视汽车的传感器。,4.1 实时系统的结构化分析与设计,图4-4 实现汽车行驶控制,2020/7/7,12,行驶控制状态转换图 控制速度数据转换(图4-4)分解为数据流/控制流图。图4-5中的行

7、驶控制状态转换图由图4-6中的【行驶控制】控制转换来执行。,4.1 实时系统的结构化分析与设计,在使用图4-5中的实时 结构化分析约定时,其中的矩形表示状态,带有标签的箭头表示状态转换。在直线的上方是可以引起状态转换的输入事件。在直线的下方是在发生转换时生成的输出事件。输出事件触发(T)、启动(E)或禁止(D)数据转换,然后执行指定操作。,图4-5 行驶控制状态转换图,2020/7/7,13,从行驶控制的角度来看,汽车的不同状态包括: 停机。 开始“非制动” 。 开始“制动”。 加速。 巡行。 巡行关闭非制动。 巡行关闭制动。 恢复巡行。,4.1 实时系统的结构化分析与设计,输出事件如下所示:

8、 E1 启动“增加速度” D5 禁止“维持速度” D2 禁止“增加速度” E6 启动“恢复巡行速度” T3 触发“选择所需速度” D7 禁止“恢复巡行速度” E4 启动“维持速度” T8 触发“清除所需速度”,2020/7/7,14,控制速度 经触发的转换是一次性函数。 在整个状态的过程中启动的转换很可能是可以循环的。,4.1 实时系统的结构化分析与设计,在状态转换时,触发、启动或禁止控制速度(图4-6)过程中DFD上的数据转换。,图4-6 控制速度,2020/7/7,15,测量距离和速度 图4-4中的【测量距离和速度】数据转换可以分解为图4-7中的数据流图。,4.1 实时系统的结构化分析与设

9、计,图4-7 测量距离和速度,2020/7/7,16,4.1 实时系统的结构化分析与设计,【控制校准】是使用图4-8所示的状态转换图来定义的。,图4-8 控制校准状态转换图,2020/7/7,17,实现汽车监视 实现汽车监视(图4-3)的过程在图4-9中进行了进一步分解,4.1 实时系统的结构化分析与设计,图4-9 实现汽车监视,2020/7/7,18,监视并显示平均值 图4-9中的【监视并显示平均值】数据转换分解为图4-10中所示的数据流图。,4.1 实时系统的结构化分析与设计,它计算并显示了每加仑汽油可以行驶的平均英里数和每小时行驶的英里数。,图4-10 监视并显示平均值,2020/7/7

10、,19,检查维护需要 图4-9中的【检查维护需要】数据转换分解为图4-11中所示的数据流图。,4.1 实时系统的结构化分析与设计,要定期进行3种维护服务:滤油器、空气过滤器和大修维护。每种服务的提供方式都是类似的。,图4-11 检查维护需要,2020/7/7,20,结构化设计 下一步,RTSA规范要映射到结构化设计中。如图4-124-18所示。,4.1 实时系统的结构化分析与设计,结构图中的模块主要是功能模块,其中也有一些信息隐藏模块。主模块行驶监控系统(图5-12)由一个环形循环,在这个循环中可以判断何时调用下级模块:实现汽车行驶控制和实现汽车监视。,图5-12 行驶监控系统结构图,2020

11、/7/7,21,实现汽车行驶控制 对应于其4个主要功能,实现汽车行驶控制有4个下级模块。在【获得行驶控制输入】模块中,选择的是使用轮询I/O。,4.1 实时系统的结构化分析与设计,图4-13 获得行驶控制输入结构图,2020/7/7,22,轴中断程序还要更新一个内部变量【轴转数】 (ShaftRotation Counter),然后【确定距离】模块(图4-14)要访问这个变量来计算汽车所经过的【累积距离】 。,4.1 实时系统的结构化分析与设计,图4-14 确定距离和速度结构图,2020/7/7,23,无论何时出现新的行驶控制输入, 【实现汽车行驶控制】模块都要调用【控制速度】模块(图4-15

12、),4.1 实时系统的结构化分析与设计,图4-15 控制速度的结构图,2020/7/7,24,时间问题 每次循环中,【实现汽车行驶控制】模块都会调用【获得行驶控制输入】模块判断是否有新的输入。 然后它会调用【确定距离和速度】模块来更新累积距离并计算当前速度。 下一步就是调用【控制速度】模块来处理下一次的行驶控制事件和/或实现任何状态依赖功能。 最后,该模会会调用【进行校准】 (图4-16)来检查是否发生了校准事件,4.1 实时系统的结构化分析与设计,图4-16 实现校准结构化图,2020/7/7,25,实现汽车监视 【实现汽车监视】模块调用【获得复位输入】(图4-12)模块,用于确定是否某个里

13、程或维护复位按钮被按下。,4.1 实时系统的结构化分析与设计,例如,如果按下了MPH复位按钮,【实现汽车监视】模块就会调用【监视并显示平均值】模块(图4-17)。,图4-17 监视和显示平均值结构图,2020/7/7,26,如果按下了其中某个维护按钮,【实现汽车监视】模块就会调用【检查维护需要】模块(图4-18)。,4.1 实时系统的结构化分析与设计,图4-18 检查维护需要结构图,2020/7/7,27,4.1.6 方法评估,优点包括: 结构化分析及其实时扩展在项目中得到了广泛应用。 有大量的CASE工具可以支持RTSA; 使用数据流图和控制流图有助于对系统的理解和评审。 强调了使用状态转换

14、图/表的重要性。 缺点包括: 对于如何实现系统分解并没有提供足够的指导。 与NRL需求规范方法不同的是,RTSA并没有将系统作为黑盒来开发。这样就模糊了需求与设计之间的界限。 结构化设计主要用于分解功能模块的程序设计方法,而不能用于解决将系统分解为并发任务的问题。 在信息隐藏的应用中,结构化设计方法落后于NRL方法和面向对象的设计方法。,4.1 实时系统的结构化分析与设计,2020/7/7,28,4.1.7 扩展与变化,ESML(Extended System Modeling Language)是将Ward/Mellor方法与Boeing/Hatley方法结合在一起用于实时结构化分析的一种尝

15、试。 在开发状态转换图方面,Ward/Mellor方法支持事件,但不支持条件,而Boeing/Hatley方法支持条件却不支持事件。 在ESML和COBRA中解决了所有这些限制,既支持事件又支持条件,这一点与NRL方法和状态图表示法是相同的。,4.1 实时系统的结构化分析与设计,2020/7/7,29,4.2.1 基本概念 任务结构化标准可以为设计人员将实时系统分解为并发任务的时候提供帮助。 任务接口可以采用的形式有消息通信、事件同步或信息隐藏模块(IHM)。 消息隐藏作为封装数据存储的标准来使用。 采用状态转换图形式的有限状态机用于定义系统的行为特征。 使用事件顺序识别系统子集,来协助演化原

16、型法和增量式开发。这些图确定了用于处理外部事件的任务和模块的执行顺序。,4.2 实时系统设计方法,2020/7/7,30,4.2.2 表示法,在RTSA中使用了数据流/控制流图。这些图是对数据流图的扩展,包括事件流和控制转换。 状态转换图是有限状态机的图形表示,其中的节点代表状态,弧线代表状态转换。,4.2 实时系统设计方法,DARTS设计方法使用任务构架图来显示系统分解为并发任务的过程。如图4-19所示。 起源于结构化设计的结构图在DARTS中用于显示如何将一个任务分解为多个模块。,图4-19 任务构架图表示法,2020/7/7,31,4.2.3 使用方法的步骤,方法中所使用的步骤如下: 使用实时结构化分析方法开发系统规范。 将系统划分为多个并发任务。 定义任务接口。 设计每个任务。 4.2.4 设计过程的成果 设计过程的3个成果是: RTSA规范; 任务结构规范。 任务分解。,4.2 实时系统设计方法,2020/7/7,32,4.2.5 行驶监控系统案例研究,实时结构化分析 应用DARTS的第一个步骤是开发RTSA规范。 任务结构化,4.2 实时系统

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号