UML建模案例1ATM网络系统Word格式文档下载.docx
- 文档编号:21500089
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:14
- 大小:25.35KB
UML建模案例1ATM网络系统Word格式文档下载.docx
《UML建模案例1ATM网络系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《UML建模案例1ATM网络系统Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
建成类的数据字典:
ATM系统类数据字典:
帐户:
营业部的一个户头。
帐户可能有许多不同的类型,至少有支票帐户和储蓄帐户。
ATM:
允许客户使用现金卡作为身份证明,进入自己帐户的一种机器。
ATM与客户交互,通过收集业务处理信息并把该信息送至中心处理机的方式,验明客户的合法性后进行处理,把现金分配给客户。
这里假定一个ATM离开了网络就不能运行。
营业部:
一个金融机构。
它代管客户的账目,发行现金卡,并授权客户可以通过ATM网络进入自己的帐户取现金。
营业部计算机:
营业部所拥有的、与ATM网络以及该营业部柜员机相连接的计算机。
一个营业部可能拥有一个用于处理内部帐务的计算机网络,但我们只关注与网络通信的这台计算机。
现金卡:
营业部分发给客户的卡片。
客户可以通过ATM用现金卡访问自己的帐户。
每个卡包含一个营业部代码和卡片号码。
营业部代码唯一确定联营机构中的一个营业部。
卡片号决定了该卡可访问的帐户。
一张现金卡只属于一个客户,但可能会存在若干个拷贝,必须考虑在不同计算机上相同的现金卡同时使用的可能性。
柜员:
营业部的雇员。
她授权把业务信息输入柜员机,接收或分配现金和支票给客户。
柜员处理的业务、现金、和支票必须记录,并对其全部负责。
柜员机:
柜员为客户输入业务信息的一套设备。
柜员用此套设备开出支票和接收现金,并打印收据。
柜员机与营业部计算机通信,使业务生效并进行处理。
中心处理机:
由联营机构操纵的计算机。
它协调ATM与营业部计算机之间的业务,中心处理机负责验明营业部代码的有效性,但并不直接处理业务。
联营机构:
多个营业部组成的一个组织机构。
授命指挥和操作ATM网络。
该网络仅处理属于联营机构中的营业部之间的业务。
客户:
在营业部有一个或多个帐户的所有者。
客户由一个或多个人或公司组成。
通信方面与客户组成无关,在不同的营业部有帐户的同一个人视为不同的客户。
业务:
客户对帐目的一个单一而完整的操作要求。
我们只详述ATM必须分发现金,但不排除打印支票或者接收现金、支票的可能性,因为我们应该考虑为客户访问自己帐目提供更多的方便和灵活性,尽管现在还不具备条件。
不同的操作必须正确地结算。
建成类的初步对象图(对象模型之一)
由组成保存有
雇佣存取
拥有
有涉及有
通信
被进入
输入
输入涉及
授权
注:
这里将“业务”分成(柜员)业务和(远程)ATM业务
具有属性和继承的ATM对象模型
业务
种类
日期
交易总数
输入设备
柜员机
姓名
级别
ATM
现有现金
支出金额
远程业务
柜员业务
被输入被授权
通信通信
现金卡
密码
站代码
中心处理机
客户
地址
营业部计算机
通信有
雇用存取
拥有拥有
余额
类型
信贷限制
营业部
名称
联营机构
营业代码
雇员代码
由组成发行
帐户代码
卡片代码
涉及
保存有
二、建立动态模型
ATM通常情况下的脚本:
脚本:
ATM要求用户插入一张现金卡;
用户插入一张现金卡
ATM接收磁卡并读其序号
ATM要求密码;
用户输入密码
ATM通过联营机构核实序号和密码:
联营机构联系对应的营业部鉴别密码后通知该ATM
ATM要求用户选择业务方式(提款、汇兑、查询);
用户选择提款方式
ATM询问现金数额;
用户输入现金数额
ATM核实数额范围:
提交联营机构,将业务传送给营业部,确认成交返回帐户新余额
ATM分配现金并要求用户提款;
用户取走现金
ATM询问用户是否要继续提款;
用户表示否定
ATM打印收据、退出现金卡并提示用户拿走,用户得到现金卡
ATM要求另一个用户插入现金卡
有例外情况ATM脚本:
ATM通过联营机构核实序号和密码,联营机构联系对应的营业部鉴别密码后拒绝此密码
ATM提出密码错误并要求用户重新输入,用户输入密码,ATM通过联营机构核实成功
用户改变想法,输入“取消”
ATM退出现金卡并提示用户拿走,用户得到现金卡
ATM脚本的事件轨迹:
(通常情况)
用户ATM联营机构营业部
输入卡片
要求密码
输入密码
验证帐户
与营业部验证卡片
营业帐户合法
帐户合法
要求业务种类
输入业务种类
要求金额总数
输入金额总数
处理业务
处理营业部业务
营业部业务成功
业务成功
分配现金
要求取走现金
用户取走现金
询问继续
回答“终止”
打印收据
推出现金卡
取走现金卡
显示主屏
ATM对象类的状态图:
插入卡片错误密码取消
主屏[可读]做:
请求密码做:
核实帐户
做:
显示主屏键入密码
输入卡片帐户非法帐户合法
[不可读]取消取消
不可读的取消做:
请求业务种类
取卡片做:
不可度的做:
取消信息
卡片信息键入业务种类
取消做:
请求总金额
卡片弹出
弹出卡片做:
非法帐户信息
要求取走卡片键入总数
分配现金做:
处理业务
请求取走现金
业务失败
结束取税金取消
打印收据做:
失败信息
等待
终止取消5秒
请求继续中断
继续
网络响应等待网络响应
其中:
网络响应=合法帐户、非法帐户、非法营业部代码、非法密码、业务成功、业务失败
联营机构对象类状态图
业务处理核实帐户[非法代码]
/营业部代码
处理营业部业务做:
验证营业部代码
营业部业务失败营业部业务成功[合法代码]非法营业部帐户/
/业务失败/业务成功非法帐户
做:
与营业部验证卡片
非法营业部密码/非法密码
营业部对象类状态图:
处理营业部业务与营业部验证卡片
[无效]/营业部代码
修改帐目做:
验证卡片号
[有效]
[失败][成功]
/营业部业务失败/营业部业务成功[无效]/
非法营业部代码
做:
与营业部验证卡片
/合法营业部帐户
三、系统设计
ATM系统的结构:
用户
帐目
现金卡
电话线电话线
营业部代码
客户
卡片授权
业务
说明:
1)ATM系统软件总体结构:
交互式界面和事务处理型系统的混合体。
用分析模型表示系统的总体结构包括:
对象模型——表示事务处理的各部分。
动态模型——说明系统固有的分布形式及并发访问的处理过程。
函数模型——不太重要。
2)ATM系统分为三个系统层次:
ATM事务处理层
营业部事务处理层
联营机构事务处理层
3)ATM系统构成一个简单的星型拓扑结构,如上图所示。
4)事务处理的数据库在营业部计算机中集中存放。
可被多个并发的ATM通过联营机构确定连接访问。
数据处理是单一的批处理型系统(指一个帐号被封锁直到处理结束)。
5)联营计算机通过电话线与各营业部计算机连接。
并通过站代码和营业部代码区分ATM业务到营业部的业务处理。
6)每一时刻ATM上只有一个业务活动,联营计算机和营业部计算机可同时处理多个并发的业务活动。
一个业务通过三个物理片段来完成,缺一不可。
7)系统应该具有增加和删除ATM和营业部处理层的能力。
8)系统的安全保证至关重要。
必须包括:
存取权限、数据一致性保证、出错处理等解决方案。
四、ATM主控程序路径设计:
主屏
插入卡
请求密码
输密码
非法帐户合法帐户
请求类型(业务)
输入业务类型号
请求输入金额数
输入金额数
失败
分发现金
取现金
继续否
终止
结束
弹出卡
取走卡
需求与用例分析
建立一个具有基本功能的ATM机软件
●客户可以存钱,取钱
●客户可以查询节余
●客户可以修改密码
●客户可以使用信用卡付帐
需求建模—用例图
需求分析的第一步是确定系统能够做什么?
谁来使用这个系统?
用例图显示用例(表示系统功能)与角色(表示提供或者接收系统信息的人或系统)之间的交互。
用户,项目管理员,分析人员,开发人员质保人员都可以通过用例图了解系统功能。
建立事件流
用例“取钱”的事件流
简要说明:
客户可以从ATM机上取出自己帐目上的部分或者全部存款。
前提条件:
无
主事件流:
1.客户将卡插入ATM机,开始用例。
2.ATM显示欢迎消息并提示客户输入密码。
3.客户输入密码。
4.ATM确认密码有效。
如果无效则执行其他事件流A1。
如果与主机联接有问题,则执行异常事件流E1。
5.ATM提供以下选项:
存钱,取钱,查询。
6.用户选择取钱选项。
7.ATM提示输入所取金额。
8.用户输入所取金额。
9.ATM确定该帐户是否有足够的金额。
如果余额不够,则执行A2,如果与主机联接有问题,则执行异常事件流E1。
10.ATM从客户帐户中减去所取金额。
11.ATM向客户提供要取的钱。
12.ATM打印清单。
13.ATM退出客户的卡,用例结束。
其他事件流A1:
输入无效密码
1.ATM告诉客户该密码错误。
2.ATM退出客户的卡,用例结束。
其他事件流A2:
余额不足
1.ATM告诉客户该帐户余额不足。
异常事件流E1:
联接主机出现错误
1.ATM告诉客户联接主机出现错误。
2.ATM在错误日志记下错误。
3.ATM退出客户的卡,用例结束。
事后条件:
无
*依次类推也可写出所有用况的事件流。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 建模 案例 ATM 网络 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)