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

华北电力大学

课程名称:软件工程

课程题目:银行存储系统

组员:孟格思 姜婷 刘宏宇

赵雄飞 杨俊森

专业:计算机科学与技术

班级:计算1102

学院:控制与计算机工程学院

时间:2013年10月24号

目录

一、开发背景与目标 ............................................................... 5

1.1开发背景 . ................................................................................ 5

1.2开发目标与思想 ..................................................................... 5

二、需求分析 ........................................................................... 5

2.1目标 ........................................................................................ 6

2.1.1 存款业务 ................................................................................. 6

2.1.2 取款业务 ................................................................................. 6

2.1.3 转账业务 ................................................................................. 6

2.1.4 查询业务 ................................................................................. 6

2.2系统的功能性需求 ................................................................. 6

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

2.4系统ER 图 . .............................................................................. 7

2.4.4 数据字典 ............................................................................... 7

2.5 系统非功能性需求 ................................................................ 8

2.5.1软硬件环境需求 ...................................................................... 8

2.5.2软件质量需求 .......................................................................... 9

2.5.3用户界面需求 .......................................................................... 9

2.6 面向数据流的设计方法 ...................................................... 9

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

2.6.2 完成“第一级分解” . ......................................................... 10

2.6.3 完成“第二级分解” . ......................................................... 10

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

2.7.1 银行存储系统用例图 . ........................................................... 12

2.7.2 银行存款业务顺序图 . ........................................................... 13

2.7.3 银行取款业务顺序图 . ........................................................... 14

2.7.4 银行转账业务顺序图 . ........................................................... 14

2.7.5 银行转账业务类图 ............................................................... 14

2.8软件质量因素 . ...................................................................... 16

2.8.1可用性 . ................................................................................... 16

2.8.2可靠性 . ................................................................................... 16

2.8.3效率 . ....................................................................................... 16

2.8.4安全性 . ................................................................................... 16

2.8.5可维护性 ................................................................................ 17

2.8.6可移植性 ................................................................................ 17

三、可行性分析报告 ............................................................. 17

3.1 经济可行性分析 ................................................................ 17

3.2社会可行性分析 ................................................................... 17

3.3技术可行性分析 ................................................................... 17

四、开发环境与项目规划 ..................................................... 18

4.1开发环境 . .............................................................................. 18

4.2项目规划与管理 ................................................................... 18

4.2.1开发人员安排 ........................................................................ 18

4.2.2开发进度安排 ........................................................................ 18

五、结构化分析与设计 ......................................................... 18

5.1结构化分析 . .......................................................................... 19

5.2结构化设计 . .......................................................................... 21

六、面向对象分析与设计 ..................................................... 25

6.1 面向对象方法 . ..................................................................... 25

6.2 用例 ..................................................................................... 25

6.3 系统状态图 . ......................................................................... 27

七、数据库分析与设计 ......................................................... 28

7.1数据库环境说明 ............................................................... 31

7.3数据库逻辑设计 ............................................................... 31

7.3.1逻辑设计步骤 ........................................................................ 31

7.3.2 逻辑设计关系图 ................................................................... 31

八、人机界面设计 ................................................................. 32

8.1界面设计原则 . ...................................................................... 32

8.2系统窗口汇总 . ...................................................................... 32

九、软件测试信息报告 ......................................................... 37

9.1测试范围与主要内容 ........................................................... 37

9.2测试方法 . .............................................................................. 37

9.3系统测试步骤 . ...................................................................... 38

9.4 系统测试用例 . ..................................................................... 38

9.4.1 边界测试: ......................................................................... 38

9.4.2 基本路径测试 ....................................................................... 41

9.5系统优点 . .............................................................................. 42

十、软件使用说明书 ............................................................. 42

10.1软件概述 . ............................................................................ 42

10.2使用说明 . ............................................................................ 42

十一、系统开发评价 ............................................................. 42

一、开发背景与目标

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 系统非功能性需求

2.5.1软硬件环境需求

(1)软件环境: Win7、Window XP等32,64位操作系统

(2)硬件环境:1)Pentium(R) Dual-Core CPU T4300 @2.10GHz 2.10GHz

安装内存(RAM ):3.00GB

2)AMD A6-3400M APU with Radeon(tm )HD Graphics 1.4GHz

安装内存(RAM ):2.00GB

3)Celeron(R) Dual-Core CPU T3100 @ 1.90GHz1.90GHz

安装内存(RAM ):2.00GB

2.5.2软件质量需求

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

2.5.3用户界面需求

用户界面需求就是陈述所需要的用户界面的软件组件。描述每个用户界面的逻辑特征。以下是可能要包括的一些特征。

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

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

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

(4)快捷键

(5)错误信息显示标准

2.6 面向数据流的设计方法

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

如下图所示:

图表

2

2.6.2 完成“第一级分解”

基于书上第三章第三题实现在银行储蓄管理系统在一级分解中,可将系统分解成三个子功能模块:用户操作,业务员操作,系统输出。 如下图所示:

图表3

2.6.3 完成“第二级分解”

用户操作的分解

可将用户操作分解为:开户民,存款,取款,查询。 如下图所示:

图表4

业务员操作的分解

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

取款,转账,查询。并且如用户在开户时设有密码,则进行密码验证。 所以分解图如下:

图表 5

系统输出分解

系统输出可分解为:计算利息-打印清单,保存新用户信息,更新用户信息,打印存单 分解图如下:

图表 6

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

