“银行ATM机自动取款系统”需求分析报告 1、引言
1.1 编写目的
由于的各方面发展速度的大幅提高,几乎所有的银行都配备了不用繁琐的
人工操作的ATM自动取款机。人们可以随时随地进行交易,不再受银行的服务时间的约束,取款时也为人们节省了很多时间,方便快捷。
本需求分析报告为人们清晰展示出ATM自动取款机系统的工作流程,以及ATM机的工作状态。为人们熟练地操作ATM机提供更多帮助,加深人们对ATM机自动取款系统的了解。为系统开发完成后期的测试和验收提供帮助。
1.2 项目背景
本系统的名称为“银行ATM机自动取款系统”。系统的功能主要有:能够读取和存储客户的存款和取款信息,方便客户自由交易;在客户选定交易类型后,直接与客户进行现金交易,方便快捷。将客户最新的存取信息上传到银行的总存储系统,并自动更新系统中的客户信息,方便银行系统管理员对客户信息的管理。
2、需求概述
2.1 目标
“银行ATM机自动取款系统”主要提供客户的存取交易信息,并自动与客户进行现金交易,以及上传并更新客户存取款信息等功能。该系统针对于配有ATM自动取款机的银行,客户较多,系统需操作方便,信息读取与存储及时快速,方便客户进行自由交易和系统管理员对信息的管理。
2.2 用户类和特征
最终用户是银行客户和银行系统管理员,银行系统管理员需要创建、统计、更新和删除客户的存取款信息,要求具备计算机知识和银行业务流程的专业知识,如权限管理和客户业务办理流程等。银行客户就是到银行办理业务的普通客户,只需具备一定的计算机操作知识即可。
3、功能需求
本系统相应的需求有以下方面:
(1)能够读取和存储客户账户中的存取款信息,并方便有效地进行客户选择的交易操作。这主要包括以下内容:
① 自动调用银行总系统中客户原有信息 ② 银行客户账户中的信息的查询、读取
③ 客户操作的识别,及信息的录入、更新、存储
(2)能够将客户输入的信息及时上传到银行总系统中,并将客户原有信息
进行自动更新。这其中主要包括以下内容:
① 汇总客户更新的信息,直接上传到银行总系统中 ② 抽调银行总系统中客户原有信息,并进行修改
③ 将银行总系统中客户原有信息更新为客户最新输入的信息,并存储 (3)提供客户信息访问的权限和管理。其中包括: ① 客户访问普通信息的权限
② 银行系统管理员对客户信息的录入、更改和删除 需要补充说明的几点有:
(1)数据保存:需要长期保存的数据信息有
① 客户信息:客户开通银行账户的基本信息 ② 账户信息:客户在银行的存取款信息 (2)系统用户:银行系统管理员和客户
① 银行系统管理员:对ATM机中的信息可进行录入、更改和删除等操作 ② 客户:在ATM机上可进行存取交易操作
3.1 确定执行者
执行者是与系统交互的外部实体,它既可以是人员也可以是外部系统或硬件设备。
确定执行者可以通过提出以下几个问题得到: (1)谁使用系统的主要功能?
(2)谁需要系统的支持以完成日常工作任务? (3)谁从系统获取信息?
(4)谁负责维护和管理系统以保证其正常运行? (5)系统需要应付(处理)哪些外部硬件设备? (6)系统需要和哪些外部系统交互?
本例中,可以确定“客户”和“银行系统管理员”为系统执行者。“客户”通过系统进行自己的存取款交易,“银行系统管理员”负责使用系统的主要功能。
3.2 确定用例
用例描绘了一个完整的系统事件流程,其重点在于执行者与系统之间的交互而不是内在的系统活动,并对执行者产生有价值的可观测结果。
确定用例可通过提出以下几个问题得到:
(1)参与者需要从系统中获得什么功能?参与者需要做什么? (2)参与者读取、产生、删除、修改或存储系统的某些信息吗?
(3)系统中发生事件需要通知参与者吗?参与者需要通知系统某件事情吗?
(4)系统的输入/输出信息是什么?这些信息从哪里来到哪里去? (5)采用什么实现方法满足某些特殊要求?
本例中,我们通过一定的调研和分析得到“银行ATM机自动取款系统”的用例图,如下图所示:
3.3 编写用例文档
用例图不能提供用例所具有的全部信息,因此需要使用文字描述那些不能放在图形上的信息。用例文档是关于执行者与系统如何交互的规格说明,要求清晰明确,没有二义性。在描述用例时,应应该只注重外部能力,不涉及内部细节。下面给出本例中的用例文档: 1、账户信息的维护用例 用例名:账户信息的维护 参与执行者:银行系统管理员
入口条件:银行系统管理员已经登录到该系统中
事件流:当有客户在ATM自动取款机上进行取款交易时,ATM自动取款机将客户取款之后的信息上传到银行系统中,管理员通过ATM机自动取款系统界面,点击“客户取款信息”调出客户最近一次的取款信息,然后点击上传到银行总系统中,弹出信息更新界面,点击“更新”则覆盖原有账户信息,并保存;点击“取消”则不进行账户信息更新覆盖,且不保存。
出口条件:系统将数据库中的读者信息进行相应的操作。调出客户账户信息是,调出客户账户信息表;更新账户原有信息时,覆盖系统中账户原有信息。 异常事件:在进行账户信息上传时,先调出客户在最近一次取款后的信息,若数据库中没有符合条件的记录,则无法进行上传操作,也无法完成系统原有信息的更新操作。
2、客户信息的维护用例
用例名:客户信息的维护 参与执行者:银行系统管理员
入口条件:银行管理员已经登录到该系统中
事件流:当有新客户开通新的账户时,银行系统管理员将新客户的信息录入到ATM机自动取款系统中,方便客户进行取款交易。进入系统,点击“添加客户”,弹出空白的客户信息表,管理员将新客户的信息录入表中之后,点击“提交”,则保存到系统中;当有客户修改信息时,进入系统,点击“更改客户信息”,弹出搜索界面,在搜索栏中输入需要修改的客户信息的关键字,点击“搜索”,调出客户原有信息,点击“更改”,进入客户信息更改界面,修改完毕之后,点击“保存”,则覆盖客户原有信息,点击“取消”,则取消更改;当有客户注销账户时,进入系统,点击“删除客户信息”,弹出搜索界面,在搜索栏中输入要删除的客户信息的关键字,点击“搜索”,调出客户已存信息,点击“删除”,弹出“是否删除该客户信息?”询问界面,点击“是”,则删除该客户的已存信息,点击“否”,则不进行删除操作。
出口条件:系统将数据库中的读者信息进行相应的操作。添加客户信息时,将新的客户信息保存到系统数据库中;更改客户信息时,在数据库中将该客户的信息进行相应的更改操作;删除客户信息时,则删除该客户在数据库中的信息记录。
异常事件:在进行修改和删除操作时,先查出需要进行操作的客户在系统数据库中的已存信息记录,如果数据库中不存在相应的符合条件的记录,查询没有结果时,则无法进行更改和删除操作。
3、客户信息的查询用例 用例名:客户信息的查询 参与执行者:银行系统管理员
入口条件:银行管理员已经登录到该系统中 事件流:进入系统,点击“查询客户信息”按钮 出口条件:系统显示查询的客户信息
4、账户信息查询用例
用例名:账户信息的查询
参与执行者:银行系统管理员、客户
入口条件:银行系统管理员已经登录到该系统中,客户已经登录到个人账户界面中
事件流:银行系统管理员进入系统后,点击“查询客户账户信息”按钮;客户登录个人账号,将银行卡插到卡槽中后,进入登录界面,输入密码后,点击“确认”,进入个人账户界面,点击“查询”按钮。 出口条件:系统显示查询的客户账户信息
5、取款用例 用例名:取款
参与执行者:银行系统管理员、客户
入口条件:客户已经登录到个人账户界面中
事件流:客户将银行卡插到卡槽中后,进入个人账户登录界面,客户输入密码后,点击“确认”,进入个人账户界面,点击“取款”,进入取款界面,选择取款金额,点击选中的数字按钮,进入等待界面,取出取款口的现金后,进入“是否打印凭条”界面,点击“是”,凭条从凭条口吐出,取出后,点击“退
出”,取出银行卡;在进入“是否打印凭条”界面,点击“否”,直接进入退出界面,点击“退出”,取出银行卡。
出口条件:ATM自动取款机将输入的相应的取款金额吐出
6、口令管理用例 用例名:口令管理
参与执行者:银行系统管理员、客户
入口条件:客户已经登录到个人账户界面中
事件流:客户将银行卡插入ATM机卡槽中,进入个人账户登录界面,输入密码,点击“确认”,进入个人账户界面,点击“修改密码”按钮,在口令修改页面输入新的密码,点击“确认”。
出口条件:数据库中的密码被修改成最新的密码
7、取款信息查询用例
用例名:取款信息的查询 参与执行者:客户
入口条件:客户已经登录到个人账户界面中 事件流:进入个人页面后,点击“查询” 出口条件:系统显示出客户查询的信息
4、 非功能需求
4.1 性能需求
银行ATM机自动取款系统的使用者是银行系统管理员和所有开通银行账户的客户。对于银行系统管理员的管理工作,性能要求不是太高,但需要方便客户账户信息的入库等操作。对于开通银行账户的客户取款、修改密码等功能,对性能的要求比较高,一般需要达到并发数1000以上。
4.2 安全性需求
由于银行ATM机自动取款系统的客户量很大,所以在对客户账户信息的导入和交易操作要保证速度。在客户进行交易操作的过程中又要保证事务的完整性。在整个系统中,需要完整的权限控制,以防止某些人恶意地攻击系统,修改系统中的原始记录。同时对于数据库中的数据需要定时备份,防止系统数据丢失。 此外,系统要求用户在登录时需要密码验证。
5、 故障处理
在正常情况下,应该不出现错误,一旦发生意外,比如:不识别银行卡、输入取款金额后现金吐不出来、取款过后ATM自动取款机为将信息上传到总系统中等等,也应保证客户账户信息不受损坏。
6、外部接口需求(略)