ATM存取款系统的改进与完善程序设计.doc
《ATM存取款系统的改进与完善程序设计.doc》由会员分享,可在线阅读,更多相关《ATM存取款系统的改进与完善程序设计.doc(41页珍藏版)》请在沃文网上搜索。
1、 项目实训任务书课程名称:程序设计基础实验课程编码:JX020102课程类别:专业基础必修课学分数:1.5学时数:24开课学期:3实训题目:ATM存取款系统的改进与完善一、已知技术参数和设计要求:银行ATM存取款系统业务描述如下:银行ATM存取款系统能为用户提供存款、取款、查询、转账和修改密码的功能。为了模拟真实的ATM业务环境,本系统必须实现存款、取款、查询、转账、修改密码以及开户的功能。用户通过开户业务在本系统开立银行账户,之后可以通过该银行账户登陆ATM系统,在系统中实现存款、取款、查询账户信息、修改密码的操作。本系统各个业务有如下注意点:(1) 登陆系统用户登陆之前,必须在登陆界面输入
2、其银行账户,通过其正确输入的银行账户登陆系统。(2) 开户业务 要使用本系统必须首先执行开户业务开立新的银行账户,并且将此新开的银行存储于文件当中。同时,系统以身份证号码作为开户的充分条件,即一个身份证号码只能开立一次银行账户。(3) 存款业务 客户登陆系统后,选择存款业务,即可以将输入的存款金额存入相应的账户。(4) 取款业务客户登陆系统后,选择取款业务,即可以将输入的取款金额从相应的银行账户取出,但是取款金额必须大于目前的账户余额。(5) 查询业务 客户登陆系统后,可以选择查询业务,查询账户余额。(6) 转账业务 客户登陆系统后,可以选择转账业务,进行转账。注意的是转账的目的账户必须是本系
3、统已经存在的银行账户。(7) 修改密码客户登陆系统后,可以选择修改密码业务,进行密码修改。二、各阶段具体要求:1、系统总体设计阶段(1)根据需求分析划分功能模块(2)分析并设计各个功能模块之间的关系(3)对于各个功能模块,设计相应的数据结构(必须使用链表完成全部功能)(4)设计相应的算法(必须包括排序和检索功能,且基于链表进行排序和检索)2、详细设计阶段(1)对于每个功能模块,应划分成操作层和数据层(2)对于每个操作层,应尽量考虑用户操作的简单,便捷(3)对于每个数据层,必须使用链表进行管理(4)在用链表进行管理时,必须用到链表检索和排序(5)对于数据层的操作完的数据必须保存到文件中(包括文件
4、读、写操作)3、编码实现阶段(1)完成代码编写 (2)要求代码编写规范(不得使用全局变量、所有功能模块必须使用函数封装主函数main()的行数不得超过代码总长度的25%)(3)代码必须有相应的注释(注释行数不得少于代码的10%,函数功能、变量名、算法、重要的循环、分支都必须用注释说明)4、系统测试阶段(1)完成功能调试(2)要求完成必要的测试工作5、交付实施阶段(1)提交可正常执行的系统,程序代码(2)撰写项目实训报告书(3)要求按照文档书写规范,严格地书写文档(4)注意:不允许使用代码、图片和表格填充报告空间。代码、图片和表格在报告中的空间比重不得超过1/3。要求使用文字清晰描述代码思想和逻
5、辑,文字描述不得少于3000字(不包含注释文字)。三、设计工作量:(1)软件设计:严格按照具体设计要求,完成问题陈述中所提到的所有需求功能。(未使用链表实现的、代码少于300行的不及格,未使用链表排序的成绩不可以为优)(2)设计报告:要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。四、工作计划:安排12周时间进行实训(每周2课时),软件开发步骤如下,在课程结束时必须完成所有任务,报告撰写同步进行;序号实践项目名称内容提要实践时数主要考察内容考察方式与分数比重1实验1:程序架构的描述1、数据与逻辑分离2、程序架构的描述41、数据与逻辑分离2、程序架构的描述考察方式:考查知识点在最终项
6、目中的应用情况分数比重:约20%2实验2:链表在工程中的应用1、使用链表来构造ATM机的后台数据管理2、实现常见的链表操作插入、删除、修改、遍历以及创建链表61、使用链表来构造ATM机的后台数据管理2、实现常见的链表操作插入、删除、修改、遍历以及创建链表考察方式:考查知识点在最终项目中的应用情况分数比重:约20%3实验3:查找在项目中的应用1、在使用链表的基础上引导学生完成12种主要查找如条件查找和顺序查找2、将这些算法结合到学生的工程应用题中21、在使用链表的基础上引导学生完成12种主要查找如条件查找和顺序查找2、将这些算法结合到学生的工程应用题中考察方式:考查知识点在最终项目中的应用情况分
7、数比重:约15%4实验4:排序在项目中的应用1、在使用链表的基础上引导学生完成23种主要排序冒泡、选择和插入2、将这些算法结合到学生的工程应用题中61、在使用链表的基础上引导学生完成23种主要排序冒泡、选择和插入2、将这些算法结合到学生的工程应用题中考察方式:考查知识点在最终项目中的应用情况分数比重:约20%5实验5:结构在文件中的应用1、讨论不同结构的设计技巧,考虑在同一项目中使用自定义结构的必要性2、考虑将复杂结构双向链表、循环链表作为解决问题的一种途径与手段21、讨论不同结构的设计技巧,考虑在同一项目中使用自定义结构的必要性2、考虑将复杂结构双向链表、循环链表作为解决问题的一种途径与手段
8、考察方式:考查知识点在最终项目中的应用情况分数比重:约10%6实验6:文件操作技巧1、加强学生对文件操作的认识2、考虑将复杂结构中的相关数据通过写入文件的方法作为长期记录保存的工具3、并将此作为改进项目的手段41、加强学生对文件操作的认识2、考虑将复杂结构中的相关数据通过写入文件的方法作为长期记录保存的工具3、并将此作为改进项目的手段考察方式:考查知识点在最终项目中的应用情况分数比重:约15%五、注意事项1)提交文档课程实训任务书(每学生1份)课程实验/实训报告(每学生1份)2)成绩评定学生成绩由指导老师负责考察评定,分为:优、良、中、及格和不及格五档。l 以下情况可以判断成绩为不及格:a、
9、抄袭b、 代码量少于300行c、 未使用链表d、 报告不符合规范l 以下情况不可以判断成绩为优:a、 未使用链表排序b、 使用全局变量c、 大量代码集中在主函数main()中,而不是使用函数进行合理封装d、 功能不完善,有残缺e、 代码缺乏必要的注释f、 缺课l 其他情况由指导老师综合考虑给予成绩评定l 主要考察知识点与要求:a、 链表组织数据b、 排序(基于链表)c、 链表检索d、 文件保存和读取数据e、 函数封装及调用f、 代码缩进和注释等软件工程原则基本要求g、 文档 程 序 设 计 基 础 实 验 报 告摘 要ATM机管理系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程
10、当中起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。本文针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,开发了一个银行ATM机管理系统。银行ATM存取款系统能为用户提供存款、取款、查询、转账和修改密码的功能。为了模拟真实的ATM业务环境,本系统必须实现存款、取款、查询、转账、修改密码以及开户的功能。用户通过开户业务在本系统开立银行账户,之后可以通过该银行账户登陆ATM系统,在系统中实现存款、取款、查询账户信息、修改密码的操作。 此程序设计目的在于便于学生更好的掌握C
11、语言这门课程。关键词:ATM;系统;C语言目 录摘 要I第1章 需求分析11.1设计介绍11.2需求分析1第2章 概要设计32.1系统整体模块32.2系统模块设计32.2.1注册模块32.2.2登陆模块 .42.2.3取款模块 . 52.2.4存款模块 . 6 2.2.5修改密码模块 . 7 2.2.6转账模块 . 8 2.2.7查询模块 . 9第3章 详细设计 113.1 函数名 . 113.2 数据类型和结构 . 11第4章 程序实现 . 12 4.1 代码分析 . 12第5章 测试 . 14 5.1 测试结果 . 14结 论18参考文献19附 录20II程 序 设 计 基 础 实 验 报
12、 告第1章 需求分析1.1设计介绍根据生活中ATM的业务要求及对客户的需求分析,这个系统需要实现注册,登录,存取款、查询、转账、修改密码等功能。用户通过注册业务在本系统可以用身份账号注册一个银行账户,并在注册之后可以通过该银行账户登陆ATM系统,在系统中实现存,取款、查询账户信息、修改密码等操作。1.2需求分析1.ATM注册系统首先需要对所有注册用户的信息进行完整的保存与读取。对这些信息的保存要有一定的技巧性,可以为之后用户的注册,以及所有用户的登录提供一个很好的检索条件。在注册的时候要以身份证注册账号。在进行密码输入的时候要人性化,要输入两次密码以确定密码,以防止用户输入含糊的密码。为了实现
13、这个,可以创建一个文件。建立一条链表,链表中每个节点对各种数据类型进行保存。2.ATM登录系统需要调取用户所有信息。这个系统设计必须保证用户的安全性,一旦登录便可以完成登录后可以实现的功能。只有在输入账户号以及密码的情况下才可以登录成功。在登录时要检索所有已登录用户的信息,确保是登录时所输入的账号并且密码输入无误。为了实现这个,可以直接调取文件中的信息进行核对,运用链表检索核对账号和密码的准确性。3.ATM系统的存取款业务,要在登录的情况下才可以进行这个业务。存取款时对用户在这个账户有的金额上进行正确的运算并在确定业务完成的情况下在退出时进行保存。这个业务的实现可以直接运用C语言中的逻辑运算,
14、同时也需要调取文件中的信息,最后在确定改变信息后用改后的信息覆盖之前的信息,退出后存到文件中。4.ATM系统的查询业务,要在登录的情况下才可以进行这个业务。查询信息时,直接根据账号调取文件中该账号的信息提示该用户的姓名,账号,以及账户中的余额。可以运用链表检索从第一个节点检索到所需的账号所在的节点。5.ATM系统的密码修改业务,要在登录的情况下才可以进行这个业务。在输入原密码的情况下,再输入修改后的密码,再一次确认新密码后可以完成该业务。这里需要对用户数据进行修改,并存入文件。这里直接调取信息,修改链表中的数据然后再保存到文件即可。6.ATM系统的转账业务,要在登录的情况下才可以进行这个业务。
15、要准确输入对方的账号并输入转账的金额,并确定后才能转账成功。这里需要对两个用户数据进行修改并保存。完成这个业务,可以输入对方账户进行查找与匹配,然后修改两个节点的值最后都进行一次保存即可。第2章 概要设计 2.1系统整体模块依据需求分析,设计如下一个整体模块结构:开始菜单1登陆验证注册菜单2存款取款转账查询修改密码结束图2.1 系统整体模块2.2系统模块设计2.2.1 注册模块简要介绍:要使用本系统必须先注册一个账号,保存到文件中。流程图如下:开始请输入新银行账户请输入新银行账户密码再一次输入新银行账户密码判断两次输入的密码是否一致否是请输入您的姓名请输入您的身份证号码开户成功结束图2.2.1
16、 注册流程图2.2.2 登陆模块简要介绍:登录模块允许用户通过输入相关信息,使用strcmp()对账户与密码进行匹配。如果用户信息匹配且符合要求则允许用户登录,否则则提示用户错误信息,提醒用户是重新输入还是退出。用链表指针检索并可以确保有该账号并且密码输入无误。此模块可以实现在准确输入账号密码后成功登陆。流程图如下:开始请求输入登录者的账号,密码判断账号密码是否正确进入主页面结束是否图2.2.2 登陆流程图2.2.3 取款模块简要介绍:取款模块可以实现用户的取款,同时调取文件中的信息,并可以针对用户取款的金额在原有的余额上进行正确修改。流程图如下:开始进行登录操作选择取款业务进入取款业务的操作
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ATM 取款 系统 改进 完善 程序设计