软件工程atm柜员机系统课程设计.docx

上传人:b****6 文档编号:4511785 上传时间:2022-12-01 格式:DOCX 页数:37 大小:582.72KB
下载 相关 举报
软件工程atm柜员机系统课程设计.docx_第1页
第1页 / 共37页
软件工程atm柜员机系统课程设计.docx_第2页
第2页 / 共37页
软件工程atm柜员机系统课程设计.docx_第3页
第3页 / 共37页
软件工程atm柜员机系统课程设计.docx_第4页
第4页 / 共37页
软件工程atm柜员机系统课程设计.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

软件工程atm柜员机系统课程设计.docx

《软件工程atm柜员机系统课程设计.docx》由会员分享,可在线阅读,更多相关《软件工程atm柜员机系统课程设计.docx(37页珍藏版)》请在冰豆网上搜索。

软件工程atm柜员机系统课程设计.docx

软件工程atm柜员机系统课程设计

 

软件工程课程设计

 

题目:

ATM柜员机系统

学院:

信息科学与工程学院

专业:

运算机科学与技术

学号:

班级:

学生姓名:

 

一可行性研究

1编写目的

目的

这份可行性研究报告是对ATM柜员机的可行性研究分析及指出存在的必要性。

预期的读者

软件治理人员、开发人员、保护人员、顾客用户。

2问题概念

ATM柜员机介绍

ATM柜员机利用与ATM机相似的图形用户界面,当用户在登录界面输入给定的卡号和密码时,系统能登录ATM柜员机系统,通过数据链接操作来达到独立的客户与机械交互从而进行取款、存款、转账、查询余额、修改密码等业务办理的目的。

大体目标

ATM柜员机主若是由各个实体窗口组成,它是由登录页面、选择效劳、存款、取款、查询余额、修改密码和查看交易记录等功能。

它的各类按钮的事件和功能能够简单的模拟ATM柜员机的要求,让用户在电脑上能够轻松体验ATM取款机的利用流程,以达到易学易用的成效,幸免用户在真实的ATM机上显现失误,带来没必要要的损失。

经济目标

由于本软件的要紧背景(为课程设计)在经济上不注重直接的经济收益,而是注重小组成员整体水平的提高。

3可行性研究的方式及评判度

可行性研究所采纳的方式

依照调查,本小组成员多数有JAVA编程体会,也具有MYSQL的利用体会,因此开发此系统采纳JAVA结合MYSQL的数据库系统开发。

评判尺度

此软件临时只是一个低级产品,实现的功能也只能完成初步的工作。

4工作产品

设计目标

为了减少银行的业务处置压力,尽可能节省人们取钱所花费的时刻和价值;而且尽可能的避免一些非法的业务操作,同时它的利用能够有效解决用户信息和资金信息的繁杂问题。

设计及约束条件

a.ATM面向客户十分普遍,因此界面设计要力求简单明了,只要熟悉汉字并具有实际行动能力的人,就能够够顺利进行操作,关于用户输入的数据,系统能进行严格的数据查验,尽可能的排除人为地错误。

b.开发人员应具有相应的开发能力,懂C++与java编程,小组成员能够依照打算的要求,按时完成系统的每一部份,保证后面的开发进程能够顺利进行。

但依照现有条件和知识,咱们还得在技术方面进行学习和提高。

工作原理

a.先成立数据库且追建数据库的驱动程序。

b.在利历时,分为后台治理和前台操作。

c.用户输入账户大体信息进行登录,然后方能进行下一步操作。

系统流程图

数据流图

数据词典

数据字典是关于数据的信息的集合,也确实是对数据中包括的所有元素的概念的集合,它为软件开发人员提供数据库设计的参考,并为用户了解系统时作为一个必有工具。

(1)数据项概念

名字:

用户

别名:

描述:

银行账户的持有者

概念:

用户=账户+姓名+证件号码+存款余额

位置:

全数由账户持有者所拥有

名字:

信息

别名:

描述:

银行系统用来辨别是不是有权来支配该账户存款余额的凭证

概念:

信息=账户+密码

位置:

输入到ATM

(2)操作说明

输入账户信息,就能够够登岸并在ATM上进行一系列操作

选择交易类型,就能够够进行相应操作

输入转账账号,就能够够进行转账操作

选择对应金额,就能够够取得相应数量的现金

选择余额查询,直接显示对应账号余额

产品的功能

登录ATM柜员机系统,通过数据链接操作来达到独立的客户与机械交互从而进行取款、存款、转账、查询余额、修改密码、查看交易记录等业务的目的。

技术可行性。

依照小组成员拥有良好的JAVA编程能力及拥有MYSQL的利用体会,再依照上述分析情形,利用现有人力和物力是具有开发此系统能力的。

关于用户来讲,此系统简单、大方、美观、易懂,顾客操作依照系统提示,容易完成。

5可选方案

鉴于系统必需具有高平安性,在数据库利用上都要求具有完善的治理功能且往后数据库升级方便,因此本次利用要紧依照数据库的易用性及易升级性提供两种方案。

a.采纳Oracle数据库设计,这一数据库系统此刻已成为主流的数据库治理系统,且易操作,易升级,因此提出这一方案。

b.采纳MYSQL的数据库治理系统实现。

依照小组成员的技术,目前尚只有具有利用MYSQL数据环境开发的能力,且当前校园大多利用MYSQL作为数据库治理系统,因此第二种方案作为本次系统开发的方案。

6经济的可行性

市场分析

按本软件开发方案,关于本系统软件投资方向,表现于软件开发、软件生产及软件测试。

投资估量

本系统完全按开发打算进行估算,估量上网,打印需一些费用。

本系统大约整体花费要紧为时刻,精力。

本系统本非收益性质开发,重若是为解决用户的需要。

7社会因素方面的可行性

技术

由于用户办理银行业务时,比较拥堵,而且需要花费大量的时刻,为了减少银行的业务处置压力,尽可能节省人们的时刻,而且能够有效解决用户信息和资金信息的繁杂问题。

利用方面的可行性

此系统给银行和用户都带来了利益,同时出售此系统的技术员也取得利润,相当于按期收取租金。

有利于社会经济的进展。

8产品可检测性

检测标准

软件标准:

软件规模、复杂程度、平安性、可操作性、可观看性、可操纵性、冗余的大小。

检测的方式

通过软件测试:

黑盒测试法:

要紧在软件界面上进行的测试。

白盒测试法:

在重要逻辑途径进行测试,检测重要数据结构的有效性。

9产品的可生产性

正确性:

程序是不是按程序流程图及数据字典完成程度。

靠得住性:

平安运行时刻越长越好。

可用性:

是不是能够解决实际的存在问题。

完整性:

对未授权的人员访问此系统软件可控性强。

灵活性:

修改一个程序的工作量。

10可行性综合分析

本工程产品开发周期为2月。

要求所有数据信息的贮存都由数据库来完成。

时刻十分宽裕,对咱们工程的进行超级有利。

11可行性结论

综上所述,本工程的技术成熟、完备,测试手腕靠得住,具有良好的市场拓展,因此本工程可当即开始。

二需求分析

1项目背景

在市场经济的蓬勃进展和人们日趋忙碌的条件下,ATM应运而生,它能够减少银行的业务处置压力,尽可能节省人们的时刻,而且能够有效解决用户信息和资金信息的繁杂问题。

2任务概述

目标

本系统在设计上,尽可能使流程清楚,操作灵活。

实现上应该具有如下功能:

1.采纳人机对话的方式,界面美观友好。

2.为用户提供方便,快捷的业务办理功能。

3.对用户输入的数据进行检查,尽可能排除人为的错误。

4.用户能够随时查看自己的交易记录。

8.系统运行稳固,数据存储平安靠得住。

运行环境

CPU

Pentium4以上

内存

512MB以上

硬盘空间

500MB以上

操作系统

WindowsXP或Windows7

数据库

MYSQL

开发环境

NetBeans+

浏览器

以上

服务器

条件和限制

性能描述