2.7.1 银行存储系统用例图

转出卡号

转入卡号

转出卡密码

图表 7

首先,使用系统的柜员先要进行登录。参与者“储户”通过用例“存款”进行信息输入,实现开户或存款功能;再通过用例“取款”完成取款业务,打印清单给用户。通过用例“转

账”实现两个储户之间的转账业务。储户凭卡号和密码可查询该卡的交易信息。

如下是对上述各例的描述。 用例:存款

【前置条件:柜员已登录成功,储户已开户】 系统呈现存款界面

储户提供信息,柜员进行信息录入与维护。

系统调用数据库,确认密码是否正确,若正确则存款成功,打印清单给储户,否则返回主页面。

用例:转账

【前置条件:柜员登录成功,储户选择转账】 系统呈现转账界面

储户提供转出帐号和转入帐号,并提供转出帐号密码。判断转出帐号卡余额是否大于转出金额。满足条件则转账成功,打印清单给储户。否则转账失败。

2.7.2 银行存款业务顺序图

图表 8

2.7.3 银行取款业务顺序图

图表 9

2.7.4 银行转账业务顺序图

图表 10

2.7.5 银行转账业务类图

图表 11

对在分析中找到的各个类进行考察,分别定义它们的属性和操作,考虑它们之间的关系,绘制出类图。

(1)类“储户” 该类中属性有“姓名”、“身份证号”、“性别”和“出生日期”、“交易时间”、“开户地点”、“员工号”,操作有“开户”、“取款”、“存款”、“转账”和“查询”。 (2)类“银行卡”

该类中有属性“身份证号”和“姓名”、“密码”、“卡号”、“存入金额”、“取出金额”、“交易时间”、“余额”、“员工号”。 (3)类“存单”

该类中有属性“身份证号”和“姓名”、“密码”、“存单号”、“存入金额”、“交易时间”、“利率类型”、“员工号”。 (4)类“交易”

该类中有属性 “卡号”、“金额”、“交易日期”、“余额”、“员工号”。操作有“打印清单”。(5)类“存款”

该类中有属性“存款类型”。它还有一个操作“判断存款类型”。 (6)类“取款”

该类中有属性“密码”。它还有操作“利息计算”、“判断余额”、“取款”。 (7)类“转账”

该类中有属性“输入卡号”、“密码”。操作有“转账”、“判断余额”。

(8)类“柜员”

该类中有属性“员工号”、“姓名”。操作有“登录”、“办理业务”。

2.8软件质量因素

2.8.1可用性

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

b. 发生系统故障时迅速恢复; c. 改进了开发人员工具代码; d. 减少系统重新启动情况;

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

2.8.2可靠性

在银行等服务性行业,其软件系统的可靠性直接关系到自身的声誉和生存发展竞争能力。 a 避免需求分析定义错误的出现。

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

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

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

2.8.3效率

程序响应时间基本要求应在人的感觉和视觉事物范围内,信息交换时间基本要求在程序调用前调用后都与数据库保持同步更新,网络信息交换施加应该小于程序调用时间。允许庞大的事务请求,并提供更短的相应时间和更快的事务速率。数据出错时能够尽快的恢复,尽可能地减少损失。

2.8.4安全性

a. 系统要求在有较高的安全性,由于在储蓄和转账时,用户的账号需要在网络上传输,所以必须提供额外的安全措施,在此我们设置了用户和柜员的权限。 b. 数据库系统要进行多次备份,以免数据的破坏或被攻击。

c. 有极高的数据精确度。在进行向数据库文件提取数据时,需求数据记录定位精确,在往数据库文件数组中添加数时,要求输入数精确金额,身份证,卡号等按消息设定字符数。在汇率转换、利息计算时不能因数据精确度不足导致用户资金损失。

2.8.5可维护性

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

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

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

2.8.6可移植性

为获得较高的可移植性,在设计过程中采用通用的程序设计语言和运行支撑环境。尽量不用与系统的底层相关性强的语言。数据库也应有很好的更新能力及适应性。

三、可行性分析报告

可行性研究的目的就是用最小的代价在最短的时间内确定该软件项目是否能够开发,是否值得去开发。实质上就是进行一次简化、压缩了的需求分析、设计过程。可从三个方面分析研究每种解决问题的可行性

3.1 经济可行性分析

经济可行性:进行开发成本的估算以及了解得到效益的评估,确定要开发项目是否值得投资开发。对银行业来说,是依靠存款、贷款之间的差额来生存的,所以要尽可能的拉拢更多的客户使用本行,银行存储系统是为了能让为客户更便捷的服务,从而更具有吸引力。从银行角度出发还是非常愿意把一部分资金投入到这方面研究当中的。

3.2社会可行性分析

开发的银行卡存储系统需要根据银行卡管理规定操作,不得有侵害他人隐私盗取金额为目的。银行卡存储系统方便运行操作,组内人员有着良好的道德修养。会根据用户的实际需要来开发此程序,操作快捷,易于掌握。

3.3技术可行性分析

技术可行性:对项目的功能、性能、限制条件进行分析,确定在现有的资源和技术件下系统是否能实现。(开发的风险、资源的有效性、技术)通过对开发风险、资源有效性和技术分析后,认为开发银行存储系统风险小,资源充足,技术可以应付,但是一定要以生活中的银行管理过程中的信息为基础。

四、开发环境与项目规划

4.1开发环境

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

4.2项目规划与管理

4.2.1开发人员安排

