一.实验目的
1、理解序列图中的基本概念,包括对象、生命线、控制焦点和消息等。
2、理解对象之间交互的顺序和关系,包括消息的发送和接收。
3、掌握从序列图中抽象出对象和消息的交互过程,理解抽象的表示方法。
4、掌握从序列图中抽象出对象之间的关系,包括消息的传递和对象的状态变化。
5、掌握使用StarUML软件构建序列图的方法,包括创建对象、绘制生命线和消息、编辑控制焦点等操作。
二.实验内容
序列图,也叫时序图、顺序图,表示对象之间交互的一种模型图,在图中显示参与交互的对象是按时间顺序排列的。序列图中包括的模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。
1、阅读相关资料,理解序列图的基本概念和表示方法。
2、观察ATM系统,抽象出对象和对象之间的交互过程,绘制序列图。
3、分析序列图中对象之间的关系,包括消息的传递顺序和对象状态的变化,进行抽象表示。
4、使用StarUML软件创建序列图,包括添加对象、绘制生命线和消息、编辑控制焦点等操作。
5、总结实验过程中的经验和问题,形成实验报告并进行讨论。
ATM系统需求描述:
ATM(Automated Teller Machine)是一种自动化设备,用于处理客户的银行业务,包括存款、取款、转账等。ATM的需求描述如下:
客户插卡后,ATM读取卡号并初始化屏幕,相关操作选项。
客户需输入个人识别号(PIN)以进行身份验证,系统验证PIN是否正确,若正确则进入下一步操作。
客户选择所需事务,包括取款、存款、转账等。
如果客户选择取款,系统将要求客户输入取款金额。
客户输入取款金额后,系统验证账户余额是否充以满足取款需求。
如余额充足,系统将从账户中扣除相应金额,并提取款收据。
同时,系统向取款机发出指令,提供相应金额的现金。
客户完成操作后,系统将退还客户的银行卡。
在整个过程中,系统需要确保安全性,包括密码加密、防止刷等功能。
此外,ATM设备需要具备24小时不间断的行能力,以满足客户随时随地的需求。
最后,系统需要记录每一笔交易的详细信息,包括时间、金额、操作类型等,以便银行进行后续的跟踪和管理。
三.实验过程
- 通过需求描述找出对象
- 确定哪些对象之间有交互
。
- 确定交互的消息
- 建模型图:StarUML软件
- 反复研究,完善
- 实验结果
其目录树结构如下:
- 实验分析
本次实验的主要目的是通过学习和掌握序列图的基本概念和表示方法,以及掌握使用StarUML软件构建序列图的方法。通过对ATM系统进行需求描述,抽象出对象和对象之间的交互过程,并在StarUML软件上创建序列图,从而加深对序列图的理解和掌握。
在实验过程中,首先通过需求描述找出对象,确定了参与交互的对象包括客户、ATM系统、银行卡、取款机等。然后确定了哪些对象之间有交互,比如客户与ATM系统之间的交互,ATM系统与银行卡之间的交互等。接着确定了交互的消息,包括客户插卡、输入PIN码、选择事务、输入取款金额等。最后在StarUML软件上建模,添加对象、绘制生命线和消息,并进行反复研究和完善。
通过本次实验,我对序列图的基本概念有了更深入的了解,掌握了序列图的绘制方法和建模技巧。同时,也对ATM系统的交互过程有了更清晰的认识,从客户插卡到取款完成的整个流程有了更具体的抽象表示。通过实验的过程,我发现在建模的过程中需要考虑对象之间的交互顺序、消息的传递方式和对象状态的变化,这需要对系统的整体逻辑有着清晰的把握,并且需要一步步地进行建模和完善,以确保模型的准确性和完整性。
总的来说,本次实验让我对序列图有了更深入的理解,并且掌握了使用StarUML软件构建序列图的方法。通过实际操作,我对ATM系统的交互过程有了更清晰的认识,同时也提高了自己的建模能力和逻辑分析能力。在今后的学习和工作中,我将继续加强对UML建模工具的使用,不断提升自己的建模能力,为未来的软件工程实践打下更坚实的基础。
- 参考文献
“面向对象分析与设计”,麻志毅,机械工业出版社,2019。