UML实验1ATM自动取款机用例图
- 格式:doc
- 大小:233.00 KB
- 文档页数:4
软件建模与UML实验报告
ATM系统
、
ATM系统
用户在A TM 机上的用例图
用户和A TM 机之间的类图
用户取款时序图
在A TM系统中各个包图之间存在的依赖关系
用户进行各种操作的协作图输入密码不正确
状态图
用户活动图
ATM系统的部署图
小结:通过本次综合实验,基本上能用Rose画出各种图形,对软件建模有了进一步的了解。
使用UML进行系统建模,就是使用面向对象的方法来分析系统,然后用可视化的模型将信息用标准的图形直观地显示出来,以此建立面向对象的系统模型。
通过用工具Rose将系统模型话,可视化。
能使读者方便了解系统。
自动取款机所具有的基本功能:
●金融卡与信用卡识别:包含伪卡识别以及密码验证。
●主菜单项:这是一台ATM (自动柜员机)最主要的人机界面,提供各
项功能给银行的客户使用,比较先进的自动拒员机除了基本的“提款”、“转帐”、“更改密码”功能之外,还具有“存款”、“提取外币”等功能。
●结束操作:客户执行完“菜单项”的功能之后,可以选择“打印单据”或“不
打印单据”选好之后就结束此次交易操作。
●ATM 应具备的功能详列如下:
●提款
●存款
●转帐
●余额查询
●更改密码
更改密码。
UML建模语言7种图(以银行ATM系统为例)分类:JAVA2010-04-21 20:40 2911人阅读评论(0) 收藏举报uml语言活动作业优化1 用例图:描述了系统提供的一个功能单元。
以一种可视化的方式理解系统的功能需求,"角色"与系统内用例之间的关系。
本例中,参与者"银行储户"和ATM机。
简化后的ATM机仅有取款、存款及其余功能。
其余功能不做详细说明。
2 类图:显示系统的静态结构。
逻辑类、实现类,实现类就是程序员处理的实体。
类在类图上使用包含三个部分的矩形来描述,如图2所示。
最上面的部分显示类的名称,中间部分包含类的属性,最下面的部分包含类的操作(或者说"方法")。
本例中许多单个的帐户组成了帐户库,帐户具有帐户类型、帐户号、余额三个属性。
许多银行储户组成了储户库。
ATM系统包含了许多ATM机。
银行储户及ATM机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。
通过类图不仅可以使设计者明确的表达自己的设计意图,也能帮助自己整理思路,充实及优化自己的设计。
3 序列图:显示具体用例(或者是用例的一部分)的详细流程。
它几乎是自描述的,并且显示了流程中中不同对象之间的调用关系,同时还可以很详细地显示对不同对象的不同调用。
序列图有两个维度:垂直维度以发生的时间顺序显示消息/调用的序列;水平维度显示消息被发送到的对象实例。
本例以时间为顺序描述了顾客在ATM机上取款时信息的流动情况,顺序图着重于对象间消息传递的时间顺序。
4 状态图:表示某个类所处的不同状态和该类的状态转换信息。
包括5个基本元素:初始起点,它使用实心圆来绘制;状态之间的转换,它使用具有开箭头的线段来绘制;状态,它使用圆角矩形来绘制;判断点,它使用空心圆来绘制;以及一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。
本例描述了顾客在ATM机上进行操作会经历的几种状态,及各种状态之间转换的条件。
案例一: ATM 网络系统问题陈述:设计一个支持银行ATM 计算机网络系统的软件。
这个网络包括柜员机和自动取款机(ATM ),由联营机构共享。
每个营业部提供各自的计算机来维护它的帐户和处理面临的事务。
柜员机属于各营业部,并且直接与营业部计算机通信,柜员输入帐务和处理数据。
ATM 与中心处理机通信。
中心处理机分理事务到相应的营业部。
ATM 接收现金卡,与用户交互,与中心计算机通信完成事务处理,分配现金和打印收据。
系统需要恰当的记录和安全保证。
系统必须正确控制并发访问同一帐号。
营业部提供自己的计算机软件。
共享系统的费用由各营业部根据现金卡数量来分担。
问题描述示意图:一、建立对象模型从问题陈述名词及领域知识中提取出的候选类:筛选掉不必要的类:相干的冗余的建成类的数据字典:建成类的初步对象图(对象模型之一)通信被进入输入通信输入涉及授权注:这里将“业务”分成(柜员)业务和(远程)ATM业务具有属性和继承的ATM对象模型涉及保存有二、建立动态模型ATM通常情况下的脚本:有例外情况ATM脚本:ATM 脚本的事件轨迹:(通常情况)用户ATM 联营机构营业部营业部业务成功业务成功分配现金要求取走现金用户取走现金询问继续回答“终止”打印收据推出现金卡取走现金卡显示主屏ATM对象类的状态图:•插入卡片错误密码取消等待终止取消5秒网络响应其中:网络响应=合法帐户、非法帐户、非法营业部代码、非法密码、业务成功、业务失败联营机构对象类状态图••业务处理 核实帐户 [非法代码]/营业部代码营业部业务失败 营业部业务成功 [合法代码] 非法营业部帐户//业务失败 /业务成功 非法帐户营业部对象类状态图:• •处理营业部业务 与营业部验证卡片[无效]/营业部代码[失败] [成功]/营业部业务失败/营业部业务成功[无效]/非法营业部代码三、系统设计ATM系统的结构:说明:1)ATM系统软件总体结构:交互式界面和事务处理型系统的混合体。
ATM(自动取款机)的用例图、类图、顺序图、状态图、活动图及协作图1 用例图参与者"银行储户"和ATM机。
简化后的ATM机仅有取款、存款及其余功能。
其余功能不做详细说明。
2 类图图2所示的银行系统类图和图5是类似的,只是将工作人员换成了ATM。
整个银行系统包括了帐户库、银行储户库及ATM系统。
许多单个的帐户组成了帐户库。
帐户具有帐户类型、帐户号、余额三个属性,均为private,其类型分别为char,int,double。
六个操作分别为setType、getType、getAccountNumbe、setAccountNumbe、caculateBalance、getBalance,除caculateBalance为protected其余均为public。
setType设置帐户类型,返回类型为void,参数类型为char,输入帐户类型。
getType获取帐户类型,返回类型为char,无参数。
setAccountNumbe设置帐户号,返回类型为void,参数类型为int,输入帐户号。
getAccountNumbe获取帐户号,返回类型为int,无参数。
caculateBalance计算余额,返回类型为void,参数为double,第一个参数为输入存取款数额,第二个参数为存款余额,既为输入也为输出。
getBalance获取帐户余额,返回类型为double,无参数。
许多银行储户组成了储户库。
ATM系统包含了许多ATM机。
银行储户及ATM 机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。
更多的属性及操作都可以一一加上,使这个类图更详细更完整,从而使参与项目的每个成员都能无歧义的明了整个设计的类的结构。
同样对于一个真正的银行系统,这个类图过于简单。
比如帐户类型我们可以先定义一个abstract class,它包含一个帐户最基本的属性及操作。
UML分析设计文档ATM取款机-顺序图1.Session当一名客户将一张ATM卡片插入机器时,一个Session开始,ATM系统读卡(如果客户执行非法操作或卡片损坏,卡片将被退出,同时屏幕将显示出错信息,而被Session异常中断)。
进行验证客户密码的登录功能。
客户成功登录系统后,可以选择一种或多种操作,直至退卡。
如果客户输入五次无效的PIN,则Session 被异常中断,ATM卡将被吞掉。
其顺序图如下所示:2.TaskTask是一种抽象的用例,表示所有类型的处理所共有的行为,Task的具体类型按照适当的方式执行一定的操作。
根据Task(存款、取款,转帐,查询,更改密码)的事件流描述给出具体的处理。
其顺序图如下:3.Deposit插入用户的银行卡后,根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,选择存款业务,系统确认存款请求以后,系统界面进入请放入存款界面,然后用户将存款放入存款口,系统提示点钞机进行点钞,点钞完毕后,系统记录存款操作并更新余额,系统界面显示存款完毕,然后系统界面进入是否选择继续服务界面,用户点击否,则系统退出银行卡并提示用户取卡,用户取走卡后,存款业务完成。
存款操作的顺序图如下:4.WithDraw插入用户的银行卡,并根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,然后系统根据服务类型进行相应操作,若选择取款操作,系统确认取款请求以后,会询问取款数额,系统界面显示输入数额请求,用户输入取款数额,系统接到信息后发出确认取款请求,用户选择确认,系统选择确认后会向点钞机发出钞请求,然后点钞机出钞,系统向用户发出去钞请求,用户取钞以后,系统记录此次取款并自动计算余额,更新帐户信息,然后系统界面进入是否选择继续服务界面,用户点击否,然后系统退出银行卡并提醒用户取卡,用户取走银行卡,至此,取款业务完成。
UML分析设计文档ATM取款机-顺序图————————————————————————————————作者:————————————————————————————————日期:学号姓名组别系统题目负责部分第十六组ATM取款机系统顺序图1.Session当一名客户将一张ATM卡片插入机器时,一个Session开始,ATM系统读卡(如果客户执行非法操作或卡片损坏,卡片将被退出,同时屏幕将显示出错信息,而被Session异常中断)。
进行验证客户密码的登录功能。
客户成功登录系统后,可以选择一种或多种操作,直至退卡。
如果客户输入五次无效的PIN,则Session 被异常中断,ATM卡将被吞掉。
其顺序图如下所示:2.TaskTask是一种抽象的用例,表示所有类型的处理所共有的行为,Task的具体类型按照适当的方式执行一定的操作。
根据Task(存款、取款,转帐,查询,更改密码)的事件流描述给出具体的处理。
其顺序图如下:3.Deposit插入用户的银行卡后,根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,选择存款业务,系统确认存款请求以后,系统界面进入请放入存款界面,然后用户将存款放入存款口,系统提示点钞机进行点钞,点钞完毕后,系统记录存款操作并更新余额,系统界面显示存款完毕,然后系统界面进入是否选择继续服务界面,用户点击否,则系统退出银行卡并提示用户取卡,用户取走卡后,存款业务完成。
存款操作的顺序图如下:4.WithDraw插入用户的银行卡,并根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,然后系统根据服务类型进行相应操作,若选择取款操作,系统确认取款请求以后,会询问取款数额,系统界面显示输入数额请求,用户输入取款数额,系统接到信息后发出确认取款请求,用户选择确认,系统选择确认后会向点钞机发出钞请求,然后点钞机出钞,系统向用户发出去钞请求,用户取钞以后,系统记录此次取款并自动计算余额,更新帐户信息,然后系统界面进入是否选择继续服务界面,用户点击否,然后系统退出银行卡并提醒用户取卡,用户取走银行卡,至此,取款业务完成。