3系统分析
需求分析是研发人员经过调研和分析后准确理解客户需求,确定系统需要具备的功能。然后对系统进行可行性和功能分析,确保符合物品租赁系统的实现价值,对后续的系统创建有显著的帮助。
3.1系统可行性分析
3.1.1技术可行性分析
基于B/S架构开发的物品租赁系统,技术方面应用了目前市面上比较主流的web三大框架,分别是Spring、Hibernate、struts2,数据库采用mysql,tomcat作为服务器,这些技术非常的成熟,在市面上有非常多成熟使用的案例,从技术角度是没有问题的,并且在学校的学习中对于这些技术就会有了一定的掌握,开发过类似的项目。
3.1.2经济可行性分析
物品租赁系统大都是区域性的管理,系统中维护的范围不会非常大,因此数据并发量不会非常高,在数据并发量不是很高的情况下,系统的资源配置相对较低,用户所需要的客户端普通的电脑即可胜任。并且物品租赁的管理系统还会提高效率减少纸质物品的使用,节约纸质资源。避免很多的人力消耗和资源浪费。从系统的开发角度分析,此次项目的开发软件全部都是开源且免费的。不需要在开发中投入经济成本,只需要专注于开发的内容即可,不会产生相应的开发费用。系统稳定使用后系统不会有过多的运维成本,投入使用后会在实际工作中发挥出重要的作用。
3.1.3法律可行性分析
物品租赁系统是自己独立设计的,该系统是本人开发出来做毕业设计之用,并不会侵犯他人、集体和国家的利益。该系统使用正版软件开发,所有参考资料都是正规网站查询分析得出,开发的技术完全是开源免费的工具,百分百遵守国家法律法规。不会出现任何违反国家的政策和法律的。
3.2系统性能分析
-
系统安全性 物品租赁系统中,系统的安全性要有一定的保障,不仅要保证系统数据存储足够安全,还要保障数据传输过程安全,还要保证对用户权限管理是合理的。保证一些意外情况发生,导致系统数据缺损时,会有历史数据备份对数据进行还原。
-
可维护性和适应性 世界是在不断进步的,互联网也在不断发展,随着行业发展,对物品租赁系统可能会产生新的需求,好的系统应该具有可扩展性,无论在现在还是未来,都能够满足用户需求,可以长期使用本物品租赁系统。
-
可靠性
物品租赁管理在发展进步,影院会越做越大,到时候系统的访问量就会比现在多很多,物品租赁系统要足够可靠,能够在并发量高的情况下,依旧保持优越的运行速度、容错能力。
3.3功能需求分析
系统的目标是为管理员和用户搭建一个网上沟通平台,保证双方的安全,并使双方的利益最大化。
3.3.1管理员需求分析
管理员端的功能主要是开放给系统的管理人员使用,能够对用户的进行管理,包括对他们的账号管理、对用户管理、公告类型管理、公告信息管理、物品类别管理、物品信息管理、物品租赁管理、物品归还管理、评价信息管理、物品出租管理、系统管理进行查看,修改和删除等,对系统整体运行情况进行了解。管理员用例分析图,如图3-1所示。
图3-1管理员用例分析图
3.3.2用户需求分析
用户的功能主要是对个人中心、物品租赁管理、物品归还管理、评价信息管理、我的收藏管理进行详细操作等。用户用例分析图,如图3-2所示。
图3-2用户用例分析图
3.4系统流程分析
在本系统,非本系统的用户要想进行物品租赁管理就要注册本系统,登录时需要填写相应的资料,如有使用者,则会显示使用者名称已经存在,请再次键入使用者名称的提示框,若使用者不存在,则填写密码、确认密码等资料,并由系统判定密码与确认密码相符,确认无误后,填写使用者所填写的资料,即可进行登记。而且,为了保证系统的安全,只有在登录了本系统以后,才能进入系统后台操作。该系统的工作流程见图3-3。
图3-3 程序流程图
4系统设计
4.1功能模块设计
对本系统进行全面的系统功能的分析,可以得出基于Hadoop的物品租赁系统的功能模块图,如图4-1所示。
图4-1 系统功能模块图
4.2数据库设计
4.2.1数据库设计原则
要学习程序设计,如果你想了解数据库管理系统或根据要求开发的系统接口,你必须创建一个数据库管理系统模型来存储数据。这样,当您在应用程序编程过程中,就不需要将信息加载到操作系统页面,从而提高整个系统的工作效率。信息库管理系统中存储着许多数据,应该说是管理信息系统建设的中心和基础。信息库管理系统还为管理信息系统的建设提供了添加、删除、更改和搜索的操作功能,使管理信息系统建设能够快速查询所需的数据,而不是直接从程序代码中查找。信息库管理系统通过按照特定的方法将信息表的各个组成部分组合起来,准确地组合、分类并构成信息库管理体系。
4.2.2系统E-R图
本毕业设计的E-R图描述了在系统中各个实体之间的联系,以下是对部分主要的关键实体如下:
物品信息实体属性图如下图4-2所示。
图4-2物品信息实体属性图
评价信息实体属性图如下图4-3所示。
图4-3评价信息实体属性图
物品出租实体属性图如下图4-4所示。
图4-4物品出租实体属性图
关于我们实体属性图如下图4-5所示。
图4-5关于我们实体属性图
公告信息实体属性图如下图4-6所示。
图4-6公告信息实体属性图
4.2.3数据库表设计
物品租赁系统的数据以一个个数据表的方式存储在数据库中,这一个个数据表示系统调取数据的基础,在进行系统数据库搭建时,会根据这些设计好的数据表进行优化搭建。系统选用MySQL数据库,对各表进行了详细的说明如下:
表名4-1:物品归还
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
wupinbianhao | varchar | 200 | 物品编号 | ||
wupinmingcheng | varchar | 200 | 物品名称 | ||
pinpai | varchar | 200 | 品牌 | ||
wupinleibie | varchar | 200 | 物品类别 | ||
wupintupian | longtext | 4294967295 | 物品图片 | ||
wupinzhuangtai | longtext | 4294967295 | 物品状态 | ||
wupinshuliang | int | 归还数量 | |||
zujin | int | 租金 | |||
zulinshijian | varchar | 200 | 租赁时间 | ||
yajin | int | 押金 | |||
zongjiage | int | 总价格 | |||
guihaishijian | date | 归还时间 | |||
wodezhanghao | varchar | 200 | 我的账号 | ||
wodexingming | varchar | 200 | 我的姓名 | ||
wodedianhua | varchar | 200 | 我的电话 | ||
yonghuzhanghao | varchar | 200 | 出租账号 | ||
yonghuxingming | varchar | 200 | 出租姓名 | ||
yonghudianhua | varchar | 200 | 出租电话 | ||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id | |||
ispay | varchar | 200 | 是否支付 | 未支付 |
表名4-2:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
xingbie | varchar | 200 | 性别 | ||
touxiang | longtext | 4294967295 | 头像 | ||
yonghudianhua | varchar | 200 | 用户电话 | ||
shenfenzhenghao | varchar | 200 | 身份证号 |
表名4-3:物品信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表名4-4:物品租赁
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
wupinbianhao | varchar | 200 | 物品编号 | ||
wupinmingcheng | varchar | 200 | 物品名称 | ||
pinpai | varchar | 200 | 品牌 | ||
wupinleibie | varchar | 200 | 物品类别 | ||
wupintupian | longtext | 4294967295 | 物品图片 | ||
xinjiuchengdu | varchar | 200 | 新旧程度 | ||
zujin | int | 租金 | |||
yajin | int | 押金 | |||
wupinshuliang | int | 租赁数量 | |||
zulinshijian | date | 租赁时间 | |||
wodezhanghao | varchar | 200 | 我的账号 | ||
wodexingming | varchar | 200 | 我的姓名 | ||
wodedianhua | varchar | 200 | 我的电话 | ||
yonghuzhanghao | varchar | 200 | 出租账号 | ||
yonghuxingming | varchar | 200 | 出租姓名 | ||
yonghudianhua | varchar | 200 | 出租电话 | ||
ispay | varchar | 200 | 是否支付 | 未支付 |
表名4-5:物品出租
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
biaoti | varchar | 200 | 标题 | ||
fengmian | longtext | 4294967295 | 封面 | ||
leibie | varchar | 200 | 类别 | ||
fuwuquyu | varchar | 200 | 服务区域 | ||
lianxiren | varchar | 200 | 联系人 | ||
gongsi | varchar | 200 | 卖方公司 | ||
sjdz | varchar | 200 | 商家地址 | ||
fatie | varchar | 200 | 发帖 | ||
laiyuan | longtext | 4294967295 | 来源 | ||
detail | longtext | 4294967295 | 店铺介绍 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 |
表名4-6:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表名4-7:物品信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
wupinbianhao | varchar | 200 | 物品编号 | ||
wupinmingcheng | varchar | 200 | 物品名称 | ||
pinpai | varchar | 200 | 品牌 | ||
wupinleibie | varchar | 200 | 物品类别 | ||
wupintupian | longtext | 4294967295 | 物品图片 | ||
xinjiuchengdu | varchar | 200 | 新旧程度 | ||
wupinshuliang | int | 出租数量 | |||
wupinxiangqing | longtext | 4294967295 | 物品详情 | ||
zujin | varchar | 200 | 租金 | ||
yajin | varchar | 200 | 押金 | ||
fabushijian | date | 发布时间 | |||
yonghuzhanghao | varchar | 200 | 出租账号 | ||
yonghuxingming | varchar | 200 | 出租姓名 | ||
yonghudianhua | varchar | 200 | 出租电话 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 |
表名4-8:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表名4-9:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表名4-10:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表名4-11:评价信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
wupinbianhao | varchar | 200 | 物品编号 | ||
wupinmingcheng | varchar | 200 | 物品名称 | ||
pinpai | varchar | 200 | 品牌 | ||
wupinleibie | varchar | 200 | 物品类别 | ||
wupintupian | longtext | 4294967295 | 物品图片 | ||
xinyongpingjia | varchar | 200 | 信用评价 | ||
pingjiashijian | datetime | 评价时间 | |||
wodezhanghao | varchar | 200 | 我的账号 | ||
wodexingming | varchar | 200 | 我的姓名 | ||
wodedianhua | varchar | 200 | 我的电话 | ||
yonghuzhanghao | varchar | 200 | 出租账号 | ||
yonghuxingming | varchar | 200 | 出租姓名 | ||
yonghudianhua | varchar | 200 | 出租电话 |
表名4-12:闲置资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表名4-13:公告信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
biaoti | varchar | 200 | 标题 | ||
jianjie | longtext | 4294967295 | 简介 | ||
fengmian | longtext | 4294967295 | 封面 | ||
neirong | longtext | 4294967295 | 内容 | ||
faburen | varchar | 200 | 发布人 | ||
fabushijian | datetime | 发布时间 |
5系统实现
在物品租赁系统的生命周期中,经过了系统分析、系统设计等阶段之后,便开始了系统实施阶段。系统的实现主要对管理员和用户功能的实现,通过实现的过程对代码和逻辑进行相应的修改和完善。该模块也是直接面对使用者的,不仅功能要齐全,而且要做到页面美观。
5.1 系统功能模块
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到物品租赁系统的导航条,通过导航条进入各功能信息展示页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
用户注册:在用户注册页面输入用户注册信息进行注册操作,用户注册页面如图5-2所示:
图5-2用户注册页面
物品信息:在物品信息页面的输入栏中输入物品名称和选择物品类别进行查询,可以查看到物品详细信息,并进行租赁、评论或收藏操作;物品信息页面如图5-3所示:
图5-3物品信息详细页面
物品出租:在物品出租页面的输入栏中输入标题、类别和联系人进行查询,可以查看到物品出租详情,并进行收藏操作;物品出租页面如图5-4所示:
图5-4物品出租详细页面
后台管理:用户注册登录系统后,在首页页面点击后台管理可以对个人中心、物品租赁管理、物品归还管理、评价信息管理、我的收藏管理等进行详细操作;用户后台管理页面如图5-5所示:
图5-5用户后台管理详细页面
5.2 管理员功能模块实现
管理员登录,在登录页面正确输入用户名和密码后,点击登录进入操作系统进行操作;如图5-6所示。
图5-6 管理员登录界面
管理员进入主页面,主要功能包括对个人中心、用户管理、公告类型管理、公告信息管理、物品类别管理、物品信息管理、物品租赁管理、物品归还管理、评价信息管理、物品出租管理、系统管理等进行操作。管理员主页面如图5-7所示:
图5-7 管理员主界面
管理员点击用户管理。进入用户页面输入用户账号可以查询,新增或删除用户列表,并根据需要对用户详细信息进行查看详情,修改或删除操作。如图5-8所示:
图5-8用户管理界面
管理员点击公告信息管理。进入公告信息页面输入标题、简介和发布人可以查询,新增或删除公告信息列表,并根据需要对公告详细信息进行查看详情,修改或删除操作。如图5-9所示:
图5-9公告信息管理界面
管理员点击物品信息管理。进入物品信息页面输入物品名称和选择物品类别可以查询或删除物品信息列表,并根据需要对物品详细信息进行查看详情、修改、查看评论或删除操作。如图5-10所示:
图5-10物品信息管理界面
管理员点击物品租赁管理。进入物品租赁页面输入物品名称和物品类别可以查询或删除物品租赁列表,并根据需要对物品租赁详细信息进行查看详情、修改或删除操作。如图5-11所示:
图5-11物品租赁管理界面
管理员点击评价信息管理。进入评价信息页面输入物品名称和物品类别可以查询或删除评价信息列表,并根据需要对评价详细信息进行查看详情、修改或删除操作。如图5-12所示:
图5-12评价信息管理界面
管理员点击物品出租管理。进入物品出租页面输入标题、类别和联系人可以查询、爬取数据、新增或删除物品出租列表,并根据需要对物品出租详细信息进行修改或删除操作。如图5-13所示:
图5-13物品出租管理界面
管理员进行爬取数据后,点击主页面右上角的看板,可以查看到系统简介、用户总数、物品信息总数、物品租赁总数、物品出租总数、类别统计、联系人统计、商家地址统计、发贴统计、租赁数量统计、出租量统计、物品出租等实时的分析图进行可视化管理;如图5-14所示:
图5-14看板界面
管理员点击系统管理,进入系统管理页面可以对轮播图管理、关于我们和系统简介进行详情或修改操作,在闲置资讯页面输入标题可以查询,新增或删除闲置资讯列表,并根据需要对闲置资讯详细信息进行查看详情,修改或删除操作。如图5-15所示:
图5-15系统管理界面
6系统测试
每个系统在经过开发者的设计与研究之后,在真正投入使用之前都需要对该系统进行专业的测试。对系统进行简单的测试可以判断它是否满足说明书中所描述的功能,并且可以找出系统设计中存在的问题以此来优化系统。系统测试的方法很多,对本系统主要采取黑盒测试对系统的功能以及性能进行测试。
6.1系统测试内容
6.1.1 登录测试
登录页面测试,测试用户admin用户名的账号系统,测试结果如表6-1所示。
表6-1 登录测试
用例编号 | 1.0 |
---|---|
所属模块 | 登录 |
操作步骤 | 在登录输入框中输入本人的密码和用户名,并点击登录按钮执行登录操作。本系统将验证用户输入的登录信息。如果信息无误,它将成功登录并跳转到个人主页,反之则弹出提示框,提示信息无效。 |
预测结果 | 如果错误输入,则会提示登录失败,请检查您的账号重试。 |
实际结果 | 在输入框里输入错误的账号或密码,弹出登录失败,请检查您的账号重试的提示框。 |
6.1.2 角色测试
系统的管理层可在此模块进行以下操作:新增角色;删除角色;修改角色基础信息;给角色设置数据权限。以权限名称:xx,权限字符:admin,菜单权限:系统管理为例对该模块进行测试。对该功能的测试操作如表6-2所示:
表6-2 角色管理测试过程及结果
测试项 | 测试用例 | 测试特性 | 用例描述 | 系统反应 | 测试结果 |
---|---|---|---|---|---|
角色管理 | 权限名称:xx,权限字符:admin菜单权限:系统管理 | 功能测试 | 添加一个新角色,基础信息与已有角色完全一致 | 添加失败,提示“该角色已存在” | 通过 |
角色管理 | 权限名称:xx权限字符:admin菜单权限:系统管理 | 功能测试 | 按关键词搜索角色信息 | 查找成功 | 通过 |
角色管理 | 权限名称:xx,权限字符:admin菜单权限:系统管理 | 功能测试 | 删除系统中角色 | 删除成功 | 通过 |
角色管理 | 权限名称:aa,权限字符:boss菜单权限:系统管理 | 功能测试 | 添加一个新角色,基础信息与已有角色均有所不同 | 添加成功 | 通过 |
6.1.3 性能测试
性能测试主要是为了模拟系统在多人使用的运行环境中测试系统的性能最大的承受压力。对关键的技术指标表示支持系统的运行速度,网络顺畅和并发的数量。当多个人使用时,系统不会崩溃。
-
运行的速度:测试在不同计算机上运行时没有出现死机的情况。
-
响应的时间:对最快,平均和最大的响应时间。经过测试,局域网应答时限参数能满足用户的需求,属于正常承受范围。
-
支持并发节点数:系统在并发节点上达到45个时,网络运营的速度波动较大,时间延迟十秒之间,符合客户需求。
6.2测试用例执行结果
根据上述测试用例对系统进行测试。测试结果如表6-3所示。
表6-3 测试用例执行结果
测试项目 | 用例状态 | 测试结果 |
---|---|---|
登录界面 | 已执行 | 测试通过 |
角色测试 | 已执行 | 测试通过 |
性能测试 | 已执行 | 测试通过 |