您的当前位置:首页基于SSM框架的账号租赁系统的设计与实现-毕业论文

基于SSM框架的账号租赁系统的设计与实现-毕业论文

来源:锐游网


---文档均为word文档,下载后可直接编辑使用亦可打印---

摘 要

在现实生活中,绝大部分租赁行业以实体店为主,客户到店选择商品,支付押金和办理手续实现租赁业务。而近些年,各种行业都在蓬勃发展,尤其是网络娱乐行业,比如网络视频。网络视频的运营大部分使用会员制,即好资源只分享已开通的会员。用户想要享受优质服务,那就只能开通会员。但网络视频的运营商众多,用户如果一一开通,如若不常用则会造成铺张浪费。因此开发一个网上租赁系统,专门为用户提供这些会员账号的租赁业务,用户可以将自己拥有的资源在这平台上租赁给他人获取利益,或者用较低的成本去租用别人的会员账号,实现资源共享。然而网络视频会员账号属于虚拟账号,实现虚拟经济这样的租赁系统是具有极大的意义和价值的,同时也具有极大的挑战。

本文论述了使用SSM框架,结合web开发系统应用。实现系统的各种实际应用,满足用户群的需求的核心功能。 关键词:租赁,互联网,SSM,账号

Design and implementation of account leasing system based on

SSM framework

Abstract

In real life, most of the leasing industry is dominated by physical stores, where customers choose commodities, pay deposits and go through procedures to realize leasing business.In recent years, various industries have been booming, especially online entertainment, such as online video.The majority of online video operations use membership, that is, good resources to share only open members.Users want to enjoy good service, that can only open membership.But network video operators are numerous, if users open one by one, this will increase the economic pressure of users, and users do not often waste resources.

Therefore, an online leasing system is developed to provide users with the leasing business of these member accounts. Users can rent their own resources to others on this platform to obtain benefits, or rent others' member accounts at a lower cost to realize resource sharing.However, the member account of network video belongs to the virtual account, so it is of great significance and value to realize the leasing system of virtual economy, as well as great challenges.This paper discusses the use of SSM framework, combined with the application of web development system. The realization of the system's various practical applications, to meet the needs of user groups of the core functions.

Keywords: rental, Internet, SSM, account

目 录

第一章 绪论

1.1 课题研究的背景

现如今互联网的覆盖范围非常广泛,视频网站、云栈存、工具类的网站也迅速地充斥着民众的生活。视频播放器的应用、像素极高的质感、海量精彩的影视剧等不仅吸引了用户眼球成为人们生活中主要的娱乐模式,而且也成为了运营商盈利的管道。据中国互联网络信息中心(CNNIC)统计,中国网民人数达到8.54亿,网络视频用户达到6.12亿。面对这么大的用户群体,各大厂商开启的各种吸引用户的盈利模式,满足观众个性化的观影需求,如付费会员VIP制度(very important person)。网站买断版权的独家非凡资源是吸引用户开通会员或者付费的动力源泉,唯有成为VIP才有资格观看。然而,各个不同的网站都有用户不同的需求,如果全都开通会员,固然可以满足自己的需求,但是也增添了经济负担,而且很多用户开通会员可能不经常用。在这样的背景下,就需要找到一种方法解决这种资源浪费的现象,那就是采用账号租赁的方式。[1]

租赁行业在21世纪以来,随着国家的经济蓬勃发展,也得到了业务的迅猛发展,租赁行业贯穿社会的每个角落,租赁的方式呈现了多样化。租赁行业的管理运营方式也根本上发生变化,从传统的实体店面租赁方式向结合电商经营模式这种新型运营模型转变。

从往常的租赁业务来看,都是客户亲自来店挑选商品,然后支付一定的押金来完成一系列的租赁手续方可实现一次业务。在这期间,客户挑选商品犹豫不决,手续办理需要走很多业务流程,况且需要人员带领客户,给客户介绍商品等繁琐的流程,使得租赁过程浪费了大量的时间和精力。但现在的租赁行业运营模式结合了电商来运营的,它与传统的租赁形式有了很大的异处。[2]其业务形式是在网上进行的,然后使用一个租赁系统将租赁业务的数据保存到网络数据库。但是由于传统的租赁系统都是有管理员进行业务操作,这样的运营模式并不符合账号租赁系统的开发,且传统的租赁方式的服务范围较小,客户通常到店挑选商品,而出租的商户则是与客户进行面对面的租赁活动,这样的运营模式并不能适用如今处在互联网覆盖广泛的时代。传统租赁方式过于依赖人与人的接触行为且效率不高,扩大业务还需要增添工作人员,要增加大量的成本,然而账号租赁系统却不需要过多的业务人员来操作,显然开发账号租赁系统不能套用传统的租赁系统,账号租赁系统需要人工智能化。

往常,发生租赁行为必需业务员与客户一起进行。而客户的来源变化大,流动性

[1][2]

参考朱玉麟. 一种网络视频VIP账号共享系统的设计及实现[J].电子科技大学

参考李洋. SSM框架在Web应用开发中的设计与实现[J] 计算机技术与发展 2016

