软件设计方法PPT课件_第1页
软件设计方法PPT课件_第2页
软件设计方法PPT课件_第3页
软件设计方法PPT课件_第4页
软件设计方法PPT课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4讲:实时软件设计方法第:讲,李忠文,2020/6/19,2,概述本讲首先介绍RSTAD的一些相关概念,并以一个驾驶监控系统为例介绍其应用步骤和方法。本文介绍了飞镖的相关知识,并以驾驶监控系统为例介绍了其应用步骤和方法。本文比较了本次讲座中介绍的各种并发和实时软件设计方法。最后,总结了利用性能模型和实时调度理论进行软件设计性能分析的过程。2020/6/19,3,目录4.1实时系统的结构分析和设计4.2实时系统设计方法4.3并行和实时软件设计方法的比较4.4并行和实时系统软件设计性能分析,2020/6/19,4,转换可以是数据转换或控制转换。在设计过程中,功能被映射到模块中。由状态转移图表示的

2、有限状态机用于定义系统的行为特征。控制转换代表状态转换图的执行过程。实体关系模型用于显示系统中数据存储之间的关系模型。模块内聚性被用作模块分解过程中的标准,以确定模块内的强度或统一性。模块耦合是模块分解过程中用来判断模块之间连通性的标准。4.1实时系统的结构分析和设计,4.1.1基本概念,2020/6/19,5,4.1.2表示,4.1实时系统的结构分析和设计,实时结构分析中使用的数据流/控制流图。图4-1显示了数据流/控制流程图的沃德/梅勒表示。状态转移图是有限状态机的图形表示。实体关系图是企业资源模型的图形化表示。结构图用于显示程序分解成模块的方式,也用于显示模块之间的接口。图4-1实时结构

3、化分析表示法,2020/6/19,6,4.1.3使用方法步骤,实时结构化分析在实时结构化分析阶段,将出现:开发系统环境图的下列活动。实现数据流/控制流的分解的系统将被分解成多个功能,并且功能之间的接口将以数据流或控制流的形式来定义。由Ward/Mellor或Boeing/Hatley)开发的结构分析的主要实时扩展是引入控制问题的考虑来定义系统的行为特征。小型规范(或过程规范)的定义通常是结构化英语。数据字典被开发来定义所有数据流、事件流和数据存储。4.1实时系统的结构分析和设计,2020/6/19,7。RTSA阶段后的实时设计,波音/哈特利方法使用系统架构图。Ward/Mellor方法继续执行

4、以下步骤:f)将转换分配给每个处理器。将变换分配给各种任务每个处理器的变换被分配给并发任务。H)结构化设计规定使用结构化设计将任务中的转换分解成多个模块。转换分析是一种将数据流图映射成结构图的策略,其重要流程是输入-处理-输出流程。在模块分解过程中,功能衔接和信息衔接被认为是最强的衔接形式。数据耦合是耦合的最低形式。4.1实时系统的结构分析和设计,2020/6/19,8,4.1.4设计过程的结果,使用RTSA的实时结构分析生成的规范包括以下内容:系统环境图;数据流/控制流图的分层集合;数据字典;一点解释。为每个控制转换或控制规范定义状态转换图。对于每个程序,结构设计都有一个结构图来显示它是如何

5、分解成模块的。4.1实时系统的结构分析与设计,2020/6/19,9,4.1.5驾驶监控系统案例研究。用于实时结构分析的实时结构分析规范包括系统环境图、数据流/控制流图的分层集合和状态转移图。如图4-2 4-11所示。这个方案使用沃德/梅勒符号。开发系统环境图,4.1实时结构分析与设计图4-2运动控制系统环境图,2020/6/19,10,分解系统环境图图4-3是顶层数据流/控制流程图,其中系统环境图分解成两个主要功能:驱动控制功能和监控功能。4.1实时系统的结构分析和设计,图4-3分解为子系统,2020/6/19,11,实现车辆行驶控制和实现车辆行驶控制(图4-3)分解为图4-4所示的数据流图

