当前位置:文档之家› 在线汽车租赁系统大学论文

在线汽车租赁系统大学论文

在线汽车租赁系统大学论文
在线汽车租赁系统大学论文

本科毕业论文(设计)

题目:在线汽车租赁系统

摘要

随着社会的发展,信息网络化成为时代的主题。许多行业在经营管理过程中对计算机技术的依赖程度也不断增强。对于汽车租赁行业来说,其工作管理流程复杂、多样。通过计算机来帮助实现汽车租赁及相关业务管理,不仅方便管理用户信息及车辆信息,来提高工作效率,而且能够使管理工作变得更加准确、高效、清晰、透明。

论文简单介绍了系统的相关知识及涉及技术,详细地介绍了“在线汽车租赁系统”课题开发的整个过程,包括需求分析、总体设计、模块划分及实现过程等方面的内容,最后分析总结了系统开发过程中遇到的问题及解决办法。本系统采用MVC+DAO设计模式完成,每一个servlet完成一组相关的业务操作,使用Jsp网络编程技术,前台采用Myeclipse 开发环境,后台采用Mysql数据库为开发平台,采用Navicat数据库辅助软件进行数据库的管理。系统主要实现了车辆信息管理、用户信息管理和订单管理,应用于汽车租赁的日常管理,界面直观,操作简单方便。

关键字:汽车租赁;jsp;mySQL数据库;MVC+DAO设计模式

Abstract

With the development of the society, information network become the theme of the era. The reliance of many industries on computer technology has been enhanced in the process of management and operation. For the car rental industry, its work management process is complicated and varied; also it can make the management work more accurate and efficient, clear and transparent. Developing a set of efficient management system to help achieve the car rental and related business management by computer, not only to facilitate the management of user information and vehicle information, to improve the work efficiency, but also make the management work more accurate, efficient, clear, transparent.

This paper simply introduced the knowledge and technology the system involved . "online car rental system were introduced in detail the whole process of project development, including requirements analysis, overall design, module partition, and the content of the implementation process, etc. In the final analysis to summarize the problems encountered in the process of system development of and the solution. This system uses the MVC + DAO design pattern to complete, each servlet to complete a set of related business operations, using Jsp network programming technology, the front-end develop uses My eclipse development environment, the backend develop using the MySQL database as a development platform, using Navicat database support software for database management. The system mainly achieve the self-information management, the vehicle information management, user information management and order information management. Used in the daily management of car rental, intuitive interface, the operation is simple and convenient.

Key words: car rental; The JSP. The mySQL database. MVC + DAO design pattern

目录

1 绪论 (1)

1. 1研究背景 (1)

1. 2研究意义 (1)

1. 3论文组织结构 (1)

2 相关知识及技术介绍 (2)

2. 1 jsp概述 (2)

2. 2 Mysql数据库技术 (3)

2. 3 MVC设计模式 (3)

2. 4 DAO设计模式 (3)

2. 5 正则表达式 (4)

2. 6 本章小结 (5)

3 系统需求分析与设计 (5)

3.1技术可行性分析 (5)

3.2功能需求 (6)

3.2.1 主要功能 (6)

3. 2.2系统用例图 (7)

3.3数据库设计 (8)

3.3.1数据库设计原则 (8)

3.3.2概念模型设计 (9)

3.3.3数据表的设计 (10)

3. 4本章小结 (12)

4 系统实现 (12)

4. 1登录模块 (12)

4.2用户模块 (13)

4.2.1汽车列表 (14)

4.2.2汽车查询 (15)

4.2.3添加订单 (16)

4.2.4用户资料 (16)

4.2.5修改密码 (17)

4.3 管理员模块 (17)

4.3.1个人信息管理 (18)

4.3.2汽车信息管理 (19)

4.3.3用户信息管理 (21)

4.3.4订单信息管理 (24)

4.4 本章小结 (27)

5 分析与总结 (27)

致谢 (28)

参考文献 (29)

1 绪论

1. 1研究背景

经济的发展,生活水平的提高,使人们对汽车的需求越来越大。随着生活逐渐富裕,人们已经有能力租车消费,但中国现有汽车保有量难以充分满足需求。其次,购买私车还不能普及,从个人来说,租车是最好的,买车一次性投入大,购车的手续多,养车费用高,而私车的利用率一般不高,闲置时间较长;出现交通事故后,处理手续太烦琐。租车则有很大的灵活性,既不会占用大量资金,也不会出现闲置,车况有保证,出差到外地也可以通过租车驾驶车辆,方便快捷。除此之外,租赁车车型可选择,客户既能承受,又能满足多样化的需求,而且,从社会角度看,租赁车辆属于公共用车的范畴,它既缓解了现阶段财政控购与企业单位用车之间的矛盾,提高了资金利用率,同时也符合社会车辆总量控制原则,可在一定程度上缓解交通拥挤;从发展角度看,汽车租赁业的发展不仅可以带动中国的新车销售,同时还可以推动中国二手车的经营,为旧车交易注入新的内容;汽车租赁的特殊作用,可以带动多种相关行业的发展,融合产业间的联系,成为第二产业与第三产业间的联系纽带。