高,单单依靠业务员进行处理的租赁流程,太过麻烦而繁琐,不满足未来的虚拟经济租赁系统的需求。像网络视频账号租赁的租赁业务,客户量非常巨大,但是商户却没有那么大量的账号可供给出租。那么就需要一种租赁方式便是让每一位客户都能成为商户的方式。能让客户自己出租自己拥有的账号,换去资源然后去租赁他人的账号。就需要开发这样一种让客户自给自足的租赁模式,厂商只是核实商品租赁的商品是否真实的租赁系统。

这样的采用电子商务经营模式,且不需要业务人员的租赁系统,在现如今的虚拟经济充斥全球的时代,它是一种全新的经营模式。因此在设计时需要做好充足的调研工作,做好全面分析。

1.2 课题研究的意义

21世纪是经济繁荣昌盛的年代,国民的经济水平不断提高,对娱乐生活的追求也渐渐增多。随着互联网的发展,手机的普及,使得网上追剧成为了人民生活消遣离不开的娱乐方式。但是在众多的网络视频厂商中,大多数都是实行会员制的经营模式,优质服务对会员开放。因此开通会员成为了人们追剧必要的条件。但是大部分的影视剧都被各大厂商买断了版权,使得用户需要同时开通多个会员才能享受到所需的娱乐服务,这样就增加用户的经济负担。

而本课题研究是搭建一个让用户即是卖家也是买家的网络租赁系统平台。针对租赁系统的具体需求开发,分为后台业务管理和前台展示中心,以此为基础,用户只需发布账号和租赁账号,系统自动实现租赁业务的具体流程。这样可以尽最大可能减少人工处理,避免人工处理带来的差错,能为用户提供优质的服务,提高经济效益,从而实现双赢。

就经济效益而言,开发这样的系统可以很大满足用户的需求,方便用户完成租赁行为,减少工作流程,从而减少人力资源来节约成本。且网络计算机系统具有长期性,用户可以随时随地的使用系统来完成租赁行为,相比传统的工作人员下班即停止服务,能更好的产生效益。

就服务性而言,计算机系统采用减少人工干预的智能化、自动化服务,可以有效的提高处理事务效率,让客户体验更好的服务,且计算机对数据信息的管理更加规范化,数据的安全性也能得到保证。

1.3 国内外研究现状

国内的租赁系统的发展始于20世纪80年代初,但才刚出苗头。在90年代初期,

在借鉴国外的租赁系统发展的经验后,与国内的行情相结合,IT行业的发展,才有了相对成熟的租赁系统,为租赁业的发展提供了新的发展空间。租赁业具有低风险,收益好,且投入的成本低等特点。然而传统的租赁公司或个体户基本以店面的形式实施租赁业务,受地域限制,或者不具良好的管理经验,降低了利润,发展缓慢。

计算机的发展让很多行业发生巨大的改变,在一些发达国家和地区,应用计算机技术到租赁业中,是行业改革创新适应新时代的标志。对租赁系统的开发有了系统性的经验,其开发的系统具有信息化、人工智能化。

21世纪是我国计算机行业发展上升最迅猛的时期,计算机行业的发展带动租赁业的发展已成为客观的事实。且现如今电脑和智能手机基本普及各家各户,计算机系统结合租赁业的发展的潜力已非常可观。租赁系统是以租赁商品为方式,应用编程技术如JAVA,应用在web上的一个平台。由于账号可多人同时在线,自己使用的同时还可以供他人使用,这种租赁行为可以称为资源共享,且拥有者还能获取一定收益,而且承租人不需要到实体店面,只需在电脑上便可进行。

总而言之,在人口众多的中国,租赁业的发展空间依然大有可为,但其发展离不开计算机技术的支持。

1.4 本文承担的工作

依据网络视频账号的租赁理论开发,业务由后台管理系统处理,前台负责商品展示。租赁业务多由系统自动处理,尽最大可能减少人工处理,避免人工代理的差错,高效的为用户服务。

租赁系统的设计与实现需要达到的目标: (1)实现用户进行租赁和出租账号的业务。 (2)能为用户提供商品查询功能。 (3)系统能自动处理租赁业务。

项目开始前需要做好对租赁业和网络视频的调研与分析,做好相应的模型,以便理解其中的优势与不足之处,然后做针对性的系统设计和数据库设计。以及所需要搭建的环境。

1.5 论文组织结构

本文的组织结构主要有七章:

第一章绪论,主要讲述课题研究的环境因素,国内外的现在的研究状况,意义,工作

的内容和论文的架构。

第二章相关技术综述,主要讲述开发所要用到的一些技术,为开发系统打造理论基础。 第三章系统分析,通过调研获得数据资料,做系统需求分析,设计详细的数据流程图和用例图。

第四章系统设计,根据需求分析,梳理功能块间的关系,完成数据库的设想和搭建。 第五章系统实现,根据系统设计所描述的系统架构,功能块设想,搭建好的数据库,来完成对应的功能。

第六章系统测试,测试系统的功能、性能,是否满足客户需求。 第七章是总结与展望,总结全文,让自己对开发过程有更深的理解。

第二章 相关技术综述

2.1 SSM框架简介

