软件工程-银行储蓄系统-_第1页
软件工程-银行储蓄系统-_第2页
软件工程-银行储蓄系统-_第3页
软件工程-银行储蓄系统-_第4页
软件工程-银行储蓄系统-_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程——银行储蓄系统--一、引言1.1项目背景随着金融行业的不断发展,银行储蓄系统作为人们日常储蓄业务的核心支撑,对于提高银行运营效率、保障客户资金安全具有至关重要的作用。本银行储蓄系统旨在为用户提供便捷、高效、安全的储蓄服务,满足不同客户群体的多样化需求。1.2项目目标1.功能目标实现开户、销户、存款、取款、转账、查询余额等基本储蓄业务。支持多种账户类型,如活期储蓄账户、定期储蓄账户等。提供安全可靠的用户身份验证机制,保障客户资金安全。2.性能目标系统响应时间在合理范围内,确保用户操作流畅。支持高并发访问,满足大量用户同时办理业务的需求。3.质量目标确保系统的稳定性和可靠性,减少故障发生概率。具备良好的可维护性和可扩展性,方便后续功能升级和优化。二、可行性研究2.1技术可行性1.开发技术:本系统采用主流的软件开发技术,如Java语言结合Spring框架搭建后端服务,利用MyBatis实现数据持久化,前端使用Vue.js框架构建用户界面,这些技术成熟且广泛应用,具有较高的稳定性和可维护性。2.开发工具:选用Eclipse作为Java开发工具,MySQL作为数据库管理系统,WebStorm用于前端开发,这些工具功能强大,能够满足项目开发的需求。3.技术团队:开发团队成员具备丰富的软件开发经验,熟悉所选用的技术栈,能够有效保障项目的技术实现。2.2经济可行性1.成本分析:项目开发成本主要包括人员工资、设备采购、软件工具费用等,预计总开发成本在[X]元以内。2.效益分析:系统上线后,将提高银行的运营效率,吸引更多客户,增加银行的业务收入,预计带来的经济效益将远超过开发成本。3.投资回报率:经过初步估算,项目的投资回报率可达[X]%,具有良好的经济可行性。2.3操作可行性1.用户界面:系统界面设计简洁直观,易于操作,符合用户的使用习惯。2.操作流程:业务操作流程清晰明了,用户经过简单培训即可熟练使用系统办理业务。3.系统维护:银行内部具备专业的技术维护人员,能够对系统进行日常维护和故障处理,确保系统的正常运行。三、需求分析3.1业务流程分析1.开户流程:用户提交开户申请,银行审核用户身份信息,审核通过后为用户创建账户,并分配初始余额。2.存款流程:用户选择存款账户,输入存款金额,系统验证账户信息后进行存款操作,并更新账户余额。3.取款流程:用户选择取款账户,输入取款金额,系统验证账户余额和密码后进行取款操作,并更新账户余额。4.转账流程:用户选择转出账户,输入转入账户信息和转账金额,系统验证转出账户余额和密码后进行转账操作,并分别更新转出和转入账户的余额。5.查询余额流程:用户选择查询账户,系统验证账户信息后显示账户余额。6.销户流程:用户提交销户申请,系统验证账户余额为零且无未完成业务后进行销户操作。3.2功能需求1.账户管理开户:支持多种开户方式,如线上开户和线下开户,收集用户基本信息(姓名、身份证号、联系方式等)。销户:确保账户余额为零且无未完成业务时可成功销户。修改账户信息:用户可修改联系方式等部分账户信息。2.储蓄业务活期储蓄:支持活期存款、取款、查询余额。定期储蓄:支持定期开户、存款、提前支取、到期支取、查询余额。3.转账业务行内转账:支持在同一银行不同账户之间的转账。跨行转账:支持向其他银行账户转账,需验证对方银行信息。4.查询服务账户明细查询:可按时间段查询账户的交易明细。余额查询:实时显示账户余额。5.安全认证密码认证:用户设置并使用密码进行身份验证。短信验证码:在重要操作(如大额转账)时发送短信验证码进行二次验证。3.3非功能需求1.性能需求系统响应时间:在高并发情况下,系统平均响应时间不超过[X]秒。吞吐量:支持每秒处理[X]笔业务请求。2.可靠性需求系统可用性:保证系统全年无故障运行时间不少于[X]小时。数据备份与恢复:定期进行数据备份,确保在数据丢失或损坏时可快速恢复。3.安全性需求用户身份认证:采用安全的加密算法对用户密码等敏感信息进行加密存储和传输。数据安全:防止数据泄露、篡改和非法访问。4.兼容性需求浏览器兼容性:支持主流浏览器(如Chrome、Firefox、IE等)。设备兼容性:支持电脑、手机、平板等多种设备访问系统。四、总体设计4.1系统架构设计本银行储蓄系统采用分层架构,包括表示层、业务逻辑层和数据访问层。1.表示层:负责与用户进行交互,展示系统界面,接收用户输入并向业务逻辑层传递请求。采用Vue.js框架构建前端页面,通过RESTfulAPI与后端进行数据交互。2.业务逻辑层:处理具体的业务逻辑,如账户管理、储蓄业务、转账业务等。使用Spring框架搭建业务逻辑组件,实现业务规则的封装和处理。3.数据访问层:负责与数据库进行交互,实现数据的持久化操作。采用MyBatis框架进行数据映射和SQL语句执行,连接MySQL数据库存储系统数据。4.2模块划分1.账户管理模块:负责开户、销户、修改账户信息等功能。2.储蓄业务模块:实现活期储蓄和定期储蓄的各项业务操作。3.转账业务模块:处理行内转账和跨行转账业务。4.查询服务模块:提供账户明细查询和余额查询功能。5.安全认证模块:实现密码认证和短信验证码验证等安全功能。4.3数据库设计1.用户表(user):存储用户的基本信息,包括用户ID、姓名、身份证号、联系方式、密码等。2.账户表(account):记录账户信息,如账户ID、用户ID、账户类型、余额等。3.交易明细表(transaction_detail):存储账户的交易明细,包括交易ID、账户ID、交易类型(存款、取款、转账等)、交易金额、交易时间等。4.银行信息表(bank_info):记录银行相关信息,用于跨行转账时验证对方银行信息。数据库表之间通过关联字段建立关系,确保数据的一致性和完整性。例如,账户表与用户表通过用户ID关联,交易明细表与账户表通过账户ID关联。五、详细设计5.1账户管理模块详细设计1.开户功能输入验证:对用户输入的基本信息进行格式和合法性验证。数据库操作:根据验证后的信息插入新的用户记录和账户记录,并分配初始余额。2.销户功能余额验证:检查账户余额是否为零。业务验证:确保账户无未完成业务(如未完成的转账、定期存款未到期等)。数据库操作:删除用户记录和账户记录。3.修改账户信息功能权限验证:验证用户身份。输入验证:对修改的信息进行合法性验证。数据库操作:更新用户表中的相应信息。5.2储蓄业务模块详细设计1.活期储蓄存款功能输入验证:验证存款金额是否合法。数据库操作:更新账户表中的余额字段。记录交易明细:向交易明细表插入新的交易记录。取款功能余额验证:检查账户余额是否足够。输入验证:验证取款金额是否合法。数据库操作:更新账户表中的余额字段。记录交易明细:向交易明细表插入新的交易记录。查询余额功能数据库操作:查询账户表中的余额字段并返回给前端。2.定期储蓄开户功能输入验证:验证定期存款金额、存期等信息是否合法。数据库操作:插入新的定期储蓄账户记录,并记录相关信息。存款功能输入验证:验证存款金额是否符合定期储蓄规则。数据库操作:更新定期储蓄账户记录的余额和相关信息。记录交易明细:向交易明细表插入新的交易记录。提前支取功能条件验证:检查是否满足提前支取条件(如存期已满一定期限等)。利息计算:计算提前支取的利息。数据库操作:更新定期储蓄账户记录的余额和相关信息。记录交易明细:向交易明细表插入新的交易记录。到期支取功能数据库操作:更新定期储蓄账户记录的状态为已到期,并计算到期利息。记录交易明细:向交易明细表插入新的交易记录。查询余额功能数据库操作:查询定期储蓄账户表中的余额字段并返回给前端。5.3转账业务模块详细设计1.行内转账功能输入验证:验证转出账户和转入账户信息及转账金额是否合法。余额验证:检查转出账户余额是否足够。数据库操作:分别更新转出账户和转入账户的余额字段。记录交易明细:向交易明细表插入两条新的交易记录(转出和转入各一条)。2.跨行转账功能输入验证:验证转出账户、转入账户信息(包括对方银行信息)及转账金额是否合法。余额验证:检查转出账户余额是否足够。银行信息验证:验证对方银行信息的准确性。数据库操作:分别更新转出账户和转入账户的余额字段。记录交易明细:向交易明细表插入两条新的交易记录(转出和转入各一条)。5.4查询服务模块详细设计1.账户明细查询功能输入验证:验证查询条件(如时间段)是否合法。数据库操作:根据查询条件从交易明细表中查询相关交易记录并返回给前端。2.余额查询功能数据库操作:根据账户ID查询账户表中的余额字段并返回给前端。5.5安全认证模块详细设计1.密码认证功能用户输入密码后,与数据库中存储的加密密码进行比对。采用安全的加密算法(如SHA256)对用户输入的密码进行加密处理后再与数据库密码比较。2.短信验证码验证功能在重要操作时,系统向用户预留的手机号码发送短信验证码。用户输入验证码后,系统验证验证码的正确性和时效性。六、编码实现按照详细设计的要求,使用相应的开发技术和工具进行编码实现。1.表示层:使用Vue.js框架编写前端页面代码,通过VueRouter实现页面路由,利用Axios与后端进行数据交互。例如,在开户页面,通过表单收集用户输入信息,点击提交按钮时调用Axios发送POST请求到后端的开户接口。2.业务逻辑层:基于Spring框架搭建业务逻辑组件。以转账业务为例,在转账业务组件中编写转账逻辑代码,调用数据访问层的方法进行数据库操作,并处理业务规则和异常情况。如在进行跨行转账时,先验证对方银行信息,再进行余额验证和转账操作,若出现异常(如余额不足)则抛出相应的业务异常。3.数据访问层:运用MyBatis框架实现数据持久化。定义Mapper接口和XML映射文件,如在账户管理的Mapper接口中定义开户、销户等方法,在XML文件中编写对应的SQL语句。例如,开户方法对应的SQL语句为插入用户表和账户表的INSERT语句。在编码过程中,遵循代码规范和设计原则,确保代码的可读性、可维护性和可扩展性。同时,进行单元测试,对各个模块的功能进行单独测试,确保代码的正确性。七、测试7.1测试计划1.测试目标:验证系统是否满足需求规格说明书中的各项功能和非功能需求。2.测试范围:包括账户管理、储蓄业务、转账业务、查询服务、安全认证等各个模块。3.测试方法:采用黑盒测试方法,包括功能测试、性能测试、安全测试等。4.测试人员安排:组建测试团队,明确测试人员的职责和分工。5.测试进度安排:制定详细的测试进度计划,包括各个测试阶段的开始时间和结束时间。7.2测试用例1.功能测试用例开户功能:输入合法信息成功开户,输入不合法信息验证错误提示。销户功能:余额为零且无未完成业务时成功销户,余额不为零或有未完成业务时验证不能销户。储蓄业务功能:活期存款、取款、定期储蓄的各项业务操作,验证业务流程和结果的正确性。转账业务功能:行内转账和跨行转账,验证转账流程、金额计算和结果的准确性。查询服务功能:账户明细查询和余额查询,验证查询结果的正确性。安全认证功能:密码认证和短信验证码验证,验证认证机制的有效性。2.性能测试用例并发测试:模拟多个用户同时进行业务操作,测试系统的响应时间和吞吐量。负载测试:逐渐增加系统负载,测试系统在不同负载情况下的性能表现。3.安全测试用例密码强度测试:验证密码是否符合设定的强度要求。数据加密测试:检查用户密码等敏感信息在存储和传输过程中的加密情况。非法访问测试:尝试通过非法手段访问系统,验证系统的安全性。7.3测试结果分析根据测试用例执行测试,记录测试结果。对测试结果进行分析,如发现功能缺陷,及时反馈给开发人员进行修复;对于性能问题,分析性能瓶颈并提出优化建议;对于安全问题,确保系统的安全措施有效。通过不断地测试和修复,提高系统的质量,使其满足项目的需求和目标。八、总结本银行储蓄系统经过需求分析、总体设计、详细设计、编码实现和测试等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论