实时性好、灵活性强、易于不同年龄时期的人操作。

界面要求

以Windows窗口形式显示,题目栏为ATM柜员机名称,右上角有最小化按钮、关闭按钮,不同的窗口中有不同的按钮和选择菜单。

输入:

输入内容:

账号,储户密码,取款额,转账卡号,转账金额

储户密码:

六位整数;

存款额:

50元的倍数;

取款额,转账额:

100元的倍数;

转账卡号:

18位整数;

输入设备:

数字键盘

输出内容:

余额,输入密码提示,业务选择提示,取卡提示,交易记录

设备:

显示器;

介质:

运算机

3数据库描述

数据库是数据治理的最新技术,是运算机科学的重要分支。

十年来,数据库治理系统已从专用的应用程序包进展成为通用系统软件。

由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优势,较大的信息系统都是成立在数据库设计之上的。

由于用到的数据表格多,另外考虑到实际情形,商品信息的更新,还有会员资料的转变,咱们选用MYSQL作为数据库开发,而不用Access,主若是因为Access寄存的记录,在实际运用中不适合此系统;而MYSQL是一种经常使用的关系数据库,能寄存和读取大量的数据,治理众多并发的用户,应选用MYSQL数据库。

4所用技术描述

NetBeans由Sun公司在2000年创建,它是开放源运动和开发人员和客户社区的家园,旨在构建世界级的JavaIDE。

NetBeans当前能够在Solaris、Windows、Linux和MacintoshOSX平台上进行开发,并在SPL(Sun公用许可)范围内利用。

已经取得业界普遍认可,并支持NetBeans扩展IDE模块目录中大约100多个模块。

NetBeans是一个全功能的开放源码JavaIDE,能够帮忙开发人员编写、编译、调试和部署Java应用,并将版本操纵和XML编辑融入其众多功能当中。

NetBeans可支持Java2平台标准版(J2SE)应用的创建、采纳JSP和Servlet的2层Web应用的创建,和用于2层Web应用的API及软件的核心组的创建。

另外,NetBeans最新牒还预装了两个Web效劳器,即Tomcat和GlassFish,从而免去繁琐的配置和安装进程。

所有这些都为Java开发人员制造了一个可扩展的开放源多平台的JavaIDE,以支持他们在各自所选择的环境中从事开发工作,如Solaris、Linux、Windows或Macintosh。

  

5功能需求

功能模块图

系统模块结构图

6性能需求

本ATM柜员机的要紧功能如下所述:

要求利用图形用户界面。

当输入给定的卡号和密码时,系统能登录ATM柜员机系统,用户能够依照以下规那么进行:

A、查询余额:

初始余额为10000元;

B、ATM取款:

取款不能显现负数,每次取款金额为100的倍数,总额不超过5000元,支取金额不许诺透支(假设能够提供与ATM机一样的取款模式就更好);

C、ATM存款:

不能显现负存款,每次存款金额为50的倍数;一次存款不能超过10000元;

D、修改密码:

新密码长度为6位,不许诺显现6位完全相同的情形,只有旧密码正确,新密码符合要求,且两次输入相同的情形下才能够成功修改密码。

E、查看交易记录:

依照用户输入的查询起止时刻,查询该时刻段的存取款交易记录。

7数据描述

8静态数据描述

用户:

Username

用户名

Tel

电话

账户

Usernumber

账号

Password

密码

9动态数据分析

鼠标对按钮的点击

受限操作所需的密码;

输出数据:

查询余额的信息;

查询记录信息;

密码修改成功;

信息录入、删改结果(成功或失败);

10系统IPO图

IPO图是输入输出图,IPO是指结构化设计中变换型结构的输入(Input)、加工(Processing)、输出(Output)。

IPO图是对每一个模块进行详细设计的工具,它是输入加工输出(INPUTPROCESSOUTPUT)图的简称,在此能够简略的描述系统的要紧算法。

输入处置输出

 

三概要设计

1需求规定

真正的ATM针对的用户是广大消费者,但本系统设计相对简单,数据库资料也比较少,因此在应用上有必然的限制。

