当前位置:首页 > 统一建模语言UML实验报告
实验五 状态图
[实验目的和要求]
1、 掌握状态的定义和组成部分。 2、 掌握UML中状态的表示方法。 3、 掌握转换的定义及转换的5要素。 4、 了解触发事件、监护条件、动作的定义。 5、 掌握阅读和绘制状态图的方法。
[实验内容和步骤]
1、 什么叫做状态?状态由哪五个部分组成?
答:描述系统里静态事物的动态变化。状态机由状态、转换、事件、活动和动作5部分组成。状态图图标分3部分:名称、内部转换和嵌套状态图。
2、 什么是转换?UML中转换的5要素是什么?
答:转换表示当一个特定事件发生或者某些条件得到满足时,一个源状态下的对象在完成特定的动作后将发生状态转变,转向另一个目标状态的状态。5要素:源状态、目标状态、触发事件、监护条件、动作。
3、 触发事件是什么?可以具体分为哪些事件? 答:能够引起状态装换的事件。信号、调用和时间段。 4、 改变事件和监护条件有何异同?
答:改变事件能引起动作的执行及状态的改变,改变监护条件能触发转换。
5、 什么叫做转换?转换可以分为哪几种?
答::转换表示当一个特定事件发生或者某些条件得到满足时,一个源状态下的对象在完成特定的动作后将发生状态转变,转向另一个目
标状态的状态。转换分为:外部转换、内部转换、完成转换、复合转换。
6、 状态和对象的关系是怎样的? 下面描述中哪些是对象,哪些是
状态?
支票已付 汽车停在那儿 小王正在工作
答:支票是对象,已付是状态;汽车是对象,停在那儿是状态;小王是对象,正在工作是状态。
7、 说出下面状态的状态名和各种转换、事件。
Lighting entry / turnOn do / blinkFiveTimes eventPowerOff / powerSupplySelf exit / turnoff eventSelfTest / defer
状态名:Lighting
转换:eventSelfTest / defer 事件:入口动作entry / turnOn do / blinkFiveTimes
eventPowerOff / powerSupplySelf 出口动作exit / turnoff
8、 说出下面状态图所表达的信息。
答:状态开始,状态1:关闭,事件1没水,打开放水,事件2烧水,状态2打开,事件3水开了关闭,回到状态1.分支1烧水时烧坏了,状态结束。
9、 说出下面状态图所表达的信息,并指出蓝色部分代表的含义。
答;状态开始,状态1注册课程,状态2课程评价,嵌套状态图1:开始,状态实验1,进入实验室,事件1完成实验,实验2,完成实验。嵌套状态2:实验室团队项目,事件项目完成,结束。嵌套状态3:开始,状态考试,事件1考试及格,事件2考试不及格,课程不通过,补考。3个嵌套状态后,课程通过。 10、根据下面状态图回答问题。
GFloorUPrequest(floor,direction)[ floor>0 ]entry/ CloseDoordo/ Eexit/ motor.stop()timeout[ getNextFloor()> A ]arrive()arrive()request(floor,direction)[ floor==0 ]WaitingForFloorNumtimeout[ getNextFloor()==-1&¤tFloor==0 ] / closeDoorentry/ openDoorgoToFloor(n)Returnentry/ closeDoordo/ motor.moveDown()exit/ FB[ C ]Downentry/ closeDoordo/ Dexit/ motor.stop()arrive()
上图是一个表示电梯系统的状态图,该系统中Controller类和Motor类的详细定义如下图所示:
根据类图,完成上面状态图中A,B,C,D,E,F处的内容。
答:A是0,B是timeout,C是goToFloor<2,D是Motor.moveDown(),E是Motor.moveUp(),F是Motor.stop()
11、 某销售POS机工作流程如下:当客户到收银台后,收银员逐一输入用户购买的商品,然后计算总金额,等待用户付款,确定支付成功之后,完成收银,等待下一个用户。请为其画出对应的状态图。
共分享92篇相关文档