开发人员主要是经过商量讨论、自愿组合的一个小组,由于本系统设计面广,操作复杂,信息要求强,所以我们选择五个人为一个小组,采取分工合作、共同探讨的原则,努力编辑并且完善系统应用。组内成员有姜婷、孟格思、赵雄飞、刘宏宇和杨俊森。

4.2.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

20

图表 15

5.2结构化设计

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

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

21

图表 16

结构图第一分解图:

图表 17

22

用户注册第一级分解图:

图表 18

用户注册第二级分解图:

图表 19

用户处理第一分解图:

23

图表 20

卡号处理第二级分解图:

图表 21

24

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

六、面向对象分析与设计

6.1 面向对象方法

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

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

6.2 用例

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

25

图表 22

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

(1)开户用例描述

(2)取款用例描述

26

6.3 系统状态图

图表 23

27

图表 24

七、数据库分析与设计

数据库设计指对系统所采用的数据模式、子模式、应用程序、数据库等根据用户的具体要求进行分析和设计。它也是管理信息系统设计的重要组成部分。数据库设计的基本原则是尽可能提高数据组织的相对独立性,简化其结构,即用规范化方法设施数据存储的结构,提高数据的可维护性、完整性、一致性。通过收集和分析用户需求,确定了数据库要保存的信息,我将此次数据库设计为二个如下所示表的设计如下:

7.1数据库环境说明

Microsoft Access 数据库,运行环境是Windows 7。

7.3数据库逻辑设计

7.3.1逻辑设计步骤

1.需求分析:了解用户的数据需求、处理需求、安全性及完整性要求; 2.概念设计:通过数据抽象,设计系统概念模型,一般为E-R 模型;

3.逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;

7.3.2 逻辑设计关系图

图表 25

1.用户必须首先在银行创建Account (账户)才可以进行后续的存储款操作。

3.一个Account (账户)表可以对应多个Card (卡)表或者Deposit Slip(存单)表,Card (卡)表与Deposit Slip(存单)表相互独立。

3.Interest Rate(利率)表用来储存银行的固有存款率,有数据库给出,用户无法参与修改,但是可以查阅。

4.Staff (员工)表为银行员工信息,在每次对用户操作时,都要留下工作人员的员工号码。

5.Bill Schedule(账目明细)表是用来存储Card (卡)表的操作明细,方便用户查询。

八、人机界面设计

8.1界面设计原则

(1)遵循一致原则,确立标准并遵循 (2)(Color )颜色使用恰当,遵循一致原则 (3)(Resource )资源 (4)(Font )字体 (5)(Text )文字表达 (6)(Style )控件风格,不要使用错误控件,控件功能要专一 (7)(Align )控件布局,窗口不拥挤,按功能组合控件 (8)Tab 顺序

(9)快捷键、加速键和弹出菜单 (10)用户交互

(11)发行时阐明规则

8.2系统窗口汇总

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

登陆模块输入界面

图表 26

登录模块依然采用的是密码输入的方式,需要用户输入卡号、密码然后点击登录,程序将根据输入卡号查找密码,程序系统将根据卡号调用后台数据库查找与卡号对应的密码并与用户输入的密码相对比。密码正确继续,否则当输入的次数达到三次时,系统将提示你“对不起,你输入密码错误,请明日再操作”。

主菜单页面:

用户根据输入的身份证号,判断用户是否开过户?若已开户,在允许用户选择相应的业务类型;若没有开过户,则为为用户开户。

图表 27

开户界面:

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

图表 28

图表 29

存款界面:

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

图表 30

图表 31

图表 32

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

图表 33

查询界面

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

图表 34

九、软件测试信息报告

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

9.1测试范围与主要内容

程序设计语言的选择通常考虑到项目的应用领域、软件开发方法、软件执行环境、算法和数据结构的复杂性、和软件开发人员的知识。程序设计是指使用选定的程序设计语言,把经过概要设计各详细设计所得到的信息处理过程,转换成能在计算机上运行的程序源代码。

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

9.2测试方法

软件测试的目的是尽可能多的发现程序中的错误,而调试则是在进行了成功的测试之后才开始的工作。程序调试是指在系统测试的基础上,将发现的问题进行改正,使之符合设计标准。本系统采用的主要方法如下:

单元测试:是指原程序中每个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。采用白盒法对各模块进行逻辑错误排查,用黑盒法录入一些有特征的数据从不同角度验证结果。

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

测试。

确认测试(有效性测试):它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。一般分为用黑盒进行确认测试,再检查软件所有文档的完整性、正确性——软件配置审查。

9.3系统测试步骤

测试过程一般分为4个步骤,即单元测试、集成测试、确认测试和系统测试及发版测试。 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确实现规定的功能。

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

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

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

9.4 系统测试用例

9.4.1 边界测试:

测试正确数据:管理员id :1111;密码:0000;身份证:[***********];姓名:杨俊森;密码:123456;存钱日期:2013-10-29;卡内余额:10000元;卡号:[***********]11(20位)

40 图表34

9.4.2 基本路径测试

Path1:1-2:1111,0001 Path2:1-3-4-5-6-7-8-10-11-12:1111,0000,[***********],杨俊森,123456,1111,

(定期存款)

Path3:1-3-4-5-6-7-8-10-11-13:1111,0000,[***********],杨俊森,123456,1111,

(活期存款)

