基于Jsp和MySql的汽车租赁系统

攀登者ing

发布日期: 2020-12-22 11:12:14 浏览量: 252
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

一、引言

汽车租赁管理系统是基于MVC三层架构完成,使用Java语言开发,主要应用Jsp完成前台界面部分,Servlet MVC完成后台逻辑部分。

本系统的设计从现实角度出发,根据实际汽车租赁信息管理系统的实际需求,采用模块化设计,便于系统组合和修改,又便于技术维护人员更新、维护;以及根据用户需求进行数据的维护与更新。系统的设计过程由概述、需求分析、技术方案、总体设计、详细设计、软件测试、总结等部分构成。

二、需求分析

汽车租赁业被称为交通运输服务行,它因为无须办理保险、无须年检维修、车型可随意更换等优点,以租车代替买车来控制企业成本,这种在外企中十分流行的管理方式,正慢慢受到国内企事业单位和个人用户的青睐。 汽车租赁是指将汽车的资产使用权从拥有权中分开,出租人具有资产所有权,承租人拥有资产使用权,出租人与承租人签订租赁合同,以交换使用权利的一种交易形式。

2.1系统角色

本系统有四个角色分别为:超级管理员,管理员,业务员,经理,分别具有不同的权限对汽车信息、顾客信息进行编辑。

2.2 系统权限

不同角色登录就有着不同的权限:

  • 超级管理员:具有系统管理、基础数据管理、车辆预定管理、核心业务管理和统计管理的权限。其中系统管理包括用户管理、角色管理;基础数据管理包括客户类型管理、汽车品牌类型管理、汽车基本信息管理和客户基本信息管理;车辆预定管理包括顾客基本信息管理和汽车信息管理;核心业务管理包括租赁管理和归还管理;统计管理包括统计车辆管理和用户统计管理

  • 管理员:具有用户管理、车辆基础信息管理、客户基础信息管理的权限

  • 业务员:具有车辆预定管理和车辆取消预订管理的权限

  • 每个角色:都有个人信息管理权限,超级管理员可以修改个人基本信息,包括密码修改,更改管理员、业务员、经理的权限,同时可以添加所有的软件用户

2.3 数据库需求

2.3.1 数据库E-R图

本系统的主要的实体有用户,汽车故障,汽车。它们对应的实体ER图如下所示。

2.3.2系统管理模块

该系统数据库共有九个实体,实体属性图如下面所示。

用户信息实体图如图2-2所示:

角色信息实体图如图2-3所示:

菜单信息实体图如图2-4所示:

管理员信息实体图如图2-5所示:

员工信息实体图如图2-6所示:

汽车信息实体图如图2-7所示:

2.4 功能列表

三、概要设计

3.1 系统功能模块分析

按照需求分析中的功能列表,以及对每个模块的功能分析,可以整理得出系统的功能模块总体结构如图3-1所示:

3.1.1 系统管理

系统管理包括用户管理和角色管理两个子模块。用户管理可以对用户进行增删改查,并能为用户分配会员角色;同样,角色管理也具有增删改查的功能,且能为角色分配权限。

3.1.2 基础数据管理

基础数据管理包括客户类型管理、车辆品牌管理、车辆基础信息管理和客户基础信息管理。客户类型管理可以更新会员的分类信息、折扣信息;车辆品牌管理可以对已有车辆的品牌信息进行增删改查;车辆基础信息管理可以对车辆的基本信息进行添加、修改、查询、删除;客户基础信息管理可以对客户的基本信息进行增删改查。基础数据管理主要用于对车辆、客户的信息以及相关的信息进行管理。

3.1.3 车辆预定管理

车辆预定管理包括车辆预定管理和车辆取消预订管理;车辆预定管理是对车辆预定状态的更新,可以修改车辆的状态显示信息;车辆取消预订管理则是对车辆预定状态的注销。

3.1.4 核心业务管理

超级管理员可以对核心业务进行操作,租赁管理可以对所有正在租赁的汽车进行管理,归还管理用于记录已归还的汽车。