SSM框架是由Spring、SpringMVC、Mybatis整合而成的JAVA框架,简称SSM。Spring管理业务对象,SpringMVC负责管理视图和映射用户请求,Mybatis是业务逻辑与数据库交互的持久化引擎。

2.2 Spring技术介绍

企业应用开发的复杂性是困扰开发者的一个大问题,Rod Johnson为解决这个问题实现敏捷开发,设想并研发出Spring这个轻量级开源应用型容器框架。Spring集成多种类型工具,通过Bean工厂实现类的实例化和生命周期的管理。Spring具有松耦合、映射逻辑清晰等特点。Spring的核心技术是IOC(Inverse of control)控制反转和AOP(aspect oriented programming)面向切面编程。IOC即把管理对象(bean)的权利从程序转移到Spring容器中。AOP援用封装、继承和多态等概念建立一种对象层次结构,用以模拟公共行为的一个集合。单例引进集合时,将程序的业务进行封装,形成一个切面,这样就可以根据需求注入到指定的对象中[3]。

2.3 SpringMVC技术介绍

SpringMVC是规范的MVC模式。它将系统构造分为View层、controller层、Service

层、DAO层等4层。SpringMVC的核心(DispatcherServlet)的任务是拦截用户的活动,并用映射器匹对控制层对应的业务响应,控制层就是具体对应活动所执行的操作的反响。

2.4 Mybatis技术介绍

Mybatis是SSM的持久层框架。工作原理是将由手写连接数据库的JDBC代码以及

将与数据库的交互方式由Mybatis完成,方便了业务逻辑层对数据库的操作。Mybatis在配置源文件上配置好SQLSessionFactory工厂中XML文件的活动路径,每个XML文件承接DAO层和映射POJO(Plain Old Objects)对象,实现与数据库的交互。[4]

[3][4]

参考

刘增辉. MyBatis从入门到精通[M]. 电子工业出版社 , 2017

第三章 系统分析

3.1 需求分析

对系统进行开发首先要有对系统的需求有足够的领悟。需求分析指的开发一个系

统要做好充足的准备和调研,对系统要实现哪些功能,拥有怎样的性能用户对系统的期望,以及在实际应用中会发生哪些问题进行分析,然后建立系统初期模型,同时将理清的需求做成周密完备的分析报告(特别是用户对系统各方面功能的需求,要尽量描述周详,因为用户所表达的需求充满主观性和不确定性),以便对所要开发的软件系统提供最直观的帮助,确定系统要实现哪些功能,完成哪些工作,严格控制开发过程,减少犯错,以便节约成本和保质保量。软件需求分析会不可避免的遇到一些难点,也是需求分析的特点,主要在于以下几个方面:

1、确定需求难。客户想要的系统往往是针对其所熟悉的领域而提出的,而开发人员想要实现功能往往会做大量的需求调研和花费大量时间与客户沟通,而应用领域的复杂性以及业务变化,使得需求难以确定,尤其是用户表述中充满不确定性。

2、需求动态变化。系统的需求主要来源于客户,客户想要什么功能,开发人员就要实现什么功能。而在与用户沟通过程中,用户很难清晰且完整的提出他所需的功能。项目立项后,开发人员只能根据初步的需求开发系统,且随着开发周期的进行,用户会不断地提出新的需求,更有甚者,用户会推翻所完成的功能模块,使得开发过程进行的无比困难。

3、交流难以达成共识。开发人员与客户实属于不同领域的角色,不同的背景认知,给交流带来了巨大的困难。且客户对问题表述不够准确,开发者的理解不够充分等带来的矛盾,难以形成一致。

因此,在准备阶段,可行性研究是必须要进行的。开发方需对客户提出的需求及实际情况进行验证,结合自身情况,从经济、技术、社会等不同方面进行分析论证,根据得出的结论,决定项目是否实施。

3.1.1功能需求

通过对租赁系统的研究,系统所要实现的功能有:

(1)系统用户由用户和系统管理员2种角色扮演。管理员管理后台系统;普通用户在前台页面进行租赁业务和自身信息的管理。

(2)注册和登录功能。登录前台系统需要进行注册用户信息。任何人都可以浏览前台首页,但进行租赁业务必须要登录。

(3)商品租赁和商品出租功能。用户登录后可进行此业务。商品租赁即用户进入首页,选择所要的商品,点击租赁,选择时间,下订单,付款后即可完成业务。商品出租即用户将自己的商品已一定时间/价格提交给后台管理员审核,通过即可上架在系统上。

(4)租赁商品类型管理。系统上架的商品是需要分类的,方面用户的体验和查询。对这些类型管理需要管理员登录后进行操作。

(5)租赁业务管理。管理员有对商品、订单等业务类型的管理权限。用户上架的账号需要管理员审批通过方可上架。用户完成相应的租赁业务形成的订单可进行删除和修改等操作。

(6)查询功能。用户对租赁信息的查询。

(7)用户留言功能。用户可对租赁的商品进行评价留言。

3.1.2 用例分析

用例图主要是为了让开发人员能一目了然的领会系统用户与个功能模块之间的关系而建立的。一个系统由多种用户角色和各个不同的功能模块组成。不用的用户角色拥有其对应操作功能模块的权限,而各功能模块的关系紧密且复杂。用例图可以人从外部的角度分析系统,梳理各功能模块的关系,防止功能多余。

