ATM系统的分析与建模(面向对象+结构化)不完全版_第1页
ATM系统的分析与建模(面向对象+结构化)不完全版_第2页
ATM系统的分析与建模(面向对象+结构化)不完全版_第3页
ATM系统的分析与建模(面向对象+结构化)不完全版_第4页
ATM系统的分析与建模(面向对象+结构化)不完全版_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ATM系统的分析与建模20122013学年第二学期论文课程名称:软件工程导论指导教师: 专业班级: 学生姓名: 学 号:教学部门:计算机学院ATM系统的分析与建模结构化方法分析一.问题描述:11.1 ATM系统网络11.2 ATM系统需求概述2二.需求获取:3三.需求分析:43.1 数据流图43.2 数据建模73.3 状态建模83.4 数据字典10四设计124.1 概要设计124.1.1 总体设计124.1.2 逻辑设计134.1.3 界面设计134.2 详细设计19五面向对象方法分析5.1 用例模型225.1.1 用例列表225.1.2 用例图225.1.3 用例规格说明235.2 概念模型

2、265.3 分析模型(顺序图)26六总结29七.参考文献30ATM系统的分析与建模写这篇论文有两个目的,一是为了让本学期学习了软件工程导论这门课程的同学能够在编写文章的时候总结这段时间所学知识,同时也能够在文章中考核同学的理论水平和发现在学习中存在哪一些问题,希望能够同学在写论文的时候发现并加以解决。二是学生对于软件开发中结构化方法和面向对象的方法的认识仍然存在问题,对于这两种方法的区分不够明确。所以为了能够加强理解软件开发中,结构化方法和面向对象方法的区别。本文将对于ATM自动取款机分别用结构化方法和面向对象的方法来进行分析与建模。结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化

3、设计和结构化程序设计三部分有机组合而成的。它的基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。 面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统

4、。接下来首先用结构化的方法对ATM系统进行分析与建模一.问题描述:1.1.ATM系统网络图1-11.2.ATM系统需求概述某银行开发一个自动取款机系统,其组成:自动取款机、中央计算机、分行计算机、柜员终端组成的网络系统。ATM 和中央计算机由银行投资购买。银行拥有多台ATM, 分别设在全市各个主要街道上以及各个银行分行中。分行还要负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。银行柜员使用柜员终端处理储户提交的储蓄事务。柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。 柜员终端与相应的分行计算机通信。分行计算机具体处理针对

5、某个账户的事务并且维护账户。用户可以用现金或支票向自己拥有的某个账户内存款或开新账户。储户可以从自己的账户中取款,通常一个储户可能拥有多个账户。拥有银行账户的储户有权申请领取现金兑换卡(即该银行的银行卡),使用现金兑换卡可以通过ATM访问自己的账户。现在可以用现金兑换卡在ATM上提取现金,或查询有关自己账户的信息(如有没有余额),还可以使用ATM办理转账、存款等事务。现金兑换卡是一张磁卡,上面有分行代码和卡号。分行代码唯一标识总行下属的一个分行.卡号确定这张卡可以访问哪些账户。通常,一张卡可以访问储户的若干个账户,但是不一定能访问这个储户的全部账户。每张现金兑换卡仅属于一个储户所有,但是用一张

6、卡可能有多个副本。因此,必须考虑同时在若干台ATM上使用同样的现金兑换卡的可能性也就是说系统应当处理并发的访问。当用户把现金兑换卡插入ATM之后,ATM就与用户交互,以获取有关这次事务的信息。并与中央计算机交换关于事务的信息。首先,ATM要求输入密码,接下来ATM把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机核对这些信息并处理这些事务。中央计算机根据卡上的分行代码确定这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码。若用户输入的密码是正确的,ATM要求用户选择事务类型(取款、查询等),当用户选择取款时,ATM请求用户输入取 款额。 最后ATM从现金出口吐出

7、现金,并且打印出账单交给用户。二.需求获取: ATM自动取款机系统将实现银行为广大用户提供的基本功能。ATM系统一次服务一名用户。用户插入一张现金兑换卡(银行卡)并输入个人账户密码,系统进行验证,通过系统验证后用户才能接下去执行一种或更多操作。用户完成所有操作后,退卡。 ATM系统必须向储户提供如下服务: 1. 用户可以在ATM机上进行取款操作(取款金额必须是100元人民币的整数倍),在现金被提取之前,需要确认取款金额数量。在用户确认并且取出现金后,系统将会记录当前储户账户的相关信息如账号、取款的金额大小,取款时间等。同时提示是否打印相关操作信息的凭条。 2. 用户可以在ATM机上进行存款操作