得益于以上三个方面的原因,汽车租赁业在我国迅速崛起,业务量也是越来越多,对信息的处理要求也是越来高,传统的汽车管理人员已不满足汽车租赁业务的需求发展。因此我们将发挥计算机的庞大的存储空间,高性能的处理效率,高度可靠的数据安全,清晰的可视化数据等优势,真正达到减少劳动力提高劳动质量的目的。

1. 2研究意义

汽车租赁行业所具有的对于中国汽车工业、汽车流通业、传统运输业、以及旅游业等相关行业发展的带动作用,更是其他行业所无法比拟的。而一般的汽车租赁服务,是由汽车租赁公司向那些长期或短期需要用车,但又没有必要自备车的单位和个人有偿提供车辆使用权,并限期回收的一种服务。这样的方式本着节约客户的时间和精力,得到了消费者的欢迎,前景广阔。

汽车租赁管理就是对车辆信息和客户信息的管理,主要包括车辆的出租状态、车辆的基本信息、客户信息的管理等。由于这些过程间的关系复杂,有一对一的关系,一对多的关系,也有多对多的关系,所有这些工作使机动车管理工作变得量大而又复杂,以前包括现在还有很多租赁公司采用人工管理,直接导致了错误的产生,服务质量的低下。汽车租赁管理系统的开发使得这一状况得到了根本的改善。这套管理系统涵盖了车辆租赁业务的各个方面。使得汽车租赁服务可以快速、规范地完成,节省了人力物力,提高了服务质量和经济效益。

1. 3论文组织结构

本文共分5部分:

1.绪论。本章包括论文的研究背景、研究现状、研究意义概述,同时对本文研究的结构进行了介绍。

2.相关技术及技术介绍。介绍了设计和实现本系统用到的一些关键性知识和技术。

3.系统需求分析与总体设计。从系统用户的角度出发,分析租赁过程中的实际需求,进行系统的需求分析。在需求分析的基础上,对系统进行总体设计。

4.系统详细设计及实现。本章对系统部分模块实现的功能进行了详细设计和具体介绍。

5.总结。通过对全文研究工作、研究成果和不足之处的总结和归纳,指明今后在理论研究和实际应用方面需要进一步努力的方向。

2 相关知识及技术介绍

汽车租赁管理系统在实际租车中是很有必要的,这个系统对汽车和用户进行了统一的管理,方便用户查找所需要租的车辆信息,同时便于管理员对业务的管理。它通过MYSQL 作为后台数据库,进行数据的存储,使用JSP编写前台页面,通过B/S结构,运用MVC+DAO 模式进行开发,使平台完成相应的功能操作。

2. 1 jsp概述

为了快速方便地进行动态系统的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态系统的首选方案。

①将内容的生成和显示进行分离

使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。

在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

②可重用组件

绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans 组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

③采用标识

Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP 标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

④适应平台

几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个

平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

⑤数据库连接

Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。

2. 2 Mysql数据库技术

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 公司。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

2. 3 MVC设计模式

MVC 是一种使用MVC(Model View Controller 模型-视图-控制器)设计创建Web 应用程序的模式:Model(模型)表示应用程序核心(比如数据库记录列表);View(视图)显示数据(数据库记录);Controller(控制器)处理输入(写入数据库记录)。MVC 模式同时提供了对HTML、CSS 和JavaScript 的完全控制。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据;View(视图)是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的;Controller(控制器)是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

2. 4 DAO设计模式

JDBC操作数据库,都是直接在JSP页面中写JDBC代码。这样导致JSP页面中包含大量的HTML代码和Java代码,显示和功能代码混在一起,难以维护。这样的设计是非常不合理的,JSP只应关注数据的显示,而不需要去关注数据是从哪里来的。

使用Data Access Object(DAO)设计模式可以很好的解决上述问题。DAO抽象与封装所有对数据源的访问;负责管理对数据源的连接,以及数据的存取。DAO包括五个重要的部分,分别如下:

(1)数据库连接类

(2)VO类

(3)DAO接口

(4)DAO实现类

(5)DAO工厂类

数据库连接类

数据库连接类的主要功能是连接数据库并获得连接对象,以及关闭数据库。通过数据库连接类可以大大的简便开发,在需要进行数据库连接时,只需创建该类的实例,并调用其中的方法就可以获得数据库连接对象和关闭数据库,不必再进行重复操作。

VO类

VO类是一个包含属性和表中字段完全对应的类。并在该类中提供set和get方法来设置并获得该类中的属性。

