参考答案:
【问题1】
环境模型描述的是系统运行时所处的环境,也就是系统要连接的外部实体,以及发送给系统的输入和来自系统的输出。
行为模型描述的是行为,也就是系统对从外部环境中接收到的输入信息的反应,在实时系统中,这些反应一般都是依赖于状态的。
模块耦合在模块分解过程中作为种标准来使用,用于判断模块间连接性的程度。
模块内聚在模块分解过程中作为 种标准来使用,用于确定模块内部的强度或统一性。
模块设计在模块独立性上的基本原则:高内聚低耦合。
【问题2】
(1) T1
(2) T4
(3) T2
(4) T3
(5) T6
(6) T5
【问题3】
(1)控制机器人
(2)修改程序
(3)启动程序
(4)结束程序
(5)处理程序结束
(6)停止程序
(7)继续执行程序
详细解析:
本题是对嵌入式结构化分析与设计相关内容的考查。
RTSAD(Real-Time Structured Analysis and Design)方法是对传统的结构化分析和设计方法的补充扩展,专门用于开发实时系统。
【问题1】
实时结构化分析和设计(RTSAD)方法主要包含分析和设计两个阶段,其中分析阶段要求开发一个基础模型,这个基础模型称为需求模型。通常基本模型中应包含一个环境模型和一个行为模型。
环境模型描述的是系统运行时所处的环境,也就是系统要连接的外部实体,以及发送给系统的输入和来自系统的输出。
行为模型描述的是行为,也就是系统对从外部环境中接收到的输入信息的反应,在实时系统中,这些反应一般都是依赖于状态的。
其中行为模型常用状态转换图(简称状态图)来描述,它又称为状态机模型。行为模型通过描述系统的状态以及引起系统状态转换的事件来表示系统的行为。状态图中的基本元素有事件、状态和行为等。
内聚是指模块内各元素之间的关联交互。耦合是指模块间的依赖关联、交互关系。模块耦合在模块分解过程中作为种标准来使用,用于判断模块间连接性的程度。模块内聚在模块分解过程中作为 种标准来使用,用于确定模块内部的强度或统一性。从模块设计角度看,模块独立性应遵守“高内聚低耦合”的基本原则。
【问题2】
状态转换图,即STD图(State Transform Diagram),表示行为模型。STD通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为,指出作为特定事件的结果将执行哪些动作(例如处理数据等)。STD描述系统对外部事件如何响应,如何动作。在状态转换图中,每一个节点代表一个状态。
机器人控制器设定了6种状态,即已关闭、增加动力、手动、运行、终止和已挂起,在6个状态相互转换时,设计了6个触发事件(T1~T6)。
当按下启动按键时,系统就会进入增加动力状态。在成功地完成了增加动力的过程之后,系统就会进入手动状态。
系统手动状态时操作员按下运行按钮,就会启动当前选择程序的执行过程,然后系统就会过渡到运行状态,所以第三空应该为T2:触发【开始程序】。
系统运行状态时操作员可以通过按下停止按钮来挂起程序的执行过程,然后系统就会进入已挂起状态,所以第六空应该为T5:触发【停止程序】。
系统已挂起状态时操作员可以按下运行按钮来继续执行程序,系统则返回到运行状态,所以第五空应该为T6:触发【恢复程序】。
系统运行状态时操作员可以按下结束按钮,系统进入终止状态,所以第四空应该为T3:触发【结束程序】。
当程序终止执行时要想返回手动状态,就需要触发【处理程序已结束】,从而回到手动状态。所以所以第二空应该为T4:触发【处理程序已结束】。
系统手动状态时操作员现在可以使用程序选择旋钮开关来选择程序,所以应该触发【改变程序】,第一空应该为T1:触发【改变程序】。
【问题3】
数据流程图(Data Flow Diagram,DFD/Data Flow Chart), 是一种描述系统数据流程的主要工具,它用一组符号来描述整个系统中信息的全貌,综合地反映出信息在系统中的流动、处理和存储情况。
数据流程图有两个特征: 抽象性和概括性。抽象性指的是数据流程图把具体的组织机构、工作场所、物质流都去掉,只剩下信息和数据存储、流动、使用以及加工情况。概括性则是指数据流程图把系统对各种业务的处理过程联系起来考虑,形成一个总体。
图3-3为机器人控制器命令的数据流程图。读取控制面板输入转换可以从控制面板接收输入。这些输入要作为事件流发送给控制机器人,所以(1)答案为控制机器人。
控制机器人转换要在系统当前状态下检查输入是否有效,如果有效,那么控制机器人转换就可以从状态转换图中判断新的状态和所需操作,然后该转换就会触发相应的数据转换来实现操作。
因此,根据问题2中状态转换图,T1触发了【修改程序】转换,所以(2)答案为修改程序。
T2触发了【启动程序】转换,所以(3)答案为启动程序。
T3触发了【结束程序】转换,所以(4)答案为结束程序。
T4触发了【处理程序结束】转换,所以(5)答案为处理程序结束。
T5触发了【停止程序】转换,所以(6)答案为停止程序。
T6触发了【继续执行程序】转换,所以(7)答案为继续执行程序。