Path4:1-3-4-5-9-10-11-12:1111,0000,[***********],(定期存款) Path5:1-3-4-5-9-10-11-13:1111,0000,[***********],(活期存款) Path6:1-3-4-5-9-14-15-16:1111,0000,[***********],(定期取款成功,打印清单) Path7:1-3-4-5-9-14-15-17:1111,0000,[***********],(未到期限,取款失败) Path8:1-3-4-5-9-14-18-19-20:1111,0000,[***********],(活期取款成功,打印清单)

Path9:1-3-4-5-9-14-18-19-21:1111,0000,[***********],(余额不足,取款失败) Path10:1-3-4-5-9-22-23-24:1111,0000,[***********],(选择转账,打印清单) Path11:1-3-4-5-9-22-23-25:1111,0000,[***********],(余额不足,转账失败) Path12:1-3-4-5-9-26:1111,0000,[***********],(选择查询)

41

9.5系统优点

界面美观简约,易于用户操作,可以减轻银行管理人员的工作量。程序可读性强,易懂易维护用户界面简洁,方便了用户使用,安全性好,系统仍然使用输入密码方式,保证了系统的安全,系统稳定,基本达到预期的功能要求。

十、软件使用说明书

10.1软件概述

银行存储管理系统是最普遍的银行业务系统,可以提供最基本的银行服务之一,即存款,开户,取款,转账,查询功能。同时在制作这个系统的过程中也应用了数据库的知识,这个相对于我们专业来说是比较重要的内容,这个也是这个学期学习的重点知识,同时数据库链接是必须要学会的,因为这个是最核心的内容,培养自己坚实的逻辑表达能力和沟通能力,和培养自己良好的文案能力。掌握银行存储管理系统的具体工作原理以及java 简单系统的设计方法。

10.2使用说明

windows 平台以其全新的界面简单快捷的操作方式而成为软件开发的趋势。根据本系统的运行环境和实际情况,选择Win7作为开发测试和运行的平台。

按照界面提示完成即可。

十一、系统开发评价

系统评价应是贯穿系统整个生命周期各个阶段的重要决策手段和工作环节。狭义上的系统评价是指系统投入运行后从功能性能、经济效益、社会效益上的评价

本系统基本实现了取款、查询余额、转账、查询等功能,但由于时间短、知识水平有限,经验不足,系统仍存在不足,该系统主要有以下特点:

1、程序可读性强,易懂易维护

2、用户界面简洁,方便了用户使用。

3、安全性好,系统仍然使用输入密码方式,保证了系统的安全。 4、系统稳定,基本达到预期的功能要求。

5、系统还存在着许多不足,特别是在数据库的链接上,在代码的编写上也存在着很多的不足,代码存在着很多的缺陷。

42

6、在系统的的界面效果上也存在不足,系统界面显示应在屏中间。

总的来说,本次设计当中存有许多的不足之处,基本上设计出了和自己预想中的效果,但同时在设计上也还存在着很多的,很多事没有什么用的代码,我想是因为时间和经验的问题,以后多练习就肯定能提高,UI 设计方面,仔细地看,还有一些小问题,系统运行时的警告就多达36处,但不会影响程序的运行,只会在美观方面有一定的影响,今后一定改善。

附:参考资料和源代码部分 参考资料: 参考文献

[1]Java 程序设计精讲 主编 许焕新 丁宏伟 清华大学出版社 [2]Sql Server 实用教程 主编 郑阿奇 电子工业出版社

[3]数据库系统开发案例精选 主编 杨湖 李凤蕾 人民邮电出版社

参考网络资源

[1] 豆丁网 [2] 百度知道 [3] 百度文库

43

华北电力大学

课程名称:软件工程

课程题目:银行存储系统

组员:孟格思 姜婷 刘宏宇

赵雄飞 杨俊森

专业:计算机科学与技术

班级:计算1102

学院:控制与计算机工程学院

时间:2013年10月24号

目录

一、开发背景与目标 ............................................................... 5

1.1开发背景 . ................................................................................ 5

1.2开发目标与思想 ..................................................................... 5

二、需求分析 ........................................................................... 5

2.1目标 ........................................................................................ 6

2.1.1 存款业务 ................................................................................. 6

2.1.2 取款业务 ................................................................................. 6

2.1.3 转账业务 ................................................................................. 6

2.1.4 查询业务 ................................................................................. 6

2.2系统的功能性需求 ................................................................. 6

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

2.4系统ER 图 . .............................................................................. 7

2.4.4 数据字典 ............................................................................... 7

2.5 系统非功能性需求 ................................................................ 8

2.5.1软硬件环境需求 ...................................................................... 8

2.5.2软件质量需求 .......................................................................... 9

2.5.3用户界面需求 .......................................................................... 9

2.6 面向数据流的设计方法 ...................................................... 9

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

2.6.2 完成“第一级分解” . ......................................................... 10

2.6.3 完成“第二级分解” . ......................................................... 10

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

2.7.1 银行存储系统用例图 . ........................................................... 12

2.7.2 银行存款业务顺序图 . ........................................................... 13

2.7.3 银行取款业务顺序图 . ........................................................... 14

2.7.4 银行转账业务顺序图 . ........................................................... 14

2.7.5 银行转账业务类图 ............................................................... 14

2.8软件质量因素 . ...................................................................... 16

2.8.1可用性 . ................................................................................... 16

2.8.2可靠性 . ................................................................................... 16

2.8.3效率 . ....................................................................................... 16

2.8.4安全性 . ................................................................................... 16