图3-1展示的系统用例总图,图中所示的是管理员和用户角色的功能权限范围。功能有首页展示、用户中心、卖家中心、买家中心和后台管理。用户只能使用前端的功能。管理员负责后台信息的管理。

图3-1 系统用例总图

首页展示给出的是供用户浏览的系统页面信息。如下图3-2所示。里面有商品搜索、账号类型展示、账号列表、公告、交易信息和排行榜等功能。用户可以通过首页信息搜索出想要的账号信息,进而完成租赁业务。

图3-2 首页展示图

图3-3是用户信息图。由此图,我们可以看出用户中心由五部分组成。分别是我的账户、账号铺、账号管理、资金中心、用户信息。在用户中心,用户可以了解注册或完善资料之后的个人信息。

图3-3 用户中心图

图3-4是卖家中心图。卖家可以发布账号、进行账号管理、查看交易记录。

图3-4 卖家中心图

图3-5是买家中心图。给出的是已买账号和我要充值等功能。

图3-5 买家中心图

图3-6是后台系统管理图。在图中定义了后台系统的工作内容。后台系统的信息关系着前台内容的显示。管理员能管理网站用户信息、公告信息、账号信息、订单信息、资金记录、留言评价等。

图3-6 后台管理图

3.1.3 性能需求

(1)在满足基本的软硬件需求下,系统运行稳定,页面加载和数据传输要快且安全性能高。

(2)处理能力强、实时性强。系统的性能由硬件和软件决定。在硬件满足的情形下,我们要尽量优化软件方面的执行速度,即优化逻辑结构,加快响应时间。让系统处理请求时,少做一些不必要的步骤,让数据的传递更快,从而更具实时性。

(3)系统具有抗压能力。用户并发数和吞吐量决定了系统有多大的抗压能力。系统在运行期间,在高并发用户进行租赁下,系统能稳定运行。

3.2 数据流程分析

数据流程图分析主要是对系统内部各个功能之间数据的流向进行分析,绘成图表,让人能直观清晰的观察和理解数据的流向。通过图表可以分析,数据在模块与模块之间的流动是否合理准确,若不合理,则可以分析问题出在什么地方,又该如何解决。通过分析得结论,加以验证,从而避免对系统开发造成影响。

数据流程图(Data Flow Diagram),简称DFD,是一种以抽象的图像加以文字描述来归纳信息的来源和去向的流程图。数据流图有外部实体、处理过程、数据流、数据存储。[5]

数据流程图通常采用分层结构(如:顶层、中间层、底层)。阐明用户与系统各个模块之间的交叉关系的起源和末端,是绘制顶层流图的枢纽。

图3-7 描述的是顶层数据流程图。图中有2种角色,角色之间的关系通过租号系统的数据流向呈现。如:用户通过在各模块中产生的数据先流向系统逻辑层,再递交给后台管理员。

图3-7 顶层数据流程图

图3-8 描述的中间层的数据交互。相对于顶层,中间的数据流向更为直观。其中

[5]

参考百度

增加的部分是对数据流程的细化分解。但满足以下两个原则(单向流向和单一功能)则要终止分解。

图3-8 中间层数据流程图

从上面的数据流程分析,我们可以得出反馈的数据结果。如图3-9所示。

图3-9 用户管理流程图

图3-10描述是账号管理数据流程图。

图3-10 账号管理数据流程图

图3-11描述的是订单管理数据流程图。

图3-12 描述的是留言管理数据流程图。

图3-12 留言管理数据流程图

第四章 系统设计

4.1 系统总体技术架构

本系统根据“高内聚低耦合”的思想,采用由表示层、数据访问层、和业务逻辑层组成的B/S的三层体系结构。

(1) 表示层

表示层位于体系结构的对外层,工作任务是传达用户的数据和以直观清晰的界面将系统数据输出给用户。表示层采用web页面呈现。

(2) 业务逻辑层(Business Logic Layer)

业务逻辑层处于系统架构的组件层,处于结构中的十分紧要的位置,上承表示层,下接数据访问层。它是数据交通的中转站,接收用户传达过来的数据和活动请求,且将其分发给对应的程序执行,最后将执行得到的结果反馈给用户。

在系统开发过程中,业务逻辑层是架构体系的中流砥柱。业务逻辑层是根据系统分析设计之后制定的系统规则,完成相应的系统功能。

因为层是一种弱耦合结构,层与层是向下的依赖关系,高层的设计依赖于下层的基础,但下层无法控制高层的形态。倘若在分层设计时依照面向接口设计的思想,那样的层次关系也可以是一种弱依赖关系。所以在接口定义不发生改变的先决条件下,理想的分层式架构,应当是一个支持可拉取、可更换的“抽屉”式架构。正是因为这样,业务逻辑层担当了两个不同角色的工作,为此它的设计对于一个支持可延伸性的架构尤其要紧,因为它对于数据访问层来说,它是调用者;对于表示层来说,它是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。[6]

(3)数据访问层