8、(存款金额必须是100元人民币的整数倍),储户想把存款量输入到ATM系统中。在用户在放入现金后,系统会提示存入的现金的数量是否正确,完成操作后,系统将会记录当前账户的相关信息和存入现金的数量、存款的利率以及存入时间等信息。同时提示是否打印相关操作信息的凭条。3. 用户可以在ATM机上进行转帐操作。在用户输入要接收转账的银行兑换卡号、转账的金额数量后,系统在输入完金额与卡号后会让用户确认信息。在用户确定完成后,银行才会进行转账,并且记录下本次转账的相关信息。同时提示是否打印相关操作信息的凭条。 4. 用户可以在ATM机上进行详细账户信息查询操作。用户在成功登陆账号后,能够查询当前储户的账号信息包

9、括账户余额、账户存款、取款、转账等操作记录。但不能查询其他账号的信息。 5. 用户通过有效验证后可以更改当前用户账号的个人密码。用户在通过验证后,需要输入当前账户个人密码和新密码并且再次确认后才能完成修改密码的操作。完成操作后,系统会记录下修改密码的时间等相关的信息。 ATM系统将把每一处理传达到银行并且获得银行许可。如果银行确定用户个人账户密码错误的,用户将被要求再进行输入个人账户密码的操作。如果用户输入多次密码错误之后,用户的卡将被机器没收并且账户将被锁定,而用户必须通过联系银行才能取回银行兑换卡。 三.需求分析3.1.数据流图:创建分层数据流图(功能建模)数据流图是软件工程最流行的建模之

10、一,从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变化过程,其基础是功能的分解。功能分解是一种为系统定义功能过程的方法。这种自顶向下的活动开始于环境图,结束于模块规格说明。数据源或数据汇点表示图中要处理数据的输入来源或处理结果要送往何处。数据源或数据汇点不是目标系统的一部份,只是目标系统的外围环境中的实体部分,因此称为外部实体。在实际问题中它可能是组织、部门、人、相关的软件系统或硬件设备。数据流表示数据沿箭头方向的流动。数据流可表示在加工之间被传送的有名数据,也可表示在数据存储和加工之间的未命名数据,这些数据流虽然没有命名,但因其所连接的是有名加工和有名数据存储,所以其含义也

11、是清楚的。加工是对数据对象的处理或变换。加工的名字是动词短语,以表明所完成的加工。一个加工可能需要多个数据流,也可能会产生多个数据流。数据存储在数据流图中起保存数据的作用,可以是数据库文件或任何形式的数据组织。从数据存储中引出的数据流可理解为从数据存储读取数据或得到查询结果,指向数据存储的数据流可理解为向数据存储中写入数据。图 2-1 ATM系统的环境图银行ATM系统的环境图如图2-1所示。环境图也称为顶层数据流图(或0层数据流图)。环境图的作用是确定系统在其环境中的位置,通过确定系统的输入和输出与外部实体的关系确定其边界。图 3-2 ATM系统的一层数据流图对图2-1中ATM系统进行分解,从

12、大的方面分解为取款、存款、转账、查询余额、修改密码5个部分,得到一层数据流图如图2-2所示。用户插入银行卡后,输入密码通过验证后,能够选择这5部分对应的业务,在选择某个业务后,就会流入对应流入对应的部分。在完成业务的操作后,用户可以选择打印业务凭条。图 4-3 处理取款的数据流图对图2-2中的“取款”进行进一步的分解,得到二层数据流图,如图2-3所示。选择取款业务后,调用取款子系统需要从数据库中读取账户相关信息,在提取现金后,也要把信息记录到数据库中。用户在操作完后可以选择打印凭条。图 5-4处理存款的数据流图对图2-2中的“存款”进行进一步的分解,得到二层数据流图,如图2-4所示。选择存款业