2.8.5可维护性 ................................................................................ 17

2.8.6可移植性 ................................................................................ 17

三、可行性分析报告 ............................................................. 17

3.1 经济可行性分析 ................................................................ 17

3.2社会可行性分析 ................................................................... 17

3.3技术可行性分析 ................................................................... 17

四、开发环境与项目规划 ..................................................... 18

4.1开发环境 . .............................................................................. 18

4.2项目规划与管理 ................................................................... 18

4.2.1开发人员安排 ........................................................................ 18

4.2.2开发进度安排 ........................................................................ 18

五、结构化分析与设计 ......................................................... 18

5.1结构化分析 . .......................................................................... 19

5.2结构化设计 . .......................................................................... 21

六、面向对象分析与设计 ..................................................... 25

6.1 面向对象方法 . ..................................................................... 25

6.2 用例 ..................................................................................... 25

6.3 系统状态图 . ......................................................................... 27

七、数据库分析与设计 ......................................................... 28

7.1数据库环境说明 ............................................................... 31

7.3数据库逻辑设计 ............................................................... 31

7.3.1逻辑设计步骤 ........................................................................ 31

7.3.2 逻辑设计关系图 ................................................................... 31

八、人机界面设计 ................................................................. 32

8.1界面设计原则 . ...................................................................... 32

8.2系统窗口汇总 . ...................................................................... 32

九、软件测试信息报告 ......................................................... 37

9.1测试范围与主要内容 ........................................................... 37

9.2测试方法 . .............................................................................. 37

9.3系统测试步骤 . ...................................................................... 38

9.4 系统测试用例 . ..................................................................... 38

9.4.1 边界测试: ......................................................................... 38

9.4.2 基本路径测试 ....................................................................... 41

9.5系统优点 . .............................................................................. 42

十、软件使用说明书 ............................................................. 42

10.1软件概述 . ............................................................................ 42

10.2使用说明 . ............................................................................ 42

十一、系统开发评价 ............................................................. 42

一、开发背景与目标

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 系统非功能性需求

2.5.1软硬件环境需求

(1)软件环境: Win7、Window XP等32,64位操作系统

(2)硬件环境:1)Pentium(R) Dual-Core CPU T4300 @2.10GHz 2.10GHz

安装内存(RAM ):3.00GB

2)AMD A6-3400M APU with Radeon(tm )HD Graphics 1.4GHz

安装内存(RAM ):2.00GB

3)Celeron(R) Dual-Core CPU T3100 @ 1.90GHz1.90GHz

安装内存(RAM ):2.00GB

2.5.2软件质量需求

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

2.5.3用户界面需求

用户界面需求就是陈述所需要的用户界面的软件组件。描述每个用户界面的逻辑特征。以下是可能要包括的一些特征。

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

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

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

(4)快捷键

(5)错误信息显示标准

2.6 面向数据流的设计方法

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

如下图所示:

图表

2

2.6.2 完成“第一级分解”

基于书上第三章第三题实现在银行储蓄管理系统在一级分解中,可将系统分解成三个子功能模块:用户操作,业务员操作,系统输出。 如下图所示:

图表3

2.6.3 完成“第二级分解”

用户操作的分解

可将用户操作分解为:开户民,存款,取款,查询。 如下图所示:

图表4

业务员操作的分解

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

取款,转账,查询。并且如用户在开户时设有密码,则进行密码验证。 所以分解图如下:

图表 5

系统输出分解

系统输出可分解为:计算利息-打印清单,保存新用户信息,更新用户信息,打印存单 分解图如下:

图表 6

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

2.7.1 银行存储系统用例图

转出卡号

转入卡号

转出卡密码

图表 7

首先,使用系统的柜员先要进行登录。参与者“储户”通过用例“存款”进行信息输入,实现开户或存款功能;再通过用例“取款”完成取款业务,打印清单给用户。通过用例“转

账”实现两个储户之间的转账业务。储户凭卡号和密码可查询该卡的交易信息。

如下是对上述各例的描述。 用例:存款

【前置条件:柜员已登录成功,储户已开户】 系统呈现存款界面

储户提供信息,柜员进行信息录入与维护。

系统调用数据库,确认密码是否正确,若正确则存款成功,打印清单给储户,否则返回主页面。

用例:转账

【前置条件:柜员登录成功,储户选择转账】 系统呈现转账界面

储户提供转出帐号和转入帐号,并提供转出帐号密码。判断转出帐号卡余额是否大于转出金额。满足条件则转账成功,打印清单给储户。否则转账失败。

2.7.2 银行存款业务顺序图

图表 8

2.7.3 银行取款业务顺序图

图表 9

2.7.4 银行转账业务顺序图

图表 10

2.7.5 银行转账业务类图

图表 11

对在分析中找到的各个类进行考察,分别定义它们的属性和操作,考虑它们之间的关系,绘制出类图。

(1)类“储户” 该类中属性有“姓名”、“身份证号”、“性别”和“出生日期”、“交易时间”、“开户地点”、“员工号”,操作有“开户”、“取款”、“存款”、“转账”和“查询”。 (2)类“银行卡”

该类中有属性“身份证号”和“姓名”、“密码”、“卡号”、“存入金额”、“取出金额”、“交易时间”、“余额”、“员工号”。 (3)类“存单”

该类中有属性“身份证号”和“姓名”、“密码”、“存单号”、“存入金额”、“交易时间”、“利率类型”、“员工号”。 (4)类“交易”

