ATM面向对象分析与设计之——活动图、状态机图

活动图

1.活动图综述
此活动图描述了ATM的运行流程,包含登录、取款、存款、转账、修改密码、打印凭条、查询余额、退卡、查询交易记录动作。
2.动作描述
(1)登录(有用户和ATM管理员两个动作):用户或ATM管理员登录ATM系统。
(2)取款:用户从ATM中取款。
(3)存款:用户存款。
(4)转账:用户转账。
(5)修改密码:修改密码。
(6)打印凭条:打印交易凭条。
(7)查询余额:查询卡中余额。
(8)查询交易记录:ATM管理员查询此台ATM上近期交易记录。
(9)退卡(有用户和ATM管理员两个动作):用户或ATM管理员选择退卡。
(10)用户选择操作:用户进入主界面,选择取款、存款、转账、修改密码、打印凭条、查询余额、退卡其中的一个动作。
3.转移描述
(1)用户选择:从“用户选择操作”活动到取款、存款、转账、修改密码、打印凭条、查询余额活动,属于分岔。
(2)生成交易记录:从取款、存款、转账、修改密码、打印凭条、查询余额活动到交易记录对象,属于汇合。
4.对象流
交易记录:用于存储用户的交易详情,从取款、存款、转账、修改密码、打印凭条、查询余额输入,输出到查询交易记录活动。
5.泳道
(1)用户:持有银行账户的ATM使用者,其中包含登录、用户选择操作、退卡的动作。
(2)ATM:自助存取款系统,其中包含取款、存款、转账、修改密码、打印凭条、查询余额动作,以及交易记录对象。
(3)ATM管理员:对ATM进行管理的银行工作人员,其中包括登录、查询交易记录、退卡的动作,以及交易记录对象。
6.活动图
这里写图片描述

状态机图

1.状态机图综述
状态机图描述了ATM机使用时的状态变化,包含登录、取款、存款、转账、修改密码、打印凭条、查询余额、退卡、查询交易记录、主界面状态。
2.状态描述
图中涉及的所有状态都是简单状态。
(1)登录:用户/ATM管理员登陆ATM系统,入口动作为输入密码,密码错误时,重新输入密码。
(2)主界面:用户/ATM管理员登陆ATM系统后系统显示的主界面,以供选择操作类型,入口动作为选择操作。
(3)取款:取款动作,入口动作为输入金额,出口动作为生产交易记录。
(4)存款:存款动作,入口动作为放入现金,出口动作为生产交易记录。
(5)转账:转账动作,入口动作为输入账号,出口动作为生产交易记录。
(6)修改密码:修改密码动作,入口动作为输入旧密码,出口动作为生产交易记录。
(7)打印凭条:打印凭条动作,入口动作为打印,出口动作为生产交易记录。
(8)查询余额:查询余额动作,入口动作为显示余额,出口动作为生产交易记录。
(9)查询交易记录:查询交易记录动作,入口动作为显示交易记录,出口动作为生产交易记录。
(10)退卡:退卡动作,入口动作为退卡。
3.状态转移
(1)登录到主界面:当输入密码正确时执行。
(2)主界面到取款、存款、转账、修改密码、打印凭条、查询余额、查询交易记录、退卡:当该状态被选中时执行。
(3)取款、存款、转账、修改密码、打印凭条、查询余额、查询交易记录到主界面:当该状态退出时执行。
4.状态机图
这里写图片描述

### UML建模设计模式在银行ATM取款系统中的应用 #### 1. 需求分析到设计模型的转换 软件系统设计的核心在于将需求转化为具体的实现方案。对于银行ATM取款系统而言,“输入”的需求分析涵盖了用户交互流程、安全机制、异常处理等方面;而“输出”则是详细的软件设计文档,包括但不限于UML图谱和其他技术规格说明[^1]。 #### 2. 使用统一建模语言(UML)进行表达 为了更清晰地展示系统的架构和行为特征,在此采用被广泛认可的标准——即Unified Modeling Language (UML),其选项B为正确答案[^2]。该标准允许开发者通过图形化的方式描绘复杂的信息流和服务接口定义。 #### 3. 对象模型的重要性及其作用 构建有效的对象模型能够帮助理解并呈现静态的数据属性及其实体间的联系。具体来说,这涉及到如何利用面向对象的概念来抽象现实世界的业务逻辑,并将其映射成计算机程序内部的数据结构形式[^3]。这对于确保整个项目的连贯性和一致性至关重要。 #### 4. 实际案:基于UML的ATM类图绘制 考虑一个简单的场景,其中涉及几个主要组件: - 用户(`User`)可以拥有多个账户(`Account`) - 自动柜机(`ATM`)会执行各类交易操作(`Transaction`) - 后端银行系统(`BankSystem`)提供必要的认证和支持服务给前端设备 这些关系可以通过如下所示的简化版UML类图加以体现: ```mermaid classDiagram User --> Account : has many ATM o-- Transaction : manages ATM ..> BankSystem : interacts with ``` 此外,还可以进一步扩展此类图表以覆盖更多细节,比如引入状态机视图来描述不同状态下机器的行为变化规律,或是活动图用来展现特定事务过程的时间顺序安排等。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值