《软件设计方法》PPT课件.ppt
《《软件设计方法》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件设计方法》PPT课件.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4 4讲讲 实时软件设计方法实时软件设计方法主讲:黎忠文 内容提要内容提要 本讲首先讲述了本讲首先讲述了RSTADRSTAD的一些相关概念,并以行驶监控系的一些相关概念,并以行驶监控系统案例介绍了其应用步骤和方法。统案例介绍了其应用步骤和方法。介绍了介绍了DARTSDARTS的相关知识,并以行驶监控系统案例介绍其的相关知识,并以行驶监控系统案例介绍其使用步骤和方法。使用步骤和方法。对本讲中介绍的各种并发和实时软件设计方法进行比较。对本讲中介绍的各种并发和实时软件设计方法进行比较。最后概述了使用性能模型和应用实时调度理论进行软件设最后概述了使用性能模型和应用实时调度理论进行软件设计性能分析的
2、过程。计性能分析的过程。2023/1/212023/1/212 2目目 录录4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计4.2 4.2 实时系统设计方法实时系统设计方法 4.3 4.3 并发和实时软件设计方法的比较并发和实时软件设计方法的比较 4.4 4.4 并发与实时系统软件设计性能分析并发与实时系统软件设计性能分析 2023/1/212023/1/213 3 转换转换转换转换可以是数据转换或控制转换。可以是数据转换或控制转换。在设计过程中,功能被映射为在设计过程中,功能被映射为模块模块模块模块。以状态转换图形时表示的以状态转换图形时表示的有限状态机有限状态机有限状态
3、机有限状态机用于定义系统的行为用于定义系统的行为特征。特征。控制转换控制转换控制转换控制转换表示的是状态转换图的执行过程。表示的是状态转换图的执行过程。实体关系(实体关系(实体关系(实体关系(ERERERER)模型模型模型模型用于显示系统中数据存储之间的关系用于显示系统中数据存储之间的关系模型。模型。模块内聚模块内聚模块内聚模块内聚在模块分解过程中作为一种标准来使用,用于确在模块分解过程中作为一种标准来使用,用于确定模块内部的强度或统一性。定模块内部的强度或统一性。模模模模块块块块耦耦耦耦合合合合在在模模块块分分解解过过程程中中作作为为一一种种标标准准来来使使用用,用用于于判判断模块间连接性的
4、程度。断模块间连接性的程度。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计4.1.1 4.1.1 基本概念基本概念2023/1/212023/1/214 4 4.1.2 4.1.2 表示法表示法 4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计 实时结构化分析中使用了数据流数据流/控制流图控制流图。图图4-1中显示的是用于数据流/控制流图的Ward/Mellor表示法。状态转换图状态转换图是有限状态机的图形表示法。实体关系图实体关系图是E-R模型的图形表示法。结构图结构图用于显示程序分解为模块的方式,还用于显示模块间的接口。图图4-1 实时结构化分析表
5、示法实时结构化分析表示法2023/1/212023/1/215 54.1.3 4.1.3 使用方法的步骤使用方法的步骤 实时结构化分析实时结构化分析实时结构化分析实时结构化分析 在实时结构化分析阶段,将会发生以下活动在实时结构化分析阶段,将会发生以下活动:a)a)a)a)开发系统环境图。开发系统环境图。开发系统环境图。开发系统环境图。b)b)b)b)实实实实现现现现数数数数据据据据流流流流/控控控控制制制制流流流流的的的的分分分分解解解解系系统统要要分分解解为为多多个个功功能能并并且要以数据流或控制流的形式定义功能间的接口。且要以数据流或控制流的形式定义功能间的接口。c)c)c)c)开开开开
6、发发发发 控控控控 制制制制 转转转转 换换换换(Ward/MellorWard/MellorWard/MellorWard/Mellor)或或或或 控控控控 制制制制 规规规规 范范范范(Boeing/Boeing/Boeing/Boeing/HatleyHatleyHatleyHatley)对对结结构构化化分分析析主主要要的的实实时时扩扩展展是是引入了对控制问题的考虑,以定义系统的行为特征。引入了对控制问题的考虑,以定义系统的行为特征。d)d)d)d)定定定定义义义义小小小小说说说说明明明明(mini-specifications,mini-specifications,mini-spec
7、ifications,mini-specifications,或或或或过过过过程程程程规规规规范范范范)通常使用的是结构化的英语。通常使用的是结构化的英语。e)e)e)e)开开开开发发发发数数数数据据据据字字字字典典典典数数据据字字典典用用于于定定义义所所有有的的数数据据流流、事事件流、数据存储。件流、数据存储。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计2023/1/212023/1/216 6实时设计实时设计实时设计实时设计 在在RTSARTSA阶段之后,阶段之后,Boeing/Boeing/HatleyHatley方法使用了系统构架方法使用了系统构架图。图。War
8、d/MellorWard/Mellor方法则继续采用以下步骤:方法则继续采用以下步骤:f)f)f)f)将转换分配到各个处理器中将转换分配到各个处理器中将转换分配到各个处理器中将转换分配到各个处理器中。g)g)g)g)将转换分配到各个任务中将转换分配到各个任务中将转换分配到各个任务中将转换分配到各个任务中每个处理器的转换都被每个处理器的转换都被分配到并发任务中。分配到并发任务中。h)h)h)h)结构化设计结构化设计结构化设计结构化设计指定任务中的转换使用结构化设计分指定任务中的转换使用结构化设计分解为多个模块。解为多个模块。转换分析转换分析转换分析转换分析是用于将数据流图映射为结构图的一种策略,
9、是用于将数据流图映射为结构图的一种策略,其重要的流程是其重要的流程是输入输入输入输入-处理处理处理处理-输出流输出流输出流输出流。在模块分解过程中,功能内聚和信息内聚被认为是最强在模块分解过程中,功能内聚和信息内聚被认为是最强的内聚形式。数据耦合是耦合的最低形式。的内聚形式。数据耦合是耦合的最低形式。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计2023/1/212023/1/217 74.1.4 4.1.4 设计过程的成果设计过程的成果 实时结构化分析实时结构化分析实时结构化分析实时结构化分析应用应用RTSARTSA所产生的规范包括以下内所产生的规范包括以下内容:容:系
10、统环境图;系统环境图;数据流数据流/控制流图的层次集合;控制流图的层次集合;数据字典;数据字典;小说明。小说明。定义每种控制转换或控制规范的状态转换图。定义每种控制转换或控制规范的状态转换图。结构化设计结构化设计结构化设计结构化设计对于每个程序来说,都有一个结构图来对于每个程序来说,都有一个结构图来显示将其分解为模块的方式。显示将其分解为模块的方式。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计2023/1/212023/1/218 84.1.5 4.1.5 行驶监控系统案例研究行驶监控系统案例研究 实时结构化分析实时结构化分析实时结构化分析实时结构化分析 实时结构化分析
11、规范包括系统环境图、数据流实时结构化分析规范包括系统环境图、数据流/控制流控制流图的层次集合以及状态转换图。如图图的层次集合以及状态转换图。如图4-24-24-114-11所示。这所示。这个方案使用了个方案使用了Ward/MellorWard/Mellor表示法。表示法。开发系统环境图开发系统环境图开发系统环境图开发系统环境图 4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计图4-2显示的是系统环境图,每个外部实体由一个终端表示。图图4-2 行使控制系统环境图行使控制系统环境图2023/1/212023/1/219 9分解系统环境图分解系统环境图分解系统环境图分解系统环境图
12、 图图4-34-3为为顶顶级级数数据据流流/控控制制流流图图,其其中中系系统统环环境境图图分分解解为两个主要功能为两个主要功能行驶控制功能和监视功能。行驶控制功能和监视功能。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计图图4-3 分解为子系统分解为子系统2023/1/212023/1/211010实现汽车行驶控制实现汽车行驶控制实现汽车行驶控制实现汽车行驶控制 实现汽车行驶控制(实现汽车行驶控制(图图4 4-3-3)分解为图)分解为图4-44-4所示的数据所示的数据流图。有流图。有3 3个数据转换在监视汽车的传感器。个数据转换在监视汽车的传感器。4.1 4.1 实时系统
13、的结构化分析与设计实时系统的结构化分析与设计图图4-4 实现汽车行驶控制实现汽车行驶控制2023/1/212023/1/211111行驶控制状态转换图行驶控制状态转换图行驶控制状态转换图行驶控制状态转换图 控制速度数据转换(控制速度数据转换(图图4-44-4)分解为数据流)分解为数据流/控制流图。控制流图。图图4 4-5-5中的行驶控制状态转换图由中的行驶控制状态转换图由图图4 4-6-6中的中的【行驶控制行驶控制】控制转换来执行。控制转换来执行。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计在使用图4-5中的实时 结构化分析约定时,其中的矩形表示状态状态,带有标签的箭头
14、表示状态转换状态转换。在直线的上方是可以引起状态转换的输入事件输入事件。在直线的下方是在发生转换时生成的输出事件输出事件。输出事件触发触发(T)、启动启动(E)或禁止禁止(D)数据转换,然后执行指定操作。图图4-5 行驶控制状态转换图行驶控制状态转换图2023/1/212023/1/211212 从行驶控制的角度来看,从行驶控制的角度来看,汽车的不同状态包括:汽车的不同状态包括:停机。停机。开始开始“非制动非制动”。开始开始“制动制动”。加速。加速。巡行。巡行。巡行关闭非制动。巡行关闭非制动。巡行关闭制动。巡行关闭制动。恢复巡行。恢复巡行。4.1 4.1 实时系统的结构化分析与设计实时系统的结
15、构化分析与设计输出事件如下所示:E1 启动“增加速度”D5 禁止“维持速度”D2 禁止“增加速度”E6 启动“恢复巡行速度”T3 触发“选择所需速度”D7 禁止“恢复巡行速度”E4 启动“维持速度”T8 触发“清除所需速度”2023/1/212023/1/211313 控制速度控制速度控制速度控制速度 经经触触发发的的转转换换是是一次性函数。一次性函数。在在整整个个状状态态的的过过程程中中启启动动的的转转换换很很可可能能是是可可以以循循环的。环的。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计在状态转换时,触发、启动或禁止控制速度(图4-6)过程中DFD上的数据转换。图图
16、4-6 控制速度控制速度2023/1/212023/1/211414 测量距离和速度测量距离和速度测量距离和速度测量距离和速度 图图4 4-4-4中的中的【测量距离和速度测量距离和速度】数据转换可以分解为图数据转换可以分解为图4-74-7中的数据流图。中的数据流图。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计图图4-7 测量距离和速度测量距离和速度2023/1/212023/1/2115154.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计【控制校准】是使用图4-8所示的状态转换图来定义的。图图4-8 控制校准状态转换图控制校准状态转换图2023/1/
17、212023/1/211616 实现汽车监视实现汽车监视实现汽车监视实现汽车监视 实现汽车监视(图实现汽车监视(图4-34-3)的过程在图)的过程在图4-94-9中进行了进一步分解中进行了进一步分解4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计图图4-9 实现汽车监视实现汽车监视2023/1/212023/1/211717 监视并显示平均值监视并显示平均值监视并显示平均值监视并显示平均值 图图4-94-9中的中的【监视并显示平均值监视并显示平均值】数据转换分解为图数据转换分解为图4-104-10中所中所示的数据流图。示的数据流图。4.1 4.1 实时系统的结构化分析与设计
18、实时系统的结构化分析与设计它计算并显示了每加仑汽油可以行驶的平均英里数和每小时行驶的英里数。图图4-10 监视并显示平均值监视并显示平均值2023/1/212023/1/211818 检查维护需要检查维护需要检查维护需要检查维护需要 图图4-94-9中的中的【检查维护需要检查维护需要】数据转换分解为图数据转换分解为图4-114-11中所示的中所示的数据流图。数据流图。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计要定期进行3种维护服务:滤油器、空气过滤器和大修维护。每种服务的提供方式都是类似的。图图4-11 检查维护需要检查维护需要2023/1/212023/1/2119
19、19 结构化设计结构化设计结构化设计结构化设计 下一步下一步,RTSARTSA规范要映射到结构化设计中。如图规范要映射到结构化设计中。如图4-124-124-184-18所示。所示。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计结构图中的模块主要是功能模块功能模块,其中也有一些信息隐藏模块。主模块主模块行驶监控系统(图5-12)由一个环形循环,在这个循环中可以判断何时调用下级模块:实现汽车行驶控制和实现汽车监视。图图5-12 行驶监控系统结构图行驶监控系统结构图2023/1/212023/1/212020 实现汽车行驶控制实现汽车行驶控制实现汽车行驶控制实现汽车行驶控制
20、对应于其对应于其4 4个主要功能,实现汽车行驶控制有个主要功能,实现汽车行驶控制有4 4个下级个下级模块。在模块。在【获得行驶控制输入获得行驶控制输入】模块中,选择的是使用模块中,选择的是使用轮询轮询I/OI/O。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计图图4-13 获得行驶控制输入结构图获得行驶控制输入结构图2023/1/212023/1/212121 轴中断程序还要轴中断程序还要更新一个内部变量更新一个内部变量【轴转数轴转数】(ShaftRotation ShaftRotation CounterCounter),),然后然后【确定距离确定距离】模块模块(图(图
21、4-144-14)要访问)要访问这个变量来计算汽这个变量来计算汽车所经过的车所经过的【累积累积距离距离】。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计图图4-14 确定距离和速度结构图确定距离和速度结构图2023/1/212023/1/212222 无论何时出现新的行驶控制输入,无论何时出现新的行驶控制输入,【实现汽车行驶控实现汽车行驶控制制】模块都要调用模块都要调用【控制速度控制速度】模块(图模块(图4-154-15)4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计图图4-15 控制速度的结构图控制速度的结构图2023/1/212023/1/212
22、323 时间问题时间问题时间问题时间问题 每次循环中,每次循环中,【实现汽车实现汽车行驶控制行驶控制】模块都会调用模块都会调用【获得行驶控制输入获得行驶控制输入】模模块判断是否有新的输入。块判断是否有新的输入。然后它会调用然后它会调用【确定距离确定距离和速度和速度】模块来更新累积模块来更新累积距离并计算当前速度。距离并计算当前速度。下一步就是调用下一步就是调用【控制速控制速度度】模块来处理下一次的模块来处理下一次的行驶控制事件和行驶控制事件和/或实现或实现任何状态依赖功能。任何状态依赖功能。最后,该模会会调用最后,该模会会调用【进进行校准行校准】(图(图4-164-16)来)来检查是否发生了校
23、准事件检查是否发生了校准事件4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计图图4-16 实现校准结构化图实现校准结构化图2023/1/212023/1/212424 实现汽车监视实现汽车监视实现汽车监视实现汽车监视 【实现汽车监视】模块调用【获得复位输入】(图【实现汽车监视】模块调用【获得复位输入】(图4-124-12)模)模块,用于确定是否某个里程或维护复位按钮被按下。块,用于确定是否某个里程或维护复位按钮被按下。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计例如,如果按下了MPH复位按钮,【实现汽车监视】模块就会调用【监视并显示平均值】模块(图4
24、-17)。图图4-17 监视和显示平均值结构图监视和显示平均值结构图2023/1/212023/1/212525 如果按下了其中某个维护按钮,【实现汽车监视】模块就如果按下了其中某个维护按钮,【实现汽车监视】模块就会调用【检查维护需要】模块(图会调用【检查维护需要】模块(图4-184-18)。)。4.1 4.1 实时系统的结构化分析与设计实时系统的结构化分析与设计图图4-18 检查维护需要结构图检查维护需要结构图2023/1/212023/1/2126264.1.6 4.1.6 方法评估方法评估 优点包括:优点包括:结构化分析及其实时扩展在项目中得到了广泛应用。结构化分析及其实时扩展在项目中得
25、到了广泛应用。有大量的有大量的CASECASE工具可以支持工具可以支持RTSARTSA;使用数据流图和控制流图有助于对系统的理解和评审。使用数据流图和控制流图有助于对系统的理解和评审。强调了使用状态转换图强调了使用状态转换图/表的重要性。表的重要性。缺点包括:缺点包括:对于如何实现系统分解并没有提供足够的指导。对于如何实现系统分解并没有提供足够的指导。与与NRLNRL需求规范方法不同的是,需求规范方法不同的是,RTSARTSA并没有将系统作为并没有将系统作为黑盒来开发。这样就模糊了需求与设计之间的界限。黑盒来开发。这样就模糊了需求与设计之间的界限。结构化设计主要用于分解功能模块的程序设计方法,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计方法 软件设计 方法 PPT 课件
限制150内