3.1.5 统计管理

统计管理包括统计车辆管理和用户统计管理,统计车辆管理用于对本月已租赁车辆生成统计报表,用户统计管理则用于统计本月租借车辆的用户的人数。

3.2 系统用例

在汽车租赁管理系统中包含四类角色,分别为超级管理员、管理员、业务员和经理。

3.2.1 系统管理员

超级管理员的功能为核心业务管理和统计管理。超级管理员的用例如图4-2所示:

3.2.2 管理员

管理员的功能是对用户及汽车的基本信息进行增删改查的管理。管理员的用例如图4-3所示:

3.2.3 业务员

业务员的功能是对目前可租借汽车的查询以及预定和取消预订汽车。业务员的用例如图4-4所示:

3.2.4 经理

经理的功能是对车辆统计报表以及客户类型的更新。经理的用例如图4-5所示:

3.3 数据库设计

web_sys_user:用户信息表

字段名称 含义 数据类型 是否主键 是否外键 其他约束
user_id 用户id int 自增长
account 账号 varchar(50) 非空
password 密码 varchar(50) 非空
user_name 用户名 varchar(50) 非空
sex 性别 varchar(50)
telphone 联系方式 varchar(50)
user_status 状态 varchar(1) 默认为1
fk_role_id 角色id varchar(50)

web_sys_role:角色信息表

字段名称 含义 数据类型 是否主键 是否外键 其他约束
role_id 角色id int 自增长
role_name 角色名称 varchar(50) 非空
role_status 状态 varchar(1) 默认为1
photo 图片 varchar(50)
role_desc 描述 varchar(50)

web_sys_menu:菜单信息表

字段名称 含义 数据类型 是否主键 是否外键 其他约束
menu_id 菜单id int 自增长
menu_name 菜单名称 varchar(50) 非空
parent_id 父节点 varchar(50)
url 路径 varchar(50)

role_link_menu:角色菜单中间表

字段名称 含义 数据类型 是否主键 是否外键 其他约束
link_id 连接id int 自增长
role_fk_id 角色id int 非空
menu_fk_id 菜单id int 非空

car:汽车租借表

字段名称 含义 数据类型 是否主键 是否外键 其他约束
car_id 汽车id int 自增长
car_code 车牌号 varchar(50) 非空
car_name 车名 varchar(50) 非空
car_color 颜色 varchar(50)
car_info 租借人 varchar(50)
car_fk_type 车辆id varchar(50)

car_type:汽车类型表

字段名称 含义 数据类型 是否主键 是否外键 其他约束
type_id 汽车品牌id int 自增长
type_name 品牌名称 varchar(50) 非空
type_desc 汽车描述 varchar(225)

四、详细设计

4.1系统类图

使用MyEclipse开发工具截出系统的主要类图。

客户类型的主要类图如图所示:

租车服务主要类图如图所示:

4.2用户登录

4.2.1 登录实现

用户登录信息需要满足客户端校验和服务端校验才能登录成功。当用户名和密码都正确时,先从用户和角色的中间表遍历该用户扮演的角色,再根据角色从角色和权限的中间表遍历该用户拥有的功能权限,最终,将用户的个人信息及其具有的功能显示到首页。

4.2.2 异常处理

异常主要包括用户名或密码为空、用户名或密码在数据库中不存在。根据异常原因,将在对应的输入框后面显示提示信息。

4.2.3 主要实现方法

  • 在登陆界面设置按钮,并且利用Onclick连接事件toSub(),进行判断用户名和密码是否为空

  • 在web.xml文件中配置相应文件,点击登录按钮,将输入的表单信息提交到UserLoginServlet中。在Login.jsp中将传过来的用户名和密码与数据库用户表中的信息进行比较,满足校验,根据用户名获取相应角色,再根据角色获取相关权限,成功登录系统主界面main.jsp。登录失败,返回Login.jsp

登录流程如图4-4所示:

4.3 基本信息管理

基本信息管理包括客户类型管理、车辆品牌管理、车辆基础信息管理、客户基础信息管理。

4.3.1 租借信息添加实现

添加租借汽车的基本信息需要输入租借人基本信息租借车辆品牌租借车辆车牌号等。添加成功时,主键id自动生成。

4.3.2 异常处理

异常主要包括输入信息为空、输入信息格式不正确。根据异常原因,将在对应的输入框后面显示提示信息。

4.3.3 主要实现方法

用Onclick将按钮连接事件触发相应的方法进行校验。验证通过进行数据添加,故障添加流程图,如图5-6所示:

4.4 车辆预定管理

车辆预定管理包括车辆预定管理和车辆取消预订管理。

4.4.1 车辆预定和取消预订编辑实现

选择编辑或注销按钮触发相应的事件,进入编辑页面进行编辑或者进行注销操作。操作完成后更新页面和数据库。

4.4.2 异常处理

异常主要包括输入信息为空、输入信息格式不正确。根据异常原因,将在对应的输入框后面显示提示信息。是否进行注销操作的友好界面提示。

4.4.3 主要实现方法

用Onclick将按钮连接点击事件触发相应的方法进行校验。车辆编辑流程图,如图4-7所示:

五、系统实现

5.1 登录界面

5.2 初始界面

5.3 添加租车信息界面

5.4 菜单栏界面

5.5 添加汽车预订信息

六、总结

经过近两个星期的努力,终于设计出一个达到程序设计要求的数据库。其功能完整,用户界面良好,但是也存在着某些缺陷。需要进一步的得到改善纠正。总的来说基本达到了用户的基本要求。 这一段时间的工作努力,最后的结果固重要,但更重要的是它让自己了解了信息系统设计的一般过程。在接受客户的一个项目的时候,首先是进行系统分析。既首先分析其以后的销售情况以及技术可行性。如果二者可行,我们接下来做的就是总体设计。我们首先必须听取客户的要求,将其提出的功能按某种方式划分为几种模块。这就是整体设计。在对每一个模块进行细化形成最为简单的模块。然后是考虑每一细化模块的算法并将其用语言刻画出来。这就是详细设计。这就迈出了最为关键的一步。剩下的就是编译测试阶段。这是编程的必经阶段,也是我们劳动结果的验金石。只有得到我们期望的结果我们才算真正完成了任务。最后是软件的维护。在软件的使用过程中不可避免地会出现一些错误,因此维护便是必不可少的。这便是完成一个项目必经的过程。

参考文献

[1] 张志峰,郑璐娟,张建伟,宋胜利.JSP程序设计与项目实训教程[M].北京:清华大学出版社,2012.

[2] 隋春荣,耿超,董万全.JSP程序开发实用教程[M].北京:清华大学出版社,2013.

[3] 李颖, 赵菲, 刘长勇,等. 项目教学法在《Java Web程序设计》课程中的应用[J]. 科技创新与应用, 2013, (13):284-285.

[4] 薛倩.基于JSP技术企业动态网站系统设计与实现[J].北京:微型电脑应用,2014, 30(2):14-17. DOI:10.3969/j.issn.1007-757X.2014.02.004.

[5] 李峰, 刘彦隆. 基于SSH框架与jQuery技术的JavaWeb开发应用[J]. 科技情报开发与经济, 2010, 20(6):106-108. DOI:10.3969/j.issn.1005-6033.2010.06.047.

[6] 付国辉. 企业级Sql Server数据库的性能优化研究探讨[D]. 吉林大学, 2013.

[7] 程茂, 温静, 吴玉洁. 《软件测试》课程的教学研究[J]. 河北师范大学学报:教育科学版, 2010, 12(4):117-120.

[8] 孙卫琴,李洪成.Tomcat与Java Web开发技术详解[M].北京:电子工业出版社,2010.

[9] 刘京华.Java Web整合开发王者归来[M].北京:清华大学出版社,2010.

上传的附件 cloud_download 基于Web汽车租赁系统的设计与实现.zip ( 10.04mb, 5次下载 )
error_outline 下载需要12点积分

发送私信

57
文章数
9
评论数
最近文章
eject