银行卡管理系统软件工程课程设计.docx

上传人:b****5 文档编号:6282951 上传时间:2023-01-05 格式:DOCX 页数:21 大小:152.74KB
下载 相关 举报
银行卡管理系统软件工程课程设计.docx_第1页
第1页 / 共21页
银行卡管理系统软件工程课程设计.docx_第2页
第2页 / 共21页
银行卡管理系统软件工程课程设计.docx_第3页
第3页 / 共21页
银行卡管理系统软件工程课程设计.docx_第4页
第4页 / 共21页
银行卡管理系统软件工程课程设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

银行卡管理系统软件工程课程设计.docx

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

银行卡管理系统软件工程课程设计.docx

银行卡管理系统软件工程课程设计

华北电力大学

课程名称:

软件工程

课程题目:

银行存储系统

组员:

孟格思姜婷刘宏宇赵雄飞杨俊森

专业:

计算机科学与技术

学院:

控制与计算机工程学院

时间:

2013年10月24号

一、开发背景与目标

1.1开发背景

本系统选题为银行存储系统,是模拟银行存储开发的。

随着计算机的飞速发展及应用领域的扩大,特别是计算机网络和电子商务的发展,极大的改变了商业银行传统的经营模式。

能够为客户提供方便、快捷、安全的服务,也能够有效的降低银行的营运成本,这是银行存储系统追求的目标。

目前,对于现代化银行运营的要求是客户可以实现方便安全的业务交易,银行职员可以进行高效合理的工作管理,实现银行业务电子化。

1.2开发目标与思想

本系统的设计指导思想是一切为使用者着想,利用JAVA语言在Eclipse下设计了这么一个系统,界面美观,使得用户可以安全的进行操作,便捷,快速的进行注册、存款、取款、修改密码以及完成一些转账的交易,大大提高办公效率,能够及时、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。

具体表现为:

(1)系统应该符合银行管理的规定,满足相关人员使用系统的基本需要并要求达到操作过程中,直观、方便、实用、安全等需求;

(2)系统采用模块化程序设计方法,便于系统功能的各种组合和修改,又便于未参加开发的程序人员补充、维护;

(3)系统具备数据库维护功能,及时根据用户需要进行数据添加、删除、修改等操作;

(4)采用软硬件环境及先进的管理系统开发方案,利用现有资源,提高系统开发水平和应用效果的目的。

二、需求分析

需求分析说明是管理系统开发的起始阶段,也是软件开发工作中最重要的一环。

需求分析的目标是明确系统开发的目标和用户信息需求,提出系统的逻辑方案。

为系统设计做好准备。

系统中要求每个银行管理者都有一个系统帐号,并每个帐号都有密码,系统的一切操作都由管理者执行,而不是由存诸用户执行,也主是说存储用户并不直接与系统交互,而是通过管理员与系统交互。

该系统主要有四部分业务功能,存款,取款,转账和查询。

储户填写的开户信息表单交给业务员,有业务员输入信息,录入数据库,即开户成功。

储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名,身份证号码,存款类型,存款日期,利率及密码(可选)等信息,并打印存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算得利息并打印出利息清单给储户。

转账时要求用户提供转账帐号和被转帐号以及转账金额,查询时同样需要用户输入卡号,密码和查询项等,最终都有业务员操作,将信息更新。

2.1目标

本项目要开发一个银行系统,系统一共分为存款业务、取款业务、转账业务、查询业务四个子系统。

2.1.1存款业务

银行开展人民币的存储业务,首先判断储户是否有卡,若无卡,则为储户开户,设置密码,并给储户一张银行卡,接着由柜员获取存款信息,存款为死期存款还是活期存款,然后执行存款流程,最后打印出清单给储户。

2.1.2取款业务

首先有储户提供信息,判断是死期订单还是银行卡,若是死期订单,则判断是否到达期限,若不到达期限,则不能取出钱;若到达期限,则可取出余额,并计算利息,打印出清单给储户。

