ATM系统的分析与建模(面向对象+结构化)不完全版要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012—2013学年第二学期
论文
课程名称:软件工程导论
指导教师:
专业班级:
学生姓名:
学号:
教学部门:计算机学院
ATM系统的分析与建模 ..................................................................................................
结构化方法分析 .............................................................................................................
一.问题描述: (1)
1.1 ATM系统网络 (1)
1.2 ATM系统需求概述 (2)
二.需求获取: (3)
三.需求分析: (3)
3.1 数据流图 (3)
3.2 数据建模 (7)
3.3 状态建模 (8)
3.4 数据字典 (10)
四.设计 (12)
4.1 概要设计 (12)
4.1.1 总体设计 (12)
4.1.2 逻辑设计 (13)
4.1.3 界面设计 (13)
4.2 详细设计 (19)
五.面向对象方法分析 .................................................................................................
5.1 用例模型 (22)
5.1.1 用例列表 (22)
5.1.2 用例图 (22)
5.1.3 用例规格说明 (23)
5.2 概念模型 (26)
5.3 分析模型(顺序图) (26)
六.总结 (29)
七.参考文献 (30)
ATM系统的分析与建模写这篇论文有两个目的,一是为了让本学期学习了《软件工程导论》这门课程的同学能够在编写文章的时候总结这段时间所学知识,同时也能够在文章中考核同学的理论水平和发现在学习中存在哪一些问题,希望能够同学在写论文的时候发现并加以解决。二是学生对于软件开发中结构化方法和面向对象的方法的认识仍然存在问题,对于这两种方法的区分不够明确。所以为了能够加强理解软件开发中,结构化方法和面向对象方法的区别。本文将对于ATM自动取款机分别用结构化方法和面向对象的方法来进行分析与建模。
结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化设计和结构化程序设计三部分有机组合而成的。它的基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。
面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。
接下来首先用结构化的方法对ATM系统进行分析与建模
一.问题描述:
1.1.ATM系统网络
图1-1
1.2.ATM系统需求概述
某银行开发一个自动取款机系统,其组成:自动取款机、中央计算机、分行计算机、柜员终端组成的网络系统。
ATM 和中央计算机由银行投资购买。银行拥有多台ATM, 分别设在全市各个主要街道上以及各个银行分行中。分行还要负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。银行柜员使用柜员终端处理储户提交的储蓄事务。
柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。
柜员终端与相应的分行计算机通信。分行计算机具体处理针对某个账户的事务并且维护账户。
用户可以用现金或支票向自己拥有的某个账户内存款或开新账户。储户可以从自己的账户中取款,通常一个储户可能拥有多个账户。拥有银行账户的储户有权申请领取现金兑换卡(即该银行的银行卡),使用现金兑换卡可以通过ATM访问自己的账户。现在可以用现金兑换卡在ATM上提取现金,或查询有关自己账户的信息(如有没有余额),还可以使用ATM办理转账、存款等事务。
现金兑换卡是一张磁卡,上面有分行代码和卡号。分行代码唯一标识总行下属的一个分行.卡号确定这张卡可以访问哪些账户。通常,一张卡可以访问储户的若干个账户,但是不一定能访问这个储户的全部账户。每张现金兑换卡仅属于一个储户所有,但是用一张卡可能有多个副本。因此,必须考虑同时在若干台ATM 上使用同样的现金兑换卡的可能性也就是说系统应当处理并发的访问。
当用户把现金兑换卡插入ATM之后,ATM就与用户交互,以获取有关这次事务的信息。并与中央计算机交换关于事务的信息。首先,ATM要求输入密码,接下来ATM把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机核对这些信息并处理这些事务。中央计算机根据卡上的分行代码确定这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码。若用户输入的密码是正确的,ATM要求用户选择事务类型(取款、查询等),当用户选择取款时,ATM请求用户输入取款额。最后ATM从现金出口吐出现金,并且打印出账单交给用户。
ATM自动取款机系统将实现银行为广大用户提供的基本功能。ATM系统一次服务一名用户。用户插入一张现金兑换卡(银行卡)并输入个人账户密码,系统进行验证,通过系统验证后用户才能接下去执行一种或更多操作。用户完成所有操作后,退卡。
ATM系统必须向储户提供如下服务:
1. 用户可以在ATM机上进行取款操作(取款金额必须是100元人民币的整数倍),在现金被提取之前,需要确认取款金额数量。在用户确认并且取出现金后,系统将会记录当前储户账户的相关信息如账号、取款的金额大小,取款时间等。同时提示是否打印相关操作信息的凭条。
2. 用户可以在ATM机上进行存款操作(存款金额必须是100元人民币的整数倍),储户想把存款量输入到ATM系统中。在用户在放入现金后,系统会提示存入的现金的数量是否正确,完成操作后,系统将会记录当前账户的相关信息和存入现金的数量、存款的利率以及存入时间等信息。同时提示是否打印相关操作信息的凭条。
3. 用户可以在ATM机上进行转帐操作。在用户输入要接收转账的银行兑换卡号、转账的金额数量后,系统在输入完金额与卡号后会让用户确认信息。在用户确定完成后,银行才会进行转账,并且记录下本次转账的相关信息。同时提示是否打印相关操作信息的凭条。
4. 用户可以在ATM机上进行详细账户信息查询操作。用户在成功登陆账号后,能够查询当前储户的账号信息包括账户余额、账户存款、取款、转账等操作记录。但不能查询其他账号的信息。
5. 用户通过有效验证后可以更改当前用户账号的个人密码。用户在通过验证后,需要输入当前账户个人密码和新密码并且再次确认后才能完成修改密码的操作。完成操作后,系统会记录下修改密码的时间等相关的信息。
ATM系统将把每一处理传达到银行并且获得银行许可。如果银行确定用户个人账户密码错误的,用户将被要求再进行输入个人账户密码的操作。如果用户输入多次密码错误之后,用户的卡将被机器没收并且账户将被锁定,而用户必须通过联系银行才能取回银行兑换卡。