西安石油大学户县新校区软件0903行军蚁设计小组ATM取款机项目设计小组第1页共11页银行ATM机业务软件需求分析1.1编写目的为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,为了使用户与开发者更好地进行沟通,并在此基础上探索C程序语言的开发途径和应用方法,使之成为整个开发工作的基础。本需求分析的预期使用用者ATM系统软件开发有联系的决策人,开发组人员,支持本项目的领导和使用该系统的用户。1.2背景软件名称:银行ATM机业务软件西安石油大学户县新校区软件0903行军蚁设计小组ATM取款机项目设计小组第2页共11页1.3定义C语言是国内外广泛使用的一种计算机语言,C语言功能丰富,表达力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,即具有高级语言的优点,又具有低级语言的许多特点。既可以用来编写系统软件,也可以用来编写应用软件。它的语言简洁、紧凑,使用方便、灵活;运算符丰富;数据类型丰富;具有结构化的控制语句;语法限制不太严格,程序实际自由度大。任务概述2.1目标2.1.1开发意图ATM取款机现在为大家广泛使用,与人们生活息息相关。本项目主要利用学过的C语言知识来编写一个ATM自动取款机的程序,可以让大家更加深刻的了解ATM的工作原理,同时也让大家对程序设计流程的有了更近一步了解,为以后的找工作积累了经验。2.1.2应用目标本次项目的设计以实用为主,主要应用于银行卡业务,由于银行卡方便快捷,使用户在外游玩工作中避免携带大量纸币带来的不安全隐患,更好的享受生活。2.1.3作用范围使用ATM取款机的人群必须进行电子注册,必须遵守用户许可协议,了解相应的操作流程。西安石油大学户县新校区软件0903行军蚁设计小组ATM取款机项目设计小组第3页共11页2.2用户的特点本软件的用户主要分为以下两类:对于ATM使用者:a)一般的开户持卡人员;b)不要求具备任何专业知识;c)普通用户使用存款,查询余额,转账,修改密码,查询存取历史明细等功能。对于维护人员:a)要求熟练掌握C语言的相关知识;b)对软件开发的各个过程有所了解,以及各个模块的相互联系要清楚。软件的预期使用频度为频繁。3需求规定3.1JPG查账户登录密码错误超过三次即冻结账户。存款用户在登入ATM系统后即可自助存款,存入货币面额仅限100元,一次性存入总金额不得超过2000元。取款用户在登入ATM系统后即可自助取款,用户输入的取款面金额必须是50元或100元的整数倍数,一次性取款金额不得超过2000元。西安石油大学户县新校区软件0903行军蚁设计小组ATM取款机项目设计小组第4页共11页转账用户在登入ATM系统后即可向其它账户进行转账操作,转账金额无上线。查询用户在登入ATM系统后可查询当前账户的余额情况。卡信息卡内明细(姓名,卡号码,办理银行卡地点)交易明细用户在登入ATM系统后即可查询账户历史交易记录等等。退卡交易结束,请及时取卡。3.2对性能的规定3.2.1精度取款机的各个按钮要准确映射到取款机的某个键。在主菜单界面中,通过控制相应按钮切换功能,按功能键确认选择。本软件要求用户输入密码用户名为字母数字或下划线,且首位不得为数字。输入密码为6位整数。取款及转账金额为整型数据。户源,目标账户为数据库中存在的用户名,即字母数字或下划线,且首位不得为数字。3.2.2时间特性要求a)响应时间:西安石油大学户县新校区软件0903行军蚁设计小组ATM取款机项目设计小组第5页共11页用户插入银行卡后,按系统提示输入相应信息,系统确认完成后,自动进入主菜单界面。在主菜单界面中,如果用户选择修改密码,先输入旧密码,在很短的时间内再输入新密码;如果用户选择了存款,系统在短时间内确认金额,进行交易;如果用户选择了取款,则输入金额后系统在较短时间内弹出纸币;如果用户选择了其他选项(如交易明细查询),要短时间内显示相应的信息。用户交易完毕,则选择退卡,请在三十秒内拿走银行卡,否则后果自负。b)更新处理时间:在每次用户结束交易后,请系统及时进行信息更新。c)数据转换和传送时间:用户本次进入系统,要与最近一次的保存进度一致。在进行各项交易中,用户的时间记录要准确,不能有延迟和提前。d)解题时间:不能出现让用户费解的信息。3.2.3灵活性a)操作系统:该软件当遇到非预期输入数据或操作时,会进行报错处理,并要求用户重新进行输入数据或操作。b)同其他软件接口的变化:考虑到接口的变化,尽量将代码模块化,多提供一些接口类,提高代码的可移植性。c)运行环境的变化:由于代码输入到不同的取款机,其虚拟机可能有所不同,所以编写代码时要考虑运行在不同平台上的问题,即代码的平台可移植性。d)计划的变化或改进:项目过程中可能要更改方案,如更换背景,更换按钮风格,或者调整每次系统输出信息的时间等。这些就要依赖于代码的可扩展性,可以不用更改很多代码。3.3输入输出要求1)用户名:字母数字或下划线,且首位不得为数字。2)密码:6位整数。3)取款及转账金额:整型数据。西安石油大学户县新校区软件0903行军蚁设计小组ATM取款机项目设计小组第6页共11页4)户源,目标账户:即字母数字或下划线,且首位不得为数字。5)用户需求事务:通过人机交互界面进行选择。3.4数据管理能力要求1)该软件需要进行的数据管理主要为用户信息,需要创建一个表,主要记录如用户名,用户密码,用户余额,用户类型,用户开户日期,用户操作记录等。2)进度是记录当前用户所处的环境,如余额的数目,存储的金额,交易明细等。这些可以通过数据库保存。3.5故障处理要求软件故障:系统运行过程中可能在输入密码后并无任何提示信息,或者查询详单时无输出信息,内存泄漏等。这些都给用户带来不必要的麻烦,故在程序设计中,代码编写以及测试的时候都要仔细关注这些方面的问题。硬件故障:某些硬件故障无法解决,应与相关部门及时联系,解决问题。4运行环境规定4.1设备ATM取款机。4.2支持软件不需要其他软件支持4.3接口外部接口方面:本软件同外部无软件接口,取款机存在按键与屏幕映射方面的接口。内部接口方面:西安石油大学户县新校区软件0903行军蚁设计小组ATM取款机项目设计小组第7页共11页各模块之间存在着内部联系,有些模块之间存在着信息共享的关系。5.实验开发心得这次的开发只是主要单纯从界面以及数据库的设计和一些接口效率内容所需要注意。我认为每次设计界面和后台需要比较多的心细以免有错误漏洞的错误,甚至很简单的逻辑也非常容易出错,都需要演练一遍才避免错误。感谢李静锴给我解答课外疑惑问题