2.1.3转账业务

银行个人转账业务采用实盘交易方式,也就是客户必须持有足额的需要转出的人民币,才能按照流程转入被转入储户卡中。

先由转出储户提供卡号和密码,从该储户的卡号上取出一定金额的钱,紧接着向被转储户的卡号上存入相同金额的人民币,最后由柜员打印出清单交给储户。

2.1.4查询业务

客户可以到银行柜台选择查询功能,并提供查询所需要的信息,选择查询类型,最后打印出查询单供储户查看。

2.2系统的功能性需求

Ø系统为柜员提供主功能界面

Ø系统在启动时要求柜员输入登录帐号与密码

Ø系统要通过管理员执行一系操作(如:

存钱,取钱,转账,查询等)

Ø管理员代替用户实现存款,取款,查询,转账等操作

Ø储户的一切信息,存储在数据库表中

2.3系统需求分析规格说明书

Ø实现储户开户登记

Ø办理定期存款手续

Ø办理定期取款手续

Ø办理活期存款手续

Ø办理活期取款手续

Ø办理转账手续

Ø实现利息计算

Ø输出明细表

Ø查询卡号信息

2.4系统ER图

2.4.4数据字典

系统主要关系模式:

账户表(身份证号,姓名,出生日期,性别,交易时间,开户地点,员工号)

银行卡(身份证号,姓名,卡号,存入金额,取出金额,余额,交易时间,密码,员工号)

存单表(存单号,姓名,身份证号,存入金额,交易时间,密码,定期类型,员工号)

利率表(定期类型,利率)

柜员(员工号,姓名)

E-R图如下:

图表1

2.5系统非功能性需求

(1)软件环境:

Win7、WindowXP等32,64位操作系统

(2)硬件环境:

1)Pentium(R)Dual-CoreCPUT4300@2.10GHz2.10GHz

安装内存(RAM):

3.00GB

2)AMDA6-3400MAPUwithRadeon(tm)HDGraphics 1.4GHz

安装内存(RAM):

2.00GB

3)Celeron(R)Dual-CoreCPUT3100@

安装内存(RAM):

2.00GB

软件开发所用的系统要能够应用SQLSever和运行java的软件Eclipse

用户界面需求就是陈述所需要的用户界面的软件组件。

描述每个用户界面的逻辑特征。

以下是可能要包括的一些特征。

(1)将要采用的图形用户界面(GUI)标准或产品系列的风格

(2)屏幕布局或解决方案的限制

(3)将出现在每个屏幕的按钮、功能或导航链结(例如一个帮助按钮)。

(4)快捷键

(5)错误信息显示标准

2.6面向数据流的设计方法

2.6.1确定输入流和输出流的边界,从而孤立出变换中心。

如下图所示:

图表2

2.6.2完成“第一级分解”

基于书上第三章第三题实现在银行储蓄管理系统在一级分解中,可将系统分解成三个子功能模块:

用户操作,业务员操作,系统输出。

如下图所示:

图表3

2.6.3完成“第二级分解”

<1>用户操作的分解

可将用户操作分解为:

开户民,存款,取款,查询。

如下图所示:

图表4

<2>业务员操作的分解

业务员的操作是将用户的操作传送给系统,代替用户与系统交互,所以,业务员的操作与系统的操作基本类似,也可以近似地将业务员看作用户。

所以操作员操作可分解为:

存款,取款,转账,查询。

并且如用户在开户时设有密码,则进行密码验证。

所以分解图如下:

图表5

<3>系统输出分解

系统输出可分解为:

计算利息-打印清单,保存新用户信息,更新用户信息,打印存单

分解图如下:

图表6

2.7软件系统功能/对象结构

2.7.1银行存储系统用例图

图表7

2.7.2银行存款业务顺序图

图表8

2.7.3银行取款业务顺序图

图表9

2.7.4银行转账业务顺序图

图表10

2.7.5银行转账业务类图

