软件工程项目计划书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《项目计划书》
一、参赛作品构思的创意与价值(50%)
a)背景:问题领域
ATM(自动柜员机)是银行为客户提供自动化的一种现代化电子设备,是银行电子化的一个重要组成部分。系统能为持卡人提供取款、存款、转帐、余额查询、更改密码等多种功能。它的广泛应用可提高银行工作效率,减少由于业务量增加对柜台产生的压力,同时又自动延长了银行的服务时间。
b)问题:选题的动机与目的
由于各种原因ATM会出现机器故障或是ATM机与主机通信过程中发生丢包现象等事件,可能会出现如下一种情况:储户输入密码后取钱,而ATM 机未将钱吐出。那么在这种情况下卡上的钱会不会少呢?若去另一个ATM 机能够再取吗?为避免顾客的利益受到伤害,并保证系统的稳定性和可靠性,急需要设计一种较为可靠的机制使ATM机在最短的时间内恢复业务。
c)研究:市场调查过程和评价结论
通过对ATM系统的学习和研究,其主要运作模式如图1.1所示,主要涉及到银联主机、前置机和ATM三者之间的信息交互。
图1.1 系统结构关系图
本设计主要解决在三者之间通信发生丢包现象时,导致ATM未能正常出钞,则进行自我修复,让客户不会感受到中间发生故障丢包的一系列处理过程,同时免去客户到银行进行冲正处理的繁琐过程,体现人性化设计。
d)创意:参赛作品的构思描述
ATM机的通信部分主要分为两部分,一为前置机与主机的通信;另一为ATM机与前置机的通信。
通过顾客在取款过程中数据的备份、超时重传、实时打印等技术,尽量避免银行和顾客的利益受到伤害,保证系统的稳定性和可靠性。
e)功效:最终呈现给用户的实际功效
当ATM出现故障时(发生丢包),客户没有取到钞票,则显示“系统处理中”,直到出钞,若时间超时,则显示退卡。
f)评价:对创新的深度、广度的自我评价
本解决方案可以尽可能地保护储户的利益,即使在机器无法自动恢复的情况下,可以通过人为查看打印的交易记录来挽救故障造成的损失。为银行的ATM业务作出贡献,提升银行在顾客心中的地位。本设计可应用于各类银行ATM取款机中,具有通用性。
二、参赛作品的目标实现形式(20%)
(1)参赛作品的最终呈现形式
本作品只为模拟ATM机的操作流程,由三个进程实现主机、前置机、和ATM机之间的通信,并实现开户、登录、查询、取款和存款等业务。
(2)参赛作品的主要功能描述
储户插入银行卡后,ATM机获取银行卡信息,然后向前置机发出请求,前置机再将请求发送给主机,主机受到请求后检验银行卡号和密码的正确性,若正确则将储户信息返回给前置机。此时前置机通知ATM机可以进行下一步操作。储户此时可以选择查询余额、取款、存款等操作。若是取款操作,前置机会先扣去取款的面值,然后通知ATM机吐钱,若储户取款成功,前置机将修改后的储户数据提交给主机,主机保存数据,至此,通信过程结束。
(3)参赛作品的实用性和未来可扩展性分析
本作品对提高ATM机系统的稳定性和可靠性具有相当大的作用,故具有很广的实用性,而且本作品采用模块化设计,可扩展性好。
三、参赛作品目标实现的可行性(20%)
(1)参赛作品的主要技术路线
本设计主要解决在银联主机、前置机ATM机三者之间的通信丢包问题,用到的技术有:数据备份、超时重传、实时打印等技术,尽量避免发生ATM 未出钞成功,而银行系统已交易完成的现象。
(2)参赛作品的核心技术关键与实现可行性
当进行取款操作时,ATM、前置机和主机三者之间的数据交互可以抽象为如图3.1所示模型。
图3.1 取款业务原理图
通过分析,发生客户账户余额修改,而取款机未正常出钞的情况为银行主机收到请求完成数据库修,而ATM机并未收到应答命令,导致此种情况发生的原因可分为如下两种:
a)在主机向前置机发送应答时数据包丢失(即图3.1中③丢失),则采取如下方式进行改进:
前置机设置超时重发机制,如在发送请求后规定时间内为收到主机应答,则重发请求,主机收到请求后查询数据库看前置机余额是否与主机数据库中余额相同,若不同则重发应答,若相同则按正常请求处理。
b)在前置机向ATM机发送应答时数据包丢失(即图3.1中④丢失),则采取如下方式进行改进:
ATM机设置超时重发机制,如在发送请求后规定时间内未收到ATM机应答,则重发请求,前置机收到请求后查询该账户余额是否与ATM传送数据包中余额相同,若不同则重发应答,若相同则按正常请求处理。
由于以上两种情况同时发生的情况概率非常小,故在此不予考虑。
(3)参赛团队的资源可行性
本团队由6人组成,对网络通信、软件设计、程序编写、软件测试等方面具有一定的基础,完全有能力在预期时间内完成本设计。
四、团队组成与角色分工(5%)
任务分配如表1.1所示。
表1.1 任务分配表
五、项目时间进度表(5%)