查看更多当前 - 案例分析 - 系统设计与建模
简单
案例题
2015年11月第2题
#第二版教材
#必须掌握

阅读以下关于系统设计建模的说明,在答题纸上回答问题1至问题3。
【说明】
某公司拟研制一款高空监视无人直升机,该无人机采用遥控一自主复合型控制实现垂直升降。该直升机飞行控制系统由机上部分和地面部分组成,机上部分主要包括无线电传输设备、飞控计算机、导航设备等,地面部分包括遥控操纵设备、无线电传输设备以及地面综合控制计算机等。其主要工作原理是地面综合控制计算机负责发送相应指令,飞控计算机按照预定程序实现相应功能。经过需求分析,对该无人直升机控制系统纵向控制基本功能整理如下:
(a)飞控计算机加电后,应完成系统初始化,飞机进入准备起飞状态;
(b)在准备起飞状态中等待地面综合控制计算机发送起飞指令,飞控计算机接收到起飞指令后,进入垂直起飞状态;
(c)垂直起飞过程中如果飞控计算机发现飞机飞行异常,飞行控制系统应转入无线电遥控飞行状态,地面综合控制计算机发送遥控指令;
(d)垂直起飞达到预定起飞高度后,飞机应进入高度保持状态;
(e)飞控计算机在收到地面综合控制计算机发送的目标高度后,飞机应进入垂直升降状态,接近目标高度;垂直升降过程中出现飞机飞行异常,控制系统应转入无线电遥控飞行;
(f)飞机到达目标高度后,应进入高度保持状态,完成相应的任务;
(g)飞机在接到地面综合控制计算机发送的任务执行结束指令后,进入飞机降落状态;
(h)飞机降落过程中如果出现飞机飞行异常,控制系统应转入无线电遥控飞行;
(i)飞机降落到指定着陆高度后,进入飞机着陆状态,应按照预定着陆算法,进行着陆;
(j)无线电遥控飞行中,地面综合控制计算机发送着陆指令,飞机进入着陆状态,应按照预定着陆算法,进行着陆。

分值(6分

状态图和活动图是软件系统设计建模中常用的两种手段,请用200字以内文字简要说明状态图和活动图的含义及其区别。

参考答案

状态图主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。
活动图可以用于描述系统的工作流程和并发行为。活动图其实可看作状态图的特殊形式,活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的转移可能需要事件的触发)。
两者最大的区别是:状态图侧重于描述行为的结果,而活动图侧重描述行为的动作。其次活动图可描述并发行为,而状态图不能。

凯恩解析

状态图(State Machine Diagram)关注的是某一特定对象(如“纵向控制子系统”或“飞控计算机中的高度保持控制器”)在整个生命周期内可能处于的离散状态及其之间的事件驱动转移,并在转移上标注守卫条件与动作(entry/do/exit/action)。其价值在于:当系统受到外部事件(如“收到起飞指令”)或内部事件(如“到达预定高度”)时,如何从当前稳定状态跃迁到下一稳定状态并执行相应动作(如“解锁油门、升力闭环接管”)。因此,状态图特别适合**协议、设备控制器、模式管理(如自主/遥控/告警)**等“状态主导”的对象建模。关键要点:离散状态、事件驱动、转移动作、守卫条件。

活动图(Activity Diagram)则强调流程视角:从起点终点活动/动作流转,天然支持分叉与合并、并发与同步、泳道(责任主体)等结构,对于业务过程、用例执行轨迹、算法步骤的表达更直观。在活动图中,控制流/对象流决定执行先后,一个活动完成通常立即流向下一个活动,无需外部事件触发;同时可通过决策/合并/分叉/汇合结点表现条件分支与并发。因此,活动图更适合描述流程驱动的问题,例如“地面下发目标高度→飞控进入垂直升降→接近目标后转入高度保持→等待任务结束”。

本质差异在于:状态图=对象的结果性状态+事件触发的转移活动图=动作序列+流程控制+并发。在无人机案例中,若要呈现模式切换(例如从“垂直起飞”到“高度保持”或“异常→R/C”),状态图更契合;若要呈现GCC与FCC的工作分工、指令下发与响应流程泳道活动图更直观。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有