图表11

2.8软件质量因素

a.改进的内部体系结构;

b.发生系统故障时迅速恢复;

c.改进了开发人员工具代码;

d.减少系统重新启动情况;

e.用户界面与Windows系统兼容。

在银行等服务性行业,其软件系统的可靠性直接关系到自身的声誉和生存发展竞争能力。

a避免需求分析定义错误的出现。

b.在完成软件时尽量避免设计错误、编码错误以及测试错误提高健壮性,增强对非法输入的容错能力。

c.在规定的条件下,尽可能减少系统失效的概率;

d.在规定的时间周期内,在所述条件下软件能够执行特定的功能。

程序响应时间基本要求应在人的感觉和视觉事物范围内,信息交换时间基本要求在程序调用前调用后都与数据库保持同步更新,网络信息交换施加应该小于程序调用时间。

允许庞大的事务请求,并提供更短的相应时间和更快的事务速率。

数据出错时能够尽快的恢复,尽可能地减少损失。

a.系统要求在有较高的安全性,由于在储蓄和转账时,用户的账号需要在网络上传输,所以必须提供额外的安全措施,在此我们设置了用户和柜员的权限。

b.数据库系统要进行多次备份,以免数据的破坏或被攻击。

c.有极高的数据精确度。

在进行向数据库文件提取数据时,需求数据记录定位精确,在往数据库文件数组中添加数时,要求输入数精确金额,身份证,卡号等按消息设定字符数。

在汇率转换、利息计算时不能因数据精确度不足导致用户资金损失。

a.改进和补充文档提高程序的可理解性,提高可维护性可移植性。

b软件维护过程中,维护小组也可以采取与主程序员小组和结构普查类似的方式,以保证程序的质量。

c.软件在运行期间,为了纠正新发现的错误或缺陷,为了适应计算机环境的变化,为了响应用户新的需求,必须进行修改。

为获得较高的可移植性,在设计过程中采用通用的程序设计语言和运行支撑环境。

尽量不用与系统的底层相关性强的语言。

数据库也应有很好的更新能力及适应性。

三、可行性分析报告

可行性研究的目的就是用最小的代价在最短的时间内确定该软件项目是否能够开发,是否值得去开发。

实质上就是进行一次简化、压缩了的需求分析、设计过程。

可从三个方面分析研究每种解决问题的可行性

3.1经济可行性分析

经济可行性:

进行开发成本的估算以及了解得到效益的评估,确定要开发项目是否值得投资开发。

对银行业来说,是依靠存款、贷款之间的差额来生存的,所以要尽可能的拉拢更多的客户使用本行,银行存储系统是为了能让为客户更便捷的服务,从而更具有吸引力。

从银行角度出发还是非常愿意把一部分资金投入到这方面研究当中的。

3.2社会可行性分析

开发的银行卡存储系统需要根据银行卡管理规定操作,不得有侵害他人隐私盗取金额为目的。

银行卡存储系统方便运行操作,组内人员有着良好的道德修养。

会根据用户的实际需要来开发此程序,操作快捷,易于掌握。

3.3技术可行性分析

技术可行性:

对项目的功能、性能、限制条件进行分析,确定在现有的资源和技术件下系统是否能实现。

(开发的风险、资源的有效性、技术)通过对开发风险、资源有效性和技术分析后,认为开发银行存储系统风险小,资源充足,技术可以应付,但是一定要以生活中的银行管理过程中的信息为基础。

四、开发环境与项目规划

4.1开发环境

利用Java语言强大功能,并具有面向对象开发等的特点,联系实际银行卡管理系统的应用界面,采用Eclipse开发工具,以Win7、WindowXP等32,64位操作系统、Oracle为后台开发出了一套银行存储系统,基本上实现了存款、取款、查询、转账和查询等业务。

4.2项目规划与管理

开发人员主要是经过商量讨论、自愿组合的一个小组,由于本系统设计面广,操作复杂,信息要求强,所以我们选择五个人为一个小组,采取分工合作、共同探讨的原则,努力编辑并且完善系统应用。

