版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录IIRequirementAnalysis 567822.1Systemfunctionalrequirements 566372.2Usecaseanalysis 6174692.2.1Usermodule 6306652.2.2Administratormodule 7157262.3Feasibilityanalysis 868602.3.1Economicfeasibility 862022.3.2Technicalfeasibility 8158812.3.3Operationalfeasibility 85700ChapterⅢSummaryDesign 912293.1Systemarchitecturedesign 958753.2Modulardesign 10155973.3.1Databaseconceptualdesign 1052953.3.2Databaselogicaldesign 10213873.3Databasedesign 1369093.3.1Databaseconceptualdesign 13300183.3.2Databaselogicaldesign 1324213ChapterⅣDetailedDesign 25236514.1Clientinterface 2538594.2Usermodule 3098334.3Backgroundmanagementmodule 3430503ChapterVsoftwareTest 3945665.1Loginmoduletest 39264985.2Administratormoduletest 41204895.3Usermoduleusecases 412498Conclusion 4313020Acknowledgements 4425648References 4531745AppendixPartssourcecodeofthesystem 46PAGE29第1章绪论由于这场新冠疫情,影响了人们的出行,也影响了很多人的工作,使人们的收入变得不稳定,在需要用钱的时候又不好意思和朋友开口,银行手续又麻烦,这让我有了灵感,开发一个基于互联网的金融平台,会员可以在平台上借款,因为所有操作都可以在线上完成,而不是像传统金融一样在银行办理繁杂手续;平台上还有理财产品提供给用户购买。本章主要介绍该互联网金融平台的开发背景、研究目的和意义以及国内外发展现状。1.1开发背景互联网金融主要是指把传统金融与互联网企业相结合,再利用互联网技术,来实现可以在银行完成的某些业务。互联网金融最开始来源于电商平台自身对于支付的需求,主要分为网上银行、手机银行等金融服务;p2p、融资、众筹等小微金融,以及像微信零钱通,支付宝余额宝等这类纯互联网金融。和传统金融相比较,互联网金融有很多优势:首先它有着更低的服务成本,不需要各地的服务网点的门店经营成本、员工成本等,互联网金融仅仅需要的是服务器的维护和产品的更新。其次,人们可以足不出户使用网络进行一系列操作,操作简便、流程标准化、效率大幅度提高、用户的体验更好。并且可以通过对用户信用记录的评估(例如芝麻积分),用户就可以简单小额贷款,不需要像传统金融的一连串的填资料提交检查等繁琐程序[1]。如今人们更偏向与在移动端进行操作,它可以大大节省了用户预约排队的时间,同时也减少了用户借贷时在网点提交资料和等待审核通过的时间。因此互联网金融的潜力是巨大的。1.2目的和意义互联网金融借贷模式在小微企业方面有着独特的优势。小微企业主以个人名义,通过中介便可获得融资,既能做到方便快捷,能够充分的利用社会闲散资本,在加上平台机构通过网络能有效降低服务成本。随着互联网的不断发展,以网络借贷式为代表的新理财方式,受到了越来越多用户的关注。网络借贷平台可以说得上是一种依托于网络而形成的新型金融服务模式,手续简便、方式灵活,具有传统金融不可比拟的竞争优势,是传统金融的有益补充[2]。网络借贷平台可以为借贷双方提供从信息发布、资料审核到转账借款、参考利率计算、按期还款的“一站式”服务。因此用户只需注册成为网络借贷平台的会员,并提供一系列身份验证后,就可以在网站上借钱。基于电子商务平台下的小额借贷交易,方案与电商类似。除了在平台借钱外,用户还可以购买理财产品进行理财投资并产生利息,利息要比银行高。网络投资有以下特点:投资门槛低、收益稳定、投资期限可自由规划等。平台同时也为用户提供了债权转让,比如用户投资后,想提前赎回投资资金,可以将债权进行转让,由其他感兴趣的用户跟进投资[3]。网络金融平台将具有的实际意义有:以平台为中介机构,把借贷双方对接起来实现各自的借贷需求从而促成交易完成,不实质参与到借贷利益链条之中,比传统的业务模式方便。借款方可以是无抵押或是有抵押贷款;投资方通过平台投资给借款方,而平台一般是收取双方或单方的手续费为营利目的或者是赚取一定息差为营利目的来维持运营[4]。1.3国内外发展现状目前中、美、英三国的P2P网贷市场发展较为完善,同时在市场规模、市场参与者、平台数量等方面又各具特色。从2007年中国的第一家P2P网贷平台“拍拍贷”发展至今,中国的互联网金融以及网贷行业已经蓬勃发展了十多个个年头[5]。根据网贷之家发布的年报,截止2018年年底,中国P2P网贷历史累积成交金额已经突破了8万亿。国外的P2P网贷市场由于法律完善、监管介入早,市场发展较为健康,没有出现过波及整个行业的系统性金融风险。在国外,P2P网贷业务一般被视作替代金融的一个重要组成部分。自第一家网贷平台Prosper成立以来,美国的P2P网贷市场经过十多年的发展逐渐成熟,2017年美国替代金融总规模为428.1亿美元,其中P2P贷款组成部分(商业贷款、消费贷款和不动产贷款)的占比为37.63%,近年来P2P网贷业务量增长速度逐渐平稳(如图2),规模占替代金融总规模比例有所下降,反映出美国替代金融开始向差异化、多样化发展。中国的P2P网贷由于恰好同时具备了投资资金和资质门槛低、收益率相对银行存款较高、操作方便等优点,吸引了大量自然人投资人。2018年我国P2P网贷投资人数和借款人数分别约为1331万人和1992万人。近年来英国的P2P网贷平台更为注重运营模式和产品的创新。CCAF的一项研究表明,其调研的网贷平台中40%的平台在2017年对其商业模式做出了轻微调整,12%的企业则是做出了重大调整;在产品创新方面,2017年43%的平台对其产品做出了重大调整。从数据中可以看出,众多英国P2P网贷平台在着手改进其商业模式,打造具有创新性和差异性的产品。中外P2P网贷平台的发展方向和提供的产品和服务也有很大的不同,总体而言,国外的P2P网贷平台差异化程度较高,衍生出了很多针对不同资质借款人、不同目的的借款申请的个性化平台和产品,而国内的P2P平台的数量虽然庞大,但其产品的同质化现象较为严重[6]。美国和英国的P2P网贷行业都经历了低迷期和繁荣期,目前行业已趋于成熟,而中国的P2P网贷行业正处于虚假繁荣后的低迷时期。中国的P2P网贷行业想达到成熟状态还有很长一段路要走[7]。另外,还有一种P2P模式叫做助学平台模式。这种模式将借款限制在经济条件受限的大学生,因为大学生有能力,这种模式可以帮助大学生更轻松的进入社会创造价值,大学生受益的同时又造福了社会。这种运营模式的利润来源于广告费以及利率,在借贷的过程中,不仅靠赚取服务费受益,还获得了与其他公司合作的机会,并且还帮助了贫困大学生,一举三得,这种模式是十分值得借鉴[8]。
第2章需求分析软件需求往往是解决用户需要解决的问题,这些问题是要交给技术人员解决。然而通常从事开发的技术人员熟练使用计算机技术,却对用户的业务不熟悉;相反,用户熟悉自己需要的业务,对计算机技术不熟悉。因此,需求分析在软件开发中扮演重要角色。2.1系统功能需求系统分为用户系统和管理员系统。系统的功能详见表2-1所示。表2-1功能列表功能类别子功能主页面注册登录借款投资前台用户用户信息管理和银行卡管理资产管理:资产统计、充值、提现投资管理:资金的投资状态、交易记录消息管理:站内信功能、通知设置后台管理管理账号及查询流水记录查询和修改理财产品查询和录入投资信息查询和录入债权信息查询和录入借款信息(续表2-1)功能类别子功能后台管理查询系统日志产品信息修改2.2用例分析本系统平台分为用户、管理员两种角色,本节主要对这两种角色进行用例分析。2.2.1前台用户图2-1用户用例图用户在首页注册账号成功后,前往登录页面进行登录操作。登录成功后,用户可以在账户管理页面对账户信息进行修改(例如更换手机号、安全邮箱,修改密码等操作)。在个人中心首页,可以购买理财产品。购买后,在投资管理页面便可查看购买的产品和交易记录。用户可以对账户进行充值提现操作,并查看自己账号的资产,方便查看收益,从而进行下一步的投资。用户在消息管理页面,通过勾选选项,可以选择或取消消息通知、邮件通知或者短信通知。还可以查看站内发送的信息,信息的状态有已读和未读。2.2.2后台管理员图2-2管理员用例图管理员是一个管理层的角色,可以对站内所展示的信息以及用户进行操作。网站将会包含大量的用户信息以及产品信息,因此需要定期维护更新相关信息。管理员可以查看借款人和投资人的信息,并可新增借款人,启用、禁用用户,查看用户资金流水。投资信息,安全等级设置情况以及推荐好友情况等。为了完成信息的日常维护更新,系统还需要支持单条信息的录入,同时也需要支持批量导入导出信息。管理员对理财产品进行编辑修改查看等操作。2.3可行性分析很多产品的早期设想都非常完美,也有很多投入了大量精力财力后研发失败的例子。因此,在项目开发前,需要对产品在经济、技术、操作三方面进行可行性分析。2.3.1经济可行性由于本系统采用B/S模式,无需安装任何软件,对开发硬件要求不高,只需要一台普通PC即可开发,在浏览器输入网址即可访问,所以经济上是可行的。2.3.2技术可行性本系统使用的是Java语言,简单易学;开发平台用的是eclipse和oracle数据库,数据库作为系统设计的核心也是很容易学习操作,大学期间主修的是软件工程专业,所以本系统的开发实现在技术上是可行的。2.3.3操作可行性本系统对软硬件的要求不高,现有的开发技术和工具都能够实现,操作简单,界面简洁,使用鼠标和键盘就可以进行管理,所以此系统具有良好的易用性,根据分析操作是可行的。
第3章概要设计本系统主要以Browser/Server结构为总体架构,即浏览器/服务器结构。该模式的运行方式是通过将程序和数据庫在服务器,然后再用网页的方式实现和用户的交互。3.1系统架构设计对系统的架构划分如下,实际划分为系统视图、业务逻辑、数据等,其主要目的是实现各层级之间“高内聚,低耦合”。图3-1系统架构图3.2模块化设计通过需求分析阶段得出来的结论,可以将整体设计分为前台的用户模块与后台管理员模块两部分。3.2.1前台用户模块用户模块主要为非管理员提供页面的各种服务,主要功能有:(1)用户注册登录用户根据要求注册成为会员后,便可前往前台登录账户。(2)账户管理用户管理账户的安全信息,更换手机号、邮箱、修改密码、添加或删除银行卡等操作。(3)资产管理用户可以进行对账号充值提现操作,查看资产统计记录。用户投资管理用户查看投资的产品和交易流水记录。(5)消息管理用户通知设置和查看消息。功能模块具体如图3-2所示。3.2.2管理员模块管理员模块规定只能由管理员登录管理员账号进行各项操作。其功能主要有:(1)用户交易管理管理员可以进行查询和新增借款人、启用账号、禁用账号操作,查询资金流水记录。(2)产品管理管理员可以对产品进行增加、查看、编辑、修改操作。(3)管理员投资管理管理员查看并导出投资记录,可以手动结算清算失败的投资。(4)债权管理管理员对债权信息查询和录入,还可以批量导入信息。(5)借款管理管理员查询借款记录。(6)撮合管理管理员对匹配信息查询导出等操作。管理员功能模块图如图3-3所示。图3-2用户功能模块框架图图3-3后台管理功能模块图
3.3数据库设计3.3.1数据库的概念结构设计本数据库的实体包括理财产品、产品利率、用户、用户账户、银行、银行卡、交易流水记录、预期收益、债权、债权记录、匹配记录、用户借款信息。具体如图3-4所示。图3-4数据库实体模型图3.3.2数据表设计1.理财产品表理财产品表(T_PRODUCT)主要用来存储产品所签需要的的信息,包括产品名称、产品编号、产品类型、产品起投金额、投资上限等信息。理财产品表如表3-1所示。表3-1理财产品表字段名数据类型主键/允许空字段含义T_PIDNUMBER(19)PRIMARYKEY产品idT_CLOSE_PREIODNUMBER(10))NOTNULL转让封闭期T_EARLY_REDEPTION_TYPENUMBER(10)NOTNULL提前赎回类型T_EARTING_TYPENUMBER(10)NOTNULL收益利率类型T_INVEST_RULEFLOATNOTNULL数量规则T_ALLOW_TRANSFERNUMBER(10)NOTNULL是否可转让T_IS_REPEAT_INVESTNUMBER(10)NOTNULL是否复投T_LOWER_LIMITNUMBER(10)NOTNULL产品最低期限T_LOWER_INVESTFLOATNOTNULL产品起投金额T_PRONUMVARCHAR2(255)char)NOTNULL产品编号T_PROTYPE_IDNUMBER(10)NOTNULL产品类型idT_UPPER_INVESTFLOATNOTNULL产品投资上限T_PRODUCT_NAMEVARCHAR2(255)NOTNULL产品名称T_STATUSNUMBER(10)NOTNULL状态(0:表示正常;1:表示停用)T_UPPER_LIMITNUMBER(10)NOTNULL产品最大期限T_RETURN_MONEYNUMBER(10)NOTNULL回款方式2.理财产品利率表理财产品利率表(T_PRODUCTEARNGRATE)用来保存理财产品利率的相关信息,包裹编号、利率值、月份、理财产品编号。如表3-2所示。表3-2理财产品利率表字段名数据类型主键/允许空字段含义T_IDNUMBER(10)PRIMARYKEY编号T_INCOMERATEFLOATNOTNULL利率值T_MONTHNUMBER(10)NOTNULL月份T_PIDNUMBER(10)NOTNULL产品编号3.用户表用户表(T_USER)保存的是用户账户保存的一系列信息,包括用户id、用户邮箱、邀请码、登录名、登录密码、支付密码、真实姓名等信息。具体如表3-3所示。表3-3用户表字段名数据类型主键/允许空字段含义T_IDNUMBER(10)PRIMARYKEYidT_EMAILVARCHAR2(255)NOTNULL用户邮箱T_EMAIL_STATUSNUMBER(10)NOTNULL邮箱验证T_IDENTITYVARCHAR2(255)NOTNULL用户idT_INVTTEIDVARCHAR2(255)NOTNULL邀请码T_IPVARCHAR2(255)NOTNULL登录ipT_LOGIN_TIMETIMESTAMPNOTNULL登录时间T_ONLOCKNUMBER(10)NOTNULL锁
(续表3-3)字段名数据类型主键/允许空字段含义T_PASSWORDVARCHAR2(255)NOTNULL登录密码T_PAY_PASSWORDVARCHAR2(255)NOTNULL支付密码T_PAY_PWD_STATUSNUMBER(10)NOTNULL支付密码验证T_PHONEVARCHAR2(255)7NOTNULL电话T_PHONE_STATUSNUMBER(10)NOTNULL手机验证T_RANDOM_CODEVARCHAR2(255)NOTNULL随机激活码T_REALNAMEVARCHAR2(255)NOTNULL真实姓名T_REALNAME_STATUSNUMBER(10)NOTNULL实名验证T_REGESTER_TIMETIMESTAMPNOTNULL注册时间T_REMARKVARCHAR2(255)NOTNULL备注T_SUMFRIENDVARCHAR2(255)NOTNULL好友数量统计T_USER_SECURENUMBER(10)NOTNULL安全等级T_USERTYPENUMBER(10)NOTNULL用户类型0投资人1借款人T_USERNAMEVARCHAR2(255)NOTNULL用户登录名4.用户账户表用户账户表(T_ACCOUNT)保存的是用户在个人中心的可以查到的相关信息,字段包括账户总额、余额、总计待收本金、总计待收利息、月投月取金额等;具体如表3-4所示。表3-4用户账户表字段名数据类型主键/允许空字段含义T_IDNUMBER(10)PRIMARYKEY主键T_USERIDNUMBER(10)NOTNULL用户的idT_TOTALFLOATNOTNULL帐户总额T_BALANCEFLOATNOTNULL帐户可余额T_FROZENFLOATNOTNULL账户总计冻结总额T_INVERSTMENTWFLOATNOTNULL总计待收本金T_INTEREST_TOTALFLOATNOTNULL总计待收利息T_ADD_CAPTIAL_TATALFLOATNOTNULL月投总额T_RECYCLING_INTERESTFLOATNOTNULL月取总额T_CAPITAL_TOTALFLOATNOTNULL月乘总额T_INVERSTMENTAFLOATNOTNULL已投资总额T_INTERESTAFLOATNOTNULL已赚取利息T_UAPPLY_EXTRACT_MONEYFLOATNOTNULL申请提现金额5.银行卡表银行卡表(T_BANKCARD)保存的是用户账号绑定银行卡的相关信息。包括银行卡号、银行、城市以及绑定手机号码等字段。具体如表3-5所示。表3-5银行卡表字段名数据类型主键/允许空字段含义T_IDNUMBER(10)PRIMARYKEY主键(续表3-5)字段名数据类型主键/允许空字段含义T_NUMVARCHAR2(255)NOTNULL银行卡号T_BANKVARCHAR2(255)NOTNULL开户银行T_CITY_IDNUMBER(10)NOTNULL城市idT_USER_IDNUMBER(10)NOTNULL用户表主键T_BANK_IDNUMBER(10)NOTNULL银行编号T_BANK_BRANCHVARCHAR2(255)NOTNULL银行支行T_PHONE_NUMVARCHAR2(255)NOTNULL绑定手机号码6.银行表银行表(T_BANK)用来保存银行编号、银行名称、银行城市等信息。具体如表3-6所示。表3-6银行表字段名数据类型主键/允许空字段含义T_IDNUMBER(10)PRIMARYKEY主键T_NUMBERVARCHAR2(255)NOTNULL银行编号T_NAMEVARCHAR2(255)NOTNULL银行名称T_DESCVARCHAR2(255)NOTNULL说明T_STATUSNUMBER(10)NOTNULL是否停用该行(0停;1启用)T_CITY_CODEVARCHAR2(255)NOTNULL城市编号T_LEVELNUMBER(10)NOTNULL城市级别7.交易流水记录日志表交易流水记录表(T_ACCOUNT_LOG)用来记录账户进行交易时所产生的的流水记录,具体如表3-7所示。表3-7交易流水记录日志表字段名数据类型主键/允许空字段含义A_IDNUMBER(10)PRIMARYKEY主键A_AFTER_TRADING_MONEYFLOATNOTNULL交易后金额A_AMOUNTFLOATNOTNULL金额A_BEFORE_TRADING_MONEYFLOATNOTNULL交易前金额A_CURRENT_PERIODNUMBER(10)NOTNULL当前期A_DATETIMESTAMPNOTNULL交易时间A_DESCREPTIONVARCHAR2(255)NOTNULL交易详情A_MAIN_ACCOUNT_IDNUMBER(10)NOTNULL主账户idA_RECEIVE_OR_PAYNUMBER(10)NOTNULL收付A_TRANSFER_SERIAL_NOVARCHAR2(255)NOTNULL交易流水号A_TRANSFER_STATUSNUMBER(10)NOTNULL交易状态A_TYPENUMBER(10)NOTNULL交易类型A_USER_IDNUMBER(10)NOTNULL用户idP_IDNUMBER(10)NOTNULL投资记录主键8.预期收益表预期收益表(T_EXPECTED_RETURN)保存的是用户在个人信息界面查看到的预期收益的相关信息,字段包括用户id、产品id收益日期、收益金额等信息。具体如表3-8所示。表3-8预期收益表字段名数据类型主键/允许空字段含义T_IDNUMBER(10)PRIMARYKEY主键T_UIDNUMBER(10)NOTNULL用户IDT_PIDNUMBER(10)NOTNULL产品IDT_RIDNUMBER(10)NOTNULL投资记录IDT_EXPECTED_DATEVARCHAR2(255)NOTNULL收益日期T_EXPECTED_MONEYFLOATNOTNULL收益金额9.债权表债权表(T_DEBT_INFO)是用来保存录入的债权相关信息,具体如表3-9所示。表3-9债权表字段名数据类型主键/允许空字段含义D_IDNUMBER(10)PRIMARYKEY主键D_AVAILABLE_MONEYFLOATNOTNULL可用金额D_AVAILABLE_PERIODNUMBER(10)NOTNULL可用期限D_BORROWER_IDNUMBER(10)NOTNULL借款人IDD_CONTRACT_NOVARCHAR2(255)NOTNULL合同编号D_CREDITORVARCHAR2(255)NOTNULL债权人
(续表3-9)字段名数据类型主键/允许空字段含义D_DEBT_MONEYFLOATNOTNULL债权金额D_DEBT_MONTH_RATEFLOATNOTNULL债权月利率D_DEBT_NOVARCHAR2(255)NOTNULL债权编号D_DEBT_RANSFER_OUT_DATETIMESTAMPNOTNULL债权转出日期D_DEBT_STATUSNUMBER(10)NOTNULL债权状态D_DEBT_STATUS_NAMEVARCHAR2(255)NOTNULL债权状态名字D_DEBT_TRANSFERRED_DATETIMESTAMPNOTNULL债权转入日期D_DEBT_TRANSFERRED_MONEYFLOATNOTNULL债权转入金额D_DEBT_TRANSFERRED_PERIODNUMBER(10)NOTNULL债权转入期限D_DEBT_TYPEVARCHAR2(255)NOTNULL债的类型10.站内信息表站内信息表(T_STATION_INFORMATION)用来保存消息内容、消息状态、消息类型等信息。具体如表3-10所示。表3-10站内信息表字段名数据类型主键/允许空字段含义S_IDNUMBER(10)PRIMARYKEY主键S_MESSAGE_CONTENTVARCHAR2(255)NOTNULL消息内容S_MESSAGE_STATENUMBER(10)NOTNULL消息状态
(续表3-10)字段名数据类型主键/允许空字段含义S_INFORMATION_TYPENUMBER(10)NOTNULL消息类型S_RECEIVE_USER_IDNUMBER(10)NOTNULL用户idS_SYSTEM_TIMEVARCHAR2(255)NOTNULL发送时间11.债权还款记录表债权还款记录表(T_DEBTOR_RECORD)保存用户还款后产生的相关记录,字段包括应还日期、应还金额等信息。具体如表3-11所示。表3-11债权还款记录表字段名数据类型主键/允许空字段含义T_IDNUMBER(10)PRIMARYKEY主键T_CLAIMS_IDNUMBER(10)NOTNULL债权idT_RECEIVABLE_DATETIMESTAMPNOTNULL应还日期T_RECEIVEABLE_MONEYFLOATNOTNULL应还金额T_CURRENT_TERMNUMBER(10)NOTNULL当前还款期T_RECORD_DATETIMESTAMPNOTNULL记录日期T_ISRETURNEDNUMBER(10)NOTNULL是否还款12.匹配结果表匹配结果表(T_MATCHED_RESULT)用来保存带匹配资金队列与用户债权相匹配后的结果。具体如表3-12所示。表3-12匹配结果表字段名数据类型主键/允许空字段含义I_IDNUMBER(10)PRIMARYKEY主键I_CONFIRM_DATETIMESTAMPNOTNULL购买日期I_CLAIMS_IDNUMBER(10)NOTNULL债权IDI_DEBT_TYPENUMBER(10)NOTNULL债权类型I_INVEST_NONUMBER(10)NOTNULL投资记录主键I_IS_CONFIRMEDNUMBER(10)NOTNULL是否确认I_IS_EXECUTEDNUMBER(10)NOTNULL是否清算过I_MATCHED_DATETIMESTAMPNOTNULL匹配上的日期I_BID_MONEYNUMBER(10)NOTNULL购买金额I_TRANSFER_SERIAL_NOVARCHAR2(255)NOTNULL交易流水号I_USER_IDNUMBER(10)NOTNULL用户ID13.用户借款信息表用户借款信息表用来保存借款用户的相关信息,包括用户借款日期、借款金额、借款人姓名、手机号等信息。具体如表3-13所示。表3-13用户借款信息表字段名数据类型主键/允许空字段含义T_IDNUMBER(10)PRIMARYKEY主键
(续表3-13)字段名数据类型主键/允许空字段含义T_ADDRESSVARCHAR2(255)NOTNULL地址T_APPLY_DATETIMESTAMPNOTNULL借款日期T_LOAN_MONEYFLOATNOTNULL借款金额T_LOAN_NAMEVARCHAR2(255)NOTNULL借款人姓名T_PHONEVARCHAR2(255)NOTNULL手机号T_PROVINCEVARCHAR2(255)NOTNULL省份T_SEXNUMBER(10)NOTNULL性别T_UIDNUMBER(10)NOTNULL借款人ID
第4章详细设计与实现4.1用户端界面主页面是该系统的入口,用户进入首页可以选择登陆账户。用户输入用户名、密码和验证码后,若登录成功则返回首页,若输入错误,则弹出提示消息。首页登录界面如图4-1所示。图4-1首页截图进入到注册页面后,用户按照规则填写注册的基本信息,填写完后点击下一步提交进行校验,若校验不通过,用户需要补充或者修改信息后重新提交注册申请;若校验通过,则跳转至验证账户信息页面进行手机验证,获取短信验证码后输入至文本框内,点击下一步校验手机验证码是否输入正确,若错误给出提示重新获取;若正确则直接跳转至实名认证页面进行实名认验证。校验姓名与身份证号是否相符,相符则校验成功,注册成功跳转至登录页面。具体流程如图4-2所示。图4-2注册流程图点击免费注册按钮,即可跳转至注册页面,如展示图4-3所示。图4-3注册页面截图点击我要投资按钮,用户可以进行产品购买操作,在文本框输入投资金额,横拉选择购买期限,具体如图4-4所示。图4-4产品购买(投资理财)页面效果截图用户投资流程为:用户登录系统,选择投资的产品,未登录时,将提示用户登录系统。当用户确定投资产品后,输入投资金额,点击确认购买后,即可完成投资。流程如图4-5所示。图4-5用户投资理财流程图用户登录系统后进入主页面,选择投资产品后,发送投资请求,系统进入用户交易页面选择支付,支付并购买成功后,更新数据库。如图4-6所示。首页点击我要借款,填写申请表即可完成操作,如图4-7所示。图4-6用户投资顺序图图4-7借款申请页面截图4.2用户个人信息模块用户进入系统后,进入个人中心页面,显示用户的安全等级,共有四项安全认证:手机、邮箱、支付密码和实名认证,认证一项、两项、三项、四项分别队形安全级别为低、中、较高、高。界面显示可用余额、资产总额和累计收益三项。在这里,用户可以选择自己喜欢的理财产品进行购买投资。具体如图4-8所示。图4-8个人中心页面截图点击资产管理,可以看到用户自己的资产统计,具体效果如图4-9所示。用户点击充值按钮可以对账户进行充值操作,在充值页面选择充值银行,输入充值金额和验证码,点击充值按钮时,需验证充值金额填写是否有效,验证码是否正确,要输入正确的金额格式。效果如图4-10所示。图4-9资产管理页面截图图4-10充值页面截图提现前提条件:实名认证通过、银行卡绑定成功、支付密码已设置,系统判断的先后顺序为实名、银行卡绑定、支付密码设置。点击提现按钮,进入提现页面,选择自己的银行卡,输入金额、支付密码、验证码等,便可完成提现操作,如图4-11所示。图4-11提现页面截图点击账户管理,用户可以编辑自己的账号信息,如图4-12所示。图4-12账号安全信息设置页面截图用户还可以在银行卡信息页面添加银行卡,如图4-13所示。图4-13银行卡管理页面截图点击投资管理,用户可以查看当前账号的交易记录,如图4-14所示。图4-14交易记录页面截图4.3后台管理模块后台管理模块是管理员对系统进行管理访问等操作。管理员账号登录后,进入管理员页面。具体功能如图4-15所示。图4-15管理员主页面功能截图用户管理模块可以对用户进行新增借款人,启用/禁用账号操作。如图4-16所示。系统管理员通过用管理模块用户进行管理访问,可以新增用户,对一些违规用户进行禁用账号等操作,同时更新数据库。如图4-17所示。图4-16用户信息页面截图图4-17用户管理顺序图资金流水截图如图4-18所示。图4-18资金流水记录页面截图产品管理模块可以对产品进行查看、编辑操作,如图4-19所示。图4-19产品管理页面截图投资管理模块可以查看投资记录。如图4-17所示。图4-20投资记录页面截图债权管理模块可以对债权进行录入查询操作,如图4-18、图4-19所示。图4-21录入债权页面截图图4-22债券查询页面截图撮合管理模块可以将待匹配资金队列与待匹配债权队列进行匹配撮合,界面如图4-20所示。图4-23资金队列与债权队列成功匹配页面截图总账户资金流水记录如图4-21所示。图4-24总账户流水记录页面截图
第5章软件测试软件测试阶段是软件开发过程中重要的一部分,它的主要目的是检测系统是否能够达成预期目标,其次是用于检测各功能模块是否能正确运行,找到软件的错误并改正,从而避免用户在使用的时候遇到错误,最后完成一个高标准质量好并且符合用户需求的软件。因此,要想把软件从产出到投入使用,软件测试是非常重要的。5.1登录模块测试对登录管理员模块进行测试,登录需要输入用户名、密码,根据分析设计等价类测试。等价类划分如表5-1所示。表5-1登录模块等价类划分输入信息有效等价类无效等价类用户名输入正确的用户名(2)不输入用户名(3)输入错误的用户名密码(4)输入正确的密码(5)不输入密码(6)输入错误的密码根据输入条件组合测试登陆,测试结果如表5-2所示。表5-2登录模块测试用例编号输入信息预期结果实际结果覆盖等价类1用户名:admin密码:12345登录成功与预期结果一致(1)(4)
(续表5-2)编号输入信息预期结果实际结果覆盖等价类2用户名:admin密码:空值登录失败与预期结果一致(1)(5)3用户名:admin密码:123456登录失败与预期结果一致(1)(6)4用户名:admin1密码:12345登录失败与预期结果一致(3)(4)5用户名:admin1密码:空值登录失败与预期结果一致(3)(5)6用户名:admin1密码:123456登录失败与预期结果一致(3)(6)7用户名:空值密码:12345登录失败与预期结果一致(2)(4)8用户名:空值密码:空值登录失败与预期结果一致(2)(5)9用户名:空值密码:123456登录失败与预期结果一致(2)(6)在表5-2的测试用例表中,测试用例1中用户名和密码都输入正确,登录成功,测试通过;测试用例2中用户名输入正确但不输入密码,登录失败,与预期结果一致,测试通过;测试用例3中用户名输入正确但密码输入错误,登录失败,与预期结果一致,测试通过;测试用例4-6中用户名输入错误但密码分别为输入正确、不输入密码、输入错误密码,测试结果全部为登录失败,与预期结果一致,测试通过;测试用例7-9中不输入用户名,密码分别为输入正确密码、不输入密码、输入错误密码,测试结果均为登录失败,于预期结果一致,测试通过。根据以上测试,认为该模块进本通过了黑盒测试。5.2管理员模块测试首先登录管理员账号进入后台管理页面,对系统管理员模块进行测试。管理员模块的测试用例如表5-3所示。表5-3后台管理模块用例后台管理模块功能说明后台对于用户和产品的相关操作前置条件管理员用户登录成功,并进入后台管理页面测试步骤1.点击进入用户管理模块,新增借款人,并查询2.点击进入产品管理模块,查看产品信息,编辑修改产品。3.点击进入投资管理模块,点击查询预期结果刷新页面,页面展示操作过后的数据,且主页面内展示的数据为操作后数据实际结果与预期结果一致测试结论测试通过5.3用户模块用例用户在主页面输入正确的用户名密码登录成功后,进入系统主页面对系统进行测试。测试用例如表5-4所示。表5-4用户模块测试用例用户页面功能说明用户对于主页面的各项操作前置条件用户登录成功
(续表5-4)测试步骤1.点击“我要投资”,选择投资产品,输入投资金额并选择期限,进行理财操作2.点击“我的账户”,进入个人账户中心3.点击“投资管理”,进入我的投资页面4.点击“资产管理”,进入资产统计页面预期结果操作成功,购买成功页面展示账户主页页面展示投资记录页面页面展示资产统计、充值提现页面实际结果与预期结果一致测试结论测试通过
结论本设计基于B/S架构,实现了购买理财产品、绑定银行卡、匹配资金队列等功能,将整体设计分为表现层、业务逻辑层和数据庫层。使用了Eclipse开发,数据庫使用Oracle,服务器采用了Tomcat,前端部分采用了bootstrap、angularjs等前端技术,使用了MVC分层设计理念。后端采用了struts2、hibernate、spring框架。缓存方面运用了redis实现缓存存储。会员认证通过短信平台发送手机短信的认证方式。项目整体采用Maven分模块构建并进行依赖包的管理。本系统可以理解分为两个产品:一个是投资理财;另一个是网络借贷,全部在网上实现。无论是理财还是借贷,都可以为我们带来好处,例如学生可以把存款进行合理投资理财,赚取比银行高的利息,而且要比银行更加灵活;在做项目或创业,急需用钱的时候,可以在平台借款,手续简单方便。这种互联网金融模式比传统金融有着巨大优势。系统整体页面过于简单不够美观;部分功能操作略显繁琐,导致流程有点模糊。由于线上借款操作涉及到很多审核资质,因此项目的借款操作是线下的。通过业务员线下跑业务,平台提供相关的数据,录入合同产生债权。对于投资理财以及借贷方面的业务知识方面,还有很多不熟悉不了解的地方。
致谢通过本次毕业设计,我从一个理论派变成了动手派,通过这几个月的设计,让我深深体会了将理论转变到时间的痛苦过程。经历了很多,也学到了很多,我想这一过程不单单是知识的增加,更重要的是学会了如何坚强克服困难,学会了坚持且脚踏实地。短暂四年即将画上句号,感谢母校为我们提供的美好环境,感谢同学老师对我的帮助,内心十分感恩。唯一遗憾的是由于疫情,未能参加一次大学的毕业典礼,不能和同学老师们照上一张毕业照。在设计结束之际,我要由衷感谢致谢我的导师赵春刚老师,赵老师平易近人,在设计期间给了我很大的鼓励,耐心帮助我解决问题,不厌其烦的为我指点迷津。在撰写说明书期间,赵老师细心指导,指出了设计中存在的问题,十分感谢赵老师。最后感谢这四年来,黑龙江科技大学计算机学院全体老师以及辅导员老师你们对我们的谆谆教诲,感谢你们为教育事业的无私奉献。感谢我的室友以及同学有了他们的陪伴,让我的大学生活更加丰富多彩,充满乐趣。感谢我的家人们一直为我默默付出,在背后无条件的支持我。
参考文献1钱金叶,杨飞.中国P2P网络借贷的发展现状及前景[J].金融论坛,2015,12(2):21-25.2孙庆蓉.中英美三国P2P网贷行业现状对比与启示[J].中国经贸导刊(中),2019(07):45-47.3文思.我国P2P网络借贷风险控制研究——基于网贷平台的角度[D].浙江大学,2015.4张小明.互联网金融的运作模式与发展策略研究[D].山西财经大学,2015.5徐文文.基于P2P的互联网金融平台的设计与实现[D].电子科技大学,2016.6王丹丹.我国互联网金融的发展研究[D].吉林大学,2015.7曹凤岐.互联网金融对传统金融的挑战[J].金融论坛,2015,20(01):3-6.8YXin.ResearchontheDevelopmentPathofCommercialBanksundertheInfluenceofInternetFinance:TakingP2PFinanceastheExample.20149GYang.OntheDevelopmentofP2PMicro-financeinChina.ShanghaiFinance.201210NeumanBC,Ts’oT.AnAuthenticationServiceforComputerNetworks[J].IEEECommunicationsMagazine.199411罗刚.Struts2框架整合Spring框架在文件上传下载中的应用[J].北京:电子工业出版社,2009,95-14812胡静.浅析黑盒测试与白盒测试[J].衡水学院学报,2008(01):30-32.13武军娜,戚银城,杨迪,等.JavaWeb整合开发实战:基于Struts2+Hibernate+Spring[J].电子科技,2012,25(7):18-2014傅翠玉,王少茹,洪秀金.Bootstrap框架在响应式WEB开发中的应用[J].电脑知识与技术,2018,14(21):85-86.附录设计系统部分源代码Namespace("/creditor")@Controller@Scope("prototype")publicclassCreditorActionextendsBaseAction{ @Autowired privateICreditorServicecreditorService; //债权的审核 @Action("checkCreditor") publicvoidcheckCreditor(){ //1.得到请求参数 Stringids=this.getRequest().getParameter("ids"); //处理ids String[]id=ids.split(","); //2.调用service完成审核 creditorService.checkCreditor(id); //3.响应状态1 try{ this.getResponse().getWriter().write(Response.build().setStatus("1").toJSON()); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } //查询债权信息多条件 @Action("getCreditorlist") publicvoidgetCreditorlist(){ this.getResponse().setCharacterEncoding("utf-8"); //dDebtNo=&dContractNo=&dDebtTransferredDateStart=&dDebtTransferredDateEnd=&dDebtStatus=&dMatchedStatus=&offsetnum=1 //1.获取请求参数 StringdDebtNo=this.getRequest().getParameter("dDebtNo");//标的编号 //--债权的编号 StringdContractNo=this.getRequest().getParameter("dContractNo");//借款的id //全同编号 StringdDebtTransferredDateStart=this.getRequest().getParameter("dDebtTransferredDateStart");//债权转入日期 //开始 StringdDebtTransferredDateEnd=this.getRequest().getParameter("dDebtTransferredDateEnd");//债权转入日期 //结束 StringdDebtStatus=this.getRequest().getParameter("dDebtStatus");//债权的状态 StringdMatchedStatus=this.getRequest().getParameter("dMatchedStatus");//债权的匹配状态 Stringoffsetnum=this.getRequest().getParameter("offsetnum");//页码 //2.处理请求参数--将请求参数类型处理并封装到Map中,后续调用service时只需要将map传递就可以。 Map<String,Object>map=newHashMap<String,Object>(); if(StringUtils.isNotBlank(dDebtNo)){ map.put("dDebtNo",dDebtNo); } if(StringUtils.isNotBlank(dContractNo)){ map.put("dContractNo",dContractNo); } SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd"); if(StringUtils.isNotBlank(dDebtTransferredDateStart)){ try{ map.put("dDebtTransferredDateStart",sdf.parse(dDebtTransferredDateStart)); }catch(ParseExceptione){ try{ this.getResponse().getWriter() .write(Response.build().setStatus(FrontStatusConstants.PARAM_VALIDATE_FAILED).toJSON()); return; }catch(IOExceptione1){ e1.printStackTrace(); } } } if(StringUtils.isNotBlank(dDebtTransferredDateEnd)){ try{ map.put("dDebtTransferredDateEnd",sdf.parse(dDebtTransferredDateEnd)); }catch(ParseExceptione){ try{ this.getResponse().getWriter() .write(Response.build().setStatus(FrontStatusConstants.PARAM_VALIDATE_FAILED).toJSON()); return; }catch(IOExceptione1){ e1.printStackTrace(); } } } if(StringUtils.isNotBlank(dDebtStatus)){ map.put("dDebtStatus",Integer.parseInt(dDebtStatus)); } if(StringUtils.isNotBlank(dMatchedStatus)){ map.put("dMatchedStatus",Integer.parseInt(dMatchedStatus)); } //处理分页信息 intpageNum=Integer.parseInt(offsetnum);//页码 intcurrentNum=10;//每页条数 intstartIndex=(pageNum-1)*currentNum; map.put("currentNum",currentNum); map.put("startIndex",startIndex); //3.调用service查询债权信息 //3.1查询债权信息--多条件 List<CreditorModel>cms=creditorService.findCreditorByCondition(map); //注意:需要将债权状态及债权的匹配状态处理 //<optionvalue="">全部</option> //<optionvalue="11301">未审核</option> //<optionvalue="11302">已审核</option> //<optionvalue="11303">正常还款</option> //<optionvalue="11304">已结清</option> //<optionvalue="11305">提前结清</option> //<optionvalue="11306">结算失败</option> for(CreditorModelcm:cms){ //处理债权状态 if(cm.getDebtStatus()==11301){ cm.setDebtStatusDesc("未审核"); } if(cm.getDebtStatus()==11302){ cm.setDebtStatusDesc("已审核"); } if(cm.getDebtStatus()==11303){ cm.setDebtStatusDesc("正常还款"); } if(cm.getDebtStatus()==11304){ cm.setDebtStatusDesc("已结清");
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 矿泉水资源开发与水资源管理的关系
- 古筝演奏基础与进阶技巧教程
- 2025年教育学心理学题库及答案
- 2025年贵州电子信息职业技术学院单招考试职业适应性测验近5年参考题库含答案解析
- 2025年内科学主治医师中级职称考试真题消化内科普通外科妇产科儿附答案
- 2026江西萍乡市融资担保集团有限公司招聘员工4人备考题库及参考答案详解【能力提升】
- 2026贵州峰鑫建设投资(集团)有限公司招聘演艺人员2人备考题库汇编附答案详解
- 2026河南洛阳商业职业学院招聘7人备考题库【典优】附答案详解
- 共用设施设备检查制度
- 公路工程大临建设专项施工方案
- 陕西省部分学校2025-2026学年高三上学期9月联考化学试题(解析版)
- 奇迹暖暖课件
- 雨课堂学堂在线学堂云《网络操作系统(Linux)(深圳职院)》单元测试考核答案
- 2025年出版专业职业资格考试(中级)真题及参考答案
- 2026年河南应用技术职业学院单招职业适应性测试题库新版
- 矿山企业安全生产管理要点
- 货物供货结算协议书
- 2026年安徽工业职业技术学院单招(计算机)测试模拟题库及答案1套
- 中国醋酸正丙酯行业市场现状及投资态势分析报告(智研咨询)
- 护理业务查房管理规范
- 树木移植施工安全技术规程
评论
0/150
提交评论