问答题 试题四(25 分) 阅读以下软件系统架构选择的问题,在答题纸上回答问题1 至问题3。 某公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。图4-1 给出了该系统的简化示意图。表4-1 描述了各种系统输入的含义。 图4-1 表 定速巡航控制系统简化示意图 表4-1 定速巡航控制系统输入说作明
问答题 【问题1】(5 分) 在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。请用200 以内的文字说明:什么是软件架构风格;面向对象和控制环路两种架构风格各自的特点。
【正确答案】 软件架构风格是描述某一类特定应用领域中软件系统组织方式和惯用方式。 面向对象架构风格的特征是将数据表示和基本操作封装在对象中。这种模式的构件是对象,对象维护自身表示的完整性,对象之间通过消息机制进行通信,对象交互时需要知道彼此的标识,通过对象之间的协作完成计算过程。 控制环路架构风格是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环境风格包括过程变更、被控变量、输入变量、操纵变量和设定点等构件,通过收集实际和理想的过程状态信息,并能调整过程变量使得实际状态趋于理想状态。
【答案解析】
问答题 【问题2】(12 分) 用户需求没有明确给出该系统如何根据输入集合计算输出。请用300 以内文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算的过程。
【正确答案】 对于系统的增减速功能,采用面向对象风格的巡航控制系统首先会定义司机、油门、时钟、速度计和车轮等构件。 整个计算的主要过程是: (1)司机进行增/减速操作设置期望速度,该期望速度以消息的形式传递给速度计; (2)速度计通过向车轮和时钟发送消息获取车轮转速和时钟值,得到当前速度; (3)速度计计算当前速度和期望速度的速度差值; (4)该差值以消息的形式发送给油门,油门通过速度差值调节自身状态; (5)整个过程在时钟的控制下定期向速度计发送消息,重复执行(2)~(4)。 控制环路的架构网络以控制器为核心,期望速度、车轮脉冲、时钟和油门等作为构件。 具体的计算机过程是: (1)司机进行增/减速操作设置期望速度值; (2)将设定值置为期望速度值; (3)控制器采集车轮脉冲和时钟值,计算出当前速度; (4)比较期望速度和当前速度,计算机速度差值,控制油门动作; (5)反复执行(3)~(4)。
【答案解析】
问答题 【问题3】(8 分) 实际的软件系统架构通常是多种架构网络的混合,不同的架构网络都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构网络,各都给出两个适合应用场景,并简要说明理由。
【正确答案】 适合面向对象架构网络的应用场景: (1)用户刹车,立即退出巡航控制系统。理由:这是一个典型的事件驱动的场景,适合于面向对象风格。 (2)系统对突发事件的处理,如某些部件失灵等。理由是:当发生突发事件时,系统会同时产生数据和事件,这种情况用对象建模较为恰当。 适合面向控制环路架构风格的应用场景: (1)在达到期望速度后,系统维持恒定速度行驶。理由:这是一个典型的闭环控制的情景,系统需要在外界情况不断发生变化的情况下进行调整,使得系统状态尽可能接近期望状态。 (2)用户改变期望速度后,系统不断进行调整,直至到达恒定速度。理由:这是一个闭环控制情景,当用户设定期望速度值后,系统需要在不断获取当前速度和外界条件的情况下对系统状态持续调整,使得系统状态尽可能接近这个新的期望状态。
【答案解析】