UML分析设计文档ATM取款机,顺序图
- 格式:doc
- 大小:362.00 KB
- 文档页数:8
ATM自动取款机系统的分析设计一.需求分析1.ATM机要可以判断磁卡的类别,如果不是有效的磁卡则退卡;2.可以在较快的时间内响应用户的请求,并针对相应的请求执行正确的操作;3.查询自己的账户时应显示余额和可用余额,并显示ATM机里所拥有的现金面值,让用户可以做出正确的选择;4.提取现金时提示用户输入取款金额并判断输入是否确,如果错误提醒用户并要求重新操作,正确则提醒用户收取现金;5.转账汇款时让用户选择转账类型,要求用户输入转账账号并要求用户输入两次,以确保没有输入错误,在两次输入都正确的情况下,让用户输入转账金额,并作最后的认;6.进入修改密码界面后提醒用户输入新密码,并要求再次输入以确保密码统一无误,在确认后完成修改操作,并提醒用户新密码生效;7.对于错误的操作或者操作延时做出有效的处理用例图二.A TM系统静态结构模型系统包图系统类图三.A TM系统动态建模状态图活动图客户首先将磁卡插入ATM机中,初始化ATM屏幕,根据屏幕提示输入密码,系统验证密码正确性,若不正确,重新输入密码,若连续输入密码三次不正确,退出服务.若输入密码正确,客户根据提示选择取款服务,然后输入取款数额,系统判断输入的取款数额的合法性,若不合法(这里不考虑透支)退出服务,若合法,吐款机吐款.序列图客户将ATM卡插入读卡机,读卡机将信息传给客户管理系统,客户规律提出查询密码,ATM 显示屏幕显示输入密码的请求,客户输入密码进入输入设备,输入设备将密码传递到客户管理系统,客户管理系统再将确认密码的请求传给ATM系统,ATM系统确认密码的合法性传到客户管理系统,客户管理系统将服务类别的询问通过显示屏幕显示出来,供客户选择服务类型。
客户输入取款请求到输入设备,输入设备将客户的服务请求传到客户管理,客户管理系统在将取款数额的询问通过显示屏幕反馈给客户,客户再输入取款数额到输入设备,再传递到客户管理系统,客户管理系统将取款确认的询问通过显示屏幕返回到客户,显示确认数额的请求,客户输入确认信息到输入设备,输入设备传递到客户管理系统,在将数额合法性的确认请求传递到ATM系统,ATM系统确认数额的合法性返回到客户管理系统到点钞机,发出出钞请求,吐款机出钞,客户取钱。
基于UML的ATM自动取款机系统设计定稿————————————————————————————————作者:————————————————————————————————日期:成都信息工程学院《系统分析师UML实物手册》题目 ATM自动取款机系统的分析设计专业信息管理与信息系统班级 2007级1班学号 2007215008 2007215031学生姓名李秋香刘福生摘要ATM是Automatic Teller Machine的缩写,意思是自动柜员机,因大部分用于取款,又称自动取款机。
ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。
它是一种高度精密的机电一体化装置,利用磁性代码卡或智能卡实现金融交易的自助服务,代替银行柜面人员的工作.可提取现金、查询存款余额、进行账户之间资金划拨、余额查询等工作;还可以进行现金存款(实时入账)、支票存款(国内无)、存折补登、中间业务等工作。
持卡人可以使用信用卡或储蓄卡,根据密码办理自动取款、查询余额、转账、现金存款,存折补登,购买基金,更改密码,缴纳手机话费等业务。
UML(Unified Modeling Language)是一套用来表达面向对象分析设计的国际标准语言。
它具有以下特点:统一标准;面向对象;可视化、表示能力强大;是系统建模语言,独立于过程;概念明确。
UML 是数据建模和商务流程建模的集成建模语言。
本文根据ATM系统的特点及金融交易的特殊要求,运用UML统一建模语言来对ATM系统的硬件及软件结构进行了整体设计。
软件上以模块化及表单驱动的方式,实现了金融交易的安全处理、通讯故障诊断等功能,并就通讯故障诊断提出了一种新的基于网络应用层、传输层、网络层的方法.该系统可同时支持磁卡和IC卡,已应用于实际的金融系统,取得了良好的经济效益和社会效益.关键词:UML ATM 系统AbstractATM is an acronym for Automatic Teller Machine, which means automated teller machine, as most for the money, also known as automated teller machines。
实验 1 用例图
实验目的:
1.学会分析系统中的参与者和用例
2.掌握用例图的绘制方法
实验学时
4 学时,必做。
实验内容:
画出ATM 系统的用例图
实验步骤:
1.分析
ATM 自动取款机:客户可以取钱,存钱,查询余额,转帐,修改密码。
通过分析可找出如下几个参与者:
1.ATM
2.客户
通过分析得到如下用例:
(1)存款
(2)取款
(3)查询余额
(4)转帐
(5)修改密码
(6)打印收据
2.绘图步骤:
下面介绍在Rose 中创建用例图的过程:
(1)在“ Use Case View “中双击Main 图,或者右击“ Use Case View “,弹出在快捷菜单中选择“ New ” 一>" UseCase Diagram”,双击图标,出现图1,为编辑用例图做好准备。
(2)进行绘制用户用例图
(3)绘制ATM用例图
存款
转账
修改密码
< ___ /
打印收据
思考题:
1. 参与者为什么是一个类?
因为uml的参与者要做为用户,进行管理。
它对系统由参与操作。
2. 如何命名一个用例?
Class Specification for ATI
Detail
General Op^rati ons Attributes
A Bocumentati on
| Files
加ply 1Browse ▼ 1
OK Cancel。
软件建模(UML)作业班级:计算机0806班学号:20083007姓名:姜俊方UML 个人作业一、ATM 机需求分析图二、用例图用于描述一组用例、参与者及它们之间的连接关系。
用例图仅仅从角色使用系统的角度描述系统中的信息,也是站在系统外部查看系统功能,而并不描述该功能在系统内部是如何实现的。
用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。
用例可应用于整个系统,也可应用于系统的一部分,包括子系统、单个的类甚至接口。
通常,用例不仅代表这些元素所期望的行为,而且还可把这些元素用作开发过程中测试用例的基础。
椭圆:用例,是用户与计算机之间的一次典型交互作用。
人形:参与者(外部执行者)是指用户在系统中所扮演的角色。
ATM 系统的用例图读卡机模块键盘输入模块IC认证模块显示模块吐钱机模块打印报表报表监视器模块ATM 自动取款存钱取钱转账查询余额付款银行工作人员客户修改密码添加信息银行工作人员维护硬件设备ATM 提款系统用例图存款查余额用户更改密码取款验证用户付款信用三、类图用于描述一组类、接口、协作及它们间的静态关系。
在面向对象系统的建模中,类图最为常用,它用来阐明系统的静态结构。
类是对一组具有相同属性、操作、关系和语义的对象的描述,其中对类的属性和操作进行描述时的一个最重要的细节是它的可见性。
一个典型的系统模型中通常有若干个类图。
一个类图不一定要包含系统中所有的类,一个类可加到几个类图中。
在类图中类用矩形框来表示,它的属性和操作分别列在分格中。
类之间可以多种方式链接(如关联、泛化、依赖和实现等)。
关系用类框之间的连线来表示,不同的关系用连线上和连线端头处的修饰符来区别。
类图数据库ATM键盘ATM 屏幕吐钱机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机上进行操作会经历的几种状态,及各种状态之间转换的条件。
1.名称:取款描述:用户插入卡片,并输入正确的密码后,系统连接上银行的数据库。
用户输入所需金额,系统在检查帐户余额后决定是否允许提供该服务。
预期结果:用户拿到需要的金额。
用户目标:用户想要取到所需的金额。
参加者:用户,押款人员,银行数据库。
依赖性:见图1-2前置条件:1. 用户帐号必须是有效帐号。
2. 用户必须正确登录。
3. 用户的帐户中的余额必须大于取款额。
方案:方案1:用户正常登录(插卡,输入正确密码)后,输入需要取的金额,所取金额小于帐户中的余额,取到需要的钱数。
方案2:用户正常登录后,输入需要取的金额,所取金额大于帐户中的余额,提示错误信息,要求重新输入,直到输入正确为止,拿到所输入的钱数。
方案3:与方案(2)相同,但提示错误信息后,决定停止该服务。
工作流:1. 用户正常登录。
2. 用户提出取款申请。
3. 后台数据库验证取款申请的合法性。
4. 更新数据该帐户的内容(减少帐户上的余额)。
5. 用户得到所需的钱。
6. 用户决定是否打印交易记录。
后置条件:帐户金额下降了,新的余额就是老的余额扣除提款金额。
商业规则:1. 一个用户一天提款总数不得超过5,000元人民币。
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.用户每天的转帐次数不应超过规定值需求:多个用户可以在不同地点同时进行转帐业务注意事项:用户输入的帐号非法时或欲转的款额非法时,系统作何处理4. 名称:查询余额描述:期望结果:余额数量信息用户目标:用户得知余额数量参加者/角色:依赖性:前置条件:用户拥有一个账号,登录后台数据库方案/工作流:1.登录ATM2. 发出查询余额请求3.响应请求4.得到余额信息(扩展:打印回执单)后置条件:商业规则:需求:实现注意事项5. 名称:登录描述:用户插入卡片,并输入密码,数据库验证是否允许该用户进入系统。
电子商务系统结构实验(一)报告专业:-姓名:学号:-课程名称:电子商务系统结构实验名称:ATM简单模型目录1、简单ATM机的用例图: (3)2、取钱 (3)2.1、顺序图 (4)2.2、合作图: (5)2.3、类图: (6)3、存款: (6)3.1、顺序图: (6)3.2、合作图: (8)3.3、类图: (9)4、改变密码: (10)4.1、顺序图: (10)4.2、合作图: (11)4.3、类图: (11)5、付款: (12)5.1、顺序图: (12)5.2、合作图: (13)5.3、类图: (14)6、查阅结余: (15)6.1、顺序图: (15)6.2、合作图: (16)6.3、类图 (17)实验报告【实验目的】了解ATM机的取现流程设计的方法和步骤,认识并理解UML通用的标准建模语言基本概念和结构,掌握通用建模图例在Rational rose中的使用方法,并能运用Rational rose建模工具进行简单的业务流程设计。
【实验内容】建立简单的ATM机应用模型,功能包括取钱、存款、改变密码、用信用卡付款及查询结余。
用Rose软件分别画出各功能流程的顺序图、合作图及类图。
【实验步骤】步骤1:添加客户添加客户:李明。
步骤2:添加用例为客户添加取钱、存款、改变密码、用信用卡付款及查询结余用例。
步骤3:画出系统用例视图中的Main用例图根据系统中的参与者、用例以及它们之间的关系画出系统用例视图中的Main用例图步骤4:画出顺序图步骤5:画出合作图步骤6:绘制类图【实验结果】1、简单ATM 机的用例图:查询结余改变密码客户信用系统付款2、取钱:2.1、顺序图: 李明:客户2.2、合作图:6: 输入密码(123)9: 选择事务(取钱)2.3、类图:3、存款:3.1、顺序图:: 李明:客户3.2、合作图:6: 输入密码(123)9: 选择事务(存钱)3.3、类图:4、改变密码:4.1、顺序图:: 李明:客户4.2、合作图:6: 输入密码(123)9: 选择事务(改变密码)11: 输入原密码14: 输入新密码4.3、类图:5、付款:5.1、顺序图:: 信用系统: 李明:客户关5.2、合作图:6: 输入密码(123)9: 选择事务(付款): 信用系统5.3、类图:6、查阅结余:6.1、顺序图:: 李明:客户6.2、合作图:6: 输入密码(1234)9: 选择事务(查阅结余)6.3、类图:。
目录一:需求规格说明书。
11.1ATM系统的需求概述。
11.2ATM系统的需求要点。
11.3术语定义。
21.4问题范围。
2 二:需求分析。
22.1划分主题。
32.2确定属性。
42.3识别继承关系。
52.4建立动态模型。
62.5状态图。
92.6基本系统模型图的建立。
102.7功能级数据流图的建立。
112.8系统问题域子系统结构。
122.9 ATM程序路径设计。
13 三:源代码。
14一、需求规格说明书1.1、ATM系统的需求概述图1-1 ATM(自动取款机)系统1.2、ATM系统的需求要点拟开发一个自动取款系统(参考图1-1),它是一个由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。
ATM和中央计算机由总行投资购买。
总行拥有多台ATM,分别设在全市各主要街道上。
分行负责提供分行计算机和柜员终端。
柜员终端设在分行营业厅及分行下属的各个储蓄所内。
该系统的软件开发成本由各个分行分摊。
银行柜员使用柜员终端处理储户提交的储蓄事务。
储户可以用现金或支票向自己拥有的某个账户内存款或开新账户。
储户也可以从自己的账户中取款。
通常,一个储户可能拥有多个账户。
柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。
柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。
拥有银行账户的储户有权申请领取现金兑换卡。
使用现金兑换卡可以通过ATM访问自己的账户。
目前仅限于用现金兑换卡在ATM上提取现金(即取款),或查询有关自己账户的信息(如余额)。
将来还可能要求用ATM来办理转账、存款。
所谓现金兑换卡就是一个特制的磁卡,上面有分行代码和卡号。
分行代码唯一标识总行下属的一个分行,卡号确定了这张卡可以访问哪些账户。
通常,一张卡可以访问储户的若干个账户,但是不一定能访问这个储户的全部账户。
每张卡仅属于一个储户所有,但是,同一张卡可能有多个副本,因此,必须考虑同时在若干台ATM上使用同样的现金兑换卡的可能性。
UML分析设计文档ATM取款机-顺序图1.Session当一名客户将一张ATM卡片插入机器时,一个Session开始,ATM系统读卡(如果客户执行非法操作或卡片损坏,卡片将被退出,同时屏幕将显示出错信息,而被Session异常中断)。
进行验证客户密码的登录功能。
客户成功登录系统后,可以选择一种或多种操作,直至退卡。
如果客户输入五次无效的PIN,则Session 被异常中断,ATM卡将被吞掉。
其顺序图如下所示:2.TaskTask是一种抽象的用例,表示所有类型的处理所共有的行为,Task的具体类型按照适当的方式执行一定的操作。
根据Task(存款、取款,转帐,查询,更改密码)的事件流描述给出具体的处理。
其顺序图如下:3.Deposit插入用户的银行卡后,根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,选择存款业务,系统确认存款请求以后,系统界面进入请放入存款界面,然后用户将存款放入存款口,系统提示点钞机进行点钞,点钞完毕后,系统记录存款操作并更新余额,系统界面显示存款完毕,然后系统界面进入是否选择继续服务界面,用户点击否,则系统退出银行卡并提示用户取卡,用户取走卡后,存款业务完成。
存款操作的顺序图如下:4.WithDraw插入用户的银行卡,并根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,然后系统根据服务类型进行相应操作,若选择取款操作,系统确认取款请求以后,会询问取款数额,系统界面显示输入数额请求,用户输入取款数额,系统接到信息后发出确认取款请求,用户选择确认,系统选择确认后会向点钞机发出钞请求,然后点钞机出钞,系统向用户发出去钞请求,用户取钞以后,系统记录此次取款并自动计算余额,更新帐户信息,然后系统界面进入是否选择继续服务界面,用户点击否,然后系统退出银行卡并提醒用户取卡,用户取走银行卡,至此,取款业务完成。
实验三顺序图和通信图
一、实验目的
1.学会用通信图实现用例
2.掌握顺序图的绘制方法以及顺序图和通信图的相互转换。
二、实验器材
1. 计算机一台;
2. Rational Rose 工具软件;
三、实验内容
画出ATM取款的顺序图,并转换为通信图。
四、实验步骤
1.分析
ATM取款的场景:
(1)通过读卡机,用户插入A TM卡;
(2)ATM系统从卡上读取银行ID、账号、加密密码、并用主银行系统验证银行ID和账号;
(3)用户输入密码,A TM系统根据上面读出的卡上加密密码,对密码进行验证;
(4)用户输入取款数量;
(5)ATM系统通知主银行系统,传递储户账号和取款数量,并接收返回的确认信息;
(6)ATM系统输出先进、A TM卡和显示账户余额的收据;
(7)ATM系统记录事务到日志文件。
寻找场景中的对象:ATM、客户和账户。
2.绘图步骤:
下面介绍在Rose中创建顺序图的过程:
(1)在“Logical View”中新建“Sequence Diagram“,双击图标,出现图1,为编辑顺序图做好准备。
UML分析设计文档ATM取款机-顺序图————————————————————————————————作者:————————————————————————————————日期:学号姓名组别系统题目负责部分第十六组ATM取款机系统顺序图1.Session当一名客户将一张ATM卡片插入机器时,一个Session开始,ATM系统读卡(如果客户执行非法操作或卡片损坏,卡片将被退出,同时屏幕将显示出错信息,而被Session异常中断)。
进行验证客户密码的登录功能。
客户成功登录系统后,可以选择一种或多种操作,直至退卡。
如果客户输入五次无效的PIN,则Session 被异常中断,ATM卡将被吞掉。
其顺序图如下所示:2.TaskTask是一种抽象的用例,表示所有类型的处理所共有的行为,Task的具体类型按照适当的方式执行一定的操作。
根据Task(存款、取款,转帐,查询,更改密码)的事件流描述给出具体的处理。
其顺序图如下:3.Deposit插入用户的银行卡后,根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,选择存款业务,系统确认存款请求以后,系统界面进入请放入存款界面,然后用户将存款放入存款口,系统提示点钞机进行点钞,点钞完毕后,系统记录存款操作并更新余额,系统界面显示存款完毕,然后系统界面进入是否选择继续服务界面,用户点击否,则系统退出银行卡并提示用户取卡,用户取走卡后,存款业务完成。
存款操作的顺序图如下:4.WithDraw插入用户的银行卡,并根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,然后系统根据服务类型进行相应操作,若选择取款操作,系统确认取款请求以后,会询问取款数额,系统界面显示输入数额请求,用户输入取款数额,系统接到信息后发出确认取款请求,用户选择确认,系统选择确认后会向点钞机发出钞请求,然后点钞机出钞,系统向用户发出去钞请求,用户取钞以后,系统记录此次取款并自动计算余额,更新帐户信息,然后系统界面进入是否选择继续服务界面,用户点击否,然后系统退出银行卡并提醒用户取卡,用户取走银行卡,至此,取款业务完成。
UML业务建模实例分析在我国十年前ATM(自动取款机)还是一个很新鲜的事物,现在在城市的大街小巷随处可见。
我们在日常生活中也经常和ATM打交道。
本章我们将以简化的ATM系统为例将前面几章中学到的用例图、类图、顺序图、状态图、活动图及协作图知识运用到此例中。
参与者"银行储户"和ATM机。
简化后的ATM机仅有取款、存款及其余功能。
其余功能不做详细说明。
图5.1 自动取款机(ATM)系统用例图银行储户在ATM机上完成取款、存款及其他业务。
图5.2所示的银行系统类图和图3.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机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。
问题描述:•银行有很多ATM机分布在城市的各个地方,并通过广域网与中心服务器相连;•每台ATM机都有读卡器、出钞机、键盘、显示器和收据打印机;•顾客可以通过ATM机从自已的银行帐户中取现金、查询余额、转帐;•顾客把ATM卡扦入读卡器就启动一个事务.在卡背面磁条中保存有ATM卡号、启用日期和截止日期,读卡器识别出卡后,系统将确认ATM卡是否过期;然后用户输入个人密码并和系统保存的个人密码匹配比较以检验是否正确或因挂失而禁用。
输入密码时最多可以尝试三次,连续三次输入关败, ATM卡将被没收,若ATM卡已挂失,也会被没收;•如果用户输入个人密码通过确认,ATM将提示客户可做取款、查询余额、转帐选择。
在开始取款前,系统要检查客户帐户是否有足够的钱,是否超过每天最高取款限额、出钞机是否有足够的现金;如果此事务可行,出钞机将按客户的要求的数额出钞、打印收据并退还ATM卡;任何时侯客户都可能取消事务,事务一旦终止,卡就被退出;客户记录、帐户记录都将保存在服务器中。
•为了给ATM机的出钞机装入现金以及进行日常维护,操作员可以启动或关闭ATM机。
UML ATM机结构类图UML表达的问题域的概念静态模型—实体类UML表达的 ATM机用例图《软件需求规格说明书》用例描述验证客户路经活动图UML表达的验证客户用例交互顺序图验证客户用例交互矩阵—类封装顺序图作用:1.作为交互分析的工具和方法;2.识别出用例中的类;3.分析交互的时间顺序;4.分析交互消息;5.进行类操作(消息)封装,与类的职责进行验证;《软件需求规格说明书》用例描述UML表达的取款用例交互顺序图ATM状态图实体类封装验证矩阵用例描述检查点检查标准:1.用例粒度是否符合用户的价值观点?2.是否按4W+DO模式书写用例描述?什么人(Who)在什么时间(When)和地点(Where)因为何种原因(Why)依据什么信息实体做(Do)什么事情以及做事情的条件、约束、规则、算法和结果;3.备选动作序列是否符合业务需求?4.用例描述其余属性是否一致和完整?11/ 11。
UML建模语言7种图(以银行ATM系统为例)分类:JAVA2021-04-21 20:40 2911人阅读评论(0) 收藏举报uml语言活动作业优化1 用例图:描述了系统提供的一个功能单元。
以一种可视化的方式理解系统的功能需求,"角色"与系统内用例之间的关系。
本例中,参与者"银行储户"和ATM机。
简化后的ATM机仅有取款、存款及其余功能。
其余功能不做详细说明。
2 类图:显示系统的静态结构。
逻辑类、实现类,实现类就是程序员处理的实体。
类在类图上使用包含三个局部的矩形来描述,如图2所示。
最上面的局部显示类的名称,中间局部包含类的属性,最下面的局部包含类的操作〔或者说"方法"〕。
本例中许多单个的帐户组成了帐户库,帐户具有帐户类型、帐户号、余额三个属性。
许多银行储户组成了储户库。
ATM系统包含了许多ATM机。
银行储户及ATM机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。
通过类图不仅可以使设计者明确的表达自己的设计意图,也能帮助自己整理思路,充实及优化自己的设计。
3 序列图:显示具体用例〔或者是用例的一局部〕的详细流程。
它几乎是自描述的,并且显示了流程中中不同对象之间的调用关系,同时还可以很详细地显示对不同对象的不同调用。
序列图有两个维度:垂直维度以发生的时间顺序显示消息/调用的序列;水平维度显示消息被发送到的对象实例。
本例以时间为顺序描述了顾客在ATM机上取款时信息的流动情况,顺序图着重于对象间消息传递的时间顺序。
4 状态图:表示某个类所处的不同状态和该类的状态转换信息。
包括5个根本元素:初始起点,它使用实心圆来绘制;状态之间的转换,它使用具有开箭头的线段来绘制;状态,它使用圆角矩形来绘制;判断点,它使用空心圆来绘制;以及一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。
本例描述了顾客在ATM机上进行操作会经历的几种状态,及各种状态之间转换的条件。
使用UML对ATM系统建模评分:一.实验目的针对指定软件系统的需求进行分析和设计;使用Microsoft Visio软件,绘制UML图。
二.实验设备计算机、Microsoft Visio软件。
三.实验内容及步骤下图所示是一个自动(ATM)系统,它的需求陈述如下:本案例将要开发的ATM系统能够为顾客提供以下基本服务(它们统一称为交易):(1)取款服务。
顾客可以用A TM卡从对应的账户中支取现金,现金必须是100元的整数倍,且每次取款不能超过2000元。
(2)存款服务。
顾客可以把现金存入与ATM卡对应的账户中。
(3)转帐服务。
顾客可以把一个ATM卡对应的账户中的款项转帐到另一个ATM账户中。
(4)查询服务。
顾客能够查询一个ATM卡对应的账户中的余额。
该ATM系统包括以下组成部分:(1)能够读取ATM卡信息的读卡器。
(2)与客户进行交互的顾客控制台(包括键盘和显示器)。
(3)送出顾客所取现金的装置(下文中称为取款器)。
(4)用于放入存款的插槽(下文中称为存款器)。
(5)打印客户回执的打印机。
(6)启动和关闭A TM系统的开关键盘。
图ATM系统(7)ATM系统与ATM服务器通过特定的网络连接进行通信。
ATM系统在提供以上服务的过程中,必须满足以下要求:(1)一个顾客可以在最终确认前放弃一项交易。
(2)ATM在执行交易过程中将与ATM系统进行通信,对是否允许交易进行验证。
(3)ATM为每次成功的交易提供一个打印回执。
(4)ATM需要维护一个内部日志,对每次交易进行记录。
要求对ATM机软件系统进行建模,按照下列要求完成实验内容:(a)画出系统顶层和细化的用例图;(b)画出系统的分析类图;(c)选取用例图中的一个用例,画出它的序列图;(d)画出系统的体系结构图、构件图和部署图。
四、实验结果(一)顶层用例图(二)用户用例图(三)ATM用例图(四)分析类图(五)用户取款序列图(六)体系结构图<<实体>>银行卡<<边界>>读卡器<<边界>>银行网络<<实体>>日志<<控制>>ATM<<边界>>操作面板<<边界>>客户控制台<<边界>>打印机<<实体>>回执<<控制>>通信<<控制>>交易<<控制>>取款<<控制>>存款<<控制>>转账<<控制>>查询<<边界>>取款器<<边界>>存款器银行系统(七)组件图(八)部署图五、实验小结通过这次实验,基本掌握了UML绘图工具的使用,对于ATM系统的工作流程有了较完整的认识。
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如何对关联关系进行建模的过程许多单个的帐户组成了帐户库。
1.Session当一名客户将一张ATM卡片插入机器时,一个Session开始,ATM系统读卡(如果客户执行非法操作或卡片损坏,卡片将被退出,同时屏幕将显示出错信息,而被Session异常中断)。
进行验证客户密码的登录功能。
客户成功登录系统后,可以选择一种或多种操作,直至退卡。
如果客户输入五次无效的PIN,则Session 被异常中断,ATM卡将被吞掉。
其顺序图如下所示:2.TaskTask是一种抽象的用例,表示所有类型的处理所共有的行为,Task的具体类型按照适当的方式执行一定的操作。
根据Task(存款、取款,转帐,查询,更改密码)的事件流描述给出具体的处理。
其顺序图如下:3.Deposit插入用户的银行卡后,根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,选择存款业务,系统确认存款请求以后,系统界面进入请放入存款界面,然后用户将存款放入存款口,系统提示点钞机进行点钞,点钞完毕后,系统记录存款操作并更新余额,系统界面显示存款完毕,然后系统界面进入是否选择继续服务界面,用户点击否,则系统退出银行卡并提示用户取卡,用户取走卡后,存款业务完成。
存款操作的顺序图如下:4.WithDraw插入用户的银行卡,并根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,然后系统根据服务类型进行相应操作,若选择取款操作,系统确认取款请求以后,会询问取款数额,系统界面显示输入数额请求,用户输入取款数额,系统接到信息后发出确认取款请求,用户选择确认,系统选择确认后会向点钞机发出钞请求,然后点钞机出钞,系统向用户发出去钞请求,用户取钞以后,系统记录此次取款并自动计算余额,更新帐户信息,然后系统界面进入是否选择继续服务界面,用户点击否,然后系统退出银行卡并提醒用户取卡,用户取走银行卡,至此,取款业务完成。
1.Session
当一名客户将一张ATM卡片插入机器时,一个Session开始,ATM系统读卡(如果客户执行非法操作或卡片损坏,卡片将被退出,同时屏幕将显示出错信息,而被Session异常中断)。
进行验证客户密码的登录功能。
客户成功登录系统后,可以选择一种或多种操作,直至退卡。
如果客户输入五次无效的PIN,则Session 被异常中断,ATM卡将被吞掉。
其顺序图如下所示:
2.Task
Task是一种抽象的用例,表示所有类型的处理所共有的行为,Task的具体类型按照适当的方式执行一定的操作。
根据Task(存款、取款,转帐,查询,更改密码)的事件流描述给出具体的处理。
其顺序图如下:
3.Deposit
插入用户的银行卡后,根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,选择存款业务,系统确认存款请求以后,系统界面进入请放入存款界面,然后用户将存款放入存款口,系统提示点钞机进行点钞,点钞完毕后,系统记录存款操作并更新余额,系统界面显示存款完毕,然后系统界面进入是否选择继续服务界面,用户点击否,则系统退出银行卡并提示用户取卡,用户取走卡后,存款业务完成。
存款操作的顺序图如下:
4.WithDraw
插入用户的银行卡,并根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,然后系统根据服务类型进行相应操作,若选择取款操作,系统确认取款请求以后,会询问取款数额,系统界面显示输入数额请求,用户输入取款数额,系统接到信息后发出确认取款请求,用户选择确认,系统选择确认后会向点钞机发出钞请求,然后点钞机出钞,系统向用户发出去钞请求,用户取钞以后,系统记录此次取款并自动计算余额,更新帐户信息,然后系统界面进入是否选择继续服务界面,用户点击否,然后系统退出银行卡并提醒用户取卡,用户取走银行卡,至此,取款业务完成。
取款操作顺序图如下:
5.ChangePIN
插入用户的银行卡后,根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,选择修改密码业务,系统确认以后,系统进入修改密码界面,根据提示输入新密码,点击确定,至此,修改密码操作完成。
修改密码操作顺序图如下:
6.Transfer
插入用户的银行卡后,根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,选择转账业务,系统确认以后,系统进入转账界面,根据提示转账号,转账金额,点击确定,至此,转账操作完成。
转账操作顺序图如下:
7.QueryAccount
插入用户的银行卡,并根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出服务,若密码输入正确,则系统进入选择服务类型界面,用户选择查询业务,若查询余额,系统确认请求以后根据其账号信息查取余额,并在界面显示余额为多少。
查询操作的时序图如下:。