银行系统需求分析.docx
《银行系统需求分析.docx》由会员分享,可在线阅读,更多相关《银行系统需求分析.docx(23页珍藏版)》请在冰豆网上搜索。
银行系统需求分析
银
行
系
统
需
求
分
析
第一章引言
1.1编写目的
本报告的目的是规化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本银行储蓄系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,同时也说明了本软件的共性,以期能够获得更大围的应用
此文档进一步定制软件开发的细节问题,明确软件需求、安排项目规划与进度、组织软件开发与测试,便于用户与开发商协调工作。
经过对该银行储蓄系统项目进展详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进展需求分析。
1.2背景
项目名称:
银行计算机系统
用户:
××银行
说明:
银行系统是与生活严密相关的一个机构,银行提供了存款、取款、转账等业务。
在银行设立账户的人或机构通常被称为银行的储户。
一个储户可以在银行开多个账户,储户可以存钱到账户中,也可以从自己的账户中取现,还可以将存款从一个账户转到另一个账户。
储户还可以随时查询自己账户的情况,并查询以前所进展的存款、取款等交易记录。
后台管理员可以对储户的账户进展注销、删除、查询等管理,还有就是银行利息、汇率、手续费之类参数的设置,以及财务管理以及财务分析。
1.3参考资料
《件工程〔第二版〕》齐志昌谭庆平宁洪编著高等教育
《软件工程概论》人杰马素霞殷人昆编著机械工业
《软件工程——原理,方法与应用》吴钦藩编着人民交通出版
《软件工程导论〔第四版〕》海藩编着清华大学出版
《软件工程》 任胜兵 邢琳 编着 邮电大学
第二章需求分析报告前提
2.1功能需求
功能划分
软件分别有注册,修改,查询,更新等功能。
各个模块各有不同的功能,但都能完成查询和存储功能。
各模块的数据都存放在数据库中。
数据的调用和连接都有程序来完成。
此软件所要完成的主要功能有三方面:
如果是存款,用户填写存款单,然后交给键入系统,同时系统还要记录存款人,住址,,,存款类型,存款日期。
利率及密码〔可选〕等信息,完成后由系统反应成功存款信息给用户。
如果是取款,用户填写取款的相关信息〔取款金额、取款币种〕进展提交,系统要求用户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息给用户。
如果是转账,用户填写转账的相关信息进展提交,系统要求用户输入密码以确认身份,核对密码正确无误后系统计算利息并反应信息给用户。
系统进展及时更新数据库。
其他功能:
开户功能。
用户通过注册的方式向系统提出开户请求,用户填写相关信息后进展提交,系统根据用户所填写信息为用户分配唯一的银行卡号,并且及时更新数据库,将用户信息进展保存。
还提供了后台管理员的一些相关功能,如账户信息管理,财务管理,系统参数以及财务分析统计。
功能描述
外部功能:
实现化窗口,开户/销户、存款/取款、查询/转账
部功能:
同步,过滤,定位,识别,更新,连接
开户功能:
通过储户申请建立一个新的描述信息,并将该添加到信息映射表中,并以系统自动生成的唯一的号作为主键。
同时系统还将生成唯一的银行卡号作为外键。
1申请需要提交有关材料的证明,并审核通过。
2银行为其建立一个新账户。
3返回账户号/密码给储户
4打印开户信息给储户
开户活动图:
销户功能:
消除储户存储在系统中的个人信息。
1通过储户申请,由管理员进展消户操作。
2系统消除储户的一切信息,更新数据库。
3返回注销信息成功通知。
销户活动图:
登录功能:
根据不同身份登录进入到不同的登录界面。
1用户输入登录相关信息〔账号、密码〕。
2系统检查用户相关信息,提示成功与否。
用户登录活动图:
存款功能:
以储户的存款为主要活动,相关记录根据存款结果进展调整,以使信息保持一致。
1系统需要在原信息中增加一条记录,包括存款人,住址,存款类型,存款日期。
2假设为新储户须建立一个,并记录此次的记录。
存款活动图:
取款功能:
以储户的取款为主要活动,相关记录根据存款结果进展调整,以使信息保持一致。
1系统计算利息,在原信息中取款减去。
2账户取款相关信息都会写入到数据库中
取款活动图:
查询功能:
为储户提供查询余额效劳,将储户的相关记录输出。
①需要储户的信息及密码。
②打印储户的余额
余额查询活动图:
转账功能:
为储户提供转账给其它储户的效劳,将储户的存款信息进展调整,以保持信息的一致。
1需要储户的信息及密码。
2需要其它储户的账号信息
3需要进展一定的手续费收取
转账活动图:
密码修改:
为储户提供密码修改效劳,将储户的密码信息进展调整,以保持信息的一致。
1需要储户的信息及密码。
2需要储户输入新密码并确认。
用户密码修改活动图:
2.2性能需求
①数据准确度
在进展向数据库文件提取数据时,需求数据记录定位准确,在往数据库文件数组中添加数时,要求输入数准确金额,,卡号等按消息设定字符数。
2时间特性
程序响应时间:
在人的感觉和视觉事物围;
信息交换时间:
要求在程序调用前调用后都与数据库保持同步更新,网络信息交换施加应该小于程序调用时间。
3适应性
要求数据库局用很好的更新能力,由于本产品是试验性软件,故对磁盘和存容量没有很高的要求,但是数据库应该能够对并发事件,脏数据具有较强的识别处理能力。
④磁盘容量
由于要存贮大量的数据和信息,所以要求要有足够的磁盘容量。
⑤主存容量
为了满足储户的要求,系统必须要有高的运作速度,储户填写的表单输入到系统,系统必须能快速及时作出响应,迅速处理各项数据、信息,显示出所有必需信息并打印出各项清单,所以要求很高的信息量速度和大的主存容量。
2.3运行需要
①用户界面
屏幕格式:
采用窗口格式,通过分窗口操作进展各个操作之间的转换。
报表格式:
以银行原报表格式设计电子打印表格式。
菜单格式:
下拉式菜单,应显示储户资料及资料的各个详细条目。
2硬件接口
网络硬件接口要求:
显示中要求具有高速以太网组以实现联网操作,但是在理论试验验证软件本身的目的来看,无需网络通讯接口。
3软件接口
Windows标准接口,要求与其他软件无冲突错误发生。
4通信接口
计算机与打印机有高速传输的连接接口,最后以纸的形式打印出清单给储户。
5故障处理
软件应具备自由拼写错误检查等功能,在出现故障后应从整个系统数据库更新载入数据库进展操作。
2.4输入要求
1业务员从存取款表单输入数据,要迅速准确,适当调整输入时间,不能让客户等太久,但也不能让业务员太过忙碌以免影响正确率。
2储户自己在自动机存钱时要耐心等待机器算清正确,待准确无误时再按确认。
2.5输出要求
1要求能快速准确打印出清单给客户。
2要求能够快速响应储户的功能要求。
2.6其他需求
①可用性
本软件业可以通过单步跟踪的操作进展检查处理。
2平安性
由于软件运行数据库中,所以参数不容易被错改,破坏,万一参数受到破坏也不会影响源程序。
3可维护性
本软件利用数据库进展编程,系统结构由程序根本无额定,大量的参数及文本容全部存放于数据库中。
修改,更新数据库只要在数据库进展修改添加,而不需要对系统结构进展修改,这样系统维护性升级都十分方便。
4兼容性
适合windows95,windows98,windowsxp,windowssp2及以上操作系统、数据库:
SQLSERVER2000
第三章与用户的沟通
3.1访谈
当前大多数银行所使用的银行储蓄系统办理业各时手续繁多,人工业务操作过多,严重影响了工作效率,以至客户等待办理手续过长感到不耐烦,且出错率高。
针对于现象,与银行相关人员进展交流,获取需求以及了解银行的主要功能模块以及各个模块之间的联系。
与用户进展交流〔主要采取问卷调查方式〕,查看当前用户的需求。
针对用户以及银行业务人员的要求进展系统的设置。
3.2描述
如储户用卡取款时能直接取款,可以交给业务员输入资料,再由储户输入密码以确认身份,然后业务员才把现金交给储户,也可以自己到ATM取款机自己自行。
第四章系统的数据流程和处理流程
4.1识别参与者〔角色〕
通过分析银行系统的功能需求,可以识别出3个参与者:
(1)后台管理员:
相当于银行的工作人员
(2)客户:
任何在银行中开户的个人或组织
(3)银行系统:
提供存、取等业务的银行。
客户可在银行中开户或销户〔关闭〕。
4.2用例建模(ModelingUseCases)
1.使用时序图来描述用例(UsingActivityDiagramstoRepresentUseCases)
(1)修改信息时序图
(2)存款(Depositfund)时序图
(3)取款(Withdrawfund)时序图
(4)转帐(Transferfund)时序图
(5)开户(创立)时序图
(6)注销账户时序图
4.3定义系统对象类
1.定义过系统需求,就可以根据系统需求来识别系统中所存在的对象。
2.系统对象的识别可以通过寻找系统域描述和需求描述中的名词来进展,从系统需求描述中可以找到的名词有银行〔Bank)、(Account)、客户(Customer〕、资金(Funds),这些是对象图中的候选对象。
3.判断是否应该为这些候选对象创立类的方法是:
是否有与该对象相关的身份和行为。
如果有,那么它是一个存在于模型中的对象,应该为之创立类。
资金没有对象,也没有与资金相关的行为。
4.从上述分析可知,系统至少具有3个重要的类:
Bank、Account、Customer。
在银行中,对进展存钱、取钱、转帐操作,要保存业务记录。
因此在系统中还应有代表这些业务记录的对象存在:
存(Deposit)、取(Withdraw)、转帐(Transfer),这三个类都是一种业务记录,故可抽象出父类:
Transaction。
5.接着需确定这些对象的属性和行为。
1〕类Bank的属性和行为
bankCode:
Stringname:
String
address:
StringPhone:
StringFax:
String
setBankCode(code:
String〕
setName(name:
String)
setAddress(address:
String)
setPhone(phone:
String)
setFax(fax:
String))(设置私有属性〕
getBankCode(code:
String〕
getName(name:
String)
getAddress(address:
String)
getPhone(phone:
String)
getFax(fax:
String))(访问私有属性〕
〔2〕类Account的属性和行为
bank:
Bankholder:
Customer[]
accountNo:
StringcreateDate:
Date
balance:
float(私有属性〕
getHolders():
Customer[]
newAccount(holder:
Customer,balance:
float):
void
remAccount(accountNo:
String):
void〔销户〕
Withdraw(holderName:
String,holderID:
String,accountNo:
String,money:
float):
float(返回取户余额〕
Deposit(holderName:
String,holderID:
String,accountNo:
String,money:
float):
float〔返回存款户余额〕
2〕类Account的属性和行为
transferOut(accountNo:
String,bankCode:
String,money:
float):
float
transferIn(accountNo:
String,bankCode:
String,money:
float):
float
newBalance():
float(计算新的余额〕
update():
void(更新数据库中的信息〕
save():
void(将信息存储到数据库中〕
delete():
void(从数据库中删除〕
closeAccount(accountNo:
String):
void
getAccount(accountNo:
String):
Account(返回指定的信息)
query(holderName:
String,holderID:
String,accountNo:
String,money:
float,isSaving:
Boolean):
Boolean(查询存取是否存在,假设是取款,还要查询余额是否足够〕
3〕类Customer的属性和行为
Name:
StringcustomID:
String
address:
Stringaccount:
account[]
getAccounts():
Account[]
Query(name:
String,id:
String):
Boolean
newCustomer(name:
String,id:
String,address:
String,account:
Account[]):
void〔创立客户对象〕
save():
void(将客户信息存储到数据库中〕
update():
void(更新DB中客户信息〕
hasAccount():
Boolean(判断客户是否还持有)
delete():
void(删除DB中的客户信息〕
〔4〕类Transaction的属性和行为
私有属性:
account:
Account
createDate:
Datefund:
float(交易金额)
newTransaction(account:
Account,fund:
float,date:
Date):
void
save():
void(将交易记录存储到数据库中〕
〔5〕类Deposit的属性和行为
继承类Transaction,无私有属性
newDeposit(account:
Account,fund:
float,date:
Date):
void(创立存款交易记录〕
save():
void(将存款交易记录存储到DB中〕
6〕类Withdraw的属性和行为
继承类Transaction(同样有account,createDate及交易金额fund属性〕。
无私有属性。
newWithdraw(account:
Account,fund:
float,date:
Date):
void(创立新的取款交易记录〕
save():
void(将取款交易记录存储到DB中〕
〔7〕类Transfer的属性和行为
继承类Transaction
transferAccountNo:
String
transferBank:
Bank
newTransfer(account:
Account,transferAccountNo:
String,transferBank:
Bank,fund:
float,date:
Date):
void(创立新的转帐交易记录,可是收或付〕
save():
void(将转帐交易记录存储到DB中)
第五章结论
银行储蓄计算机系统技术在目前是一个技术上成熟的系统,并且在银行公局部准备采取有力措施保证资金和人员配置等。
因此,分阶段开发“银行业务系统〞的设想是可行的。
为了使银行公司适应现代化高场竞争的需求,促进银行管理信息化,不断满足储户的要求,争取更好的经济效益,建议立即着手系统的建议。