组内成员有姜婷、孟格思、赵雄飞、刘宏宇和杨俊森。

10月24日开始讨论

讨论内容:

1)系统名的确定

2)运行环境

3)系统应用价值

4)用户群体

5)需求分析说明

6)可行性分析

7)项目规划

8)编译语言

10月25日经过小组成员查阅资料并做出讨论,最终做出决定,我们组将要开发银行存储系统,26,27日实现需求分析以及面向对象设计的前期工作。

28,29开始编码,并完善文档。

30日进行软件测试,提交报告。

因银行具有强大的市场,应用价值广泛,应用知识广泛能够充分利用教材所学知识,由于Java语言具有面向对象开发等特点,所以选择Java语言进行编译。

分工如下,孟格思,刘宏宇负责UML建模以及需求分析,各种流程画图。

赵雄飞负责数据库的设计与录入数据,姜婷负责用Java编写代码,杨俊森负责软件测试用例的设计以及软件测试。

五、结构化分析与设计

结构化分析与设计方法是一种面向数据流的传统软件开发方法,它以数据流为中心构建软件的分析模型和设计模型。

结构化分析、结构化设计和结构化程序设计构成了完整的结构化方法。

早期的结构化分析方法的分析结果包括:

一套分层的数据流图、一本数据字典(包括E-R图)、一组加工规约以及其他补充资料(如非功能性需求等)。

5.1结构化分析

数据流图是描述输入数据流到输出数据流的变换(即加工),用于对系统的功能建模。

银行存储系统的流程图如下:

银行存储系统环境图:

图表12

银行存储系统一层数据流图图:

图表13

银行存储系统二层数据流图:

图表14

图表15

5.2结构化设计

结构化设计是将结构化分析数据流图映射成软件体系结构的一种设计方法,SD强调模块化、自顶向下逐步求精、信息隐藏、高内聚低耦合等设计准则。

在结构化设计中用结构图来描述软件系统的体系结构,指出一个软件系统由那些模块组成以及模块之间的调用关系,如下图所示:

图表16

结构图第一分解图:

图表17

用户注册第一级分解图:

图表18

用户注册第二级分解图:

图表19

用户处理第一分解图:

图表20

卡号处理第二级分解图:

图表21

该系统主要实现银行卡用户的存款、取款,以及进行一些简单的查询和转账业务,同时能够在系统里面进行客户密码的修改,实现简单的机器与客户交互。

六、面向对象分析与设计

面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,是建立在对象概念(对象、类和继承)基础上的方法,简称OO方法。

面向对象分析的目标是完成对所解问题的分析,确定待建的系统要做什么,并建立系统模型。

用况视图是列出系统中的用况和执行者,并显示了哪个执行者参与了哪个用况的执行,此系统的用况图如下:

图表22

下面给出部分用况的详细描述。

(1)开户用况描述

用况名称:

开户

参与的执行者:

柜员,储户

前置条件:

一个合法的柜员已登录到该系统

事件流:

1.当选择开户功能时用况开始

2.输入客户信息(姓名、地址、身份证号等)

3.从账户管理系统获取新的账号

4.请客户输入密码

5.请客户再次输入密码

6.如果两次密码不一致则回到第4步,否则继续

7.在账户库中增加新客户

8.打印存款单,用况结束

后置条件:

在账户库中增加了一个新账户,得到一张新银行卡

(2)取款用况描述

用况名称:

取款

参与的执行者:

柜员

前置条件:

一个合法的柜员已登录到该系统

事件流:

基本路劲:

1、当选择取款功能时,用况开始

2、当输入客户信息时(姓名、账号等)后

(a)如果客户信息与账户不一致,显示错误信息,可以重新输入或结束用况

(b)如果该账户被冻结(如因挂失而冻结),显示冻结信息并结束用况

3、输入并校验密码