但整体来讲能够实现ATM的大体功能。

2运行环境

硬件平台:

CPU:

Pentium4

内存:

521MB以上

软件平台:

操作系统:

WindowsXP或Windows7

数据库:

MYSQL

开发工具:

JDK、NetBeans

效劳器:

阅读器:

IE及以上版本,推荐利用IE

3系统结构

系统结构依照需求规定大致分为了以下几个模块。

整体层次结构图:

3.2业务流程图

 

 

4人工处置进程

该系统刚成立时,由于数据库的资料比较少,因此数据库治理员要输入大量的资料信息,逐条输入到数据库表中,这是一个比较繁琐的工程,需要花费大量的人力物力。

同时还有对数据库的保护,都需要专业人士处置。

5尚未解决的问题

由于本系统属于小组业余制作的,因此不管在功能仍是数据资料方面都远远不能同网络上的那些大型软件媲美,因此在以后的时刻里咱们会继续不断完善其功能。

6接口设计

用户接口

利用基于大体的用户界面,不管是前台的用户仍是后台的相关操作都能够通过鼠标点击完成操作,编辑框用于用户输入。

外部接口

按Windows应用软件用户界面的标准来设计,利用以一般页面为主的用户界面,简单易懂,方便用户操作。

1)登岸页面模块设计

与ATM柜员机打交道比较多的,也是大伙儿对平安比较关切的问题:

密码。

因此第一个界面确实是要输入密码和卡号才能继续效劳。

2)主界面

主界面共有取款、存款、转账、查询余额、修改密码和查看交易记录的6项功能,用户登岸后显现此界面,能够由用户依照自己的需要选择相应的功能。

3)新品上市页面:

顾名思义,该模块是一些新上架的商品。

3)修改密码

在修改密码模块中,第一你必需要输入你的旧密码是不是正确,不然就会报错。

再一个确实是要两次输入你的新密码,且两次药匹配,不然也会报错,然后再从头回到修改密码的界面

4)余额查询

需要通过用户所利用的账户及密码来进行余额的查询,因为先前进行过登岸,因此那个地址不用再登岸,直接点击查询余额即可显示账户的实际余额。

5)取款

该模块是一个相对照较重要的模块,因为ATM机就要的功能确实是取款业务,因此在算法和界面设计上花的功夫也是最多的,要依照功能需要中的要求做到用户顺利地取款,用户选择取款金额,然后点击确信进行取款操作,数字按钮的个数设计比较大,方便用户操作。

6)转账

该模块中,只需要输入对方的账户号码和转账金额就能够够了,为了避免用户犯错,咱们还设计了密码确认这一项。

7)记录查询

能够按输入的日期进行交易记录的相关查询。

内部接口

本系统利用MYSQL数据库驱动程序及接口。

7运行设计

运行模块组合

本系统不管是前台模块仍是后台模块,在程序打开后,用户单击导航按钮别离进入不同的子模块,再在这些模块中别离挪用它们的子模块完成一系列的操作。

运行操纵

本软件操纵流程:

主页面运行,等待用户选择导航条,依照用户的选择挪用不同的模块。

运行时刻

各模块的运行时刻比较短,不至于阻碍软件的质量,因此不予讨论。

8数据库设计

本系总共设计了2个数据表,别离为Trade表格和User表格

Trade表格

此表是用来保留交易记录。

CardNo是那个表格的唯一标识,Amount是交易数额,TradeDate用来记录交易时刻,TradeNo是用来标记交易号码,Business是交易业务,Poundage是手续费。

User表格

此表是用来保留用户信息。

CardNo是那个表的唯一标识,username是用户名,usertel是用户电话号码,ID是用户身份证,password是用户账户的密码,balance利用户账户余额。

9系统犯错处置设计

在运行本程序进程中不免会碰到如此那样的问题致使系统无法正常操作,例如加载数据库驱动程序失败、连接数据库失败、更新数据库失败等,那么怎么解决这些问题呢?

在那个地址咱们列举一些常见的问题和解决方法。

加载数据库驱动程序失败