6、。有3个数据转换传感器监控汽车。4.1、实时系统的结构分析和设计。图4-4实现车辆驾驶控制,2020/6/19,12。驱动控制状态转换图控制速度数据转换(图4-4)被分解成数据流/控制流程图。图4-5中的行驶控制状态转换图由图4-6中的行驶控制控制转换来执行。4.1、实时系统的结构分析和设计。当使用图4-5中的实时结构分析协议时,矩形表示状态,标记的箭头表示状态转换。直线上方是可能导致状态转换的输入事件。行下方是转换发生时生成的输出事件。输出事件触发(t)、启动(e)或禁用(d)数据转换,然后执行指定的操作。图4-5行驶控制状态转换图,2020/6/19,13。从行驶控制的角度来看,汽车的不同

7、状态包括:停车。启动“非制动”。开始“制动”。加速。旅游。巡逻关闭非制动。巡逻关闭刹车。继续参观。4.1实时系统的结构分析和设计。输出事件如下:E1启动“增加速度”D5禁止“保持速度”D2禁止“增加速度”E6启动“恢复巡逻速度”T3触发“选择所需速度”D7禁止“恢复巡逻速度”E4启动“保持速度”T8触发“清除所需速度”,2020/6/19,14。控制速度的触发转换是一次性功能。在整个状态期间开始的转变可能是循环的。4.1、实时系统的结构分析和设计。在状态转换期间,控制速度(图4-6)期间DFD上的数据转换被触发、开始或禁止。图4-6控制速度,2020/6/19,15,测量距离和速度测量距离和速

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

9、并显示平均值,2020/6/19,19。检查和维护需求图4-9中的检查和维护需求数据被转换并分解成图4-11所示的数据流图。4.1实时系统的结构分析和设计需要三种类型的定期维护服务:滤油器、空气过滤器和检修维护。每项服务都以类似的方式提供。图4-11检查和维护要求,2020/6/19,20,结构设计下一步,结构设计的RTSA规范。如图4-12 4-18所示。4.1实时系统的结构分析和设计。结构图中的模块主要是功能模块,包括一些信息隐藏模块。主模块驾驶监控系统(图5-12)由一个环形循环组成,在该循环中可以决定何时调用下一个模块:实现对汽车的驾驶控制和监控。图5-12驾驶监控系统2020/6/1

10、9,21的结构图,实现了汽车的驾驶控制对应其四个主要功能,并实现了汽车的驾驶控制有四个子模块。在获取驾驶控制输入模块中,选择轮询输入/输出。4.1实时系统的结构分析和设计。图4-13获得驱动控制输入结构图,2020/6/19,22。车轴中断程序还需要更新内部变量轴行程计数器,然后确定距离模块(图4-14)需要访问该变量来计算汽车经过的累计距离。4.1、实时系统的结构分析与设计,图4-14确定距离和速度结构图,2020/6/19,23。每当有新的驾驶控制输入时,模块实现车辆驾驶控制调用模块控制速度(图4-15),4.1实时系统的结构分析与设计,图4-15控制速度结构图,2020/6/19,24,

11、在每个周期的时间问题中,模块实现车辆驾驶控制调用模块获取驾驶控制输入来判断是否有新的输入。然后它将调用确定距离和速度模块来更新累计距离并计算当前速度。下一步是调用控制速度模块来处理下一个驾驶控制事件和/或实现任何状态相关功能。最后,该模块将调用执行校准(图4-16)来检查校准事件是否已经发生,4.1实时系统的结构化分析和设计,图4-16实现校准结构图,2020/6/19,25实现车辆监控模块调用获取复位输入(图4-12)模块来确定是否已经按下了某个里程或维护复位按钮。4.1实时系统的结构分析和设计。例如,如果按下MPH重置按钮,“实现车辆监控”模块将调用“监控和显示平均值”模块(图4-17)。