该类中有属性 “卡号”、“金额”、“交易日期”、“余额”、“员工号”。操作有“打印清单”。(5)类“存款”

该类中有属性“存款类型”。它还有一个操作“判断存款类型”。 (6)类“取款”

该类中有属性“密码”。它还有操作“利息计算”、“判断余额”、“取款”。 (7)类“转账”

该类中有属性“输入卡号”、“密码”。操作有“转账”、“判断余额”。

(8)类“柜员”

该类中有属性“员工号”、“姓名”。操作有“登录”、“办理业务”。

2.8软件质量因素

2.8.1可用性

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

b. 发生系统故障时迅速恢复; c. 改进了开发人员工具代码; d. 减少系统重新启动情况;

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

2.8.2可靠性

在银行等服务性行业,其软件系统的可靠性直接关系到自身的声誉和生存发展竞争能力。 a 避免需求分析定义错误的出现。

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

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

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

2.8.3效率

程序响应时间基本要求应在人的感觉和视觉事物范围内,信息交换时间基本要求在程序调用前调用后都与数据库保持同步更新,网络信息交换施加应该小于程序调用时间。允许庞大的事务请求,并提供更短的相应时间和更快的事务速率。数据出错时能够尽快的恢复,尽可能地减少损失。

2.8.4安全性

a. 系统要求在有较高的安全性,由于在储蓄和转账时,用户的账号需要在网络上传输,所以必须提供额外的安全措施,在此我们设置了用户和柜员的权限。 b. 数据库系统要进行多次备份,以免数据的破坏或被攻击。

c. 有极高的数据精确度。在进行向数据库文件提取数据时,需求数据记录定位精确,在往数据库文件数组中添加数时,要求输入数精确金额,身份证,卡号等按消息设定字符数。在汇率转换、利息计算时不能因数据精确度不足导致用户资金损失。

2.8.5可维护性

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

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

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

2.8.6可移植性

为获得较高的可移植性,在设计过程中采用通用的程序设计语言和运行支撑环境。尽量不用与系统的底层相关性强的语言。数据库也应有很好的更新能力及适应性。

三、可行性分析报告

可行性研究的目的就是用最小的代价在最短的时间内确定该软件项目是否能够开发,是否值得去开发。实质上就是进行一次简化、压缩了的需求分析、设计过程。可从三个方面分析研究每种解决问题的可行性

3.1 经济可行性分析

经济可行性:进行开发成本的估算以及了解得到效益的评估,确定要开发项目是否值得投资开发。对银行业来说,是依靠存款、贷款之间的差额来生存的,所以要尽可能的拉拢更多的客户使用本行,银行存储系统是为了能让为客户更便捷的服务,从而更具有吸引力。从银行角度出发还是非常愿意把一部分资金投入到这方面研究当中的。

3.2社会可行性分析

开发的银行卡存储系统需要根据银行卡管理规定操作,不得有侵害他人隐私盗取金额为目的。银行卡存储系统方便运行操作,组内人员有着良好的道德修养。会根据用户的实际需要来开发此程序,操作快捷,易于掌握。

3.3技术可行性分析

技术可行性:对项目的功能、性能、限制条件进行分析,确定在现有的资源和技术件下系统是否能实现。(开发的风险、资源的有效性、技术)通过对开发风险、资源有效性和技术分析后,认为开发银行存储系统风险小,资源充足,技术可以应付,但是一定要以生活中的银行管理过程中的信息为基础。

四、开发环境与项目规划

4.1开发环境

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

4.2项目规划与管理

4.2.1开发人员安排

开发人员主要是经过商量讨论、自愿组合的一个小组,由于本系统设计面广,操作复杂,信息要求强,所以我们选择五个人为一个小组,采取分工合作、共同探讨的原则,努力编辑并且完善系统应用。组内成员有姜婷、孟格思、赵雄飞、刘宏宇和杨俊森。

4.2.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

20

图表 15

5.2结构化设计

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

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

21

图表 16

结构图第一分解图:

图表 17

22

用户注册第一级分解图:

图表 18

用户注册第二级分解图:

图表 19

用户处理第一分解图:

23

图表 20

卡号处理第二级分解图:

图表 21

24

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

六、面向对象分析与设计

6.1 面向对象方法

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

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

6.2 用例

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

25

图表 22

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

(1)开户用例描述

(2)取款用例描述

26

6.3 系统状态图

图表 23

27

图表 24

七、数据库分析与设计

数据库设计指对系统所采用的数据模式、子模式、应用程序、数据库等根据用户的具体要求进行分析和设计。它也是管理信息系统设计的重要组成部分。数据库设计的基本原则是尽可能提高数据组织的相对独立性,简化其结构,即用规范化方法设施数据存储的结构,提高数据的可维护性、完整性、一致性。通过收集和分析用户需求,确定了数据库要保存的信息,我将此次数据库设计为二个如下所示表的设计如下:

7.1数据库环境说明

Microsoft Access 数据库,运行环境是Windows 7。

7.3数据库逻辑设计

7.3.1逻辑设计步骤

1.需求分析:了解用户的数据需求、处理需求、安全性及完整性要求; 2.概念设计:通过数据抽象,设计系统概念模型,一般为E-R 模型;

3.逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;

7.3.2 逻辑设计关系图

图表 25

1.用户必须首先在银行创建Account (账户)才可以进行后续的存储款操作。