关于该问题,若是用户利用的是JDBC连接数据库,第一单看通过()方式加载的驱动程序是不是正确,然后查看WEB-INF/lib目录下是不是存在、、文件。

更新数据库失败

更新数据库失败一样情形下是因为进行添加、删除、修改、查找的SQL语句存在错误,例如,将from写成form,或所写的字表名与实际要操作的字表名不一致等。

10保护设计

除严格依照软件工程的科学方式开发软件、认真成立文档、编码时期写详细的注释外,没有特殊的保护设计。

四详细设计

1编写目的

在前面所述的基础上该时期正式进入ATM系统软件的实际开发,本时期完成系统的详细设计并明确系统的功能与编码。

2背景

众所周知随着信息时期科技的飞速进展和随着全世界金融行业的兴起,利用ATM取款机、运算机信息技术和运算机科学技术的进展,给人们的生活带来了翻天覆地的转变,同时这些技术在人们生活中的运用,不仅提高了银行的业务处置能力,而且大大的节省了人们取钱所花费的时刻和价值;而且在有效避免了一些非法的业务操作,关于一些复杂的信息,就能够充分的发挥它们的优越性。

说明:

a.开发的软件系统名称:

ATM系统

b.本项目的提出者:

课程设计小组

c.开发者:

d.指导教师:

3概念

什么是ATM柜员机?

ATM柜员机利用与ATM机相似的图形用户界面,当用户在登录界面输入给定的卡号和密码时,系统能登录ATM柜员机系统,通过数据链接操作来达到独立的客户与机械交互从而进行取款、存款、转账、查询余额、修改密码等业务办理的目的。

4参考资料

[1]雍俊海JAVA程序设计[M]北京:

清华大学出版社,2006

[2]张海潘软件工程导论[M]北京:

清华大学出版社,2020

[3]耿祥义JAVA面向对象程序设计[M]北京:

清华大学出版社,2010

5程序系统的结构

本系统的总功能能够划分为6大块,确实是转账、存款、取款、查询余额、修改密码和查看交易记录几项大功能(子系统)。

6输入输出

输入内容:

账号,储户密码,取款额,转账卡号,转账金额

输出内容:

余额,输入密码提示,业务选择提示,取卡提示,交易记录

7界面设计

一个系统界面的好坏直接阻碍到用户的操作,界面设计要求样式美观、简单明了、方便易操作。

我设计的界面要紧分为窗体、菜单、按钮和文本输入框几个部份,别离执行相应的操作。

窗体设计

窗体整个框架利用Frame类构造,Frame有自己的外边框和自己的题目,创建Frame时能够指定其窗口题目,我创建的窗口题目是各个不同功能的模块的名字,比如说查询余额,还有取款等。

向Frame窗口中添加组件利用add()。

例如:

button1=newButton("存款");

(button1);

我所设计的窗口的要紧结构的特点确实是每一个窗口都对应着一个特定的功能。

比如说报各类各样的错,还有各类查询余额、取款、选择效劳等,因此它们都是由各类按钮和文本框,标签组成的,而联系各个窗体成为一个整体的确实是各个按钮的监听事件。

因此整个设计就趋向简单化了。

为了概念各个按钮所对应的命令和操作,第一需要将各个按钮注册给实现了动作事件的监听接口ActionListener的监听者,然后为监听者概念actionPerformed(ActionEvente)方式,在那个方式中挪用()来判定用户点击的菜单子项,并完成那个菜单子项概念的操作。

要紧模块设计

登岸页面模块设计

与ATM柜员机打交道比较多的,也是大伙儿对平安比较关切的问题:

密码。

因此第一个界面确实是要输入密码和卡号才能继续效劳。

文本区挪用publicStringgetText()方式,获取用户想要的字符串。

用来判定输入的密码和卡号是不是正确,若是不正确的话,那么弹出密码或卡号错误的警告框,并用dispose()关掉窗口。

主界面

主界面共有取款、存款、转账、查询余额、修改密码和查看交易记录的6项功能,用户登岸后显现此界面,能够由用户依照自己的需要选择相应的功能。