4、输入取款金额,如果该账户的余额小于取款金额,显示错误信息,要求重新输入

5、打印取款单

6、建立取款事件记录,更新账户信息

7、用况结束

可选路劲:

第3步校验密码时,如果发现密码不一致,则重新输入密码,或用况结束

后置条件:

如果取款成功,客户账户的余额被更新(减少、增加),否则余额不变

系统状态图如下:

图表23

图表24

七、数据库分析与设计

数据库设计指对系统所采用的数据模式、子模式、应用程序、数据库等根据用户的具体要求进行分析和设计。

它也是管理信息系统设计的重要组成部分。

数据库设计的基本原则是尽可能提高数据组织的相对独立性,简化其结构,即用规范化方法设施数据存储的结构,提高数据的可维护性、完整性、一致性。

通过收集和分析用户需求,确定了数据库要保存的信息,我将此次数据库设计为二个如下所示表的设计如下:

用户信息设计表

1、客户表(user)

CardID

字段信息

字段名称

类型

宽度

小数位数

空特性

用户名

uname

varchar

18

身份证号

uid

int

18

N

卡号

ucno

int

18

N

账户信息设计表

2、账户表(card)

CardID

字段信息

字段名称

类型

宽度

小数位数

空特性

卡号

cno

Int

18

N

账户余额

cjine

Int

18

N

密码

cnima

Int

18

N

7.1数据库环境说明

Access数据库,运行环境是Windows7。

7.2数据库命名标准与规范

Ø数据库命名为system,密码为beyond。

Ø规范与标准:

Ø其中表明尽量避免中文拼音和特殊字符。

尽多使用英文。

Ø不能使用毫无意义的单词。

缩写要基本能表达单词的意思。

Ø当出现对象命名重名时,是不同类型是,应该加前缀加以表示。

Ø名称一律大写,放表数据转移。

Ø其中有两张表。

Ø注册表存储本卡之内的相关信息。

如取款,余下金额,修改密码等!

Ø其他表存储本卡之外所有卡的相关信息。

7.3数据库逻辑设计

1.需求分析:

了解用户的数据需求、处理需求、安全性及完整性要求;

2.概念设计:

通过数据抽象,设计系统概念模型,一般为E-R模型;

3.逻辑结构设计:

设计系统的模式和外模式,对于关系模型主要是基本表和视图;

7.4数据库物理设计

1.物理结构设计:

设计数据的存储结构和存取方法,如索引的设计;

2.系统实施:

组织数据入库、编制应用程序、试运行;

3.运行维护:

系统投入运行,长期的维护工作。

创建注册表的语句为:

Createtableqita1(

Yhmvarchar2(20),

Sfzvarchar2(20),

MImavarchar2(20),

Qrmmvarchar2(20),

Yevarchar2(20));

Createtableqita1(

Yhmvarchar2(20),

Sfzvarchar2(20),

MImavarchar2(20),

Qrmmvarchar2(20),

Yevarchar2(20));

表中用户名,密码等考虑到有复杂字符,所以都是设计成varchar2型的。

而余下金额整形不够大所以也是设计成字符型。

后来根据需要改成了number型,这更实用。

八、人机界面设计

8.1界面设计原则

(1)遵循一致原则,确立标准并遵循

(2)(Color)颜色使用恰当,遵循一致原则

(3)(Resource)资源

(4)(Font)字体

(5)(Text)文字表达

(6)(Style)控件风格,不要使用错误控件,控件功能要专一

(7)(Align)控件布局,窗口不拥挤,按功能组合控件

(8)Tab顺序

(9)快捷键、加速键和弹出菜单

(10)用户交互

(11)发行时阐明规则

8.2系统窗口汇总

用户界面设计目前已成为评价软件质量的一条重要指标,所谓用户界面是指软件系统与用户交互的接口,通常包括输入、输出设计、人机对话的界面设计。

登陆模块输入界面

