银行储蓄系统概要设计说明书.docx
《银行储蓄系统概要设计说明书.docx》由会员分享,可在线阅读,更多相关《银行储蓄系统概要设计说明书.docx(16页珍藏版)》请在冰豆网上搜索。
![银行储蓄系统概要设计说明书.docx](https://file1.bdocx.com/fileroot1/2022-12/12/a25b3db6-6b4f-4624-bae1-d8c1f8ecd98a/a25b3db6-6b4f-4624-bae1-d8c1f8ecd98a1.gif)
银行储蓄系统概要设计说明书
《银行储蓄系统》
概要设计说明书
1.引言
1.1编写目的
在本银行计算储蓄系统目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对银行及atm机的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。
本阶段已在系统的需求分析的基础上,对银行储蓄系统做概要设计。
主要解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。
在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对银行储蓄系统所做的模块结构设计的基础上,对系统进行详细设计。
在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。
1.2项目背景
本项目(银行储蓄系统)时由某银行委托,由*负责开发。
银行储蓄系统将由两部分组成:
置于各银行的前台客户程序,以及置于银行的数据库服务器。
本系统与其他系统的关系如下:
(atm/银行柜台):
:
(银行)
xingxi
1.3定义
1.3.1专门术语
SQLSERVER:
系统服务器所使用的数据库管理系统(DBMS)。
SQL:
一种用于访问查询数据库的语言
事务流:
数据进入模块后可能有多种路径进行处理。
主键:
数据库表中的关键域。
值互不相同。
外部主键:
数据库表中与其他表主键关联的域。
ROLLBACK:
数据库的错误恢复机制。
1.3.2缩写
系统:
若未特别指出,统指本银行储蓄系统。
SQL:
StructuredQueryLanguage(结构化查询语言)。
ATM:
AsynchronousTransferMode(异步传输模式)。
1.4参考资料
以下列出在概要设计过程中所使用到的有关资料:
1.需求规格说明书《》软件开发小组1999/32.用户操作手册(初稿)《》软件开发小组1999/4
3.软件工程及其应用周苏、王文等4.软件工程张海藩
天津科学技术出版社1992/1清华大学出版社1990/11
5.ComputerNetworkA.S.TanenbaunPrenticeHall1996/01
文档所采用的标准是参照《软件工程导论》沈美明著编写指南”。
1.任务概述
2.1目标
2.2运行环境
的“计算机软件开发文档
系统将由两部分程序组成,安装在atm机或银行柜台计算机上的客户程序及银行内的数据服务器程序。
根据调研得知所有旅行社的计算机配置均在Pentium133级别以上,客户程序应能够在Pentium133级别以上,WinNT环境下运行。
2.3需求概述
银行账户管理、储蓄业务处理系统为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息(若为新储户须建立账户),并打印存款单给储户;如果是取款,系统计算利息并打印利息清单给储户(若为清户记录注销该账户);还可向储户提供余额查询功能。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
2.4条件与限制2.总体设计
3.1处理流程
未
改
变
改变账目否?
改
变
特殊日否?
否
启动系统后,首先进入系统初始化,初始化工作完毕,就可以由各操作员按各自的登录号、密码登录号、密码登录启动操作员工作画面,随后进入联机实时处理,其中记账部分包括定期存取、活期储蓄、查询等多储种业务的记账处理;调整分户信息主要是:
调整开户、销户及有关参数;查询则提供分户账信息查询、总账信息查询、操作员记账信息查询及某一科目发生额信息查询等;扎账平后,可以进入日末批量处理,主要完成记分户账、记总账、记登记簿,形成统计报表、打印报表信息并完成数据备份。
如遇特殊处理,如例假日、计息日、月底、年末,则作相应处理。
总体结构和模块外部设计
系统总体的模块图
1.1
1.2
1.3
2.1
2.2
2.3
2.4
2.5
3.1
3.2
3.3
实时处理模块图
功能分配
取款信息取款凭证
储户信息存款凭证
银行储蓄系统主要可以分为三大功能模块,它们是:
系统初始化、实时处理、批量处理
1.系统初始化
该功能是对应用系统中每日处理储蓄数据所需的中间文件、表格等进行清零或赋值等初始化处理,它必须在每日联机开始之前进行处理,而且每日只能做一次,否则将引起当日数据错误。
2.实时处理
该功能是储蓄业务处理系统主要的业务处理模块,每项业务处理完毕,都由计算机自动记日志、记账。
例如定期存取子模块,它主要进行定期的开户、到期支取、全部提前支取和部分提前支取等业务的处理。
开户,计算记自动给出账号,输入储户名、地址、金额、密码等信息,检查金额、期限、起息日是否合理,然后计算到期利息,并打印存单。
到期支取。
输入账号、开户日起、金额、期限、密码等信息,计算机检查核对这些信息,如无误,计算应付利息,打印利息清单,并将该定期户作销户处理。
全部提前支取。
输入账号、开户日期、金额、期限、密码、取款日,计算机检查核对信息,确认无误,则按规定计算出提前支取利息,打印利息清单,并将该定期户作销户处理。
部分提前支取,输入账号、开户日期、部分提前支取金额、期限、支取日、密码等信息,计算机检查信息内容。
部分提前支取金额必须小于原账号金额,确认无误后,计算部分提前支取金额的利息,打印利息清单,并将未支取部分按原户名、期限、起息日期、到期日起、利率等信息新开一定期账户,账号由计算机自动给出新账号,原账号作小户处理。
3.批量处理
批量处理是日末处理的工作,包括记总帐、打印报表、数据备份等子模块。
3.3功能分配
3.银行储蓄系统主要可以分为三大功能模块,它们是:
系统初始化、实时处理、批量处理
4.1.系统初始化
5.该功能是对应用系统中每日处理储蓄数据所需的中间文件、表格等进行清零或赋值等初始化处理,它必须在每日联机开始之前进行处理,而且每日只能做一次,否则将引起当日数据错误。
6.2.实时处理
7.该功能是储蓄业务处理系统主要的业务处理模块,每项业务处理完毕,都由计算机自动记日志、记账。
8.例如定期存取子模块,它主要进行定期的开户、到期支取、全部提前支取和
部分提前支取等业务的处理。
9.开户,计算记自动给出账号,输入储户名、地址、金额、密码等信息,检查金额、期限、起息日是否合理,然后计算到期利息,并打印存单。
10.到期支取。
输入账号、开户日起、金额、期限、密码等信息,计算机检查核对这些信息,如无误,计算应付利息,打印利息清单,并将该定期户作销户处理。
11.全部提前支取。
输入账号、开户日期、金额、期限、密码、取款日,计算机检查核对信息,确认无误,则按规定计算出提前支取利息,打印利息清单,并将该定期户作销户处理。
12.部分提前支取,输入账号、开户日期、部分提前支取金额、期限、支取日、密码等信息,计算机检查信息内容。
部分提前支取金额必须小于原账号金额,确认无误后,计算部分提前支取金额的利息,打印利息清单,并将未支取部分按原户名、期限、起息日期、到期日起、利率等信息新开一定期账户,账号由计算机自动给出新账号,原账号作小户处理。
13.3.批量处理
14.批量处理是日末处理的工作,包括记总帐、打印报表、数据备份等子模块。
4.接口设计
4.1外部接口
4.1.1用户界面
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。
在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。
外观上也要做到合理化,考虑到用户多对WINDOW风格较熟悉,应尽量向这一方向靠拢。
总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用
软件接口
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。
在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。
外观上也要做到合理化,考虑到用户多对WINDOW风格较熟悉,应尽量向这一方向靠拢。
在设计语言上,已决定使用MSVISUALC++进行编程,在界面上可使用VISUALC++所提供的可视化组件,向WINDOWS风格靠近。
其中服务器程序界面要做到操作简单,易于管理。
在设计上采用下拉式菜单方式,在出错显示上可调用VISUALC++库中的错误提示函数。
总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用
4.1.2软件接口
服务器程序可使用VISUALC++提供的对SQLSERVER的接口,进行对数据库的所有访问。
服务器程序上可使用SQLSERVER的对数据库的备分命令,以做到对数据的保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。
4.1.3硬件接口
在输入方面,对于键盘、鼠标的输入,可用VISUALC++的标准输入/输出,对输入进行处理。
在输出方面,打印机的连接及使用,也可用VISUALC++的标准输入/输出对其进行处理。
在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
4.2内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。
具体参数的结构将在下面数据结构设计的内容中说明。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
。
5数据结构设计
5.1逻辑结构设计
操作员代码表
业务员代码
姓名
性别
出生年月
年龄
密码
取款信息
卡号
密码
取款人
取款金额
取款类型
利率
取款日期
余额
利息
存款信息
卡号
存款人
储户姓名
存款金额
存款日期
存款类型
利率
存款期限
余额
身份证
接受储户存/取款时填写的单据后,产生相应的存/取款信息写入数据库收/付款信息
卡号
储户姓名
业务员编号
收/付款金额
收/付款日期
在业务员收/付款之后打印相应的存款凭证并修改帐户余额。
储户信息
卡号
储户姓名
联系电话
身份证
地址
备注
主要在存取款时将客户信息写入数据库并返回。
5.2物理结构设计
操作员代码表
列名
数据类型
可否为空
备注
业务员代码
int
NOTNULL
用于唯一标识本行内的所有业务人员
姓名
char
NULL
业务人员的姓名
性别
char
NULL
业务人员的性别
出生年月
datetime
NULL
业务人员的出生年月
年龄
int
NULL
业务人员的年龄
密码
char
NULL
业务人员的密码
取款信息
列名
数据类型
可否为空
备注
帐号
int
NOTNULL
用户的帐号
密码
char
NULL
用户的密码
取款人
char
NULL
取款人姓名
取款类型
char
NULL
当次取款类别
取款金额
money
NULL
当次取款数量
利率
money
NULL
相应存款类型的利率
取款日期
datetime
NULL
当次取款时间
余额
money
NULL
取款后的余额
利息
money
NULL
从存款日起至今的利息
存款信息
列名
数据类型
可否为空
备注
帐号
int
NOTNULL
用户的帐号
存款人
char
NULL
取款人姓名
储户姓名
char
NULL
帐号开户姓名
存款类型
char
NULL
当次取款类别
存款金额
money
NULL
当次取款数量
存款日期
datetime
NULL
当次取款时间
存款期限
datetime
NULL
存款到期时间
余额
money
NULL
存款后余额
利率
money
NULL
存款相应类型
联系电话
int
NULL
存款者的联系号码
身份证
int
NULL
存款者的身份证
收/付款信息
列名
数据类型
可否为空
备注
帐号
int
NOTNULL
用户的帐号
收/付款人
char
NULL
取款人姓名
业务员编号
int
NOTNULL
相应操作员的编号
收/付款金额
money
NULL
当次存款数量
收/付款日期
datetime
NULL
当次存款时间
储户信息
列名
数据类型
可否为空
备注
帐号
int
NOTNULL
用户的帐号
储户姓名
char
NULL
帐号开户姓名
联系电话
int
NOTNULL
开户者的联系电话
身份证
int
NULL
开户者的身份证号
地址
char
NULL
开户者的联系地址
备注
char
NULL
特殊储户应注明
5.2物理数据结构设计
物理数据结构设计主要是设计数据在模块中的表示形式。
数据在模块中都是以结构的方式表示。
1.客户信息
1.客户姓名2.客户性别3.身份证号码4.工作单位
String
Char
LONGINT
String
用于存款时接收输入,以及存款时服务器返回。
2.帐单号
可使用一LONGINT实现。
用于取款时接收输入,以及存取款时服务器返回。
3.存取款金额
1.
2.
3.
4.
客户姓名String存取款数额String操作时间Date/Time机号String
用于存取款时接收输入,以及领票时服务器返回。
4.网络包
1.网络包HeadINT
2.传输数据
String
用于数据在网络上的传输。
5.错误信息
1.错误类型
2.输出语句
用于关于错误操作。
6.收据信息
INT
String
1.存取款金额
2.账号余额数额
3.操作时间
4.客户姓名
5.客户性别
6.身份证号码
7.机号
8.
用于打印收据准备工作。
数据类型可参照上面所述。
7.帐单信息
1.
2.
3.
4.
5.
6.
帐单号
客户姓名身份证号码存取款金额操作时间
余额
用于打印帐单准备工作。
数据类型可参照上面所述。
5.3数据结构与程序的关系
服务器程序在对存取款/领票进行操作时需对数据库数据库数据结构,也就是数据表进行查询和修改:
在存取款/领票过程中都需要对数据库中的所有表,进行联合查询、修改。
物理数据结构主要用于各模块之间函数的信息传递。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
出错信息将送入显示模块中,机票结构,帐单结构,送入打印准备模块中准备打印格式。
15.
运行设计
6.1运行模块的组合
在每次的启动后开始运行系统初始化模块,通过各模块之间的调用,读入并对输入进行格式化。
在完成系统初始化模块后,接收用户登陆数据。
正常开启实时处理模块后,便可对数据库进行查询和修改,对信息进行处理,产生相应的输出。
6.2运行控制
运行控制将严格按照各模块间函数调用关系来实现。
在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。
启动系统后,首先进入系统初始化,初始化工作完毕,就可以由各操作员按各自的登录号、密码登录号、密码登录启动操作员工作画面,随后进行正常的业务处理每日的正常业务处理完进行轧帐判断,最后进行数据备份,记帐等操作。
6.3运行时间
考虑到实际情况,系统对运行时间的要求为必须对作出的操作有较快的反应,建议使用PentiumIII或更好的处理器。
硬件对本系统的速度影响将会大于软件的影响。
特别说明的是轧帐后的批量处理会运行较长的时间。
16.
出错处理设计
7.1出错输出信息
程序在运行时主要会出现两种错误:
1、由于输入信息,或无法满足要求时产生
的错误,称为软错误。
2、由于其他问题,如网络传输超时等,产生的问题,称为硬错误。
对于软错误,须在存取款/其他操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。
对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。
返回输入阶段。
出错信息必须给出相应的出错原因。
本系统采用人-机对话模式,若操作失误则弹出对话框(如:
身份验证、输错信息等)
7.2出错处理对策
所有的客户机及服务器都必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。
若真断电时,客户机上将不会有太大的影响,主要是服务器上:
在断电后恢复过程可采用SQLSERVER的日志文件,对其进行ROLLBACK处理,对数据进行恢复。
在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。
在硬件方面要选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。
17.
安全保密设计
由于数据的传输上需要通过网络传输,为了客户资料进行保密,需要在网络的传输过程中对数据进行加密。
这个工作主要是在准备网络包,及解开网络包这两个模块完成,它们各对数据进行加密及解密还原工作。
在加密算法选择上将使用RSA加密算法。
具体算法可参照参考资料中《ComputerNetwork》p.598。
18.
维护设计
维护方面主要为对服务器上的数据库数据进行维护。
可使用SQLSERVER的数
据库维护功能机制。
例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。