| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 网上银行储存管理系统总结报告 -> 正文阅读 |
|
[开发测试]网上银行储存管理系统总结报告 |
作者:recommend-item-box type_blog clearfix |
网上银行储蓄管理系统 (E-banking?management?system) 面向对象方法软件工程实例项目规格说明书
1.1 研究背景随着社会的进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在银行账目管理之中的应用日益收到人们的关注。 人们生活质量的提高,与银行打交道以及成为人们生活中不可或缺的一部分,银行的用户持续增长。可是人们对银行的服务也提出更多,更高的要求。人们希望能更方便更省时地办储蓄业务。人们急切的希望有一种通用银行卡以便随时随地在哪家银行都可以存款,取款;现在计算机网络的高速发展使越来越多的人更喜欢在网上购物、在家存款取款;再这样的发展背景下,很明显需要建立一个、新的、高效的、方便的、互联的银行信息系统,以此提高银行信息系统的工作效率。满足更多用户的需求。 1.2 国内外研究现状在科学进步与技术创新中,金融业作为经济核心部门,其改革和发展一定要从长远目标考虑,以科技为创新动力,大力开发跨世纪的新型服务品种,走内涵式金融创新发展道路,确保我国金融业在国际大竞争中立于不败之地。在此环境中,以网络为依托的网上银行显示出强劲生命力。 1995年10月,美国三家银行联手推出全球第一家网上银行。即第一网络银行,由此揭开网上银行的发展序幕,国际各大商业银行相继推出网上银行。预计到2005年,其网上银行交易量将占其银行业务的75%。在国内,我国第一笔网上业务,于1998年3月6口,在中国银行网上交易成功。中国建设银行专门成立了网上银行部,并于1999年6月30日成功开通网上银行。招商银行建立的网上银行由企业银行、个人银行、网上证券、网上商城和网上支付五部分组成,结构更趋合理。中信实业银行于1999 年9月3日与IBM 公司软件部签约,建立全面电子商务系统,继而开发网上银行。网上银行为用户提供全方位、全天候、便捷、实时的现代化服务。这是一种全新的银行客户服务提交渠道,使得客户可以安全便捷地管理自己的资产和享受银行的服务。网上银行系统支持的银行业务包括:信息服务、账户查询、账号交易、扩展业务四大类型的银行服务。网上银行作为一种全新的服务提交渠道提供给客户,目前客户群主要集中在具有一定教育程度、能够使用Internet网络的人群,而伴随着Internet 网络广泛、迅速的普及和使用,正在形成一个庞大的潜在客户群体。 网上银行不受时间和空间的限制,可以随时随地处理用户的请求;网上银行的界面友好直观,用户可以通过简单的操作得到相应的服务,用户看到结果更加直观;网上银行提供的资讯详细而全面,用户可以得到比人工咨询更加准确的解答。提升银行形象,向客户提供更加优质的服务,增强客户对银行的信心;大幅度降低营运成本;专注于银行产品和服务的开发;获得高价值的客户;可跨行业从事电子商务。 目前国内电子商务模拟平台软件有三大类,一类是基于C/S结构的,受用户数量限制的,基于表格互传的网上贸易模拟,实质上相当于企业内部信息管理系统:另一类是基于交易平台的大型网上贸易模拟,它基于某个行业的垄断,召集该行业所有企事业单位,加盟该交易平台,获得交易席位,类似于证券交易所的红马夹,代表各自的企业在该交易平台上进行网上贸易。这种模拟系统基于特殊的交易平台,难以适应将来自由竞争的大环境;第三类是基于B/S结构的模拟系统,它采用先进的浏览器/服务器方式,不受访问量的限制,完全真实的模拟电子商务的主要模式。从理论知识的学习到具体模式的实现流程,从企业对消费者的网上营销到企业对企业的网上贸易,这类系统都能给学生清晰的概念和实践的机会。 1.3 目标和意义现在的银行储蓄系统工作效率低,越来越不能满足广大人民群众的需要,人们希望能更方便更省时就可以办理储蓄业务;随着拥有多种银行卡的人群不断增长,人们急切希望有一种通用的银行卡以便随时随地在哪家银行都可以存款提款;现在计算机网络的高速发展使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们日益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。 本系统开发的目的就是为了改善银行办理业务的复杂,低效的现状,提供一个基于互联网的安全系统,通过这个平台,人们可以更快的办理业务,银行人员可以减少工作量,提高工作效率。本系统所研究的内容是,实现一个简单的网上银行系统,来给储蓄用户和银行工作人员提供方便、安全、快捷的平台,储蓄用户通过开通注册网上银行可以查看余额、取款、转账、修改密码等操作;银行工作人员使用此系统可以查看用户信息、查看交易信息、给用户存款、冻结账户等操作。简单的实现了金融服务的网络化。 为了本系统能够适应银行业经营模式的发展趋势,在激烈的银行业市场竞争中立于不败之地,我开始对网上银行业务进行市场调查和需求分析论证的工作。下面将就系统的技术可行性、经济可行性、操作可能性和法律可行性进行具体分析。 2.1 技术可行性分析技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。系统的硬件条件要求不高,现有计算机的硬件标准基本都能满足系统开发和运行。在软件层面上,系统拟在Windows 10系统下使用MyEclipse开发平台和瑞典MySQL AB公司开发MySQL 5,按照软件工程的方法开发整个系统。Browser/Server结构可以完成用户在浏览器中的阅读;Java语言可以使程序员快速高效地编写应用程序;JSP技术将脚本语言和高级程序设计语言以及数据库结合,调试相对简单,使得网上银行系统可通过Web程序动态管理。当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。 2.2 经济可行性分析对系统从开发者的经济状况和用户的使用费用进行分析。经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。系统使用的MyEclipse、MySQL都可以从网上免费下载,而计算机是已经具备的装置,开发者不需要在系统开发上花费相关费用。对于使用者来说,系统在服务器采用Tomcat 8,在客户端测试IE、Google Chrome、火狐浏览器等页面CSS兼容性,这样使得系统的兼容性和版本更新以及系统维护变得更加简便,在经济上的投入甚微,系统建成之后将为今后实现系统功能提供很大的方便,估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,看是否有利。这为使用者减少了相关费用,从经济角度讲可行性较高。 2.3 运行可行性分析网上银行管理系统采用B/S模式,无需另外安装别的软件,使用者很容易掌握并熟练使用。系统实施成功以后也会大大减少管理银行业务的时间,容易得到推广使用,因此具有操作可行性。
3.1 系统用例建模3.1.1 系统用例分析系统的用户总共有两类用户:用户和系统工作人员,不同用户有不同的权限。普通的客户可以通过系统注册网上银行,然后登录,进入主系统,然后可以进行转账、取款、查询余额、修改密码以及查看交易记录。系统工作人员主要的功能是登录、查看所有客户的信息、冻结和解封账户以及存款,这里的存款是指客户发出存款请求,请求发送到系统工作人员界面,通过系统工作人员核实存款信息的请求,审核通过则返回到客户界面,提示客户存款成功。系统用例图如图3-1所示。 图3-1 系统用例图 3.1.2?系统用例说明本系统的核心模块为电子银行管理模块,主要提供给银行客户使用,包括转账、存款和查询余额用例。 表3-1 转账用例说明
表3-2 存款用例说明
表3-3 查询余额用例说明
3.2 需求分析3.2.1 业务需求分析系统应满足如下业务需求: (1)系统应使用计算机实现银行的储蓄管理,提高工作效率和服务质量。 (2)系统可以让银行客户在互联网上开通网上银行。 (3)系统可以让客户在互联网上进行普通的业务办理。 (4)系统可以让客户在互联网上进行转账,提高效率并节省时间。 (5)系统可以为系统工作人员冻结非法账户,提高了工作效率。 3.2.2 用户需求分析系统的用户总共有两类用户:客户和系统工作人员,不同用户有不同的权限。 (1)普通的客户可以通过系统注册网上银行,然后登录,进入主系统,然后可以进行转账、存款、取款、查询余额、修改密码、网上挂失、网上支付以及查看交易记录等功能模块。 (2)系统工作人员主要的功能是登录、查看所有客户的信息、冻结和解封账户以及存款,这里的存款是指客户发出存款请求,请求发送到系统工作人员界面,通过系统工作人员核实存款信息的请求,审核通过则返回到客户界面,提示客户存款成功。 3.2.3 功能需求分析网上银行管理系统要实现的总体功能就是银行客户的基本业务办理的管理以及系统工作人员对相应的业务办理进行处理,应具有以下几个重要的功能需求: (1)需要提供查询余额信息功能,方便客户可以查看所有已选择开通的网上银行下各个子账户的名称、币种、余额、起息日、存期、利半等信息; (2)需要提供查询交易信息功能,用来清晰地记录客户的财务由来走向。客户可以查询行内账户下任意时间段的所有交易记录,包括所有存取款,转账、利息结算、贷款的发放及偿还等; (3)需要提供一个转账功能,方便客户即时转账,客户可以在他人账号或信用卡账户之间进行转账,本账户内定活互转,转账时需提供转入账户的客户姓名及账号。网上银行同时提供收款方信息管理功能,供用户存储常用的收款方信息,以便下次转账。 (4)为了防止客户忘记密码,即客户可以修改自己的网上银行密码和账户密码,需要提供一个修改密码的功能。 (5)需要提供银行客户在线注册功能,输入银行卡号和身份验证并实现注册信息的审核机制,即注册成功的客户仅可以修改指定的客户信息,而无法修改注册信息。 (6)为保证网上银行安全有效性,系统需要提供一个客户挂失的功能,防止客户的银行卡丢失导致损失部分钱财,客户可以在网上对自己的行内卡和信用卡账户进行挂失,挂失之后该账户将不能进行存取款及转账操作。 (7)需要提供一个网上支付的功能,这样就避免了客户的银行卡丢失,网上支付是电子支付的一种形式。广义地讲,网上支付指的是客户、商家、网络银行(或第三方支付)之间使用安全电子手段,利用储蓄卡、信用卡等支付工具通过互联网传送到银行或相应的处理机构,从而完成支付的整个过程。 (8)系统需要提供的最基本的功能就是存款功能,系统工作人员通过客户输入的账号和金额进行审核,通过审核则返回给客户存款成功的提示信息,否则则返回客户存款失败的提示信息。 (9)系统提供了存款功能就必须也得有取款功能,网上银行取款可以节约客户时间和精力。客户直接在系统输入账号密码进入系统内部,然后选择取款功能,输入取款金额和支付密码,即可线上取款。 (9)为了网上银行管理系统可以安全健康的运行,系统还需要提供一个冻结非法账户的功能,系统工作人员检测到有客户在执行非法行为,则可以查询非法客户的账户,从而进行冻结,冻结的账户在一定时间内不能登录,得等到系统工作人员解冻时客户才能登录账号。 3.2.4 非功能需求分析不管对银行的需要或是客户获知信息的需要以及各个部门之间的紧密衔接关系,网上的数据必须具有高度的完整性和准确性,这就要求系统的高度安全性,可维护性,可靠性及灵活性。比如客户信息管理,银行在录入信息的时候或是数据库出现异常而产生差错,可能会影响客户交易信息的质量或是造成业务发生紊乱,这就要求系统具有高度的安全性,可维护性和可靠性;灵活性指的是系统要具有强大的功能以适应不同层次的用户不同的需求。另外,系统的操作界面要求简便,通俗,以便于操作。 (1)系统应在5秒内响应所有客户请求。 (2)系统应同时相应1000以上客户请求。 (3)系统应每时相应10000以上客户业务请求。 (4)系统应在每天24小时、每周7天都可以正常使用。 (5)涉及贷款系统处理至反馈:24小时以内涉及挂失处理至反馈:6小时以内。 (6)涉及外汇和系统处理至反馈在8秒内响应给客户。 (7)登录和操作系统必须是合法的操作员才能够进行操作,并对其进行严格的管理和筛选过滤,进而保证系统操作证的合法性和系统的安全性。 (8)应用系统安全上要有一定的保障,记录信息应全部记录齐,不可遗漏信息,并保障系统不会因为人为的操作错误而死机或崩溃; (9)系统应有较好的可维修性,以便在系统出现故障时能在24小时内恢复运行。 3.2.5 约束条件分析(1)系统必须使用Java语言,采用SSH框架编写。 (2)系统必须使用MySql数据库应用系统。 (3)系统开发过程和交付文档必须遵循GB/T 8567-2006标准。 (4)系统服务必须运行在Win7及以上64位操作系统。 (5)系统应兼容IE、火狐、360等主流浏览器。 3.2.6 业务规则分析(1)如果操作员是系统工作人员,则仅能维护本系统的相关信息。 (2)如果操作员是银行客户,则客户仅能点击系统客户端中的菜单命令可直接调用相应指令,比如查询和业务办理功能。 (3)系统根据客户的指令发送包含相应链接的信息给客心只有点击链接并验证通过后才能进入要查询的页面。 (4)如果客户的账号密码正确可以进行取款,取款金额小于卡内余额,则提示取款成功,并且余额和交易记录更新。 (5)若客户输入无法识别的信息时,给客户统一的回复信息为:尊敬的**先生/女士,如果您已持有并已绑定我行的借记卡、信用卡或者存贷合一卡账户,您可以在此输入以下序号办理相关业务。 (6)系统目前能识别的信息只能是数字1~9和26个大小写字母,输入其他指令均不能识别。 (7)客户输入支付密码时,错误次数不允许超过三次,否则会被系统冻结账户24小时。 3.2.7 外部接口需求分析(1)系统应提供符合Web应用程序的人机交互界面。 (2)系统配置文件必须采用XML文件格式。 (3)各模块过程之间采用函数调用、参数传递、返回值的方式进行消息传递。 (4)接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在模块之间传递。
4.1 实体类模型设计本系统一共有五个实体类,分别是账户信息类(account)用来记录账户的信息也就是查询余额成功后返回的内容;系统工作人员类(admin)用来记录系统工作人员登录信息;客户信息类(personinfo)用来记录客户信息类;账户状态类(status)用来记录账户当前的状态;交易信息类(transaction_log)用来记录交易信息;交易类型类(transaction_type)用来记录交易的类型,比如转账(transfer)、取款(cash)、存款(deposit)、网上支付(pay online)等交易类型。系统实例类及关系如图4-1所示。
图4-1 系统实体类关系图 4.2 动态模型设计1.客户存款活动建模 客户存款主要步骤如下: (1)客户进入存款功能界面。 (2)输入要存款的金额和支付密码,提交给系统工作人员。 (3)系统判断账户密码是否正确,输入密码二次不正确后将冻结账户24小时。 (3)系统工作人员审核账户是否存在,信息是否合法,并调用数据序列化对象提交到持久层。 (4)系统工作人员审核成功,将存款成功信息返回给客户。 ? 图4-2 客户存款活动图 2.客户存款时序建模 描述客户存款的过程,包含的对象有:客户,存款界面,存款控制,验证密码控制,系统工作人员(系统管理员)。客户选择存款功能界面。系统提示客户输入要存款的金额和支付密码,经过验证密码控制,然后再把卡号和密码提交到系统管理员界面。系统管理员判断卡号和密码是否正确,审核成功则返回给验证密码控制。存款界面调用存款控制,然后发送客户编辑的交易信息给系统管理员,系统管理员会自动更改余额和交易记录,最后将交易成功的信息返回到存款界面。存款时序图如图4-3所示。 图4-3 客户存款时序图 4.3 数据模型设计根据系统用例模型和实体类模型,可以建立了以下数据库逻辑结构,实体分别为客户,账户信息,交易记录,账号状态,以及系统管理员信息。其中客户与账户的关系是一对多的,一个客户可以拥有多个账号(当然有限制);账户和交易记录是一对多的关系,一个账户可以进行多个交易,一个账户每次只能有一种状态,系统管理员和客户之间的关系是多对多的,一个客户可以油多个管理员管理,当然,一个管理员也可以管理多个客户。 5.1 开发环境1.软件环境 (1)MySQL数据库系统; (2)MyEclipse开发环境; (3)Spring、Struts、Hibernate框架。 2.硬件环境 (1)CPU类型: Intel Haswell CPU (2)CPU速度: 2.8GHz (3)硬盘容量:500G (4)内存容量:4G 5.2 客户转账模块实现该模块下的两个核心业务为存款、取款和转账操作,这两个操作都涉及到了数据库中事务的概念,一个事务内可以执行多个操作,这些操作要么全部执行成功,要么全部执行失败。转账是最典型的例子,假设A账号内减去200元,B账号内加200元,这两个操作必须都成功,或者都失败,否则将出现问题。事务有两个结果,提交(commit)与回滚(rollback)。如果都成功则可以提交,如果有一个失败则执行回滚,数据不会有任何改变。 图5-1 客户转账模块效果图 5.3 冻结账户模块实现冻结账户模块主要是系统工作人员对账户的冻结和解除冻结的操作,也是在银行系统中必不可少的操作之一,该操作的实现主要技术是通过超链接传递参数来实现的,使用这种方法,操作简洁,可在一个页面中实现冻结和解除冻结。被冻结的账户将无法登录到本系统中。如图5-2、5-3所示。 图5-2冻结账户效果图 图5-3冻结账户效果图 6.1 测试工具(1)手工测试。 (2)LoadRunner自动化测试工具。 6.2 单元测试本次采用黑盒子等价类划分法对客户转账模块进行测试。 1. 建立等价类表 表 6-1 等价类例表
2. 设计测试用例 表 6-2 测试用例表
偏差:无 测试结果:能够验证银行卡号、支付密码和转账金额的正确性,客户转账功能正常实现。上表6-2是有效等价类和无效等价类测试的结果。 6.3 压力测试压力测试中,使用LoadRun自动化测试工具完成整体系统的测试工作,主要测试项目如下: 1. 响应时间 响应时间是指用户从客户端发出请求到接收完服务器返回结果的整个过程所需花费的时间,包含网络传输时间以及服务器处理时间。从用户角度来看,响应时间应该从客户端计算机处理用户操作并发出请求到客户端程序收到服务器端返回结果并显示出来的时间。 结果:<1秒 2. 并发用户数 并发用户数是指在一定时间内,某一时刻同时与服务器进行会话操作的用户数,并发用户数的类型包括:系统用户数、同时在线用户数,业务并发用户数。 结果:>1000 3. 吞吐量 吞吐量是指单位时间内,系统处理用户的请求数或页面数量,可以直接反映出软件的承载能力。一般来说,利用每秒钟的请求数或页面数量衡量吞吐量;从业务的角度来看,也可以用每天的访问人数或每小时处理的业务数来衡量。 结果:3×24 ??50000次/h |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 0:41:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |