汽车租赁系统的设计与实现1.docx
《汽车租赁系统的设计与实现1.docx》由会员分享,可在线阅读,更多相关《汽车租赁系统的设计与实现1.docx(37页珍藏版)》请在冰豆网上搜索。
![汽车租赁系统的设计与实现1.docx](https://file1.bdocx.com/fileroot1/2022-10/9/43652972-d1ba-4eee-bb27-e16dc9c3aad7/43652972-d1ba-4eee-bb27-e16dc9c3aad71.gif)
汽车租赁系统的设计与实现1
大学毕业设计(论文)
题目:
汽车租赁系统的设计与实现
1.项目背景
1.1项目开发目标
通过开发该项目,加深自己对ssh框架的理解和应用,加强自己对jquery,json的使用,熟练掌握css来为页面进行美化,熟悉oracle数据库的配置和使用。
使自己在学校中所学的技术融合在一起、使自己学的更加深入、更加直接,从而让自己能更好的完成项目的编写。
1.2项目来源
实训项目
1.3开发目标
1.3.1允许管理人员登录、使用该系统。
1.3.2系统根据登录用户的权限生成不同的功能菜单。
其中超级管理员的权限最大、可以使用全部功能菜单-----(1、用户管理2、客户管理3、汽车管理4、业务管理5、业务统计6、系统管理)。
1.3.2允许超级管理员使用用户管理功能、对用户信息进行增、删、改、查等操作。
1.3.3允许超级管理员及其他管理人员使用客户管理功能、对客户信息进行增、删、改、查等操作。
1.3.4允许超级管理员及其他管理人员使用汽车管理功能、对汽车信息进行增、删、改、查等操作。
1.3.5允许超级管理员及其他管理人员使用业务管理功能、对出租单、检查单信息进行增、删、改、查等操作。
1.3.6允许超级管理员及其他管理人员使用业务统计功能、对当月应还汽车信息进行查看。
同时还可查看汽车信息、出租单信息、用户信息等信息的统一预览。
1.3.7允许超级管理员及其他管理人员使用系统管理功能、对角色、日志信息进行增、删、改、查等操作。
1.3.8允许用户更改自己的密码。
1.3.9没有登录的用户不能使用系统功能。
1.3.10软件结构图示:
汽车租赁系统
用户管理
客户管理
汽车管理
业务管理
系统管理
业务统计
个人信息管理
对用户信息的增、删、改、查操作
修改自己的密码
对日志信息的查看、修改操作
对角色信息的增、删、改、查操作
显示当月应还汽车相关信息
对出租单管理
对客户信息的增、删、改、查操作
对汽车信息的增、删、改、查操作
对检查单管理
办理出租业务
办理还车业务
图1:
软件结构图
2.项目设计
2.1项目总体设计
2.1.1项目设计模式设计
项目使用软件设计模式中的MVC设计模式;
其中Model层是普通的java类,该类中只包含属性和属性的get和set方法,而且类中的每个属性均对应数据库表中的一个字段;
View层为jsp页面,页面美化是html+css共同完成,为了提高客户体验度,项目中使用jquery框架。
Controller层,有struts1框架负责控制,同时整合hibernate,spring框架,共同完成系统业务处理,流程控制。
2.1.2项目包设计
图2:
包模块图
图3:
页面模块图
commons包中放与分页相关的类和系统系统静态常量类。
domain包中放系统的实体类。
exception包放系统的异常处理类。
persist包中放持久化操作类。
service包中放业务处理类。
web.actions包中放struts1的action类。
web.filters包中放判断用户是否登录、用户是否有权限的过滤器类。
web.listener包中放控制用户只能不能同时登录多台。
web.resources包中放系统properties资源文件。
js包中放js文件。
css包中放css文件。
images包中放项目使用的图片。
2.1.3项目功能设计
首先有用户登录功能,用户登录后系统根据权限控制功能,为用户生成不同的操作菜单,当用户的操作超出自己权限时系统能拒绝用户操作,并给用户友好的权限不足提示。
对于超级管理员,它拥有系统全部的管理功能;包括:
1)用户管理2)客户管理3)汽车管理4)业务管理5)业务统计6)系统管理7)修改密码
对于其他普通管理员,它的系统权限则是通过超级管理员通过系统管理菜单中的角色管理功能给他授权。
对于客户租车业务,系统提供租车人员信息录入、车辆信息查询。
最后出租单生成入库,生成出租单等一系列功能。
完成租车所需的全部功能。
对于客户还车业务,系统提供出租单的信息显示,用户通过可以更改出租单状态、完成还车业务。
系统中的车辆信息是用户通过汽车管理菜单中的添加汽车功能录入车辆信息的。
同时提供车辆信息的删除、修改、查找等操作。
系统中的用户信息是超级管理员通过用户管理菜单中的添加用户功能录入用户信息的。
同时提供车辆信息的删除、修改、查找等操作。
系统中的客户信息是超级管理员或用户通过客户管理菜单中的添加客户功能录入客户信息的。
同时提供客户信息的删除、修改、查找等功能。
2.1.4项目流程设计
a)登录流程图:
js验证登录信息是否通过
登录页面
开始
结束
登录action验证用户名/密码等是否正确
否
是
否
查询数据库中用户信息、并保持到session中
是
首页
用户访问登录页面
action跳转到首页
登录流程结束
图4:
登录流程图
b)用户、客户、汽车、出租单、检查单、角色、日志等信息的查询流程图:
数据是否满足要求
访问相应查询页面、完成查询
查询结束、跳转到页面
结束
开始
查询页面
js判断查询条件是否都为空
提交查询表单
查询action,
查询条件全为空时、查询全部;否则根据条件查询
是
否
否
是
显示查询结果页面
查询流程结束
图5:
查询流程图
c)用户、客户、汽车、出租单、检查单、角色信息添加流程图:
开始
结束
添加信息页面
访问相应添加信息页面、完成添加功能
js判断信息是否输入正确
提交添加信息表单
添加信息action、返回提示信息
添加信息页面、显示添加结果信息
否
添加信息流程结束
输出添加结果信息
是
图6:
添加流程图
d)用户、客户、汽车、出租单、检查单、角色信息修改流程图:
修改信息页面
结束
开始
信息显示页面
输出信息
js判断信息是否修改
提交修改信息表单
js判断修改信息是否符合要求
修改信息action、返回提示信息、修改是否成功
查询信息action
显示查询结果页面
是
否
否
是
是
否
返回修改信息、查询信息
修改流程结束
修改流程结束
图7:
修改流程图
e)用户、客户、汽车、角色、日志信息删除流程图:
结束
开始
删除信息action、返回删除结果信息
查询信息action、返回查询结果
查询结果显示页面
提交删除信息的id
跳转到查询action
返回删除信息、查询信息
删除流程结束
图8:
删除流程图
f)用户权限控制流程图:
开始
权限控制filter、判断用户是否有权限
没有权限提示页面
结束
权限控制拦截器拦截用户访问路径
是、拦截器放行、权限控制流程结束
否、拒绝用户范围并跳转
权限控制流程结束
图9:
权限控制流程图
g)用户退出流程图:
开始
结束
用户退出action、清除session中用户信息并跳转
登录页面
访问退出action
跳转到登录页面
退出流程结束
图10:
退出流程图
2.1.5系统数据库设计
a)表之间的关联关系:
图11:
表关系图
b)表字段说明
表1:
用户信息表
表名
USERS
字段名
类型
长度
是否为空
主键/外键
备注
USERNAME
VARCHAR2()
40
否
主键
用户名
IDENTITY
VARCHAR2()
40
是
用户身份证
FULLNAME
VARCHAR2()
40
是
全名
SEX
NUMBER
1
是
性别0男、1女
ADDRESS
VARCHAR2()
40
是
地址
PHONE
NUMBER
40
是
电话
POSITION
VARCHAR2()
40
是
职位名称
USERLEVEL
NUMBER
40
是
外键
管理员id、外键关联ROLES表的
ROLEID
USERPWD
VARCHAR2()
40
是
密码
表2:
权限表
表名
ROLES
字段名
类型
长度
是否为空
主键/外键
备注
ROLEID
NUMBER
40
否
主键
角色id
ROLENAME
VARCHAR2()
40
是
角色名称
表3:
菜单表
表名
MENUS
字段名
类型
长度
是否为空
主键/外键
备注
MENUID
NUMBER
40
否
主键
菜单id
MENUNAME
VARCHAR2()
40
是
菜单名称
MENUURL
VARCHAR2()
40
是
菜单路径
FATHERID
NUMBER
40
是
父菜单id
表4:
功能表
表名
FUNS
字段名
类型
长度
是否为空
主键/外键
备注
FUNID
NUMBER
40
否
主键
功能id
FUNNAME
VARCHAR2()
40
是
功能名称
FUNURL
VARCHAR2()
40
是
功能路径
MENU_ID
NUMBER
40
是
外键
所属菜单id、管理MENUS表中的MENUID
表5
表名
ROLES_MENUS
字段名
类型
长度
是否为空
主键/外键
备注
ROLE_ID
NUMBER
40
否
主键、外键
角色id、关联ROLES表的主键ROLEID
MENU_ID
NUMBER
40
否
主键、外键
菜单id、关联MENUS表中的主键MENUID
表6:
汽车信息表
表名
CARS
字段名
类型
长度
是否为空
主键/外键
备注
CARNUMBER
VARCHAR2()
40
否
主键
汽车号码
CARTYPE
VARCHAR2()
40
是
汽车类型
COLOR
VARCHAR2()
40
是
汽车颜色
PRICE
NUMBER
40
是
汽车价格
RENTPRICE
NUMBER
40
是
汽车出租价格
DEPOIST
NUMBER
40
是
出租保证金
ISRENTING
NUMBER
1
是
是否归还0否、1是
DESCRIPTION
VARCHAR2()
40
是
汽车描述
表7:
出租单表
表名
RENTTABLE
字段名
类型
长度
是否为空
主键/外键
备注
TABLEID
NUMBER
40
否
主键
出租单id
IMPREST
NUMBER
40
是
预付金
SHOULDPAYPRICE
NUMBER
40
是
应付金额
PRICE
NUMBER
40
是
价格
BEGINDATE
DATE
是
开始时间
SHOULDRETURNDATE
DATE
是
因归还时间
RETURNDATE
DATE
是
归还时