《ATM机系统分析与设计.doc》由会员分享,可在线阅读,更多相关《ATM机系统分析与设计.doc(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ATM机系统的分析及设计-应用UML建模ATM机系统分析与设计 班级: 07软件工程 学号: 071164009 姓名: 闫亚培第一章 系统需求 ATM机系统的域描述如下: 在ATM机系统中,要为每名用户建立一个帐户,并给他们发放银行卡(银行卡可以提供卡号,用户姓名),账户中存储用户的个人信息,存款信息,取款信息和余额信息,持有银行卡的用户可以通过ATM自动取款机系统进行存款,取款,查询余额的操作。在使用自动取款机时,需要插入用户的银行卡,并根据系统界面显示输入密码,由系统判断该帐户是否有效(帐户密码是否正确),若密码输入不正确,则再次显示让用户输入密码,若3次输入的密码均不正确,系统自动退出
2、服务,若密码输入正确,则系统进入选择服务类型界面:1.存款,2.取款,3.查询余额,然后系统根据服务类型进行相应操作,若选择取款操作,系统确认取款请求以后,会询问取款数额,系统界面显示输入数额请求,用户输入取款数额,系统接到信息后发出确认取款请求,用户选择确认,系统选择确认后会向点钞机发出钞请求,然后点钞机出钞,系统向用户发出去钞请求,用户取钞以后,系统记录此次取款并自动计算余额,更新帐户信息,然后系统界面进入是否选择继续服务界面,用户点击否,然后系统退出银行卡并提醒用户取卡,用户取走银行卡,至此,取款业务完成。若选择存款业务,系统确认存款请求以后,系统界面进入请放入存款界面,然后用户将存款放
3、入存款口,系统提示点钞机进行点钞,点钞完毕后,系统记录存款操作并更新余额,系统界面显示存款完毕,然后系统界面进入是否选择继续服务界面,用户点击否,则系统退出银行卡并提示用户取卡,用户取走卡后,存款业务完成。若用户选择查询业务,若查询余额,系统确认请求以后根据其账号信息查取余额,并在界面显示余额为多少。 对上述ATM机系统的域描述进行分析,可以获得如下功能性需求:此软件的设计将实现银行ATM系统的基本功能。ATM系统一次服务一名客户。客户插入一张ATM卡并进入个人数字识别号码(PIN),系统进行验证,通过后客户 才能执行一种或更多操作。客户完成所有操作后,退卡。 ATM系统必须向客户提供如下服务
4、: 1、客户可以做一次取款(取款金额必须是100元人民币的整数倍),在现金被提取之前,必须得到银行的许可。 2、客户可以做一次存款,客户把存款量输入到ATM系统中,必须从银行得到许可。3、客户可以做一次转帐。 4、客户可以进行一次详细账户信息查询。 5、客户通过有效验证后可以更改密码。 6、客户可以在取回磁卡是选择是否得到记录操作的打印凭条。 ATM系统将把每一处理传达到银行并且获得银行许可。如果银行确定客户PIN 是无效的,客户将被要求再进入PIN。 如果客户不能在五次尝试之后成功地进入PIN,客户的卡将被机器没收,而客户不得不联系银行取回它。 第二章 需求分析采用用例驱动的分析方法分析需求
5、的主要任务是识别出系统中的参与者和用例,并建立用例模型。在本系统中,参与者比较简单,不需要特别分析。2.1 识别参与者 通过对系统的分析,系统存在三个参与者:(1)Custumer(用户)。 参与者描述如下: Custumer 描述:用户可以进行存款,取款,查询的业务。 示例:持有银行卡的任何个人或组织。(2)Bankserve(银行服务器) 描述:Bankserve管理机器。 示例:银行中央服务系统。 (3)Operator(银行服务人员) 描述:负责开/关机器和往机器中放现金。 示例:银行的工作人员。 2.2 识别用例前面已经识别出了参与者,通过对需求的进一步分析,可以确定系统中有如下用例
6、存在:(1)Session(会话) 当一名客户将一张ATM卡片插入机器时,一个Session开始,ATM系统读卡(如果客户执行非法操作或卡片损坏,卡片将被退出,同时屏幕将显示出错信息,而被Session异常中断)。进行验证客户密码的登录功能。客户成功登录系统后,可以选择一种或多种操作,直至退卡。如果客户输入五次无效的PIN,则Session被异常中断 ,ATM卡将被吞掉。 (2)Task(任务) Task是一种抽象的用例,表示所有类型的处理所共有的行为,Task的具体类型按照适当的方式执行一定的操作。根据Task(存款、取款,转帐,查询,更改密码)的事件流描述给出具体的处理。 (3)Depos
7、it(存款) 提供存款到帐户的功能。 (4)Withdraw(取款) 提供从账户取款的功能。 (5)Transfer(转账) 提供转账功能。 (6)QueryAccount(查询余额) 提供查询余额的功能。 (7)ChangePIN(更改密码) 提供更改密码的功能。 (8)PrintReceipt(打印凭条) 客户选择打印凭条,包括显示日期,时间,机器位置,操作,理由,数量,结果类型,受到影响的原因和可供使用的选择。 在识别出参与者和用例之后,要想建立用例图,还需要识别出他们之间的关系,“Degonit” (存款),“ Withdraw” (取款),“ Inquire” (查询)这些动作是由C
8、ustumer(用户)执行的,则在所以Custumer(用户)和“Degonit” (存款),“ Withdraw” (取款),“ Inquire” (查询)这些动作之间是依赖关系,系统的用例图如下所示: 图2.1 系统用例图2.3 用例的事件流描述用例的事件流是对完成用例行为所需的事件的描述。它描述系统应该做什么,而不是描述系统应该怎样做。开始,只是对执行用例的常规流所需的步骤的简单描述。随着分析的进行,通过添入更多的详细信息,步骤不断细化。最后,将例外流添加到用例的事件流描述中。ATM机系统的用例事件流描述如下:2.31用例1 Login(登录) 简要说明 本用例描述了客户如何登录到系统中
9、。 前提条件 无。 后置条件 若成功,则客户登录到系统中。否则,系统状态不变。 事件流 .主事件流 当客户插入ATM卡到机器中时,用例Session启动。 A. 系统提示客户输入密码。 B. 客户输入自己的密码,提交。 C. 系统验证输入的密码(E-1),客户登录成功。 .替代流 E-1:若密码输入无效,系统提示错误信息, 客户可以重新输入或终止用例。 2.32 用例2 eposit(存款) 简要说明 本用例描述了客户如何存款到机器中。 前提条件 在本用例开始前,客户必须已经登录到系统中。 后置条件 若用例成功,则客户账户中存款金额增加。否则,系统状态不变。 事件流 .主事件流 客户向系统输入
10、存款金额并向机器输入现金时,用例启动。 A. 系统提示客户输入账号和存款金额。 B. 客户输入后提交,系统确认账户存在并有效(E-1)。 C. 系统建立存款事件记录,并更新账户的相关信息。 .替代流 E-1: 若账户不存在或无效,系统显示信息,客户可以重新输入或终止用例。 2.33 用例3 withdraw(取款) 简要说明 本用例描述了客户如何取款。 前提条件 在本用例开始前,客户必须已经登录到系统中。 后置条件 若用例成功,则客户账户中存款金额减少。否则,系统状态不变。 事件流 .主事件流 客户向系统输入取款金额时,用例启动。 A.系统提示客户输入账号和取款金额。 B.客户输入后提交,系统
11、确认账户存在并有效(E-1), 账户余额是否够支付(E-2)。 C.系统建立取款事件记录,并更新账户的相关信息。 .替代流 E-1:若账户不存在或无效, 系统显示信息,客户可以重新输入或终止用例。 E-2:若余额不足,系统显示信息, 客户可以重新输入或终止用例。 2.34 用例4 Thransfer(转账) 简要说明 本用例描述了客户如何将资金从一个账户转到另一个账户。 前提条件 在本用例开始前,客户必须已经登录到系统中。 后置条件 若用例成功,则客户账户中存款金额变化。否则,系统状态不变。 事件流 .主事件流 客户向系统输入转帐命令时,用例启动。 A.系统提示客户输入账号和转账金额。 B.客
12、户输入后提交。 C.系统确认资金转出账户是否存在并有效(当账户信息与客户一致,且账户非冻结时有效)(E-1), 资金转出账户金额是否足够支付(E-2)。 D.系统为资金转出帐户建立转账事件记录,并更新账户的相关信息。 E.存储转账记录。 F.判断资金转入帐户与转出账户是否属于同一银行,如是,则执行分支流(S-1),如属于不同银行,则执行(E-2). .替代流 E-1:若账户不存在或无效,系统显示信息, 客户可以重新输入或终止用例。 E-2:若余额不足,系统显示信息, 客户可以修改金额数目或终止用例。 第3章 静态结构模型进一步分析系统需求,发现类以及类之间的关系,确定它们的静态结构和动态行为,
13、是面向对象分析的基本任务。系统的静态结构模型主要用类图和对象图描述。3.1 定义系统对象 系统对象的识别可以通过寻找系统域描述和需求描述中的名词来进行。由分析可得,整个系统包括了帐户库、银行储户库及ATM系统,这些都是类图中的候选对象。判断是否应该为这些候选对象创建类的方法是:是否有与该对象相关的身份和行为?该系统中包括的类如下:边界类:(1)CcardReader a) 功能: 1. 告诉ATM机什么时候插进去卡 2. 接收卡 3. 读卡 4. 保留卡 b) 合作者: 1. ATM 2. Session 3. Card(2) CcashDispenser a) 功能: 1. 无现金交易 2.
14、 保持大量现金可用。 3. 初始化现金额 b) 合作者: i. Clog ii. CTransaction (3) CCustomerConsole a) 功能: 1.显示消息 2.显示菜单并接受选择 3.读入密码 4.接收现金 5.显示对话框接收用户操作 b) 合作者: 1.CTransaction 2.CSession 2、 CKeyboard a) 功能: 从键盘上读入操作 b) 合作者: CCustomerConsole 3、 CScreen a) 功能: 显示界面和字符 b) 合作者: CCustomerConsole 4、 CCashReceiver a) 功能: 从用户那里接收现
15、金 b) 合作者: Clog 5、 Cbank a) 功能: 1.和银行联系 2.向银行发信息 3.接收银行的信息 4.关闭同银行的联系 b) 合作者: 1.Clog 2.CSession 3.Cmessage 6、 CoperatorPannel a) 功能: 1.通知ATM系统已关闭 2通知 ATM系统已开启 3.通知点钞机初始化现金 b) 合作者: 1.CATM 2.CCashDispenser 7、 Cprinter a) 功能: 打印回单 b) 合作者: 1.CATM 2.CTransaction 3.Clog 4.CReceipt 实体类:1、 Clog a) 功能: 1.Writ
16、e log message from bank 2.Write log message from cardreader 3.Write log message from session 4.Write log message from Transaction b) Collaborations: 1.CBank 2.CCardreader 3.CTransaction 2、 Cmessage a) 功能: 保留发送到银行服务器的信息 b) Collorations: 1.CBank 2.CTransaction 3、 Creceipt a) 功能: 保留被打印的信息 b) 合作者: Cprin
17、ter 4、 CCard a) 功能: 保留银行卡内的信息 b) 合作者: 1.CCardReader 2 CSession 5、 CAccount a) 功能: 保留余额信息 b) 合作者: CQueryAccount 控制类:1、 CSession a) 功能: 1.执行会话 2.不执行无效的密码 3.允许客户选择交易 4.开始交易 b) 合作者: 1.CATM 2.CTransaction 3.CCustomerConsole 4.Clog 2、 CTransaction a) 功能: 执行转账 b) 合作者: 1.CCustomerConsole 2.Clog 3.CBank 4.Cprinter 5.CWithDraw 6.CDeposit 7.CWithDraw 8.CTransfer