《总体、详细设计-银行系统》
《软件工程导论》
姓名:曹广镇
学号:200840701219 班级:08计科2班 导师:马立权
时间:2010年12月20日-24日(第17周)
目录
一、总体设计
一.引言 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„21.1编写目的 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 1.2背景 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 1.3定义 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 1.4参考资料 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 二.总体设计 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3
2.1需求规定 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 2.2系统概要设计 „„„„„„„„„„„„„„„„„„„„„„„„„„„3 2.3功能模块概要设计 „„„„„„„„„„„„„„„„„„„„„„„„„3 2.3.1系统模块图 „„„„„„„„„„„„„„„„„„„„„„„„„„„3 2.3.2系统层次图 „„„„„„„„„„„„„„„„„„„„„„„„„„„3 2.3.3存款模块图 „„„„„„„„„„„„„„„„„„„„„„„„„„„4 2.3.4取款模块图 „„„„„„„„„„„„„„„„„„„„„„„„„„„4 三.接口设计 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„5
3.1用户接口 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„5 3.2内部接口 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„5 四.数据结构设计 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„5
4.1功能模块与程序间的关系 „„„„„„„„„„„„„„„„„„„„„„5 五.系统出错处理 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„5
5.1出错信息及处理方法 „„„„„„„„„„„„„„„„„„„„„„„„5
1
总体、详细设计—银行系统
5.2补救措施 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„6 5.3系统维护 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„6
二、详细设计
一、引言 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„6 1.1编写目的 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 6 1.2背景 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„6 1.3定义 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„6 1.4参考资料 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 7 二、程序系统的组织结构 „„„„„„„„„„„„„„„„„„„„„„„„„„7 三、程序设计说明 „„„„„„„„„„„„„„„„„„„„„„„„„„„„ 8 3.1程序描述 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„8 3.2功能 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„8 3.3性能 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 8 3.4输入项 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 8 3.5输出项 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 9 3.6算法 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„10 3.7流程逻辑 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„10 3.8接口 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 11 3. 9存储分配 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„12 3.10注释设计 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 12 3 .11条件 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 12 四、数据字典 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„12 五、测试计划 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 14 六、尚未解决的问题 „„„„„„„„„„„„„„„„„„„„„„„„„„„„14 七、实验体会„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 15
一、银行系统总体设计
一、引言
1.1编写目的
本报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本银行储蓄系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,以期能够获得更大范围的应用此文档进一步定制软件开发的细节问题,明确软件需求、安排项目规划与进度、组织软件开发与测试,便于用户与开发商协调工作。 1.2项目背景 软件名称:银行系统
2
总体、详细设计—银行系统
1.3定义
银行储蓄应用系统软件:基本元素为构成银行储蓄及相关行为所必须的各种部分。需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。
需求分析:包括提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明其含义并找出其中的错误,遗憾或其它不足的地方。
模块的性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中
其他的模块的接口是简单的
1.4参考资料
《软件工程导论(第5版)》 张海藩 编着 清华大学出版社出版
二.总体设计
2.1功能需求规定
如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,完成后由系统打印存款单给储户。
如果是取款,储户填写取款单交给业务员,若有密码则业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户;若存款时未留密码则系统计算利息并印出利息清单给储户。 2.2系统概要设计
系统启动时激活身份验证模块。
通过身份验证后,对系统进行初始化,根据从数据库来的数据,判断用户的身份是否正确。 通过用户需求激活相应的功能模块,并执行制定的模块。
当用户完成需求后,退出系统模块激活关闭系统模块,退出系统。 2.3功能模块概要设计
2.3.1系统模块图
E1储户F1存款单F2取款单P0储蓄系统F3存单F4利息清单E1储户F5存款信息F5存款信息D1存款信息
2.3.2系统层次图
3
总体、详细设计—银行系统
2.3.3存款模块图 E1F2取款单P3.1输入取款信息F5存款信息储户无效取款信息D1存款信息 F7密码 F7密码P3.2 密码校验 2.3.4取款模块图 E1F1存款单P1 P2储户F7密码记录存款信息 打印存单 F5存款信息 F5存款信息F3存单 E1D1存款信息 储户F2取款单F7密码F5存款信息F4利息F4利息F4利息P5打印利息清单P3核算密码F6取款信息P4计算利息F8储蓄利率E2P6业务员F8储蓄利率设置利率F8储蓄利率D2存款利率4
总体、详细设计—银行系统
三.接口设计
3.1用户接口
用户界面
屏幕格式:采用全屏格式,可自由转换。与各分窗体之间的切换以完成各种处理 报表格式:以银行原报表格式设计电子打印表格式。
菜单格式:下拉式菜单,应显示储户资料及帐户资料的各个详细条目。 3.2内部接口
各个模块间要相应的能通过接口互相连接起来。
四.数据结构设计
4.1功能模块与程序间的关系:
身份验证模块 存款模块 取款模块 存款单打印模块 取款单打印模块 按用户名和ID查询模块 …….
模块标识符 G1 G2 G3 G4 G5 G6 … 模块功能 验证用户身份 银行业务员输入存款信息,系统进行存款 银行业务员输入取款信息,系统进行取款 银行业务员输入存款信息并打印 银行业务员输入取款信息并打印 查询用户信息 …… 程序 程序1 程序2 程序3 程序4 程序5 程序6 … 五.系统出错处理
5.1出错信息及处理方法 故障类别 硬故障 故障举例 电器故障或机械故障等 系统配置不当,病毒感染等。 原因分析 处理方法 更换元器件;不要使其长时间致命性永久性故障; 工作,间歇性休息,或要求环暂时性故障等 境条件更好 静电放电导致电故障等或病毒影响 调整配置,利用杀毒软件杀毒 软故障 5
总体、详细设计—银行系统
用户名/密码不能为空 数据处 理故障 用户名不能重复 数据库连接不上等类似的提示信息 用户名/密码忘记填写 用户名项数据库已有相应记录 数据库服务器关闭或者网络不通 按照要求填写用户名/密码项 按照要求填写用户名项 检查数据库服务器是否关闭,如关闭则启动,否则检查网络配置 5.2补救措施
本系统定期备份数据库,以便在系统出现故障时能够及时恢复。
(1)采用后备技术,当原始系统数据万一丢失时启用副本,周期性地把磁盘信息记录到磁带上去。 (2)使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
5.3系统维护
为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。
本系统严格按照软件产品设计规范的步骤进行开发,并重复考虑软件的可维护性,详细编写各阶段的文档资料,并在程序设计过程中做出大量详细的注释。
二、银行系统详细设计
一、引言
1.1编写目的 为提升自己的设计能力和编写文档能力,故编写此银行详细设计,让自己在实战中能够稳住脚跟。
另外,在现代化社会中随着银行业的激烈竞争,如何更好的提高办事效率,降低成本,提高银行系统的电算化及现代化程度,充分满足客户的需求,提供更优质高效的服务,成为各银行正向追逐的目标。因此,开发一套方便快捷,高效实用,安全稳定的银行储蓄系统软件,便成了银行的当务之急。 它的意义也就显得尤为重要了。过去落后的银行操作系统已经不适应现代社会的需求了,伴随着银行业激烈的竞争,急需出现一套更符合银行需要的新一代银行系统 1.2背景
项目名称:详细设计—银行系统 开发者:2班19号曹广镇 用户:××银行
背景:1、在老师课程设计的要求下,我选择设计银行系统来做详细设计;2、为了以更高的服务质量让储户满意,提高业务效率,强调资金安全,完善风险防范意识,特此开发一套新的银行系统。
1.3定义
6
总体、详细设计—银行系统
银行系统软件:基本元素为构成银行储蓄及相关行为所必须的各种部分。
详细设计:又称全面设计,划分出组成系统的物理元素(程序、文件、数据库、人工
过程和文档),每个物理元素处于白盒子级,具体内容将会仔细设计出来。
关于银行系统的相关名词:
软件 银行系统 出纳员 ATM 分行
用户 事务 事务数据 分行计算机 现金卡
现金 收据 费用 用户数据 打印时间 存储时间 取款时间
等等这些名词将在下面有所定义。 1.4参考资料 1 张海藩.《软件工程导论》(第五版).北京:清华大学出版社,2008 2 查阅网上相关资料
二、程序系统的组织结构
构建程序系统的组织结构,需要从用户的实际应用来考虑: 1、 必须要给一个用户一个清晰的初始界面,让用户开始登录;
2、 输入自己的帐号、密码时要确保在三次内输入正确,然后进入主页面。
3、 主页面是用户进行操作的主要界面,它的基本功能必须包括:查询、存款、取款、
转账等相关信息。
4、 确保安全,防止帐号、密码泄漏,及异常处理。 具体内容,可以从“用户操作层次图”可以看出,如图: 初始界面
登录界面 主界面 批量处理 系统初始化 实时处理 记总帐 报表打印 数据备份 操作员代码表 取款信息 储户信息 存款信息 收/付款信息 存款 取款 查询 用户操作层次图
7
总体、详细设计—银行系统
三、程序设计说明
3.1程序描述
程序包括费信用、转账结算、存取现金、系统初始化、实时处理和批量处理等全部或部分功能的信用支付工具程序。银行系统为银行管理层提供全面的银行客户分析,系统构建在数据仓库基础上,整合银行相关的所有数据,通过对数据进行快速而准确的分析和挖掘,达到计算机管理银行相关功能。
3.2功能
1、开户: 个人申领银行卡应当向发卡银行提供门规定的本人有效身份证件,经发卡银行审查合格后,为其开立记名账户;对储户信息线性表增加储户,内容包括储户编码、储户名、储户金额、密码、密码验证。
2、修改密码:无论开户后还是日后用户使用安全,密码修改都是必须的。
3、存款: 发卡银行依据密码等电子信息为持卡人办理的存款,执行用户存储现金的操作,并计算用户余额,生成上传数据。
4、取款: 发卡银行依据密码等电子信息为持卡人办理的取款,执行用户提取现金的操作,并计算用户余额,生成上传数据。
5、挂失: 发卡银行向持卡人提供银行卡挂失服务。
6、销户: 持卡人在还清全部交易款项,透支本息和有关费用后,可申请办理销户。删除储户信息线性表的当前储户。
7、计息: 银行卡的计息包括计收利息和计付利息
8、系统初始化:对应用系统中每日处理储蓄数据所需的中间文件、表格等进行清零或赋值等初始化处理,它必须在每日联机开始之前进行处理,而且每日只能做一次,否则将引起当日数据错误。
9、实时处理:储蓄业务处理系统主要的业务处理模块,每项业务处理完毕,都由计算机自动记日志、记账。
10、批量处理:日末处理的工作,包括记总帐、打印报表、数据备份等子模块。
3.3性能
1、要求能快速响应业务员、管理员及用户输入,不能因过长的数据处理时间影响各方心态。
2、系统可根据具体业务需求和业务量大小,定制服务交易的种类和并发处理的能力。 3、合理的并发处理机制使系统具有足够的交易吞吐量和交易响应时间。
3.4输入项
8
总体、详细设计—银行系统
1、存取子模块,它主要进行定期的开户、存取款、存取款单打印信息和查询条件等业务的处理。
开户:输入储户名、地址、金额、密码等信息,检查金额、期限、起息日是否合理,; 存取款:输入账号、始终日期、金额、期限、密码等信息; 查询条件:开户日期、金额、期限、系统时间; 2、相对应的IPO图:
输入: 处理: 输出: 有效的用户 验证 用户信息 存取信息 存储 存取款 打印单 打印 存取款单打印信息 查询结果 查询 查询条件
3.5输出项
1开户打印存单:
存单=存款人+存款银行+业务员编号+存款金额+存款日期+手续费+帐户余额 2到期支取、全部提前支取、部分提前支取打印类似的取款单
取款单=取款人+取款银行+业务员编号+取款金额+取款日期+手续费+帐户余额 补充:
逻辑结构设计 1、操作员代码表 业务员代码
2、取款信息 卡号
3、存款信息 卡号 存款人 储户姓名 存款金额 存款日期 存款类型 利率 存款期限 余额 身份证 密码 取款人 取款金额 取款类型 利率 取款日期 余额 利息 姓名 性别 出生年月 年龄 密码 接受储户存/取款时填写的单据后,产生相应的存/取款信息写入数据库
3、收/付款信息 卡号 储户姓名 业务员编号 收/付款金额 收/付款日期 在业务员收/付款之后打印相应的存款凭证并修改帐户余额。
4、储户信息
9
总体、详细设计—银行系统
卡号 储户姓名 联系电话 身份证 地址 备注 主要在存取款时将客户信息写入数据库并返回。
3.6算法
1、本系统涉及存款利率及利息问题,故对数据精度只要求为小数后两位即可。
2、程序相对应的存款为加法运算,取款、转账用减法运算,至于利息则用乘法运算即可。
3.7流程逻辑
1、 银行计算机储蓄系统的工作过程大致如下:用户登录初始界面进入系统,系统对用户进行实时处理,修改密码、存取款、查询、挂失销户等等处理,并打印出相对应的清单给用户。
如“用户流程图”所示:
修改密码
用户流程图
挂失、销户
2、银行储蓄系统有主要有数据库存储经理、业务员和还有储户的信息,储户通过业务员及自助系统来存取款等办理业务。如图:
10
总体、详细设计—银行系统
银行储蓄系统E-R 图
3.8接口
一、外部接口
1、用户界面
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,考虑到用户多对WINDOW 风格较熟悉,应尽量向这一方向靠拢。用户界面一边用于网上银行和ATM上!总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。 2、软件接口
Windows2000/NT或更高的操作系统。服务器还需安装SQL Server 2000或其他数据库.
3、硬件接口
赛扬133 、内存32兆以上PC机满足输入端条件。
二、内部接口
1、内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。 2、具体参数的结构将在下面数据结构设计的内容中说明。
3、接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输,具体的有以下几快:
身份验证模块:完成对用户身份的验证功能。 存取款模块:完成储户存取款的录入信息。 存取款单打印模块:完成储户信息的打印。
储户信息检索模块:按要求检索储户各方面的信息。 每日批处理模块:按每用户操作数量来处理的信息。
11
总体、详细设计—银行系统
3. 9存储分配
用动态存储分配。
3.10注释设计
1、在程序源代码上注释,让其他程序员可更好地理解程序; 2、在界面上给以相对的提示或注释,让用户使用更加方便。
3 .11条件
银行以记时器记时完毕触发利息结算; 对用户取款额未做上限约束; 各个银行间采用集中控制。
有效证件仅为身份证,牵涉到开户、撤户、挂失、取款时客户必须提供身份证号(18位);存款及余额查询时不需提供身份证号。
如图,如下所需要:
硬件 计算机 内存 (RAM) 最低要求 Pentium 166 MHz 或更高。 至少 MB,建议 128 MB 或更多。内存容量可以和数据容量保持1:1的比例,这样可以更好的发挥其效能。
硬盘空间 显示器 需要约500MB的程序空间,以及预留500M的数据空间 需要设置成800x600模式,才能使用其图形分析工具 四、数据字典
数据库采用SQL Server 2000数据库,使用Java环境中创建数据库。包括操作员信息表,用户开户信息表,用户存取信息表,用户挂失信息表,用户消户信息表。 1. 操作员信息表
为操作员的个人信息资料表。 Field 1 2 3 4
2. 用户开户信息表
12
Field name 姓名 操作员代码 密码 工资 Type 字符型 字符型 字符型 字符型 Width 10 8 10 8 dec 0 0(索引) 0 0 总体、详细设计—银行系统
为用户开户的信息表,当用户开户时,将用户信息添加到该数据表中。 Field 1 2 3 4 5 6
3. 用户存取信息表
为用户存款取款时的信息数据表,用户存款取款时,将存款或取款的信息添加到该数据表中,并修改余额。 Field 1 2 3 4 5 6 7 Field name 卡号 余额 摘要 借方 贷方 日期 操作员代号 Type 字符型 数值型 字符型 数值型 数值型 日期时间型 字符型 Width 20 15 4 10 10 8 8 dec 0(索引) 2 0 2 2 0 0 Field name 姓名 身份证号 开户日期 金额 操作员代号 联系电话 Type 字符型 字符型 日期时间型 数值型 字符型 字符型 Width dec 10 20 8 10 8 11 0 0 0 2 0 0
4.用户挂失信息表
为用户挂失时的信息数据表,用户挂失时,为用户添加以下信息,冻结卡内余额。 Field 1 2 3 4 5 6
5. 用户消户信息表
为用户消户时的信息数据表,用户消户时,从数据库中删除下列记录。 Field 1 2 3 4 5
Field name 姓名 身份证号 卡号 余额 挂失日期 操作员代号 Type 字符型 字符型 字符型 数值型 日期时间型 字符型 Width 10 20 20 15 8 8 dec 0 0 0(索引) 2 0 0 Field name 姓名 身份证号 卡号 余额 消户日期 Type 字符型 字符型 字符型 数值型 日期时间型 Width 10 20 20 15 8 dec 0 0 0(索引) 2 0 13
总体、详细设计—银行系统
6 操作员代号 字符型 8 0
五、测试计划
一、采用黑盒子测试技术来发现下述类型的错误:
1、功能不正确或遗漏的错误; 2、界面错误;
3、数据结构错误或外部数据库访问错误。 4、性能错误;
5、初始化和终止的错误。
二、采用黑盒子测试技术方法有:
1、等价划分 2、边界值分析 3、错误推理
六、尚未解决的问题
(1)系统备份技术:当原始系统数据万一丢失时启用系统备份来恢复和启动的技术。 (2)替补系统:使用另一种效率稍低的系统或方法来替补原系统,以求得所需结果的某些部分,例如一个自动系统的替补可以是手工操作和数据的人工记录。
(3)恢复及再启动技术:使软件从故障点恢复执行或使软件从头开始重新运行的方法。
实验的体会
作为计算机专业的一名学生,我对开发一个银行系统充满期望和希望,虽然我没有写代码,但是当我准备开始做这个管理系统时,就注定要经策划的繁重!首先我对银行系统的分析和设计有了更深刻的认识。在这里面的资料有些是网上找的,有些是书上找到,还有就是自己写的,终于解决了,但是有时候还是有些问题怎么也解决不了,最后形成的系统仍然存在着很多的问题,所以从这次软件系统的开发实习中,我总结了许多宝贵的经验,也发现了很多的问题,在今后的学习与实践中,我会努力的去克服问题,并不断的积累宝贵经验,使自己能够有更大的进步。
14
因篇幅问题不能全部显示,请点此查看更多更全内容