一.实验目的
- 理解状态图的基本概念和元素之间的关系。
- 掌握将实际系统行为抽象为状态图的能力。
- 掌握从状态图推导出系统具体行为的能力。
- 掌握使用建模软件(如StarUML)构建状态图的方法,包括创建状态、定义控制流、添加节点等操作。
二.实验内容
状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)。一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State Machine Diagram),重点在与描述状态图的控制流。
状态机图综述
第一个状态机图描述的是ATM用户使用ATM时状态机的状态变化,包含登录、查询、存款等状态转移。第二个状态机图描述的是银行职员维护修理ATM时的状态变化,包含维护和修理。
ATM系统详细说明:
1.登录:将卡插入ATM机后进入登录页面,客户输入密码,如果密码错误则提示重新输入,密码错误超过3次则吞卡或者提示找银行前台处理,密码正确则进入主界面。
2.存款:进入主界面,客户点击“存款”按键进入存款界面,选择界面上显示的存款金额或手动输入存款金额,存款金额只能是100的整数倍,将现金放入存钞口,点击确定,ATM将现金存入银行卡后显示打印凭条、返回主界面等选项。
3.取款:进入主界面,客户点击“取款”按键进入取款界面,选择界面上显示的取款金额或手动输入取款金额,存款金额只能是100的整数倍,点击确定,ATM出钞票,并显示打印凭条、返回主界面等选项。
4.转账:进入主界面后,客户点击“转账”按键进入转账业务界面,系统提示输入转账账户和转账金额,点击确定转账。待转账成功以后,页面显示打印凭条、返回主界面等选项。
5.查询余额等信息:进入主界面,客户点击“查询余额”按键进入查询界面。屏幕显示该银行卡内余额信息。
6.修改密码:进入主界面,客户点击“修改密码”按键进入修改界面。系统提示输入旧密码,新密码,确认新密码,若旧密码错误,或两次新密码输入不相同,则返回修改密码界面重新输入。若旧密码正确且两次新密码相同则提示密码修改正确,显示修改成功并返回主界面。
7.维护和修理:对银行职员(包括了ATM操作员等银行方人员)而言,功能基本上为维护和修理,即对ATM进行定期的维护检查和机器故障时的修理。
三.实验过程
步骤:(1)根据用例图,标识出实体---对象;
(2)根据工作流,确定实体的状态;
(3)根据工作流,确定状态转换的相关事件;
(4)根据实体的状态和事件,画出状态图。
根据用例图,标识出实体---对象
确定客户----ATM机,用户使用ATM机进行业务操作。
根据工作流,确定实体的状态
2) ATM系统状态机图的状态描述
(1)登录:客户登录ATM系统,入口动作为输入密码,密码错误时,重新输入密码。
(2)业务选择界面:客户登录ATM系统后系统显示的主界面,用户选择要进入的界面,入口动作为选择业务操作。
(3)存款:存款动作,动作为放入现金、确认存款,出口动作为发送存款交易记录。
(4)取款:取款动作,动作为输入金额,出口动作为发送取款交易记录。
(5)转账:转账动作,动作为输入转账账号、输入转账金额和确认转账,出口动作为转账并发送转账交易记录。
(6)修改密码:修改密码动作,动作为输入旧密码,密码错误时,重新输入密码,动作为输入新密码和确认新密码,密码不匹配时,重新输入密码,出口动作为回到登录页面,让用户重新登录。
(7)查询账户信息:查询账户信息动作,动作为确认信息,出口动作为确认退出。
(8)退出:退卡动作,退出动作为退卡。
(9)维护修理界面:银行职员登录ATM系统后显示的界面,入口动作为选择工作操作。
(10)维护:银行职员对ATM机进行维护,动作为维护,出口动作为维护结束。
(11)修理:银行职员对ATM机进行修理,动作为修理,出口动作为修理结束。
3) ATM系统状态机图的状态间转移描述
(1)登录到业务选择界面:当输入密码正确时执行。
(2)业务选择界面到取款、存款、转账、修改密码、查询账户信息、退出:当该状态被选中时执行。
(3)存款、取款、转账、修改密码、查询账户信息到业务选择界面:当该状态退出时执行。
(4)维护修理界面到维护、修理:当该状态被选中时执行。
- 实验结果
根据实体的状态和事件,画出状态图
1)ATM用户使用ATM时状态机的状态变化
2)银行职员维护修理ATM时的状态变化
四.实验分析
通过本次实验,我了解了状态图的基本概念和元素之间的关系,并掌握了将实际系统行为抽象为状态图的能力。我还学会了从状态图推导出系统具体行为,并使用建模软件构建状态图的方法。
在实验过程中,我按照以下步骤进行了操作:
首先,根据用例图,标识出实体对象,即ATM机和用户。
然后,根据工作流,确定实体的状态。在ATM系统中,包括登录、业务选择界面、存款、取款、转账、修改密码、查询账户信息和退出等状态。
接着,根据工作流,确定状态转换的相关事件。例如,在登录状态下,如果密码错误,则重新输入密码;在业务选择界面状态下,用户选择要进入的界面等。
最后,根据实体的状态和事件,画出状态图。我分别画出了ATM用户使用ATM时的状态机图和银行职员维护修理ATM时的状态机图。
通过本次实验,我深入理解了状态图的概念和应用,并掌握了使用建模软件构建状态图的方法。这些知识将对我在未来的IT工作中有很大帮助。
- 参考文献
《UML实验指导书》