数据访问层的工作任务主要是依据业务逻辑层传达过来的操作指令,执行对数据库的操作。简单来说,数据访问层是通过DAL的方式来操作数据库。而在应用过程中,业务逻辑层的每一条针对数据库的指令都需要数据访问层提供一条对应的SQL语句,而数据访问层只是负责执行业务逻辑层的操作指令,没有自主的判断力,为了精确地实现业务层与数据库的数据交互,一般需要开发人员在该层编写访问数据的SQL语句。

然而,数量庞大的数据访问层SQL指令编写对于开发人员是一个巨大的工作负担,也会影响系统开发的进程。由此本系统采用Mybatis作为数据访问层,Mybatis提供

[6]

参考百度百科

了Generator逆向工程,可生成数据访问层所需的DAO层、POJO实体和XML代码,方便开发。

4.2 系统功能模块设计

4.2.1 功能模块化

系统的开发不是一蹴而就的,系统设计是必不可少的。在设计系统结构时,采用何种方法影响了往后的开发和维护过程。系统采用模块化的开发方法,既可以在逻辑上简化开发,缩短产品开发周期,同时也方便软件后期的维护和更新,特别是软件出现故障时,可以快速的查找到故障所在的模块并及时解决。

系统模块化的意思是将系统架构分离出若干个功能模块,各个功能模块承担不同的功能。分离之后得到的功能模块,为其进行程序设计时,条理逻辑会更加清晰,在调试和维护代码时也更加容易。

4.2.2 系统功能模块划分

图4-1所示的是本系统的功能模块图。

图4-1 功能模块图

从上图中,我们可以看出本系统有如下模块: (1)前端界面

前端界面是展示商品给用户浏览的。用户在首页可以看到账号信息、公告、排行榜等等。

1)注册登录:用户可以不用登录便可浏览首页。但是租号必须要登录才能进

行。

2)用户信息:用户登录后可以查看或者修改个人的信息。

3)发布账号:用户登录成功后可以发布自己所拥有的账号,后台审核通过则可上架。

4)租用账号:用户登录后可以租用账号。 5)搜索账号:用户可以搜索自己想要的账号。 6)文章公告:首页会展示公告给用户看。 7)排行榜:热门账号会出现在排行榜上。

(2)管理员信息管理:管理员可管理和查看管理员信息。 (3)用户信息管理:管理员可管理和查看用户信息。 (4)文章信息管理:管理员可管理和查看文章信息。 (5)账号分类管理:管理员可管理和查看账号分类信息。 (6)账号类型管理:管理员可管理和查看账号类型信息。

(7)账号列表管理:管理员可管理和查看账号列表信息并进行审核。 (8)订单管理:管理员可管理和查看订单信息。 (9)充值记录管理:管理员可管理和查看充值记录信息。

4.3 数据库设计

数据库是用来存储系统运行时产生的数据。因而数据库的设计尤为紧要,既要满足系统分析与设计的要求,同时也要支持数据库系统满足的结构,所以要根据需求整理出来的用例,通过设计与建模,打造系统数据库的表结构和存储过程。

鉴于数据库系统的复杂性,为了支持相关程序生存,设计数据库就显得十分困难,所以最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,即是规范和结构化数据库中的数据对象以及这些数据对象之间的关系的过程。[7] 4.3.1 数据库概念设计

数据库这个称谓,是我们对现实世界理解的信息,通过对其分类,整理归纳,将存储在某一地方,但是这个地方并没有具体的形态,所以我们将这个地方抽象的形容为数据库概念模型。这个概念模型映射出真实世界各组成部分的信息结构、信息流动情况、信息间的相互制约关系以及各组成部分对信息保存、查找和完善等。所以建立的模型应避让数据库在计算机上的具体实现细节,用一种抽象的形式呈现出来。以实

[7]

参考百度百科

体-(E-R模型)联系模型方法为例,第一步先明确实真实世界中信息的组成部分所包含的实体及属性、实体间的联系以及对象的制约条件等,从而给出组成信息的局部描述。第二步再将之前得出的多个局部视图拼凑成为一个整体视图,即我们所理解的真实世界的概念数据模型。

建立概念数据模型是我们对用户描述的信息的初始领会。通过对用户描述的现实需求理解,我们将其建立起一个抽象的模糊的概念模型。这个概念模型主要由实体-联系图(Entity-Relationship Diagram)、实体(Entity)、属性(Attribute)、联系(Relationship)等部分组成。

基于对系统需求分析的层层划分,我们得出如下实体和E-R图联系。 账号分类实体的属性有id、名称、图片、描述和添加时间。如图4-2所示。

图4-2 账号分类实体图

账号列表的属性有id、租用类型、用户id、账号类型、出租账号、出租密码、到期时间、关键字、描述、私密描述、是否保持出租、添加时间、销售次数、状态、拒绝理由、价格。如图4-3所示。

图4-3 账号列表实体

账号类型属性有id、分类id、名称、图片、网址、描述、租用次数、销售次数、添加时间。如图4-4。

图4-4 账号类型实体图

管理员包括序号、名称、密码、添加日期、状态等属性。如图4-5

图4-5 管理员实体图

文章公告包括序号、排序、标题、添加日期、关键字、描述。如图4-6。

