实验05 状态图与活动图
实验目的
(1) 理解状态图的基本概念; (2) 理解活动图的基本概念;
(3) 掌握在Rational Rose中绘制状态图和活动图的操作方法。
实验内容
一、理解并绘制系统登录状态机。(文件名命名为系统登录状态机.mdl)
二、某汽车停车场欲建立一个停车场信息系统,系统的需求描述如下(教材P239-9):
(1)在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器。
(2)当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡后,系统命令栏杆自动抬起。汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。
(3)在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付清停车费之后,将获得一张出场卡,用于离开停车场。
(4)当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起。汽车通过出口后,出口处的传感器通知系统发出命令,栏杆自动放下。若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。
(5)系统自动记录停车场内空闲的停车位的数量,若停车场当前没有车位,系统将在出口处显示“车位已满”信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。
根据上述描述,采用面向对象方法对其进行分析与设计,得到了如下表所示的类/用例/状态列表、如下图所示的用例图、如下图所示的初始类图以及描述入口自动栏杆行为的状态图。
1. 根据上述描述,使用表中的用例名,给出用例图中U1~U4所对应的用例并绘制用例图;2. 根据上述描述,使用表中的类名,给出类图中A~D所对应的类并绘制类图;3. 根据上述描述,使用表中的状态名,给出状态图中S1~S4所对应的状态并绘制状态图;(文件名命名为CarPark.mdl)
用例名 |
说明 |
类名 |
说明 |
状态名 |
说明 |
Car entry |
汽车进入停车场 |
CentralComputer |
停车场信息系统 |
Idel |
空闲状态 |
Car exit |
汽车离开停车场 |
PaymentMachine |
付款机器 |
Disable |
没有车位 |
Report Stafstics |
记录停车场 相关信息 |
CarPark |
保存车位信息 |
Await Entry |
等待汽车进入 |
Barrier |
自动护栏 |
Await Ticket Take |
等打印停车卡 |
||
Car entry when full |
没有车位时汽车请求进入停车场 |
EntryBarrier |
入口护栏 |
Await Enable |
等待停车场内 有空闲车位 |
ExitBarrier |
出口护栏 |
三、理解并绘制租场地活动图。(文件名命名为租场地活动图.mdl)
四、某“订货”用例的文字描述如下:收到顾客的订单、确认订单是否已付款。若未付款,则取消并退回订单;若已付款,则检查每个订单项。对有货的订单项更新库存,同时向顾客发放提货单;对于缺货的订单项则向顾客发放缺货单,同时向采购人员发放采购单。请用活动图描述这一用例。(文件名命名为订货活动图.mdl)