13、务后,调用存款子系统,在存入现金后,要把存款的相关信息信息记录到数据库中。用户在操作完后可以选择打印凭条。图 6-5处理转账的数据流图对图2-2中的“转账”进行进一步的分解,得到二层数据流图,如图2-5所示。选择转账业务后,调用转账子系统,需要输入转入账号和转账金额数量的信息,在确认这些信息后才能成功转账,需要自行通知收款人。同时在转账后要把转账的相关信息记录到数据库中。用户在操作完后可以选择打印凭条。图 7-6处理查询的数据流图对图2-2中的“查询余额”进行进一步的分解,得到二层数据流图,如图2-6所示。选择查询余额业务后,调用查询子系统,在选择货币的种类后,要把信息发送到数据库中。数据库再

14、把相应的账号信息回复显示出来。图 8-7处理修改密码的数据流图对图2-2中的“修改密码”进行进一步的分解,得到二层数据流图,如图2-7所示。选择修改密码业务后,调用修改密码纸子系统,在输入新旧密码后,旧密码得到验证是正确的之后再次确定新密码是否输入正确,确认后要把修改的密码相关信息记录到数据库中。3.2.数据建模:创建系统关系E-R图(数据模型)结构化分析方法中,使用实体-关系建模技术来建立数据模型。这些技术是在较高的抽象层次(概念层)上对数据库结构进行建模的流行技术。实体-关系模型表示为可视化的实体-关系图,也称为ER图。图中仅包含三种相互关联的元素:数据对象(实体)、描述数据对象的属性及数

15、据对象彼此间相互连接的关系。ATM系统的ER图如图3-1所示。由图可知,一个用户可以有多个账户即可以有多张的银行卡;一个账户只有一个户主;一个账户可对应多个存款凭条,而每张存款单必须对应一个账户;一个账户可对应多个取款凭条,也可能没有取款凭条,而每张取款凭条必须对应一个账户;一个账户可对应多个转账凭条,而每张转账凭条必须对应一个账户;一个账户对应一个查询余额;一个账户对应一个修改密码。图 3-1 ATM系统ER图3.3.状态建模:创建状态模型(控制模型)状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或一系

16、列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。以下为ATM系统的主要模块的状态图。图 4-1ATM系统登陆操作状态图ATM系统登陆操作的状态图如图4-1所示。图 4-2取款过程的状态图取款过程的状态图如图4-2所示。图 4-3存款过程的状态图存款过程的状态图如图4-3所示。图 4-4转账过程的状态图转账过程的状态图如图4-4所示3.4.数据字典数据字典以词条方式定义在数据模型、功能模型和行为模型中出现的数据对象及控制信息的特性,给出它们的准确定义,包括数据流、加工、数据文件、数据元素,以及数据源点和数据汇点等。因此,数据字典成为把3种分析模型粘合在一起的粘合剂,是分析模

17、型的核心。数据字典精确地、严格地定义了每一个与系统相关的数据元素,并以字典顺序将它们组织起来,使得用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。表4-1银行卡的数据字典名字:银行兑换卡别名:银行卡描述:用户可以通过该卡和ATM取款机进行交互定义:银行卡=账号+密码+用户名+卡内金额位置:ATM取款机插口表4-2账户的数据字典名字:账户别名:用户、储户描述:持有银行卡的人定义:账户=账号+密码+用户名+卡内金额+其他信息位置:数据库表4-3用户名的数据字典名字:用户名别名:账户名描述:银行所开户的名字定义:用户名=开户者的姓名位置:表4-4账号的数据字典名字:账号别名:描述:每

18、个用户都有一个,是每个用户的唯一标识定义:账号=19位整数数字位置:凭条、数据库表4-5密码的数据字典名字:密码别名: 描述:每个用户都有一个密码,是进行验证的唯一标识定义:密码=6位整数数字位置:账户、数据库表4-6凭条的数据字典名字:凭条别名:描述:显示和已操作过的结果的信息定义:凭条=账号+金额+时间+业务类型位置:ATM取款机、数据库四.设计4.1.概要设计4.1.1总体设计图 5-1ATM系统的模块结构如图5-1所示。ATM系统分三个大模块:登陆模块、事务模块、退出模块。其中登陆模块对应的有密码验证模块。退出模块对应有退卡模块。而事务模块则分为取款模块、存款模块、转账模块、查询模块、

19、修改密码模块。验证密码模块:由于ATM机是出入银行卡,所以不需要输入账号,只需要输入对应的密码即可,这个模块是为了验证用户的账号对应的密码是否正确。通过验证之后才能登陆到ATM系统中进行下一步的操作。取款模块:选择取款业务后,输入需要的金额,确定后用户能够取得现金。存款模块:选择存款业务后,可以存入现金。转账模块:选择转账业务后,输入转入账号和转入金额,可以进行转账。查询模块:选择查询业务后,可以查询当前账号的余额。修改密码模块:选择修改密码业务后,可以修改当前账户的密码。退卡模块:当用户完成业务的操作后,结束后把卡退出。4.1.2逻辑数据:数据库表和表的关联图 5-2 ATM系统数据库表的关