图4-6 文章公告实体图

留言的属性有id、账号列表id、用户id、描述、添加时间。如图4-7。

图4-7 留言实体图

订单包括id、订单id、账号列表id、出租类型、用户id1、用户id2、金额 、实得金额、积分、添加时间、订单到期时间、状态。

图4-8 订单实体图

用户包括序号、名称、密码、头像、QQ、邮箱、余额、积分、店铺名称、店铺描述、购买次数、添加时间、状态。如图4-9。

图4-9 用户实体图

各实体的联系如E-R图所示如下。

图4-10 E-R图

4.3.2 数据库逻辑设计

数据库逻辑设计,原理是把概念结构E-R图转变成数据库管理系统适用的逻辑结构。人们通常使用的是Oracle或Mysql等关系型数据库,因此在设计逻辑结构时,一般用三步来完成:(1)将E-R图转换为关系模型(2)根据具体数据库监管系统的特征和制约转换为指定数据库监管系统支持下的数据模型(3)进行实体属性的优化。

因为用户所描述的现实参杂许多重复多余的信息,我们还需对信息进行3NF精简。第一NF,使字段不再分解;第二NF,规范实体的属性完全仰赖于主关键字;第三NF,减除相关依赖,即要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。

经过3NF的优化处理,可以得出系统的逻辑结构表。如下: 管理员(主键ID,名称,密码,状态,添加时间) 公告(主键ID,排序,标题,关键字,描述,添加时间) 账号分类(主键ID,名称,图片,添加时间)

账号类型(主键ID,分类ID,名称,图片,网址,描述,租用次数,销售次数,添加时间)

账号列表(主键ID,租用类型,用户id,账号类型,出租账号,出租密码,到期时间,关键字,描述,私密描述,是否保持出租,添加时间,销售次数,状态,拒绝理由,价格)

用户(主键ID,名称,密码,图片,qq,邮箱,余额,积分,店铺名称,店铺描述,购买次数,添加时间,状态)

留言(主键ID,账号列表id,用户id,描述,添加时间)

订单(主键ID,订单ID,账号列表ID,出租类型,用户ID1,用户ID2,销售次数,金额,实得金额,积分,添加事假,到期时间,状态) 4.3.3 数据库物理设计

物理设计,依据逻辑结构设计所得的实体属性进一步设计成数据库表结构,为满足需求限制,表结构会设置相应的制约条件。表结构设计的是否合理,关系着系统性能的好坏,以及对后期维护更新的影响。

管理员表主要包括ID,名称,密码。

表4-1 管理员表

字段 Id Name 类型 Int Varchar(30) 字段说明 主键 名称 备注 自增 非空

password status addtime

Varchar(50) int Date 密码 状态 添加时间 非空 默认为1 跟随系统时间 公告表主要包括ID,排序,标题,内容,添加时间。

表4-2 公告表 字段 Id Sort Title Text addtime 类型 Int int Varchar(30) Varchar(500) Date 表4-3 公告表 字段 Id Name accimg addtime

账号类型表主要包括ID,分类id,名称,图片,网址,添加时间等。

表4-4 账号类型表 字段 Id Fenid Name Accurl Addtime Text Xiaono Zuno

账号列表主要包括ID,租用类型,用户id,账号类型,到期时间,添加时间等。

类型 Int int Varchar(30) Varchar(80) Date Varchar(500) Int Int 字段说明 主键 分类id 名称 内容 添加时间 描述 销售次数 租用次数 备注 自增 非空 非空 默认为1 跟随系统时间 类型 Int Varchar(30) Varchar(30) Date 字段说明 主键 排序 标题 添加时间 备注 自增 非空 非空 跟随系统时间 字段说明 主键 排序 标题 内容 添加时间 备注 自增 非空 非空 跟随系统时间 账号分类表主要包括ID,名称,图片,添加时间。

表4-5 账号列表 字段 Id Acctype Userid Accid addtime Accuser Accpass Lodtime Keyword Text Prtext Expire Xiaono Status Juinfo Price

留言表主要由ID,排序,标题,内容,添加时间等实体构成。

表4-6 留言表 字段 Id Accreid Userid Text addtime

用户表主要由ID,排序,标题,内容,添加时间等实体构成。

表4-7 用户表 字段 Id Username 类型 Int Varchar(50) 字段说明 主键 用户名 备注 自增 非空 类型 Int int Varchar(30) Varchar(500) Date 字段说明 主键 账号列表id 用户id 内容 添加时间 备注 自增 非空 非空 跟随系统时间 类型 Int int Varchar(30) Varchar(30) Date Varchar(50) Varchar(50) Date Varchar(200) Varchar(500) Varchar(500) int int int Varchar(50) float 字段说明 主键 排序 标题 内容 添加时间 租用账号 租用密码 到期时间 关键字 描述 私密描述 到期是否继续 销售次数 状态 拒绝理由 价格 备注 自增 非空 非空 默认为1 跟随系统时间

Pass Photo addtime Qq Mailbox Money Jifen Shopname Shopinfo Gouno Status

