本文介绍了UML状态图的基础概念及其在不同场景中的应用,特别是针对航班管理系统、校园卡生命周期管理以及图书馆借书流程的建模。通过定义各个系统的状态、转换、事件和动作,状态图为理解和设计这些系统的动态行为提供了结构化的视角。文档详细描述了各系统的主要功能模块、用户角色及异常处理机制,展示了如何利用状态图优化业务流程和服务效率,确保系统运行顺畅并提升用户体验。
状态图简介
UML(统一建模语言,Unified Modeling Language)状态图(State Diagram),也称为状态机图或状态转换图,是用来描述一个实体基于事件反应的动态行为,表示这个实体在它的生命周期中响应事件所经历的状态变化。状态图是UML中用于对系统的动态方面进行建模的五种图之一。
状态图的基本元素
- 状态(State):状态表示一个对象在其生命周期中的某个条件或情况,在该状态下它满足某些条件、执行某些活动或等待某些事件。
- 初态(Initial State):用实心圆表示,代表状态机开始的地方。
- 终态(Final State):用包含实心圆的空心圆表示,表示状态机结束的位置。
- 转换(Transition):用箭头表示,从一个状态指向另一个状态,表明当特定事件发生时,如果满足任何可能的条件,则会触发此转换。
- 事件(Event):引起状态转换的触发因素。
- 动作(Action):在状态转换过程中执行的操作。
- 监护条件(Guard Condition):用方括号内的布尔表达式表示,只有当该表达式为真时,转换才能发生。
- 历史状态(History State):记忆上次离开复合状态时的子状态。
任务描述
本系统旨在管理和优化航班的申请、计划、售票、退票及执行流程,确保航班的顺利进行,并为用户提供实时的信息更新。
主要功能模块
-
航班申请模块:
- 用户能够提交航班申请并查看申请状态。
- 系统需对申请进行审批。
-
航班计划模块:
- 一旦航班申请获得批准,系统对航班进行详细信息的录入和展示。
- 提供航班信息的查询功能。
-
售票管理模块:
- 支持航班售票的开始和结束。
- 提供实时票务信息,允许用户购票。
- 支持用户申请退票,并处理退票请求。
-
航班执行模块:
- 管理航班的起飞和降落状态,确保航班按时执行。
- 提供天气状况更新与监控,处理可能的航班调整。
任务实施
通过对需求分析,涉及到如下状态:
- 航班申请
- 航班计划
- 售票
- 航班还没有票
- 退票
- 结束售票
- 起飞
- 降落
-
状态转换:
- 航班从申请到计划需要审批通过。
- 售票须在航班计划完成后方可开始。
- 售票结束时间需要在航班起飞前30分钟。
用户角色
- 旅客:提交航班申请,购买和退票,查看航班状态。
- 管理员:审核航班申请,管理航班计划和售票情况。
异常处理
- 需要处理天气不良、技术故障等不可抗力因素对航班的影响。
- 提供及时的信息更新,通知用户航班状态的变化。
实验实训 实验一:校园卡状态变化图
校园卡系统管理学生从申请卡片到最终注销或回收的整个生命周期。用户(如学生)可以申请新卡、激活以开始使用、进行日常消费,如果卡片丢失可进行挂失保护账户安全,不再需要时可选择注销并由管理员回收卡片。管理员负责审核和处理各种请求,确保系统的有序运行,并在遇到异常情况(如未授权使用)时迅速响应,保障用户权益。
功能需求
- 卡申请:用户能够申请新的校园卡,并获得相应的状态更新。
- 卡激活:提供激活功能,确保用户可以将新卡激活后使用。
- 消费功能:校园卡在正常使用状态下,能够进行消费和操作。
- 挂失处理:支持用户对丢失的校园卡进行挂失,保护用户权益。
- 注销处理:允许用户主动注销校园卡,停止所有交易功能。
- 卡回收:对注销的校园卡进行回收,更新系统状态。
用户角色
- 学生/用户:申请、激活、挂失、注销校园卡的主要角色。
- 管理员:负责审核申请、处理挂失及注销请求,管理校园卡状态。
异常处理
- 针对校园卡丢失或未授权使用时,及时进行挂失处理,保障用户的财产安全。
实验实训 实验二:图书馆借书状态图
1. 系统概述
本系统旨在管理图书馆的借书流程,包括借阅、归还、查询及罚款管理,以提高图书馆的服务效率和用户体验。
2. 主要功能模块
-
借书模块:
- 用户可以查询图书的可借状态,并选择需要借阅的图书。
- 提供借书申请、借书批准及借书记录管理。
-
归还模块:
- 用户可以查看已借图书,并申请归还。
- 系统自动更新图书状态并记录归还日期。
-
罚款管理模块:
- 处理逾期归还的图书,计算罚款,并通知用户。
- 用户可查询未归还图书及相关罚款信息。
-
查询模块:
- 提供图书查询功能,用户可以通过书名、作者等信息查找图书。
- 显示图书的借阅状态和可借情况。