一个vo类与一个数据库中的表相对应,也就是说,有多少表,就应该有多少vo类。而实例化的vo对象则代表一个表中的一行数据。

DAO接口

DAO接口中定义了所有的用户的操作,如添加记录、删除记录以及查询记录等。不过因为是接口,所以仅仅是定义,需要子类来实现。

DAO实现类

DAO实现类实现了DAO接口,并实现了DAO接口中定义的所有方法。在DAO实现中通过连接数据库进行数据库操作。

一个Dao实现类对应一个表,如UserDao类对应user表,该类中将定义对该表的所有的操作。

DAO工厂类

在没有DAO工厂类的情况下,必须通过创建DAO实现类的实例才能完成数据库操作,对于后期的修改非常不便。有时要修改所有的使用DAO实现类的代码。

使用DAO工厂类可以很好的解决后期修改的问题,可以通过该DAO工厂类的一个静态方法来获得DAO实现类实例。这时如果需要替换DAO实现类,只需修改该DAO工厂类中的方法代码,而不必修改所有的操作数据库代码。

2. 5 正则表达式

正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串

的一种过滤逻辑。

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);

2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

正则表达式的特点是:

1. 灵活性、逻辑性和功能性非常的强;

2. 可以迅速地用极简单的方式达到字符串的复杂控制。

3. 对于刚接触的人来说,比较晦涩难懂。