登录模块依然采用的是密码输入的方式,需要用户输入卡号、密码然后点击登录,程序将根据输入卡号查找密码,程序系统将根据卡号调用后台数据库查找与卡号对应的密码并与用户输入的密码相对比。

密码正确继续,否则当输入的次数达到三次时,系统将提示你“对不起,你输入密码错误,请明日再操作”。

主菜单页面:

用户根据输入的身份证号,判断用户是否开过户?

若已开户,在允许用户选择相应的业务类型;若没有开过户,则为为用户开户。

开户界面:

用户输入基本信息,为用户开户,并提供卡帐号,用户为卡设置密码。

存款界面:

用户可以选择定期存款和活期存款。

此模块需要用户输入密码后,两次输入密码进行确认,然后,点击确定,修改密码,成功后给出提示信息,其中考虑到一些用户的输入错误问题,做出了一些异常的判断和处理,空输入,输入两次新密码不匹配和原密码不正确等问题。

取款界面,转账界面与存款界面相似,此处不再解释。

清单界面:

查询界面

根据用户输入的卡号和密码,如果密码正确,则输入该卡号所有交易的具体信息,供用户查看。

九、软件测试信息报告

测试软件前,需要测试若干个测试用例,每个测试用例由测试输入数据和预期结果组成,测试时通过输入数据,运行被测程序,如果运行的实际输出与预期结果不一致,则表明发现了程序中的错误。

9.1测试范围与主要内容

程序设计语言的选择通常考虑到项目的应用领域、软件开发方法、软件执行环境、算法和数据结构的复杂性、和软件开发人员的知识。

程序设计是指使用选定的程序设计语言,把经过概要设计各详细设计所得到的信息处理过程,转换成能在计算机上运行的程序源代码。

本系统中用Eclipse编程工具,采用结构化的编程方法对模块进行程序编写。

具体源程序见附页。

9.2测试方法

软件测试的目的是尽可能多的发现程序中的错误,而调试则是在进行了成功的测试之后才开始的工作。

程序调试是指在系统测试的基础上,将发现的问题进行改正,使之符合设计标准。

本系统采用的主要方法如下:

单元测试:

是指原程序中每个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

采用白盒法对各模块进行逻辑错误排查,用黑盒法录入一些有特征的数据从不同角度验证结果。

集成测试:

在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行测试。

确认测试(有效性测试):

它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。

一般分为用黑盒进行确认测试,再检查软件所有文档的完整性、正确性——软件配置审查。

9.3系统测试步骤

测试过程一般分为4个步骤,即单元测试、集成测试、确认测试和系统测试及发版测试。

开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确实现规定的功能。

集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。

确认测试则是要检查已实现的软件是否满足了需求规格说明中的确定了的各种需求,以及软件配置是否完全、正确。

系统测试把已经经过确认的软件纳入实际运行环境中,与其他系统成分组合在一起进行测试。

9.4系统测试用例

边界测试:

测试正确数据:

管理员id:

1111;密码:

0000;身份证:

;姓名:

杨俊森;密码:

123456;存钱日期:

2013-10-29;卡内余额:

10000元;卡号:

11111(20位)

测试用例

测试数据

预期结果

1

1110、0000;1111、0001

账户、密码错误

2

1111、0000、44

身份证号少一位

3

1111、0000、、杨俊森、123456、123450、2013-10-29、1111

两次输入密码不一致

4

1111、0000、、定期取款

未到取款期限

5

1111、0000、、活期取款、11110、123456、5000

卡号不存在

6

1111、0000、、活期取款、11110、123450、5000

卡号密码错误

7

1111、0000、、活期取款、10001

余额不足

8

1111、0000、、转账、、123456、、5000

账户不存在

9

1111、0000、、转账、、123450、、5000

账号密码错误

10

1111、0000、、转账、、123456、、10001

余额不足

11

1111、0000、、查询、11110、123456

卡号不存在

12

1

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

当前位置:首页 > 党团工作 > 其它

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

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