1、 梁海传 专业班级: 计算机1112 指导教师: 钱小红 工作单位: 信息工程系 设计题目:ATM机系统的设计与开发课程设计的目的与任务:软件工程课程设计是软件工程课程的后续实践课程,本课程设计的目的是通过一周的实践训练,开发一个学生信息管理系统,使同学们经历一个软件从问题定义、分析、设计到开发的全过程和受到一次软件系统开发的综合训练,以便能熟练掌握软件开发的完整生命周期过程及较全面地理解、掌握和综合运用所学的软件工程的知识。结合具体的学生信息管理选题开发项目,理解并掌握系统分析、系统设计、系统实施的主要环节和步骤以及软件文档的制作能力,进一步提高学生分析问题、解决问题,进行一个完整系统开发的
2、能力。课程设计的内容与主要要求:本课题是一个用JAVA和MYSQL/SQL Server实现的ATM机软件系统的设计与开发,功能包括主界面的实现、身份认证、查询余额、取款、转账、密码修改、查询交易明细。要求系统的特色是界面简单明了,使用方便,系统有较好的网络适应性。要求学生根据所学的软件工程的知识,利用所学的Java语言/Vb语言/C+语言+Mysql/SQL知识实现一个ATM机系统,并对实现后的软件进行测试。系统主要实现登陆、查询、取款、存款、同行转账、密码修改等功能。课程设计的步骤及时间进度、场地安排 本课程设计将安排在第20周, 教育技术中心211。具体安排如下:6月27日下午:下发任务
3、;6月28日:查找资料,理清整理软件工程实验课所完成的学生信息管理系统需求分析、系统设计及相关模型的建立(通过visio/rational rose/powerdesigner建立系统的需求模型、数据模型及设计模型,具体包括数据流图、软件结构图、程序流程图、ER图、用例图、类图、时序图、活动图、状态图等);6月29日-7月2日:完成学生信息管理系统的开发;7月3 日7月4日完成系统测试、报告的写作及答辩验收,并将以上工作整理成为课程设计报告,于7月4日下午前提交课程设计报告。课程设计报告撰写格式要求:1设计题目与要求2 设计思想3系统结构 4 数据结构的说明和模块的算法流程图 5 使用说明书(
4、即用户手册)、运行结果、关键界面截图6 测试计划说明书、测试用例规格说明、缺陷报告7 自我评价与总结8 附录:程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加注释;要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。设计报告正文字数不少于0.2万字(不包括附录)。第1级(章)题序和题名用黑体三号字;第2级(目)题序和题名用黑体小四号字;第3级(条)题序和题名用黑体小四号字;正文内容用宋体五号字(英文用新罗马体),多倍行距1.25。报告内容一律使用A4打印纸计算机打印,页码在页下居中标明。必须使用国家公布的规范字。页面设置:上空2.5 cm,下空2.0
5、 cm,左空2.5 cm,右空2.0cm(左装订)。插图图面要整齐、美观,插图应与正文呼应,不能脱节。每幅插图应有图序与图题,图序编号要连续,图序与图题间空一格且要放在插图下方居中处。课程设计考核及评分标准课程设计考核将综合考虑学生考勤和参与度,系统设计方案正确性,系统设计和开发效果以及课程设计报告书的质量。总分按五级记分法记载最后成绩:优秀(10090分),良好(8089分),中等(7079分),及格(6069分),不及格(059分)指 导 教 师 签 字: 钱小红 2014年 6月 27日 1.1 设计题目 简单的ATM机系统的设计与开发 1.2 设计要求ATM机系统的设计要求该系统界面简
6、单明了,使用方便,有较好的网络适应性。利用我们所学的软件工程的知识, Java语言+Mysql/SQL数据库知识实现一个简单的ATM机系统,并对实现后的ATM机系统进行测试。该系统主要实现登陆、查询、取款、存款、同行转账、密码修改等功能。本系统主要包括管理员登陆和普通会员登陆的两个主体板块。此需求规格说明书是系统开发者设计实现ATM机系统的依据,也是用户对最终软件系统进行功能测试和验收的依据。 本系统为Web应用的信息管理系统,目的在于可以让用户更方便、快捷的进行取款,存款,转账等操作,实现便利,人性化的信息交流平台,支持管理员的后台信息管理。各个角色的功能需求如下: 1.管理员登录在调研中了
7、解到,用户想要使用系统,首先要有一个友好的用户注册界面。其次,用户需要经历登录验证过程,只有合法的拥有管理员身份的用户才可以使用系统中的管理功能。这样做可以防止非法用户登录并使用本系统,妨害数据安全。用户登录,通过系统登录验证,用户成功进入系统并开始使用其中功能。管理员可以进行会员注册,管理员注册,还有系统的维护等。2.普通会员登陆,也是本ATM机系统的主要模块。主要是对用户的需求而设计的。用户登陆到系统后,可以进行取款,存款,转账,查看自己的账户信息(包括:账户id,账户密码,用户名,地点,银行余额),还可以查看自己的交易明细(包括:自己的ID,交易时间,转账用户的id,收入资金,支出资金)
8、3.系统结构 3.1系统功能模块ATM的系统中总共设计了四个模块,分别是登陆模块、交易模块、查询模块、修改密码模块,总的功能模块图如下所示 图3.1 ATM系统功能结构图3.2数据流图的设计3.2.1 一级数据流图 主要体现了整个系统的一个宏观的模块,数据流的出口与入口体现。 图3.2 ATM系统一级数据流图3.2.2 二级数据流图 主要体现了整个系统数据流的流向,及功能的基本模块化。 图3.3 ATM系统二级数据流图3.3系统流程图 本系统的总体逻辑结构的流程图,清晰的体现了整个系统的运行的一个流程。 图3.4 ATM系统流程图3.4 ATM机系统用例图 将上图的类图的一个实体化,将类实体化
9、出对象,体现出对象可以做的事情,即可以实现的本系统的功能。 图3.6 ATM机系统用例图4.1数据库4.1.1实体联系图用户信息实体包括:用户账号、用户名、账户密码、用户电话、用户地址以及账户余额,将用户账号设置为主键。 ATM机系统的管理员信息实体包括:管理员账号、管理员名称以及管理员登陆密码 ATM机系统的交易明细信息实体包括:交易时间、存款金额、取款金额、汇入账号、汇出账号。 图4.1实体联系图4.1.2数据字典 atm_user表是用来存储用户信息的,具体字段如下:表1 atm_user(uid,uname,upass,tel,addr,balance)表字段名数据类型可否为空描述ui
10、dVarcharNot null(主键)用户账号unameNull用户名upass账户密码tel用户电话addr用户地址balanceFloat账户余额atm_admin该表主要是用来存储管理员信息的,具体字段如下:表2 atm_admin(adid,adname,adpass)表Adid管理员账号Adname管理员名称Adpass管理员密码atm_detail该表主要是用来存储交易信息的,具体字段如下:表3 atm_detail(euid,etime,esave,eget,uid)表EtimeDatetime交易时间Esave存款金额Eoutput支出金额Euid汇入账号Uid汇出账号4.1
11、.3数据关联 图4.2数据关联4.2 模块的算法流程图 登录模块流程图 图4.3 登录模块流程图5运行结果关键界面截图5.1 登陆页面 登陆页面,有用户的输入账号密码的两个输入框,还有一个下拉框,进行不同身份的登陆 图5.1普通用户登录页面5.2 普通用户登录后的页面 用户点击登陆以后,通过数据库对比,判断用户的合法性,通过后就会进入该界面,否则继续停留在登陆页面。进入用户界面后,用户就可以看到以下不同的操作类型,通过点击不同的链接,可以实现不同的功能,以此来满足用户的不同需求。 图5.2普通用户登录后的页面5.3用户进行取钱操作 点击“取款”便可以跳转到取款页面。通过数据库链接技术,用户在该
12、页面取出的钱将会返回到数据库中去,减去相应的取款金额。 图5.4用户进行取钱操作5.4用户进行转账业务点击“转账”便可以跳转到转账业务中去。通过对自己的账号,转账方的账号,还有姓名的对比,再输入转账金额就可以转账了,转账之后,转账双方都会添加一条交易明细,记录此次交易内容。 图5.5用户进行转账业务操作 5.6查询用户自己信息 点击“查询信息”后便可转到查询页面,用户可以查看自己的信息,主要是可以看到自己的银行余额。 图5.6查询用户自己信息 5.7查询交易明细 点击“查询明细”之后便可以看到自己的交易的信息明细了,主要包括交易时间,支出,收入,转账账户等。如果是取钱,则收入就会有信息,支出为
13、0,转账为null。其他操作以此类推,如存钱,转账等操作。具体页面如下: 图5.7查询交易明细 5.8管理员登录页面 当管理员登录成功后便可以转入管理员的界面。该界面主要可以有以下可选操作:管理员注册,普通会员操作,系统维护。实现结果如下:管理员注册新用户 点击“注册新用户”便可进入注册用户的界面。开户功能只能是管理员拥有,其他成员没有此项特权。注册的用户提交后便可以在atm_user表中记录该用户的信息,而起始余额默认为0。 图.5.9管理员注册新用户 6.1功能测试计划。 由于系统是刚刚完成,存在很多内在的问题需要我们去发现,并完善。系统测试也是软件的一个生命周期。整个测试计划主要包括:登陆测试,取款与存款测试,转账测试,修改密码测试,注册用户测试,注册管理员测试,查询信息测试,查询明细测试。通过以上先后循序完成对这个系统的测试。 6.2 测试用例规格说明 6.2.1取款测试。对取款金额进行测试,测试用例如下:-100, 取负数,系统便会报错,取款金额只能为正。0, 取款为0的话,系统就不会做任何操作。Null, 因为钱的数据类型我们设计为float类型,空的话会报错100, 这是正常的取款数额。大于余额的数, 当区的数大于余
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1