汽车租赁系统的设计与实现毕业设计论文

更新时间:2023-09-01 07:01:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

大学毕业设计(论文)题目:汽车租赁系统的设计与实现

目录

1.项目背景 (3)

1.1项目开发目标 (3)

1.2项目来源 (3)

1.3开发目标 (3)

2.项目设计 (5)

2.1项目总体设计 (5)

2.2技术框架设计 (16)

2.3功能模块设计 (16)

3.项目功能描述 (18)

3.1项目功能列表 (18)

3.2项目功能实现 (19)

4.项目总结 (34)

4.1项目技术总结 (34)

4.2技术创新及特点 (35)

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)登录流程图:

图4:登录流程图

b)用户、客户、汽车、出租单、检查单、角色、日志等信息的查询流程图:

图5:查询流程图

c )用户、客户、汽车、出租单、检查单、角色信息添加流程图:

图6:添加流程图

d)用户、客户、汽车、出租单、检查单、角色信息修改流程图:

图7:修改流程图

e)用户、客户、汽车、角色、日志信息删除流程图:

图8:删除流程图

f)用户权限控制流程图:

图9:权限控制流程图g)用户退出流程图:

图10:退出流程图2.1.5系统数据库设计

a)表之间的关联关系:

图11:表关系图b)表字段说明

表1:用户信息表

表3:菜单表

表4:功能表

表6:汽车信息表

2.2技术框架设计

系统技术框架包含web层:struts1,ORM框架:hibernate,AOP/IOC框架:spring。提高用户体验度使用的Jquery框架。

struts1框架在系统中主要负责表单数据封装成实体类的属性值。从而省却程序员调用request.getParamater()一个个设置属性。同时可以将实体类中的属性值使用struts1的标签显示到表单中。通过配置struts.xml中的action节点可以简单有效的配置程序流程。程序根据action方法的返回值就能完成跳转;用户不用使用request.forward()进行转发或调用response.sendRedict()方法进行重定向。

hibernate框架能为程序员很方便的操作实体类到数据库表字段、数据库表字段到实体类属性的映射处理。hibernate框架将实体类的set、list、object 处理为数据库表字段之间的外键关联关系、分别处理为1:N,1:1,N:1,N:N等关系。hibernate框架为了提高系统效率、为用户提供两种抓取策略:立即抓取、延迟加载。配置为延迟加载的抓取策略,hibernate框架会在用户使用到该对象是才想数据库请求数据。这样就能很大程度上提高系统的反应时间和系统利用效率。

spring框架为项目各模块之间的解耦提供了很简便的使用。通过spring框架的IOC功能、将个模块所需的bean通过注入方式就行解耦。spring框架同时提供管理bean生命周期的功能。通过spring框架的AOP功能,能很清楚的控制程序流程、完成程序执行的各种数据验证、异常处理等功能。同时spring提供的数据库DDL操作的事物控制、同时提供跨数据库之间的事物控制等强大功能。

Jquery框架为程序员操作html DOM提供简单而强大的支持。Jquery框架同时封装很多种AJAX方法、提高了代码复用程度、和代码编写效率。

2.3功能模块设计

2.3.1系统功能模块图

图22:功能模块图2.3.2功能模块详细说明

3.项目功能描述3.1项目功能列表

表11:项目功能列表

3.2项目功能实现

3.2.1登录功能

用户通过登录页面、输入登录用户名/密码/验证码信息后提交表单、页面js 判断登录数据是否符合格式、如果数据不符合格式页面显示提示信息、并禁止表单提交。当用户表单数据符合格式后表单提交、登录action获取表单数据并通过业务层调用持久层方法搜索数据库中数据、判断用户名/密码是否匹配。如果匹配将用户信息存到session中、并跳转到首页。否则跳转到登录页面并显示登录失败信息。

图23:登录页面

3.2.2退出功能

登录成功用户、通过退出登录链接、访问退出登录action、退出登录action 中删除session中存储的用户信息、并完成日志记录操作、跳转到登录页面。

图24:退出页面

本文来源:https://www.bwwdw.com/article/76oi.html

Top