部份代码如下:

privatevoidjButton1MouseClickedevt){etVisible(true);

();

}

修改密码

在修改密码模块中,第一你必需要输入你的旧密码是不是正确,不然就会报错。

再一个确实是要两次输入你的新密码,且两次药匹配,不然也会报错,然后再从头回到修改密码的界面。

在修改密码时用到的方式为:

StringpatternStr="[0-9a-zA-Z]{6}";

StringnewPwd1=();

8要紧模块界面设计

1登岸界面

登录模块仍然采纳的是用户名和密码验证的方式,第一需要用户输入用户名和密码然后点击确认进行验证,那个地址涉及到一组输入位数的问题,系统规定用户需要输入18位的用户名和6位的密码。

1主界面

主界面的设计主若是设计了查询余额、取款、存款、转账、密码更改及退出按钮等ATM的一些标准操作界面。

2存款界面

此模块是用户登录成功后需要存款时的操作界面,在那个界面中输入存款金额,点击确信按钮后进行存款操作。

1余额查询界面

在此模块中,需要通过用户所利用的账户及密码来进行余额的查询,因为先前进行过登岸,因此那个地址不用再登岸,直接点击查询余额即可显示账户的实际余额。

2密码修改界面

因为先前已经用密码登岸,故此处不需要用户输入旧密码,直接两次输入新密码进行确认,然后系统会给出成功的提示信息。

3取款界面

取款模块是一个相对照较重要的模块,因为ATM机就要的功能确实是取款业务,因此在算法和界面设计上花的功夫也是最多的,要依照功能需要中的要求做到用户顺利地取款,用户选择取款金额,然后点击确信进行取款操作,数字按钮的个数设计比较大,方便用户操作。

4转账界面

在转账模块中,只需要输入对方的账户号码和转账金额就能够够了,为了避免用户犯错,咱们还设计了密码确认这一项。

5记录查询界面

9异样处置情形说明

(1)打开、保留文件时的异样处置

需要处置的异样:

IOException

(2)数据库访问时的异样处置

需要处置的异样:

SQLException

(3)加载类时的异样处置

需要处置的异样:

ClassNotFindException,当应用程序试图利用Class类中的forName方式通过字符串名加载类时,可是没有找到具有指定名称的类的概念。

五代码(见附录)

六测试

1测试方案

考虑到各类因素和条件的限制,咱们决定采纳黑盒测试方案(又称功能测试,其测试用例完满是依照程序的功能说明来设计的)。

即咱们不考滤所编写程序的具体结构,

而是依照软件所需要的输入数据的格式和应该完成的功能,设计一些合法的测试用例和不合法的测试用例,专门是依照边界条件设计一些边界测试用例。

以检查系统是不是能正确的完成预订功能,取得希望的输出。

或是对不合法的输入和操作能够正确的识别和防御。

黑盒法是最大体的测试法,要紧测试软件可否知足功能要求。

2测试项目

应该注意到,在本系统中从整体上分为了转账、选择效劳、存款、取款、查询余额、修改密码和查看交易记录模块设计。

咱们在设计测试用例的时候应该选择有代表的,能够用最小的工作量完成对整个系统的测试。

3测试方式

单元测试

1)模块接口

参数的数量、顺序与变元的是不是相一致;全局变量的概念和用法在各个模块中是不是也相一致。

2)边界条件

做完第一次操作进行第二次循环操作时,有无显现利用上的错误;利用过大或过小的数据值和操纵量时,系统是不是进行了错误提示,有无致使软件卡死或电脑死机情形。

集成测试

1)模块测试

第一步,对主操纵模块进行测试,测试时用存根程序代替所有直接附属于主操纵模块的模块;

第二步,依照选定的结合策略,每次用一个实际模块代替一个存根程序;

第三步,在结合进一个模块的同时进行测试。

2)回归测试

主若是检测软件全数功能的代表性测试用例。

3)确认测试

要紧用来检测软件是不是与需求一致,并要通过调试和测试观看软件能否知足所有的功能要求,能否达到每一个性能要求。

4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1