在最近的六十年中,正则表达式逐渐从模糊而深奥的数学概念,发展成为在计算机各类工具和软件包应用中的主要功能。不仅仅众多UNIX工具支持正则表达式,近二十年来,在WINDOWS的阵营下,正则表达式的思想和应用在大部分Windows 开发者工具包中得到支持和嵌入应用!从正则式在Microsoft Visual Basic 6 或Microsoft VBScript到.NET Framework中的探索和发展,WINDOWS系列产品对正则表达式的支持发展到无与伦比的高度,几乎所有Microsoft 开发者和所有.NET语言都可以使用正则表达式。如果你是一位接触计算机语言的工作者,那么你会在主流操作系统(*nix[Linux, Unix等]、Windows、HP、BeOS等)、主流的开发语言(PHP、C#、Java、C++、VB、Javascript、Ruby以及python 等)、数以亿万计的各种应用软件中,都可以看到正则表达式优美的舞姿。

2. 6 本章小结

本章就主要系统设计的知识及相关技术做了简要分析和介绍,下一章将对系统的需求作具体的分析。

3 系统需求分析与设计

3.1技术可行性分析

以现有技术进行系统开发及系统实施,是完全可行的。首先,从自身来分析,经过一段时间的学习已经初步掌握了JSP、MVC+DAO设计模式、mySQL数据库等方面的编程技巧,对软件的设计并不存在技术上的难点。另外,在设计这个系统之前,我进行了一系列先期调研,查阅了有关数据库开发方面的论著、教材,更多是利用网络的便利条件,从网上查阅了现有的汽车租赁系统的资料,并认真地对其进行了分析研究。

在限制条件下,利用本人的技术能够实现系统所要达到的目标,在规定的期限内,开发任务能够按时完成。本系统前台应用了Myeclipse开发环境,后台采用Mysql数据库为开发平台,这些软件的应用性和移植性都非常优秀而且其发展也到了较成熟的阶段,这就保障了日后的系统维护工作,并可不断更新。

所以基于MVC+DAO的B/S架构在技术上是完全可行的,而且该系统对于操作环境的要求不高,现在普遍使用的计算机都可以运行该系统。

3.2功能需求

3.2.1 主要功能

汽车租赁系统通过处理汽车租赁客户的租车需求,达到客户租车的便捷性。该系统主要分为以下几个模块:

一、用户登录模块

用户登录模块分为普通用户登录和管理员,目前没有添加用户注册页面,用户由管理员来添加。

二、汽车列表及搜索

当用户成功登录系统以后,租车用户点击汽车列表来查看系统的所有车辆信息,还可以通过高级搜索功能,通过输入车辆的信息来进行查询所需要的车辆,用户对车辆满意后可以下订单。之后系统管理员对用户预约的车辆进行订单审核。

三、个人信息管理

主要包括两个部分,分别是基本设置模块和安全设置模块,其中基本设置模块可以对自己的个人信息进行修改,用户可以修改自己的基本信息;安全设置模块是对密码的修改。

四、用户租赁信息

用户可以查看自己所租汽车的历史租赁信息和当前租赁信息,如果订单没有完成,用户可以修改自己订单信息或取消订单。

五、车辆信息管理

系统管理员可以查看所有车辆,可以增加,删除,修改,检索某一车辆的信息。

六、用户信息管理

系统管理员可以查看所有用户,可以增加,删除,修改,检索某一用户的信息。

七、租赁信息管理

系统管理员可以查看所有订单,可以按用户,车辆搜索订单,进而在此基础上对订单进行审阅和管理,可以手动添加订单,可以按订单号检索某一订单。

系统功能结构图如图3-1所示。

图3.1系统功能结构图

3. 2.2系统用例图

用例图,即由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图。

管理员,用户登录:管理员和用户公用一个登陆界面,用户选择用户类型后,后台会根据用户类型进行判断。其用例分析图如图3-1所示。

管理员

图3-1 登录用例分析图

用户登录可查看所有汽车,搜索某一车辆的信息,查看修改租赁信息,个人信息查看

与修改,密码的修改等操作。其用例分析图如图3-2所示。

图3-2 用户用例分析图

管理员登录可行个人信息管理,包括个人信息查看与修改,管理员密码修改;汽车信息管理,用户信息管理,包括查看,检索,增加,修改;租赁信息管理,包括查看,修改,添加,按汽车或用户检索。其用例分析图如图3-3所示。

图3-3 管理员用例分析图

3.3数据库设计

3.3.1数据库设计原则

数据库设计(Database Design)的概念:数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户

的应用需求(信息要求和处理要求)。

根据需求分析的相关部分及相关说明,下面要根据系统的功能设计要求为各个数据库表设计字段、数据类型、长度和是否为空等相关信息。在需求分析的基础上,对该系统数据库设计的主要原则是:

1.遵守第一范式的设计要求,以达到数据库表设计的合理化。

2.在适当考虑编程的方便性的同时,尽量使数据库更加规范并减少冗余。

3.为保证数据一致性和完整性,为数据库表设计相应的关键字和缺省的信息。

4. 数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。

5. 数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。

3.3.2概念模型设计

数据库概念模型实际上是现实世界到机器世界的一个中间层次。数据库概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,建立数据概念模型,就是从数据的观点出发,观察系统中数据的采集、传输、处理、存储、输出等,经过分析、总结之后建立起来的一个逻辑模型,它主要是用于描述系统中数据的各种状态。

本系统共有四个实体对象:管理员,用户,汽车,订单。

1. 管理员:

管理员用例主要包括管理员编号,管理员姓名,管理员密码等属性信息。

2. 用户:

用户用例主要包括用户编号,用户姓名,用户密码等属性信息。

3. 汽车:

汽车用例主要包括汽车编号,汽车类型,汽车品牌等属性信息。

4. 订单:

订单用例主要包括订单编号,取车时间,租车天数等属性信息。

订单和用户是多对多的关系,订单和车辆也是多对多的关系。具体E-R图如图4-2所示。

图3-4系统ER图本系统的数据库模型图如图4-3所示。

图3-5 系统数据库模型图

3.3.3数据表的设计

根据上面对实体对象的分析,获得了管理员,用户,汽车,订单等4个表。

1、管理员表:管理员表主要包括管理员编号,管理员类型,管理员姓名等字段,具体信息如表4-1所示:

字段名类型(精度)默认值允许空约束条件说明

manager_ID bigint(8)No PK管理员编号

manager_type Varchar(16)No管理员类型

manager_name Varchar(20)No管理员姓名

manager_passwor d Varchar(128

)

No管理员密码

manager_email Varchar(128

)

无No 管理员邮编Manager_phone Varchar(11)无No管理员电话

补充说明managerID规则:自动增长manager_type包括:超级管理员,管理员

2、用户表:用户表主要包括用户编号,用户姓名,用户登录名,用户密码等字段,具体信息如表4-2所示:

表4.3 user表

列名类型(精度)默认值允许空约束条件说明

user_ID bigint(8)No PK用户ID

user_name Varchar(20)No用户姓名

user_login_name Varchar(128

)

No用户登录名user_password Varchar(128

)

No用户密码user_IDNO Varchar(18)No用户身份证号

user_age Int(3)0Yes用户年龄

user_sex Varchar(4)无Yes用户性别

user_email Varchar(128

)

无Y es用户邮编user_phone Varchar(11)No用户电话

user_address Varchar(128

)

无Yes用户地址

User_registration_ti me Datetime(0

)

G etdate(

)

Yes用户注册时间

补充说明User_ID规则:自动增长

3、汽车表:汽车表主要包括汽车编号,汽车类型,汽车品牌等字段,具体信息如表4-3所示:

表4.4 car表

列名类型(精度)默认值允许空约束条件说明

car_ID bigint(8)No PK汽车ID

car_type Varchar(20)No汽车类型

car_brand Varchar(50)No汽车品牌

car_name Varchar(50)No汽车名称

car_imageURL Varchar(128)No图片URL

car_license_plate_numbe

r

Varchar(32)No汽车牌照car_state Varchar(16)No汽车状态

car_rental_price Float(0)No汽车日租

相关主题
文本预览
相关文档 最新文档