20、联数据库中的四张表之间的依赖关系如图5-2所示。有记录屏幕信息的表、记录账户信息的表、记录用户信息的表、记录凭据信息的表。4.1.3界面设计:界面的框架图 6-1 ATM系统待机的屏幕当ATM系统无人使用的时候显示如图6-1所示。如果需要使用,则将银行卡插入即可。图 6-2 ATM系统登陆页面1ATM系统登陆画面如图6-2所示,用户需要输入正确的密码才能进入主界面。图 6-3 ATM系统登陆界面2当用户输入错误的密码屏幕将会显示如图6-3所示图 6-4 ATM系统登陆界面3当用户输入错误密码超过5次屏幕将显示如图6-4所示图 6-5 ATM系统主界面ATM系统主界面如图6-5所示,当用户登陆成

21、功,才会跳转至次界面。图 6-6 取款界面1ATM取款界面如图6-6所示,需要把取款金额输入才能进行下一步。图 6-7 取款界面2当用户输入取款金额不符合规则时屏幕将会显示如图6-7所示的界面图 6-8 取款界面3当用户成功取得现金,屏幕将显示如图6-8所示的界面,并且用户能够选择打印取款的凭条。图 6-9 存款界面1用户选择存款的业务后,屏幕显示如图6-9所示。用户把现金放入吐钞口即可进行下一步。图 6-10 存款界面2当用户把现金放入后,ATM系统经过点钞、验钞后,屏幕显示如图6-10所示,询问用户金额是否确定。确定后存款。图 6-11 存款界面3用户存款成功后,屏幕显示如图6-11所示,

22、用户可以选打印存款的凭条。图 6-12 转账界面1用户选择银行转账业务后,屏幕如图6-12所示输入转入账号和金额后才可以进行下一步操作。图 6-13 转账界面2用户完成上一步操作后,屏幕显示如图6-13所示,询问用户确定转账信息。图 6-14 转账界面3用户转账成功后,屏幕显示如图6-14所示。用户可以选择打印转账的凭条。图 6-15 修改密码界面1用户在选择修改密码业务后,屏幕显示如图6-15所示。图 6-16 修改密码界面2用户在完成上一步操作后,屏幕如图6-16所示,用户再次输入新密码进行确认才能进行下一步。图 6-17 修改密码界面3用户成功修改密码后,屏幕显示如图6-17所示。用户可

23、以选择继续办理业务或退出系统。图 6-18 查询余额界面用户在选择查询余额业务后,屏幕显示如图6-18所示。界面显示账户余额,用户可以选择币种清算。4.2.详细设计图 7-1 取款流程图ATM系统的取款流程如图7-1所示。输入取款金额之后再提取现金如果用户需要打印取款凭条,则打印一张取款凭条给用户,然后结束。如果不需要打印凭条则直接结束。图 7-2 存款流程图ATM系统的存款流程如图7-2所示。在放入现金到吐钞口后,系统进行验钞和点钞,如果验钞点钞过程中发现现金有假钞则会吐出,让用户知晓。在确认点钞结果后进行下一步则存款成功,如果存入现金金额有误则吐出重来。在成功存入现金后,用户可以选择打印存

24、款凭条之后再结束业务,否则直接结束业务。图 7-3 转账流程图ATM系统的转账流程如图7-3所示。用户在按提示输入转入账号和金额进行下一步,再次确认转账的信息后转账。用户可以选择打印转账凭条后再结束业务,也可以选择不打印转账凭条直接结束业务。图 7-4 修改密码流程图账户修改密码的流程如图7-4所示。输入新旧密码后,确认是否正确,之后修改账户密码。结束业务。图 7-5 查询流程图用户查询账户余额可以选择币种,如果不选择默认币种为人民币,显示人民币余额。如果选择外币则显示外币余额。五.面向对象的分析建模接下来使用面向对象的方法来对银行ATM系统进行分析与建模。首先先建立用例模型。建立用例模型的目