Varchar(30) Varchar(30) Date Char Varchar(50) Float Int Varchar(50) Varchar(50) Int Int 密码 图片 添加时间 Qq 邮箱 余额 积分 店铺名称 店铺描述 购买次数 状态 非空 默认为1 跟随系统时间 订单表主要包括ID,排序,标题,内容,添加时间。

表4-8 订单表 字段 Id Orderid accreid acctype addtime Userid1 Userid2 xiaono price shide jifen lodtime status

类型 Int int Varchar(30) Int Date Int Int Int Float Float Int Date Int 字段说明 主键 排序 账号列表id 出租类型 添加时间 用户id1 用户id2 销售次数 价格 实得金额 积分 到期时间 状态 备注 自增 非空 非空 跟随系统时间

第五章 系统实现

系统设计完成后,根据所掌握的信息进行,使用编程技术对系统进行开发,实现系统的各种功能。本系统主要分为两个子系统,前台业务系统和后台管理系统。本章将详细说明这两个子系统主要的功能实现。前台系统主要有登陆和注册模块、初始界面模块、租赁业务模块、用户信息模块、支付模块等;后台管理系统主要有公告系统管理、账号系统管理、信息记录管理、订单管理、用户管理等。

5.1 前台业务系统

5.1.1 登陆和注册模块

本系统中前台系统供任何用户浏览,但是要进行相应的功能操作,则需已注册的用户先进行登录,未注册的用户需进行注册之后再登录。账号和密码是登录的必填条件,只有账号和密码正确才能登录成功。为优化用户体验,避免跳转页面丢失用户信息而造成用户再次登录,将用户信息保存到Session中。功能实现和代码如下:

图5-1用户登录

用户注册信息,需要填写用户的基本信息。注册成功后,系统会发送邮件到用户的邮箱供用户确认,且系统系统自动完成用户的登陆。代码如下:

发送邮件的实现过程是调用Sendmail类里面定义的run线程和createmail方法,将用户信息通过后台设置的调用邮件服务器的信息发送到用户的邮箱。代码如下:

效果如下:

图5-2 用户注册

5.1.2 首页展示

初始界面是前端系统的引导页,供人浏览本系统的业务和商品的。首页有账号栏、公告栏、交易信息、和排行榜等。如图:

图5-3 首页展示

5.1.3 租赁业务模块

用户登录成功后,如需出租账号,可在此页面发布。发布账号只需将账号信息填写在文本框里,点击发布即可。账号发布之后,需要管理员在后台审核通过才能展示到前端系统的商品栏里。具体实现代码如下:

页面展示如图5-2。

图5-4 发布账号

如需租用账号,首先要在首页找到自己要租的账号,如果账号余额充足,点击租用即可,租用成功系统自动显示账号和密码。功能实现如下:

实现效果如图5-3.

图5-5 租用账号

5.1.4 用户个人信息模块

用户个人信息是用户保存在本系统的基本信息。主要显示如下:

图5-6 用户个人信息

5.1.5 支付模块

当用户在租用账号时,余额不足,系统提示是否要去充值。在充值页面,输入要充值的金额,默认为支付宝支付,点击按钮提交之后系统将调用第三方接口跳转到支付宝支付页面。充值完成返回用户个人信息页面。实现支付宝支付,首先要设置接口信息。代码如下:

然后是跳转到支付页面的代码:

支付成功之后,系统会分别调用两个接口:一个是同步接口,一个是一步接口。我这里只显示在同步接口完成充值成功后用户余额的修改。代码如下:

由于本人没有营业执照,所以使用的是沙箱测试环境,后续只需填写真正的秘钥便可实现。跳转至支付宝页面效果如下:

图5-7 支付宝支付页面

5.2 后台管理系统

5.2.1 公告模块管理

后台也是需要进行登陆验证的,但是在这里就不用多讲了。公告管理模块是管理前台系统的公告栏。公告栏有公告分类和公告文章。管理员可对其进行相应的操作。

具体实现是通过pagehelper插件实现分页,利用hashmap将数据集合,然后将数据以json格式输送到前台。往后的代码与此大径相同,就不多描述了:

图5-8 公告分类

图5-9 公告文章

5.2.2 账号系统管理

账号系统分为网站分类、账号类型和账号列表。其效果如下

图5-10 网站分类

图5-11 账号类型

图5-12 账号列表

5.2.3 信息记录管理

信息记录主要是记录用户充值金额的信息。

图5-13 充值记录

5.2.4 订单管理

订单管理是管理员对用户进行租赁行为时产生的订单信息进行所需操作。管理员能修改订单的状况或者删除订单信息,也能预览订单的具体内容。效果如下

图5-14 订单管理

5.2.5 用户管理

用户管理分为对网站用户和管理员管理。管理员能删掉、编辑、增添新的用户。管理员能编辑其他管理员的信息。

图5-15 用户管理

图5-16 管理员管理

第六章 系统测试

系统测试是系统开发流程中必要且关键的部分。系统测试主要是检验系统的功能是否符合客户的需求和系统是否能正常稳定运行。系统测试分为黑盒测试和白盒测试。

6.1 测试基本要求

6.1.1、测试环境

操作系统:windows 10系统。浏览器:360安全浏览器。数据库:Mysql。 6.1.2、测试内容 (1)登录注册功能。 (2)发布账号功能。 (3)租用账号功能。 (4)留言功能。 (5)用户修改信息功能。 (6)充值功能。

