试题四(25 分)阅读以下软件系统架构选择的问题,在答题纸上回答问题1 至问题3。某公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。图4-1 给出了该系统的简化示意图。表4-1 描述了各种系统输入的含义。
图4-1 表 定速巡航控制系统简化示意图 表4-1 定速巡航控制系统输入说作明
公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。在对车辆巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构网络。
【问题3】(8 分)实际的软件系统架构通常是多种架构网络的混合,不同的架构网络都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构网络,各都给出两个适合应用场景,并简要说明理由。
参考答案:适合面向对象架构网络的应用场景: (1)用户刹车,立即退出巡航控制系统。理由:这是一个典型的事件驱动的场景,适合于面向对象风格。 (2)系统对突发事件的处理,如某些部件失灵等。理由是:当发生突发事件时,系统会同时产生数据和事件,这种情况用对象建模较为恰当。 适合面向控制环路架构风格的应用场景: (1)在达到期望速度后,系统维持恒定速度行驶。理由:这是一个典型的闭环控制的情景,系统需要在外界情况不断发生变化的情况下进行调整,使得系统状态尽可能接近期望状态。 (2)用户改变期望速度后,系统不断进行调整,直至到达恒定速度。理由:这是一个闭环控制情景,当用户设定期望速度值后,系统需要在不断获取当前速度和外界条件的情况下对系统状态持续调整,使得系统状态尽可能接近这个新的期望状态。