3.一个Account (账户)表可以对应多个Card (卡)表或者Deposit Slip(存单)表,Card (卡)表与Deposit Slip(存单)表相互独立。

3.Interest Rate(利率)表用来储存银行的固有存款率,有数据库给出,用户无法参与修改,但是可以查阅。

4.Staff (员工)表为银行员工信息,在每次对用户操作时,都要留下工作人员的员工号码。

5.Bill Schedule(账目明细)表是用来存储Card (卡)表的操作明细,方便用户查询。

八、人机界面设计

8.1界面设计原则

(1)遵循一致原则,确立标准并遵循 (2)(Color )颜色使用恰当,遵循一致原则 (3)(Resource )资源 (4)(Font )字体 (5)(Text )文字表达 (6)(Style )控件风格,不要使用错误控件,控件功能要专一 (7)(Align )控件布局,窗口不拥挤,按功能组合控件 (8)Tab 顺序

(9)快捷键、加速键和弹出菜单 (10)用户交互

(11)发行时阐明规则

8.2系统窗口汇总

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

登陆模块输入界面

图表 26

登录模块依然采用的是密码输入的方式,需要用户输入卡号、密码然后点击登录,程序将根据输入卡号查找密码,程序系统将根据卡号调用后台数据库查找与卡号对应的密码并与用户输入的密码相对比。密码正确继续,否则当输入的次数达到三次时,系统将提示你“对不起,你输入密码错误,请明日再操作”。

主菜单页面:

用户根据输入的身份证号,判断用户是否开过户?若已开户,在允许用户选择相应的业务类型;若没有开过户,则为为用户开户。

图表 27

开户界面:

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

图表 28

图表 29

存款界面:

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

图表 30

图表 31

图表 32

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

图表 33

查询界面

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

图表 34

九、软件测试信息报告

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

9.1测试范围与主要内容

程序设计语言的选择通常考虑到项目的应用领域、软件开发方法、软件执行环境、算法和数据结构的复杂性、和软件开发人员的知识。程序设计是指使用选定的程序设计语言,把经过概要设计各详细设计所得到的信息处理过程,转换成能在计算机上运行的程序源代码。

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

9.2测试方法

软件测试的目的是尽可能多的发现程序中的错误,而调试则是在进行了成功的测试之后才开始的工作。程序调试是指在系统测试的基础上,将发现的问题进行改正,使之符合设计标准。本系统采用的主要方法如下:

单元测试:是指原程序中每个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。采用白盒法对各模块进行逻辑错误排查,用黑盒法录入一些有特征的数据从不同角度验证结果。

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

测试。

确认测试(有效性测试):它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。一般分为用黑盒进行确认测试,再检查软件所有文档的完整性、正确性——软件配置审查。

9.3系统测试步骤

测试过程一般分为4个步骤,即单元测试、集成测试、确认测试和系统测试及发版测试。 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确实现规定的功能。

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

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

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

9.4 系统测试用例

9.4.1 边界测试:

测试正确数据:管理员id :1111;密码:0000;身份证:[***********];姓名:杨俊森;密码:123456;存钱日期:2013-10-29;卡内余额:10000元;卡号:[***********]11(20位)

40 图表34

9.4.2 基本路径测试

Path1:1-2:1111,0001 Path2:1-3-4-5-6-7-8-10-11-12:1111,0000,[***********],杨俊森,123456,1111,

(定期存款)

Path3:1-3-4-5-6-7-8-10-11-13:1111,0000,[***********],杨俊森,123456,1111,

(活期存款)

Path4:1-3-4-5-9-10-11-12:1111,0000,[***********],(定期存款) Path5:1-3-4-5-9-10-11-13:1111,0000,[***********],(活期存款) Path6:1-3-4-5-9-14-15-16:1111,0000,[***********],(定期取款成功,打印清单) Path7:1-3-4-5-9-14-15-17:1111,0000,[***********],(未到期限,取款失败) Path8:1-3-4-5-9-14-18-19-20:1111,0000,[***********],(活期取款成功,打印清单)

Path9:1-3-4-5-9-14-18-19-21:1111,0000,[***********],(余额不足,取款失败) Path10:1-3-4-5-9-22-23-24:1111,0000,[***********],(选择转账,打印清单) Path11:1-3-4-5-9-22-23-25:1111,0000,[***********],(余额不足,转账失败) Path12:1-3-4-5-9-26:1111,0000,[***********],(选择查询)

41

9.5系统优点

界面美观简约,易于用户操作,可以减轻银行管理人员的工作量。程序可读性强,易懂易维护用户界面简洁,方便了用户使用,安全性好,系统仍然使用输入密码方式,保证了系统的安全,系统稳定,基本达到预期的功能要求。

十、软件使用说明书

10.1软件概述

银行存储管理系统是最普遍的银行业务系统,可以提供最基本的银行服务之一,即存款,开户,取款,转账,查询功能。同时在制作这个系统的过程中也应用了数据库的知识,这个相对于我们专业来说是比较重要的内容,这个也是这个学期学习的重点知识,同时数据库链接是必须要学会的,因为这个是最核心的内容,培养自己坚实的逻辑表达能力和沟通能力,和培养自己良好的文案能力。掌握银行存储管理系统的具体工作原理以及java 简单系统的设计方法。

10.2使用说明

windows 平台以其全新的界面简单快捷的操作方式而成为软件开发的趋势。根据本系统的运行环境和实际情况,选择Win7作为开发测试和运行的平台。

按照界面提示完成即可。