(7)后台系统的增删查改。

6.2 功能测试

添加 输入项合法:添加;不符合:提示错误 必要字段已填:添加;未填:提示错误

删除 修改 选定字段:存在记录,则删除 输入域合法 指定阻断更改满足要求:修改 查询

满足查询条件,可以查询,不满足提示错误 登录功能测试:输入项不能为空,否则提示错误。验证账号和密码是否匹配,不匹配则提示错误。如图:

图6-2 账号密码不能为空

图6-2 账号密码错误

租赁业务功能测试:用户发布账号输入项不能为空,否则提示错误。用户租用账号,验证用户余额是否足够,否则提示是否跳转到充值页面。

图6-3 发布账号输入项

图6-4 余额不足

用户留言测试:留言输入项不能为空。不能超过500字数。

图6-5 留言测试

充值模块测试。充值金额不能为空。可以跳转到支付宝页面。

图6-6 充值测试

订单管理测试。测试管理对修改订单状态和删除订单的操作是否正常。

图6-7 修改订单状态测试

图6-8 删除订单测试

账号管理测试:账号管理带有*号的输入项不能为空。输入匹配则插入数据库,删除按照ID将数据删除。

图6-9 账号管理测试

公告管理测试。公告输入项不能为空。输入匹配则插入数据库。

图6-10 公告测试

6.3 测试结果

测试模块 登录注册模块 测试方法 单元测试 测试内容 验证用户名和密码 测试结论 通过

租赁业务模块 用户留言模块 单元测试、集成测试 单元测试 对发布账号和租用账号进行测试 对用户留言的内容测试 对充值金额,调用支付宝支付模块测试 对订单管理的状通过 通过 充值模块 单元测试 通过 订单管理模块 单元测试 态。删除,添加订单测试 对用户增删查改测试 对账号分类、账号类型、账号列表进行增删查改测试 对公告的增删查改,以及显示在首页测试 通过 用户管理模块 单元测试 通过 账号管理模块 集成测试 通过 公告管理模块

单元测试、集成测试 通过 经过单元测试和集成测试,对代码的排查、逻辑的检验,以证明该系统可行。

第七章 总结

本课题研究的是账号租赁系统的设计与实现。主要内容是将自己学到的软件知识和思想,以及相关软件技术开发出一个基于WEB的应用网站。本系统是使用Eclipse工具,应用SSM框架开发的JSP系统,采用Mysql数据库存储数据。系统在设计上采用B/S三层体系架构,这样做的原因主要是符合SSM框架的特性。SSM框架在逻辑上非常清晰,Spring结束的IOC和AOP技术对业务逻辑的开发非常有帮助,使得每一个业务都对应一个映射,结构清晰。这样不仅反便于系统的开发,也易于将来系统功能的延展。经过系统的开发,本系统实现了前端用户在线租用业务的诸多功能,也实现后台系统的管理功能。系统也经受住测试的考验,已证明系统可行。在逻辑上系统的各个功能模块相互孤立,在应用上它又协作运行,体现了软件工程的“高内聚,低耦合”的思想。系统开发的成功,主要得益于前期需求分析做得好,在设计上严格遵循了软件开发周期的基本规律,以及通过各种图表理清了开发逻辑思路。

最后,尽管系统还有诸多不足,还需要在往后不断的探索和实践中逐渐完善。

第八章 致谢

经过这段时间来对系统的开发,使我对程序开发有了很大的理解和并且对软件技术产生更加浓厚的兴趣。从论文的选题到系统的实现,每一天都充满着精彩与挑战。在这里,我要特别感谢我的指导老师向燕飞老师的指导以及同学们的鼓励。

向燕飞老师认真有耐心的教学态度和渊博的学识令我佩服。在老师的指导下 ,我找到了我心仪的毕设题目,并且在老师谆谆教诲和耐心帮助下,我完成了我的毕设作品和毕业论文。对此,我表示由衷的感谢!

参考文献

[1]李洋. SSM框架在Web应用开发中的设计与实现[J] 计算机技术与发展 2016 [2]牛德雄. 基于MVC的JSP软件开发案例教程[M]. 清华大学出版社 , 2014 [3]殷立峰. JSP Web应用开发[M]. 清华大学出版社 , 2015

[4]贺雪梅. web应用开发中的SSM框架设计[J]. 电子世界. 2019(01) [5]陈峰. 基于SSM框架的B2C网上商城系统的设计与实现[D].湖南大学.2018 [6]黑马程序员. Java EE企业级应用开发教程[M]. 人民邮电出版社 , 2017 [7]刘增辉. MyBatis从入门到精通[M]. 电子工业出版社 , 2017

[8]朱玉麟. 一种网络视频VIP账号共享系统的设计及实现[J].电子科技大学 [9]邹红霆. 基于SSM框架的Web系统研究与应用[J]. 湖南理工学院学报(自然科学版). 2017(01)

[10]李孝汕.基于WEB的租赁系统设计与实现[J].电子科技大学 2014

因篇幅问题不能全部显示,请点此查看更多更全内容

Top