12、图4-17监控和显示平均结构图,2020/6/19,26。如果按下一个维护按钮,则实施车辆监控模块将调用检查维护需求模块(图4-18)。4.1实时系统的结构分析与设计,图4-18检验与维护结构图,2020/6/19,27和4.1.6方法评估。优点包括:结构分析及其实时扩展在工程中得到了广泛应用。有大量的CASE工具来支持RTSA;数据流图和控制流图的使用有助于理解和评估系统。强调了使用状态转移图/表的重要性。缺点包括:对如何实现系统分解的指导不足。与NRL的需求规格说明方法不同,RTSA并没有把系统开发成一个黑盒。这模糊了需求和设计之间的界限。结构化设计主要用于分解功能模块的程序设计方法,但不

13、能用于解决将系统分解为并发任务的问题。在信息隐藏的应用中,结构化设计方法落后于NRL方法和面向对象设计方法。4.1实时系统的结构分析和设计,2020/6/19,28,4.1.7扩展和变更。ESML(扩展系统建模语言)试图将沃德/梅勒方法和波音/哈特利方法结合起来进行实时结构分析。就开发状态转移图而言,沃德/梅勒方法支持事件但不支持条件,而波音/哈特利方法支持条件但不支持事件。所有这些限制都在ESML和COBRA中得到解决,同时支持事件和条件,这与NRL方法和状态图表示相同。4.1实时系统的结构分析和设计,2020/6/19,29,4.2.1基本概念任务结构标准可以帮助设计者将实时系统分解成并发

14、任务。任务接口可以采取消息通信、事件同步或信息隐藏模块(IHM)的形式。消息隐藏被用作封装数据存储的标准。状态转移图形式的有限状态机用于定义系统的行为特征。事件序列识别系统的一个子集用于辅助进化原型和增量开发。这些图表确定了用于处理外部事件的任务和模块的执行顺序。4.2实时系统设计方法,2020/6/19,30,4.2.2批注,采用RTSA数据流/控制流图。这些图是数据流图的扩展,包括事件流和控制转换。状态转移图是有限状态机的图形表示,其中节点代表状态,弧代表状态转移。4.2实时系统设计方法,飞镖设计方法使用任务框架图来显示系统分解成并发任务的过程。如图4-19所示。源于结构化设计的结构图在D

15、ARTS中被用来展示如何将一个任务分成多个模块。图4-19任务架构图表示,2020/6/19,31和4.2.3使用方法的步骤。该方法使用的步骤如下:使用实时结构化方法开发系统规范。将系统分成多个并发任务。定义任务接口。设计每个任务。4.2.4设计过程的结果设计过程的三个结果是:RTSA规范;任务结构规范。任务分解。4.2实时系统设计方法,2020/6/19,32,4.2.5驾驶监控系统案例研究,实时结构化分析应用的第一步是开发RTSA规范。任务结构,4.2实时系统设计方法。在开发了RTSA规范之后,飞镖使用任务结构标准来确定系统中的并发任务。图4-20示出了旅行监控子系统的任务框架图。图4-2

16、0显示了2020/6/19,33驾驶控制子系统的任务框架图。图4-21显示了监控子系统的任务框架图,4.2实时系统设计方法,图4-21显示了监控子系统的任务框架图,2020/6/19,34和任务界面。这些任务通过消息或IHM来传达。多个任务访问的数据存储被映射到IHM。因此,在驾驶控制子系统中,应将当前速度、所需速度、累计距离、轴转数和校准常数的数据存储映射到信息隐藏模块。在监控子系统中,三个任务之间的接口通过数据存储映射到IHM。驱动控制任务的接口是一个松散耦合的先进先出队列。4.2实时系统设计方法,2020/6/19,35。一旦任务被设计并且任务之间的接口被定义,下一步就是使用结构化设计方法将任务分解成多个模块。这些模块主要是功能模块,有些是IHM。4.2、实时系统设计方法。在结构化设计中,IHM通常位于最底层。图4-22显示了驾驶控制任务的结构。图4-22驾驶控制任务结构图,2020/6/19,36,图4-23显示了车速控制任务的结构。4.2、实时系统设计方法,此任务通过调用接受速度命令模块并等待接收速度命令的消息。车速控制模块的设计是交易分析的一个例子。图4-23车速控制任务结构图,2020/6/19,37,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论