![9edc481b4292d839d33d169c4658dd80.png](https://i-blog.csdnimg.cn/blog_migrate/f68612dda0721800ae2ba0d966717a5b.jpeg)
返回目录:
Chilan Yuk:软件工程分析设计图库目录zhuanlan.zhihu.com![eb86657901e21ec86db2310ebbe22f2d.png](https://i-blog.csdnimg.cn/blog_migrate/8a473d1edcd9349cab3d8334c42b03d4.jpeg)
一、基本知识
状态图描述了某个对象的状态和感兴趣的事件以及对象响应该事件的行为。
UML状态图的元素包括:
1. 状态
对象在事件发生之间某时刻所处的情形,用圆角矩形表示。
![4cc688ef38faa17d6dacfb55648099d5.png](https://i-blog.csdnimg.cn/blog_migrate/f871cf0a6d4a26968705d4bcbd1b2300.png)
2. 转移
两个状态之间的关系,它表明当某事发生时,对象先从当前状态转换到后来的状态,用带有标记事件的箭头表示。
![c257bc5ee1725b8d078f85b14f6858a1.png](https://i-blog.csdnimg.cn/blog_migrate/97a77198e0580a2f6233cc1867576820.png)
3. 事件
事件是引发变迁的消息,用箭头上的标记(事件表达式)表示。
4. 初始状态/终止状态
初态用实心圆表示,终态用一对同心圆表示;
![00bcb324c97656ea19bb44c9848e3f01.png](https://i-blog.csdnimg.cn/blog_migrate/c61fbf2257c85c5edbf9b98cbd201bfb.png)
例题:商场购物卡
- 若某商场中发行一种购物卡,用户可以根据自己的需要提出申请去办理购物卡。
- 商场的卡管理员可以根据申请,创建新的购物卡。
- 用户可以向购物卡预存费用,商场卡管理员为该用户添加相应的预存费用。
- 用户可以用购物卡在商场进行消费,每进行一次消费,售货员就从购物卡中扣除相应的费用。
- 当购物消费每满一定数额时,商场自动在卡中添加奖励费。
分析:
从创建新卡开始(初始节点),动作有商场管理员往里面价款、售货员扣除消费费用、商场添加奖励费,到最后购物卡注销(终止节点)。
![f92018377ef32d55845888660d1a9d3f.png](https://i-blog.csdnimg.cn/blog_migrate/25d0b99d78ce81fbf7dba463429c3ac3.png)
例题:POS机处理销售
![2e1db40f768305d30e8c3aa73b2a7da5.png](https://i-blog.csdnimg.cn/blog_migrate/b90e28aeaa6d34c538e0be4283905b0b.png)
例题:汽车停车场信息系统
某汽车停车场欲建立一个信息系统,需求如下:
- 在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器。
- 当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。
- 在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付清停车费之后,将获得一张出场卡,用于离开停车场。
- 当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令,栏杆自动放下。若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。
- 系统自动记录停车场内空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示“车位已满”信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。
请画出停车场入口护栏的状态图。
分析:
停车场入口护栏的状态有以下几个:有空闲车位,没有车位,等待打印停车卡,等待汽车进入,等待场内有空闲车位。
![13a11d2a1ade3a58547dcc53b93ff70d.png](https://i-blog.csdnimg.cn/blog_migrate/a57e5e672a20d6ba123d43c9405ea428.jpeg)