十一、系统开发评价

系统评价应是贯穿系统整个生命周期各个阶段的重要决策手段和工作环节。狭义上的系统评价是指系统投入运行后从功能性能、经济效益、社会效益上的评价

本系统基本实现了取款、查询余额、转账、查询等功能,但由于时间短、知识水平有限,经验不足,系统仍存在不足,该系统主要有以下特点:

1、程序可读性强,易懂易维护

2、用户界面简洁,方便了用户使用。

3、安全性好,系统仍然使用输入密码方式,保证了系统的安全。 4、系统稳定,基本达到预期的功能要求。

5、系统还存在着许多不足,特别是在数据库的链接上,在代码的编写上也存在着很多的不足,代码存在着很多的缺陷。

42

6、在系统的的界面效果上也存在不足,系统界面显示应在屏中间。

总的来说,本次设计当中存有许多的不足之处,基本上设计出了和自己预想中的效果,但同时在设计上也还存在着很多的,很多事没有什么用的代码,我想是因为时间和经验的问题,以后多练习就肯定能提高,UI 设计方面,仔细地看,还有一些小问题,系统运行时的警告就多达36处,但不会影响程序的运行,只会在美观方面有一定的影响,今后一定改善。

附:参考资料和源代码部分 参考资料: 参考文献

[1]Java 程序设计精讲 主编 许焕新 丁宏伟 清华大学出版社 [2]Sql Server 实用教程 主编 郑阿奇 电子工业出版社

[3]数据库系统开发案例精选 主编 杨湖 李凤蕾 人民邮电出版社

参考网络资源

[1] 豆丁网 [2] 百度知道 [3] 百度文库

43


相关内容

  • 银行家算法课程设计
  • 武汉工程大学 计算机科学与工程学院 综合设计报告 设计名称: 操作系统综合设计 设计题目: 进程死锁 学生学号: 专业班级: 学生姓名: 学生成绩: 指导教师(职称): 张立(讲师) 完成时间:至 武汉工程大学计算机科学与工程学院 制 说明: 1.报告中的第一.二.三项由指导教师在综合设计开始前填写 ...

  • 安徽理工大学专业介绍
  • 安徽理工大学专业介绍 弹药工程与爆炸技术专业 弹药工程与爆炸技术专业是全国最早也是全国唯一一个专门培养民用爆破器材和工程爆破技术的本科专业.本专业创建于1977年, 是安徽省首批本科教改示范专业和国家特色专业. 本专业培养具备火炸药.起爆器材.火工烟火技术.爆炸理论.工程爆破及安全技术等方面基础理论 ...

  • 软件工程实验教学大纲
  • 软件工程实验教学大纲 前 言 软件工程实验是为计算机相关专业本科<软件工程>课程配套设置的,是<软件工程>课程讲授中一个重要的.不可或缺的实践环节.其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理.软件需求分析.软件初步设计.软件详细设计.软件测试等阶段的方法和技 ...

  • 焦作师专2014年单招专业介绍
  • 焦作师专 2014 年单招专业介绍1.综合文科教育专业介绍 培养目标:培养思想道德品质良好,具有全面.系统的语文.政治. 历史和地理等人文基础知识, 能适应我国基础教育改革和发展的小学 综合课程和语文.政治.历史.地理等分科课程的文科教师.行政及 企事业单位管理人员等. 师资队伍:拥有一支业务精通. ...

  • 银行消防安全培训
  • 银行消防安全培训 安全工程师吕老师的银行消防安全培训课程,以火灾案例形式分析了当前火灾的频发性和突发性,重点就火灾发生的原因.危害.防火灭火常识.逃生技巧.常用灭火器的性能.原理及使用方法等以图文并茂的形式,通过列举典型火灾案例, 为大家上了一堂深刻的消防安全知识课,使全体职工深刻体会到消防知识的重 ...

  • 个人理财课程标准
  • 浙江商业职业技术学院 投资与理财专业<个人理财>课程标准 一.前言 (一)课程性质 <个人理财>是投资与理财专业的核心课程,也是金融专业的专业能力拓展课程.通过本课程的学习和操作使学生对投资方法和理念有一个基本的认识较好地掌握股票.债券.基金.期货.外汇和黄金等金融工具的投资 ...

  • 银行储蓄管理系统
  • 学 院:专业名称:班 级:设计题目:学生姓名:时 间:分 数:数据库技术与应用 课程设计报告 银行储蓄管理系统 软件学院 网络工程 网工一班 银行存储管理系统 2015年6月13日 目录 一.引言.................................................... ...

  • 电子商务应用软件实训教案
  • 电子商务应用软件实训教案 一.课程性质及任务 1.课程性质 本实训项目是电子商务专业的主干课程实训之一,主要研究和介绍电子商务的基本模式.基本原理.关键技术及其相关软件应用操作.学习本实训项目要求学生熟悉计算机基本操作.计算机网络技术.数据库技术.管理学及市场营销学的基本原理.同时,只有在掌握了本课 ...

  • 金融学课程和就业方向及再学习
  • 主要课程 西方经济学.国际金融学.货币银行学.金融市场学.世界经济概论.金融工程学.国际保险.信托与租赁.公司金融.证券投资学.商业银行经营与管理.金融统计分析.国际结算.国际经济法.国际贸易理论与实务.金融专业英语.同时还开设英语精读.英语阅读.英语口语.英语听力.微积分.线性代数.概率论与数理统 ...