统一建模语言UML实验报告 联系客服

发布时间 : 星期日 文章统一建模语言UML实验报告更新完毕开始阅读40220d284693daef5ff73d61

实验五 状态图

[实验目的和要求]

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机工作流程如下:当客户到收银台后,收银员逐一输入用户购买的商品,然后计算总金额,等待用户付款,确定支付成功之后,完成收银,等待下一个用户。请为其画出对应的状态图。