25、的是提取和分析足够的需求分析,准备一个模型,该模型应能表述用户需要什么,而不涉及系统将如何构造和实现的特定细节。然后是创建用例图,用例图是若干参与者和用例以及它们之间的关系构成的图形表示。每个系统通常都有以一个总体视图。如果总体视图过于复杂,则可以创建多个用例图,每个用例图也关注系统的某一方面,通常是围绕参与者创建用例图。最后是对系统所用用例的规格说明。5.1用例模型5.1.1用例列表表 5-1-1 用例列表参与者用例说明用户存款存入现金取款取得现金转账卡上金额转账查询余额查询账户剩余金额修改密码修改账户密码打印凭条打印业务凭条银行人员信息管理管理用户信息系统维护维护ATM系统配款为ATM硬件

26、设施放入现金数据库服务器记录信息记录用户操作及业务内容查找信息查找用户账号信息修改信息修改用户账号信息5.1.2用例图图 8-1 用户用例图用户请求事务的用例图如图8-1所示。图 8-2 银行人员用例图银行人员请求事务的用例图如图8-2所示。图 8-3 数据库服务器用例图数据库服务器请求事务的用例图如图8-3所示5.1.3用例规格说明以下为用户部分各个主要用例的规格说明。用例的规格说明就是对用例的完整描述包括用例名称、执行者、前置条件、后置条件、一个主事件流以及零到多个备选事件流。主事件流表示正常情况下执行者与系统之间的信息交互及动作序列,备选事件流则表示特殊情况或异常情况下的信息交互及动作序

27、列。所以要描述一个完整的用例应给出每个用例的规格说明。用例名称:登陆用例 执行者:用户1.1前置条件:用户插入银行卡1.2后置条件:用户成功登陆1.3主事件流:1)当用户在插入银行卡,系统验证账号通过,用例开始;2)用户输入密码;3)系统验证密码;4)用户进入系统;1.4备选事件流:E-1:账号无效,给出提示,退卡。E-2:密码错误,给出提示,重新输入或退卡。E-3:密码多次错误,给出提示,锁定账号,退卡。用例名称:取款用例 执行者:用户1.1前置条件:用户插入银行卡,输入正确密码,成功进入系统,选择取款业务。1.2后置条件:用户取款成功1.3主事件流:1)输入取款金额;2)系统验证账号是否有

28、足够余额和输入金额是否符合规则;3)系统修改账户余额信息4)系统出钞;1.4备选事件流:E-1:输入金额超出账户余额数量,退出。E-2:输入金额的规格不符合规则,退出。用例名称:存款用例 执行者:用户1.1前置条件:用户插入银行卡,输入正确密码,成功进入系统,选择存款业务。1.2后置条件:用户存款成功1.3主事件流:1)放入现金;2)系统点钞、验钞;3)系统提示确认;4)用户确认;5)系统修改账户信息6)提示存款成功;1.4备选事件流:E-1:放入的现金有假,退出。E-2:点钞的结果有误,退出。用例名称:转账用例 执行者:用户1.1前置条件:用户插入银行卡,输入正确密码,成功进入系统,选择转账

29、业务。1.2后置条件:用户转账成功1.3主事件流:1)输入转入账号和金额;2)确认转账信息;3)修改账户信息;4)提示成功;1.4备选事件流:E-1:输入的账号有误,退出。E-2:转账的金额有误,退出。E-3:账户余额不足,退出。用例名称:修改密码用例 执行者:用户1.1前置条件:用户插入银行卡,输入正确密码,成功进入系统,选择改密业务。1.2后置条件:用户修改密码成功1.3主事件流:1)输入新旧密码;2)系统查找账户信息;3)确认新密码;4)系统修改账户信息; 5)提示修改成功;1.4备选事件流:E-1:输入的旧密码有误,退出。E-2:输入的前后两次新密码有误,退出。用例名称:查询用例 执行者:用户1.1前置条件:用户插入银行卡,输入正确密码,成功进入系统,选择查询业务。1.2后置条件:用户查询账户余额成功1.3主事件流:1)选择币种;2)系统查找账户信息;3)屏幕显示账户余额;1.4备选事件流:5.2概念模型图 9-1 主要用例关系图ATM系统中用户、银行人员、服务器三个参与者的用例关系图如图9-1所示。用例关系图包含了主要用例之间的关联和属性。5.3分析模型(顺序图)在开发交互式系统时,顺序图起着很重要的作用。前面的用例图中的事件流是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论