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次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,然后系统根据服务类型进行相应操作,若选择取款操作,系统确认取款请求以后,会询问取款数额,系统界面显示输入数额请求,用户输入取款数额,系统接到信息后发出确认取款请求,用户选择确认,系统选择确认后会向点钞机发出钞请求,然后点钞机出钞,系统向用户发出去钞请求,用户取钞以后,系统记录此次取款并自动计算余额,更新帐户信息,然后系统界面进入是否选择继续服务界面,用户点击否,然后系统退出银行卡并提醒用户取卡,用户取走银行卡,至此,取款业务完成。
软件工程A T M取款U M L图 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KIIATM自动取款机系统的分析设计一.需求分析1.ATM机要可以判断磁卡的类别,如果不是有效的磁卡则退卡;2.可以在较快的时间内响应用户的请求,并针对相应的请求执行正确的操作;3.查询自己的账户时应显示余额和可用余额,并显示ATM机里所拥有的现金面值,让用户可以做出正确的选择;4.提取现金时提示用户输入取款金额并判断输入是否确,如果错误提醒用户并要求重新操作,正确则提醒用户收取现金;5.转账汇款时让用户选择转账类型,要求用户输入转账账号并要求用户输入两次,以确保没有输入错误,在两次输入都正确的情况下,让用户输入转账金额,并作最后的认;6.进入修改密码界面后提醒用户输入新密码,并要求再次输入以确保密码统一无误,在确认后完成修改操作,并提醒用户新密码生效;7.对于错误的操作或者操作延时做出有效的处理用例图二.A TM系统静态结构模型系统包图系统类图三.A TM系统动态建模状态图活动图客户首先将磁卡插入ATM机中,初始化ATM屏幕,根据屏幕提示输入密码,系统验证密码正确性,若不正确,重新输入密码,若连续输入密码三次不正确,退出服务.若输入密码正确,客户根据提示选择取款服务,然后输入取款数额,系统判断输入的取款数额的合法性,若不合法(这里不考虑透支)退出服务,若合法,吐款机吐款.序列图客户将ATM卡插入读卡机,读卡机将信息传给客户管理系统,客户规律提出查询密码,ATM显示屏幕显示输入密码的请求,客户输入密码进入输入设备,输入设备将密码传递到客户管理系统,客户管理系统再将确认密码的请求传给ATM系统,ATM系统确认密码的合法性传到客户管理系统,客户管理系统将服务类别的询问通过显示屏幕显示出来,供客户选择服务类型。
客户输入取款请求到输入设备,输入设备将客户的服务请求传到客户管理,客户管理系统在将取款数额的询问通过显示屏幕反馈给客户,客户再输入取款数额到输入设备,再传递到客户管理系统,客户管理系统将取款确认的询问通过显示屏幕返回到客户,显示确认数额的请求,客户输入确认信息到输入设备,输入设备传递到客户管理系统,在将数额合法性的确认请求传递到ATM系统,ATM系统确认数额的合法性返回到客户管理系统到点钞机,发出出钞请求,吐款机出钞,客户取钱。
ATM自动取款机系统1、系统总体功能需求:ATM系统是一个复杂的软件控制硬件的系统,了解外部设备如何协调工作是整个建模的基础。
这是以具体的业务为出发点对它进行建模,一个功能完全的ATM系统必须包括以下的几个模块。
(1)读卡机模块在这个功能模块中,允许客户使用银行卡插入读卡机。
读卡机来识别卡的种类并在显示器上提示输入密码。
(2)键盘输入模块在这个功能模块中,客户可以输入密码和取款金额,并选择要进行的事务。
通常在这个键盘上只设置数字键和选择键,目的是方便客户使用。
只有在这个功能模块中,需要客户的交互。
(3)IC认证模块这个功能模块主要用于鉴别卡的真伪。
基于IC卡的安全授权系统,完全可以从技术上严格保证卡的唯一性与防伪性,使基于数字形式的电子政务和电子商务安全运转,其目的就是网络安全。
(4)显示模块在这个功能模块中,显示一切与客户有关的信息,包括一切交互时所需的提示,确认等信息。
(5)吐钱机模块在这个功能模块中,吐钱机按照客户的需求,选择合适面值的钞票给客户,是比较关键的一步。
(6)打印报表模块在这个功能模块中,是提供给客户一张取款凭据。
客户可以选择打印与不打印。
主要信息是卡号和金额等。
(7)监视器模块在这个功能模块中,为防止意外事件产生而设置摄像头,以保证客户交易的安全性。
银行有权调查取款记录。
①读卡机模块需求(1)规格说明:读取客户插入的银行卡,如下图:(2(3)输入:插入银行卡。
(4)处理:读取卡号等信息,查找数据库中找到相关的信息,识别卡的类型并记录卡号和所属银行等信息。
(5)输出:输出卡号及所属银行等信息。
②键盘输入模块需求(1)规格说明:接受来自客户的输入,如下图:(2)引言:客户通过键盘与机器交互。
(3)输入:输入密码、输入取款金额、查询余额、查询密码、打印报表和取卡等。
(4)处理:连接远程服务器来验证密码,传回余额等相关信息。
(5)输出:验证密码正确则显示正确提示信息,查询余额操作并显示余额,如有取款命令则提示吐卡机工作,如需打印报表则提示打印机工作等。
UML实验报告2.用例建模掌握客户需求分析的方法和步骤了解以用例驱动的软件开发方法掌握用例图的画法掌握用Rose或PowerDesigner进行用例建模的具体方法和步骤1.A TM系统用例图:余额查询2.这个A TM系统主要显示了对客户提供存取款,转账,余额查询和密码修改的功能,以及银行管理员对客户修改密码,现金和A TM设备维护的操作。
3.描述用例“取款”用例用例编号:0671用例名:转账执行者:.人执行者:客户.系统执行者:取款子系统目的:执行取款任务类型:端点主要的基本的级别:一级过程描述: 1.插卡2.输入密码3.输入取款金额确定4.取款打印凭条5.退出系统“查询”用例用例编号:0670用例名:查询账户执行者:.人执行者:客户.系统执行者:查询子系统目的:执行查询任务类型:端点主要的基本的级别:一级过程描述: 1.插卡2.输入密码3.查询账号4.人名币查询5.查询打印凭条6.退出系统“修改密码”用例用例编号:0669用例名:修改密码执行者:.人执行者:客户、银行工作人员.系统执行者:修改密码子系统目的:执行修改密码任务类型:端点主要的基本的级别:一级过程描述:1.插卡2.输入密码3.修改密码4.输入新密码5.再次输入新密码6.修改成功退出系统“转账”用例用例编号:0668用例名:转账执行者:.人执行者:客户.系统执行者:转账子系统目的:执行转账任务类型:端点主要的基本的级别:一级过程描述:1.插卡。
2.输入密码。
3.进入转账界面。
4.输入转入卡号或账号(只能同行转账)。
5.再次输入卡号或账号。
6.输入转入金额确定。
7.退出系统“现金管理”用例用例编号:0667用例名:现金管理执行者:.人执行者:银行管理员.系统执行者:现金管理子系统目的:执行现金管理任务类型:端点主要的基本的级别:一级过程描述: 1.进入银行系统2.进行添加现金操作3.退出系统“维护A TM设备”用例用例编号:0667用例名:维护A TM设备执行者:.人执行者:银行管理员.系统执行者:维护A TM设备子系统目的:执行现金管理任务类型:端点主要的基本的级别:一级过程描述: 1.进入银行系统2.对A TM设备进行检查3.对A TM设备进行相应维护4.退出系统3.活动图建模了解活动图建模的概念掌握描述一个操作执行过程中所完成工作(动作)的方法掌握描述对象内部工作的具体步骤ATM取款子系统活动图:4 客户需求分析规格说明书/系统分析规格说明书了解用包模型来描述系统体系结构(用例模型)的方法掌握用Rose或PowerDesigner进行包图建模的具体方法和步骤掌握书写客户需求规格说明书的基本格式5.类建模●对象类建模理解面向对象系统分析和对象类建模的概念了解和掌握面向对象系统分析的方法和步骤了解和掌握寻找待开发系统中类的方法和技巧掌握使用Rose或PowerDesigner建立类模型的方法●类的继承建模理解类之间的继承关系了解和掌握分析类之间继承关系的方法掌握使用Rose或PowerDesigner建立类之间继承关系模型的过程●对象类关联关系建模理解面向对象类之间关联关系的概念了解和掌握分析类之间的关联关系的方法了解和掌握待开发系统中类之间关联关系的分析方法掌握使用Rose或PowerDesigner如何对关联关系进行建模的过程许多单个的帐户组成了帐户库。
《基于UML的ATM系统设计》ATM自动取款机系统业务用例图.该系统主要有两个执行者:银行管理员和客户。
银行管理员会启动或参与的业务主要有添加现金、维护ATM硬件设备和协助客户改密码。
客户启动或参与的业务主要有修改密码、取钱、转账和查询余额。
ATM自动提款系统用例图1.名称:取款描述:用户插入卡片,并输入正确的密码后,系统连接上银行的数据库。
用户输入所需金额,系统在检查帐户余额后决定是否允许提供该服务。
预期结果:用户拿到需要的金额。
用户目标:用户想要取到所需的金额。
参加者:用户,押款人员,银行数据库。
依赖性:见图1-2前置条件:1. 用户帐号必须是有效帐号。
2. 用户必须正确登录。
3. 用户的帐户中的余额必须大于取款额。
方案:方案1:用户正常登录(插卡,输入正确密码)后,输入需要取的金额,所取金额小于帐户中的余额,取到需要的钱数。
方案2:用户正常登录后,输入需要取的金额,所取金额大于帐户中的余额,提示错误信息,要求重新输入,直到输入正确为止,拿到所输入的钱数。
方案3:与方案(2)相同,但提示错误信息后,决定停止该服务。
工作流:1. 用户正常登录。
2. 用户提出取款申请。
3. 后台数据库验证取款申请的合法性。
4. 更新数据该帐户的内容(减少帐户上的余额)。
5. 用户得到所需的钱。
6. 用户决定是否打印交易记录。
后置条件:帐户金额下降了,新的余额就是老的余额扣除提款金额。
商业规则:1. 顾客可以用银行卡从对应的帐户中支取现金,现金必须是100元的整数倍。
2. 用户一次提款最多为2,000元人民币。
3. 用户一天提款不得超过3次。
需求:1. 一个ATM系统必须支持每天500次的交易量。
2. 系统在无法完成该服务时,提出错误信息。
3. 系统在无法接待用户时,进入关闭状态。
实现注意事项:1. 用户可随时返回上一级菜单。
2. 用户可随时停止该服务。
3. 机器中没有所需钱数,提示错误信息。
2. 名称:用户转帐描述:用户需要利用A TM系统进行转帐业务期望结果:让用户得到成功转帐业务用户目标:后台数据库为用户转帐提供相应服务参与者/角色:后台数据库、用户依赖性:用户的转帐操作使用数据库响应转帐前置条件:用户登录A TM机,进入转帐子系统方案:1.用户登录A TM系统2.用户请求转帐服务3.用户得到相应服务工作流:1.用户登录ATM系统2.用户发送转帐请求3.系统响应用户的发送请求4.系统进行相应处理更新5.用户选择打印相关记录后置条件:用户得到转帐服务商业规则:1.用户每次输入的帐号应为合法帐号(帐号位数正确、不含非法字符等)2.用户每次欲转款额应小于规定的每次允许转出的款额,并且欲转款额应小于信用卡上的总余额3.用户每天的转帐次数不应超过规定值需求:多个用户可以在不同地点同时进行转帐业务注意事项:用户输入的帐号非法时或欲转的款额非法时,系统作何处理3. 名称:查询余额描述:期望结果:余额数量信息用户目标:用户得知余额数量参加者/角色:依赖性:前置条件:用户拥有一个账号,登录后台数据库方案/工作流:1.登录ATM2. 发出查询余额请求3.响应请求4.得到余额信息(扩展:打印回执单)后置条件:商业规则:需求:实现注意事项4、名称:存款客户将ATM卡插入读卡机,读卡机将信息传给客户管理系统,客户规律提出查询密码,ATM显示屏幕显示输入密码的请求,客户输入密码进入输入设备,输入设备将密码传递到客户管理系统,客户管理系统再将确认密码的请求传给ATM系统,ATM系统确认密码的合法性传到客户管理系统,客户管理系统将服务类别的询问通过显示屏幕显示出来,供客户选择服务类型。