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