ATM机取款系统的系统分析与设计本科实验报告文档格式.docx
《ATM机取款系统的系统分析与设计本科实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《ATM机取款系统的系统分析与设计本科实验报告文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
四、实验内容
1选题及项目背景
ATM机取款系统的分析与设计
2定义
ATM(Automantic Teller Machine)自动取款机是由计算机控制的持卡人自我服务型的金融专用设备.在我国,基本上所有的银行系统都有自己的ATM系统.ATM利用磁性代码卡或智能卡实现金融交易,代替银行前台工作人员的部分工作.顾客可以在ATM机上取钱、查询余额、转账和修改密码等业务.除此之外,ATM自动取款机还具有维护、测试、事件报告、监控和管理等多种功能.
3参考资料
《系统分析与设计》作者:
李爱萍人民邮电出版社
4系统分析与设计
4.1需求分析
4.1.1识别参与者
用户(使用ATM机进行存取款)
ATM机管理员(维护ATM机,往ATM机里放钱等)
4.1.2对需求进行捕获与描述
用例名称:
ATM机取款系统执行者:
用户
目的:
完成一次取款流程
100.1
用户卡号
100.2
用例概述
该用例描述一个用户取款的流程
100.3
参与者:
普通用户
101.4
前置条件(Pre-Conditions)
把卡插入ATM机,登陆ATM机银行系统
100.5
后置条件(Post-Conditions)
系统核实用户信息
100.6
事件流
用户取款流程
100.6.1
基本事件流
(BasicFlow)
1)将银行卡插入ATM机
2)输入密码确认登陆
3)系统核实用户信息是否正确
4)登陆到ATM机系统后选择存款,取款,转账,查询余额,还是修改密码
5)选择取款业务
6)系统提示用户输入取款的数目
7)用户输入取款数目
8)ATM机银行系统核实用户信息,账户余额是否充足
9)余额充足,出钞;
不足,提示余额不足
10)交易完成,退卡
100.6.2
扩展事件流(AlternativeFlows)
E-1(替代第5步):
如果用户办理其它业务,可选取其它业务选项
E-2(替代第7步):
取款数额一次不能超过5000,一天取款不能超过20000
E-3:
(替代第9步)账户没有欠费信息,且账户余额充足,ATM机内的余额也充足,则出钞。
若用户账户余额不足,提示:
您的账户余额不足。
)
4.1.3用例图
通过已掌握的需求,初步了解系统所要完成的功能。
下面给出用例图。
图4.1参与者用例图
4.1.4分析与讨论
1)建模用例图的步骤、方法?
1.识别系统的参与者;
2.确定用例;
3.明确参与者与用例间的关系
2)如何识别系统的参与者?
应该如何划分用例,应注意哪些问题?
1.谁使用系统的主要功能;
2.谁改变系统的数据;
3.谁从系统中获取主要信息。
3)心得
心得:
用例图能直观的反应参与者与用力之间的关系,简单明了。
确定参与者
1、客户
使用ATM自动取款机进行现金交易。
进行取款、查询余额、设置密码、修改密码、转账等操作。
2、银行管理员
对用户的需求进行接收,通过与数据库的交互,根据对用户应用服务的响应,更新数据库中用户的信息。
参与者的用例图
1、参与者用例图
参与者用例图如图4.1所示。
参与者能够通过该系统进行如下活动。
(1)用户插入银行卡
(2)输入银行卡密码
(3)查询余额
(4)进行操作
(6)管理员执行用户的请求
(5)结束取出银行卡
心得:
4.2建立对象模型
4.2.1候选类的数据字典
4.2.2定义类与画出类图
确定系统参与者的属性
1、银行储户
银行储户类:
它的属性主要包括:
用户名、用户ID、用户密码。
它的操作主要包括:
存钱、取钱以及其他操作
2、ATM机
ATM机类:
ATM机ID。
操作主要包括:
收款、吐款、其他服务。
银行储户和银行管理员的基本类图如图2.3所示。
3、银行管理员
图4.2.1参与者的基本类图
4.2.2确定系统主要业务实体类
1、账户类
账户类:
它的属性主要包括账户类型、账户号、余额。
操作主要包括添加账户、查询余额、结算等。
2、ATM系统
●账号库
●银行储库
图4.2.2业务实体类的基本类图
4.2.3确定系统类之间的关系
ATM机系统的系统类图如图4.2.3所示。
图4.2.3系统类图
4.2.4包图
对于大型复杂系统,常需要把大量的模型元素用包组织起来,以方便处理。
对所选系统的类进行分组,以便更清晰地了解系统的结构。
4.2.5分析与讨论
1)建模类图的步骤、方法?
1识别系统的用例和角色
2.进行系统的分析并丑行出类
3.设计类和类之间的行为
2)识别类有哪些方法,你是如何识别类的?
1.依据参与者确定类
2.有些累属于关联类
3)解释关联的多重性?
如何确定类的属性、操作、类之间的关联关系、组织类之间的继承?
关联表示了对象间的结构关系,在建模过程中通导航要说明在一个关联实例中有多少个相互练剑的对象,这就是关联的多重性。
一旦识别出大部分类,关联关系及其多重性就可以通过继承重新使用类图,使用继承共用公共结构来组织类,继承为确定类之间的共性提供了有效途径。
4.3建立动态模型
系统的动态行为模型由交互图(顺序图和协同图)、状态机图和活动图表达。
在系统的分析和设计中应当对主要的UseCase和对象类绘制这些图形,以便分析系统的行为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。
4.3.1顺序图
图4.3.1ATM操作顺序图
4.3.2通信图
图4.3.2ATM操作通信图
4.3.3活动图
活动图的主要作用是表示系统的业务工作流和并发处理过程。
针对自选系统主要的业务工作流绘制活动图。
绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。
4.3.创建活动图
系统的活动图是用来描述系统的参与者是如何协同工作的。
ATM机系统(本系统)可以创建取款、存款和转账的活动图。
1、存款活动图
具体的活动过程描述如下:
(1)插卡登录输入存款请求。
(2)验证用户执行请求。
(3)用户放入现金,存款结束退卡。
根据上述过程,创建存款的活动图如图2.11所示。
图4.3.3存款活动图
2、转账活动图
(1)插入银行卡请求转账操作。
(2)验证用户、并输入转账信息。
(3)转账结束,退卡。
根据上述过程,创建转账的活动图如图4.3.4所示。
图4.3.4转账活动图
3、取款活动图
(1)用户插卡并登录。
(2)查询余额并输入取款金额。
(3)取款完毕取出银行卡。
根据上述过程,创建取款的活动图如图4.3.5所示。
图4.3.5取款活动图
4.3.4状态图
状态机图表现一个对象(类)的生命史。
对于一些实现重要行为动作的对象应当绘制状态机图。
绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。
(绘制所选系统的一个对象的状态图并解释说明)
本系统具有明确状态转换的类是插卡、登录和选择服务。
1、ATM机系统包含插卡、登录和选择服务等几种状态,它们之间的转化规则如下:
(1)插卡后请求输入密码登录。
(2)输入正确密码登录。
(3)输入密码错误返回重新输入,当输入三次错误时系统自动退出。
(4)成功登录后选择相应的服务。
根据ATM机系统的各种状态和转化规则,创建ATM机系统的状态图如图4.3.6所示。
图4.3.6ATM机状态图
4.3.5分析与讨论
比较顺序图与通信图、活动图与状态图的应用。
顺序图和协作图之间可以无损完全转换。
活动图(activitydiagram,动态图)是阐明了业务用例实现的工作流程。
业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。
业务用例由一系列活动组成,它们共同为业务主角生成某些工件。
工作流程通常包括一个基本工作流程和一个或多个备选工作流程。
工作流程的结构使用活动图来进行说明。
活动图是状态图的一种特殊形式。
其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完成时立即触发。
状态图(StatechartDiagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。
通常我们创建一个UML状态图是为了以下的研究目的:
研究类、角色、子系统、或组件的复杂行为。
状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。
顺序图是将交互关系表示为一个二维图。
纵向是时间轴,时间沿竖线向下延伸。
横向轴代表了在协作中各独立对象的类元角色。
类元角色用生命线表示。
当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。
顺序图是一种动态建模方法。
UML顺序图一般用于:
确认和丰富一个使用情境的逻辑。
4.4物理模型
4.4.1建立构件图
系统实现的源代码、二进制码、执行码可以按照模块化的思想,用构件分别组织起来,明确系统各部分的功能职责和软件结构。
(学生补充自选系统的运行软件织成的构件图并解释说明,如果需要,可以绘制系统的源代码、二进制码和执行码的构件的跟踪关系图。
)
在ATM系统中,我们可以对系统的主要参与者和主要的业务实体类分别创建对应的构件进行映射。
我们根据类图创建系统构件图,包括银行构件(Bank)、客户构件(Customer)、银行职员构件(Clerk)、界面构件(Form)、账户构件(Account)、账户管理构件(Transaction)和主程序构件。
图4.4.1系统构件图
4.4.2建立部署图
在ATM系统中,系统包括四种节点,分别是:
数据库服务器(DatabaseServer)节点,负责数据的存储;
系统服务器(BankServer)节点,用于处理系统的业务逻辑;
内部客户端节点(InClient)和外部客户端节点(OutClient),使用者通过客户端登录系统进行操作。
图4.4.2系统部署图