顺达汽车租赁公司管理系统设计与实现

更新时间:2023-05-01 20:06:01 阅读量: 实用文档 文档下载

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

编号:

本科毕业设计

顺达汽车租赁公司管理系统设计与实现~

院系:信息工程学院

姓名:

学号:

专业:软件工程

年级:2008级

指导教师:

职称:讲师

:

完成日期:2012年5月

摘要

随着计算机应用技术日趋成熟,信息管理系统得到迅速发展,同时作为“朝阳”产业的汽车租赁业已得到人们的普遍接受。所以,信息管理系统在汽车租赁业中的应用是必然的。顺达汽车租赁公司从事中小型汽车租赁行业,面对激烈的市场竞争,公司迫切需要改变以往的管理方式来提高管理效率,适应市场发展。本公司只有解决了管理效率低、管理混乱、资源浪费等问题,市场份额才会提高,经济效益才会增加,汽车租赁管理系统弥补了公司管理的不足,因此开发一套汽车租赁管理系统是公司发展需求。

本系统是以Struts2、Spring和Hibernate框架为基础设计的汽车租赁管理系统。本系统分为前台和后台,前台系统实现会员的车辆预定功能,后台系统实现管理员管理、会员管理、车辆预定管理、车辆信息管理、车辆出租信息管理、车辆归还信息管理、车辆损坏信息管理、车辆维护信息管理等功能。本系统打破了以往汽车租赁管理系统只能够对汽车租赁信息管理的缺陷,通过本系统,用户可以查看全部车辆信息,同时完成车辆预定。

关键字:信息管理系统;汽车租赁;车辆预定

Abstract

As computer technology matures, information management systems have developed rapidly. However, the car rental industry as the “sunrise” industries has been the general acceptance of the people. Therefore, the information management system in the car rental industry is inevitable. Shunda car rental companies in small and medium-sized car rental industry, the face of fierce market competition, the urgent need to change the previous management. The company has only to solve the problem of low efficiency of management, management confusion, waste of resources, the market share will improve and economic benefits will increase. Car rental management system to make up for the lack of corporate governance, and therefore to develop a set of car rental management system is the company’s development needs.

This paper will design and implement a JSP based car rental management system .This system is based on the Struts2,Spring and Hibernate frameworks as the basis for the design, and front desk systems to achieve the intended function of members of the vehicle, back-office systems administrator management, membership management, vehicle pre-management, vehicle information management, vehicle rental information management, vehicle restitution information management, vehicle damage information management, vehicle maintenance information management functions. This system breaks down the defect management system of the past, car rental car rental information management. Using this system, users can view all vehicle information, and complete vehicles scheduled.

Key words: Information management;Car rental ;Vehicle scheduled

目录

1 绪论 (1)

课题研究的目的及意义 (1)

发展状况 (1)

课题研究的主要内容 (1)

论文结构安排 (2)

2 相关技术介绍 (3)

MyEclipse简介 (3)

Struts 2简介 (3)

Hibernate简介 (3)

Spring简介 (3)

SQL Server (4)

Tomcat服务器简介 (4)

系统运行环境 (5)

3 需求分析 (6)

可行性分析 (6)

技术可行性分析 (6)

操作可行性分析 (6)

经济可行性分析 (6)

运行环境 (6)

系统功能需求 (7)

前台客户系统 (7)

后台管理系统 (7)

软件性能需求 (8)

4 概要设计 (9)

功能模块分析 (9)

会员功能 (9)

车辆预定 (10)

管理员信息管理 (10)

会员管理 (10)

车辆基本信息管理 (10)

车辆出租信息管理 (11)

车辆归还信息管理 (11)

车辆损坏信息管理 (11)

车辆维护信息管理 (11)

预定信息管理 (11)

系统接口设计 (11)

E-R图 (11)

数据库逻辑结构设计 (13)

5 详细设计 (17)

前台客户系统功能模块设计 (17)

会员模块 (17)

车辆预定模块 (18)

后台管理系统功能模块设计 (18)

管理员信息管理模块 (18)

车辆信息管理模块 (19)

车辆出租信息管理模块 (21)

车辆归还信息管理模块 (21)

车辆损坏信息管理模块 (22)

车辆维护信息管理模块 (22)

车辆预定信息管理模块 (22)

会员管理模块 (23)

6 系统实现 (24)

前台客户系统 (24)

主页页面 (24)

会员注册页面 (25)

后台管理系统页面 (25)

登录页面 (25)

系统初始页面 (26)

管理员模块页面 (27)

车辆基本信息页面 (28)

车辆出租信息页面 (28)

车辆归还信息页面 (29)

车辆损坏信息页面 (30)

车辆维护信息页面 (31)

注册用户信息页面 (32)

7 系统测试 (34)

测试的概念 (34)

测试的步骤 (34)

单元测试 (34)

测试用例 (35)

用户注册测试 (35)

管理员登录测试 (36)

管理员功能测试 (36)

车辆信息管理功能测试 (38)

8 总结 (40)

参考文献 (41)

致谢 (42)

1 绪论

课题研究的目的及意义

汽车已经成为人们必备的交通工具,不仅提高了工作效率,而且为人们的生活带来极大的方便,相对于昂贵的汽车价格而言汽车租赁的益处已被人们发现。随着信息技术的飞速发展,采用计算机对汽车租赁进行管理值得人们关注。汽车租赁系统就是对汽车租赁流程和车辆信息的管理,主要包括会员信息、管理员信息、车辆的基本信息、车辆预定信息、车辆出租信息管理等。汽车租赁流程不仅牵涉到车辆信息,而且牵涉到车辆状态等很多信息,这些复杂的关系使得车辆的各种信息难以管理,再加上激烈的市场竞争,顺达汽车租赁公司的管理模式已不能接受如此巨大的挑战。

汽车租赁管理系统的出现给公司带来了新的机遇,使得顺达汽车租赁公司在激烈的竞争中得以生存。汽车租赁管理系统涵盖了车辆租赁流程的各个方面,能够协助公司管理人员更好的管理本公司的业务。使用本该系统,通过信息的自动化管理减少了工作人员的工作量,工作人员摆脱了繁重的工作量,同时用户能够充分参与到车辆租赁的流程中。通过本系统,汽车租赁服务能够快速、规范地完成,节省了人力、物力,提高了顺达汽车租赁公司的服务质量和经济效益。

发展状况

人工管理方式已经不能适应当代人们的生活方式,汽车租赁管理系统能够人性化处理车辆出租流程中的相关问题。现阶段,随着汽车租赁业的蓬勃发展,而与之相对应的管理逐渐由人工方式转变为信息化管理方式,信息技术已在汽车租赁行业得到普遍应用,许多公司相继推出适合本公司发展的管理系统,汽车租赁系统发展较为成熟。

汽车租赁不仅涉及到租赁公司,而且用户在整个交易过程中占有重要的地位。当前大多数管理系统只对租赁公司工作人员开放,普通用户不能够通过系统进行汽车租赁;车辆的调配、状态管理混乱,为系统的正常运行埋下了隐患。本系统为了解决用户权限问题,不仅为用户提供了注册、登录、查询等功能,而且用户可以通过所得到信息在线预订,以满足不同用户的需求;完美的汽车信息管理对是系统运行质量的有力保障,系统按照不同的信息对汽车进行分类,自动识别限行车辆,自动识别正在运营、等待运营、即将开始运营、即将结束运营的车辆状态,有效地解决车辆的调度和预订的准确性。

课题研究的主要内容

通过对顺达汽车租赁公司业务流程的深入的了解,结合软件工程的方法步骤对系统的需求进行了详细的分析,编写了需求分析,对系统的每一个功能需求进行了记录,然后对系统的功能模块进行划分。在数据库设计时,绘制E-R图,对数据表分别进行了逻辑结构设计。在详细设计中,对系统的每一个模块进行了分析与设计,每一个模块的开发过程及开发中所有用到的类、JSP页面及相关的配置都做了详细的说明。接着按照详细设计的规划对系统进行编码、实现。最后,通过测试并完善本系统,最终设计并实现顺达汽车租赁管理系统。

顺达汽车租赁管理系统分为前台客户系统和后台管理系统。前台客户系统主要有用户登录、车辆预定等功能。后台主要是对车辆信息处理,后台系统不仅能够对系统的管理员进行管理,前台会员进行管理,而且可以对车辆进行增、删、改、查等操作;车辆出租、归还、维护、预定等信息进行处理。

论文结构安排

本论文主要分为绪论、可行性分析、需求分析、概要设计、详细设计、系统实现和测试。阐述如下:

⑴绪论:介绍课题研究背景、目的、意义、发展现状等相关内容。

⑵相关技术介绍:介绍系统实现过程中用到的所有技术和系统运行环境。

⑶需求分析:详细介绍功能需求,并说明系统性能要求,对系统的可行性进行分析。

⑷概要设计:划分系统功能模块、E-R图绘制和数据库结构进行设计。

⑸详细设计:详细阐述系统每一个功能模块的实现过程和显示页面等内容。

⑹系统实现:介绍系统实现的页面效果图和每一个页面所实现的功能。

⑺测试:编写测试用例,执行测试,并对bug进行修复,直到完全达到测试用例的预期效果。

2 相关技术介绍

本章将详细介绍系统实现过程中会用到的主要技术:MyEclipse、Struts2、Hibernate、Spring、Tomcat服务器以及数据库SQL Server,并说明系统的运行环境。

MyEclipse简介

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate[1]。

Struts 2简介

Struts 2是Struts的下一代产品。是在Struts和Web Work的技术基础上进行了合并的全新的Struts框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以Web Work为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为Web Work的更新产品。因为Struts 2和Struts 1有着太大的变化,但是相对于Web Work,Struts 2只有很小的变化[2]。

Hibernate简介

Hibernate[3]是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB 的J2EE架构中取代CMP,完成数据持久化的重任。

Spring简介

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架[4]。Spring的主要特点如下:

轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在

一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。

控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持[4]。

SQL Server

SQL Server是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML) 的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以Web标准为基础的扩展数据库编程功能。丰富的XML和Internet标准支持允许使用内置的存储过程以XML格式轻松存储和检索数据[5]。

SQL Server提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如,XML数据库与Web Service的支持将使您的应用实现Internet数据互联,.Net集成极大的扩展了开发空间,异构数据集成、Service Broker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。C#、JSP、XQuery、XMLA、、SMO、AMO等都将成为SQL Server数据平台上开发数据相关应用的有力工具。

Tomcat服务器简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。

Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

系统运行环境

开发环境选用Windows XP系统,JSP作为开发语言,Tomcat作为测试服务器,SQL Server2005作为数据库服务器。正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据完好无损,对数据的精确度、时间特性、适应性等都有一定要求,要求系统运行时能够保证正确性、可靠性、高效性、完整性、易使用性、可维护性、可测试性、复用性、安全保密性、可移植性、互联性。

3 需求分析

需求分析是软件定义的最后一个阶段,它的基本任务是准确地回答“系统必须要做什么”这个问题[12]。用户对软件的功能需求是需求分析最基本的一项要求。通过对顺达汽车租赁公司考察,得到该公司具体需求分析。

可行性分析

可行性分析的目的是确定问题是否值得去解决,分析澄清问题定义,然后导出一种系统的逻辑模型。对这种逻辑模型的解法,至少从技术、操作、经济方面进行可行性的分析。具体如下。

技术可行性分析

开发系统主要使用了css[6]、html[7]、JavaScript[8]等前台页面技术,为了系统以后功能的扩展和维护,后台使用编程语言Java作为主要实现手段。JSP作为一种Web实现技术,它的效率是很高的。网站前台页面主要包括,会员注册、汽车信息显示、用户预定模块,后台主要是管理员对用户管理、汽车信息管理、汽车租赁管理等内容。数据库使用SQL Server 2005。所使用技术都相当成熟,保证能完成预期的效果。

操作可行性分析

信息管理系统目前已经非常成熟,在软件应用开发领域中,主要B/S[9]和C/S[10]的开发模式,从安全性和易维护性考虑,选择了Web实现技术。简单的说就是将系统做成一种B/S模式,可以让用户通过浏览器直接访问位于服务器上的汽车信息以及管理员对系统的远程维护。

经济可行性分析

系统设计和实现过程中所用到的开发环境、开发工具都是开源的,用到的数据库以及服务器都是免费,具体的实现工作有个人完成,因而在开发开放中不涉及人员成本问题。在系统设计中不涉及知识产权的费用,最大程度的减小了开发成本,所以从经济的角度来看,该系统可行。

运行环境

本系统采用联网多机多用户操作方式,系统的运行环境包括硬件、操作系统、关

系数据库等软件。

CPU:奔4 以上的处理器;

硬盘:250 G以上硬盘;

内存:2 G以上

显示器:19寸显示器

操作系统:Windows XP ,Win7

数据库:SQL Server2005

应用服务器:Tomcat

系统功能需求

通过对顺达汽车租赁公司的实际需求的研究,该系统角色主要有用户和管理员,所以系统需要划分为两大模块,分别为前台客户系统模块和后台管理系统模块。

前台客户系统

前台客户系统应实现以下功能:

(1) 普通用户通过注册成为系统会员,登录后能够查看和修改会员信息。

(2) 会员登录后能够查看车辆信息并进行车辆预定。没有登录的用户没有预定车辆的权限,系统将给出相应提示。

后台管理系统

后台管理系统应实现以下功能:

(1) 管理员登录后新增管理员并对其他管理员信息进行修改、删除操作。

(2) 管理员新增、查找、修改、删除车辆信息,新增的车辆状态设为空闲。

(3) 管理员新增、查找、修改、删除车辆租赁信息。系统对租赁人信息进行验证通过后添加出租车辆信息,否则不予办理。新增出租车辆状态该为出租,该车辆不能够被预定。系统根据出租日期、归还日期、系统当前时间计算出车辆出租剩余时间。

(4) 管理员新增、查找、删除车辆维护信息,新增信息后对应的车辆状态该为维护,不能够被预定和出租。

(5) 管理员新增、查找、删除车辆损坏信息,新增信息后对应车辆状态该为损坏,不能够被预定和出租。

(6) 管理员新增、查找、删除车辆归还信息,车辆归还时,系统根据出租日期、归还日期计算租金。

(7) 管理员新增、删除用户信息,管理员删除长期没有登录的用户。

(8) 管理员查找、删除车辆预定信息,用户不能够重复预定,删除预定信息后车辆状态该为空闲。

软件性能需求

系统运行后,上网人员通过网络访问系统。在人员访问页面时,必须在8秒内给出响应。系统允许的并发访问数量为1000,该系统服务器必须至少达到这个要求。后台管理系统,安全是非常重要的,没有登录的用户是绝对不能访问到后台页面的。管理员权限与角色的分配必须进行控制,不同权限的管理员能够使用的操作不同。

4 概要设计

经过需求分析阶段的工作已经了解系统应该做什么,现在是解决该怎样做的时候了[13]。概要设计的目的就是解决如何实现系统的。在该阶段中通过对系统功能分析、系统接口、E-R图、数据库设计的阐述来说明系统是如何实现的。

功能模块分析

由需求分析可知,系统主要划分为两大功能模块。以下将详细阐述每个功能模块具体能够完成的功能。系统具体功能模块图如图4-1所示。

图4-1 系统功能模块图

会员功能

(1) 会员注册

如果是新用户,则需要先注册,注册时应该填写用户名、密码、真实姓名、联系方式、Email等信息。注册成功后,可以用注册的会员名进行登录。

(2) 会员登录

当用户预定车辆时必须先登录,由系统验证登录信息是否正确,若正确则转到登录后的界面,否则继续转到登录界面。对于不合法的信息录入,系统给出相应的错误

提示。

(3) 会员信息管理

用户在登录状态下能够查看基本信息(包括用户名、密码、真实姓名、联系方式、Email)并能够进行修改。

车辆预定

(1) 车辆信息

前台设计中应包含汽车的车牌、出租价格、图片等信息。用户可以点击汽车图片获取更多的相关信息,除了以上信息外,还应有汽车车型、生产厂商、出厂日期、出租状态等信息。

(2) 车辆预定处理

用户在登录状态下,能够在前台预定所需的汽车,对于非空闲状态下的车辆不能预订,车辆不能够被重复预定。预定成功后,系统会给出相应提示,预定信息写入后台预定信息列表中。

管理员信息管理

(1) 管理员信息查看

能够查看系统当前的所有管理员。

(2) 管理员信息修改

能够修改当前登录管理员的相关信息(包括用户名、密码),如果登录者身份是一个超级管理员的身份,还能够对其他管理员进行管理,包括删除与修改。

(3) 注册新的管理员

添加新的管理员信息。

会员管理

(1) 查看会员信息

查看该系统注册了多少会员,和每一个会员的详细信息。

(2) 删除会员信息

对操作不正常的会员和长期未登录的会员,管理员可以将该会员删除掉。

车辆基本信息管理

系统可以添加、删除、查询汽车信息,同时可以根据不同的查询条件进行汽车信息查询。

车辆出租信息管理

能够新增、查询、删除已经出租的汽车信息,能够显示全部已出租的汽车信息,能够根据不同的查询条件进行已出租汽车信息查询。添加信息成功后,车辆状态该为出租,删除信息成功后,车辆状态该为空闲。

车辆归还信息管理

能够显示已归还汽车信息,能够对其进行删除操作。根据不同的条件查询已归还汽车信息,车辆归还后系统自动计算出车辆的租金。归还成功后,车辆状态该为空闲。

车辆损坏信息管理

能够新增、查询、删除已损坏汽车信息,根据不同的条件进行查询操作,能够显示全部损坏汽车的信息列表。系统录入车辆损坏原因,并更改车辆状态。

车辆维护信息管理

能够新增、查询、删除车辆维护信息,根据不同的条件进行查询操作,能够显示全部维护汽车的信息列表。系统录入车辆维护的项目,并更改车辆状态。

预定信息管理

能够查看全部预订信息列表并能够进行删除操作,成功删除车辆预定信息后,车辆状态该为空闲,前台用户可以对该车辆进行预定。

系统接口设计

(1)用户界面设计

在用户界面部分,根据分析的结果,用户需要一个友善的界面。在界面设计上,应该做到简单明了,易于操作,并且要注意到界面的布局。考虑到该系统的用户为互联网的使用者,决定采用浏览器搭建Web应用程序。系统用户界面简单、易于操作学习。

(2)软件接口

数据库服务器通过持久层Hibernate调用JDBC驱动操作SQL Server2005数据库。

(3)硬件接口

采用键盘、鼠标进行输入。

E-R图

E-R是实体-联系图的简称,它描述现实世界概念结构模型的有效方法,提供了表

示实体类型、属性和联系的方法,用来描述现实世界的概念模型[14]。

⑴用户、管理员、车辆之间E-R图

实体类用户所具有的属性有用户名、真实姓名、密码、联系方式、Emall。实体汽车类所具有的属性有车牌、车型、序号、生产厂商、生产日期、出租价格、押金、状态。实体类管理员所具有的属性有名称、序号、密码。一个用户可以预定多辆汽车,一个用户可以租赁多辆汽车;一个管理员可以管理多个用户,一个管理员可以管理多辆汽车。具体如图4-2所示:

图4-2 用户、汽车、管理员之间的关联关系

⑵车辆出租、归还、损坏、维护、预定、管理员之间E-R图

实体类管理员所具有的属性有序号、名称、密码、真实姓名;实体类车辆预定所具有的属性有序号、用户、预定日期、车牌号;实体类车辆出租所具有的属性有序号、车牌号、出租日期、归还日期、剩余日期、租赁人、押金、身份证号;实体类车辆维护所具有的属性有序号、车牌号、保养日期、保养项目、经手人。

一个管理员能够处理多个车辆预定、车辆出租、车辆归还、车辆损坏车辆维护信息。以下列出了实体类管理员、车辆预定、车辆出租、车辆归还、车辆损坏、车辆维修只见到关系。具体如图4-3:

图4-3 车辆出租、归还、损坏、维护、预定、管理员之间E-R图

数据库逻辑结构设计

数据库在一个系统中占有非常重要的作用,数据库结构设计的好坏将直接的影响到系统得效率,以及实现的效果。合理的数据库设计可以提高数据存储的效率,保证数据的完整和一致性[14]。

⑴管理员表

表名:c_admin

说明:该表中ID是该表的主键,保存管理员信息,如表4-1所示:

表4-1 管理员信息表

⑵车辆归还信息表

表名:c_back

说明:该表中ID是该表的主键,用来保存车辆归还信息,如表4-2所示:

表4-2 车辆归还信息表

续表4-2

⑶出租信息表

表名:c_borrow

说明:该表中ID是该表的主键,保存出租信息。如表4-3所示:

表4-3 出租信息表

⑷损坏信息表

表名:c_broken

说明:该表中ID是该表的主键,用来保存损坏信息。如表4-4所示:

表4-4 损坏信息表

⑸车辆信息表

表名:c_info

说明:该表中ID是该表的主键,用来保存车辆信息。如表4-5所示:

表4-5 车辆信息表

⑹会员信息表

表名:c_user

说明:该表中ID是该表的主键,用来保存会员信息。如表4-6所示:

表4-6 会员信息表

⑺车辆维护信息表

表名:c_repaired

说明:该表中ID是该表的主键,用来保存车辆维护信息。如表4-7所示:

表4-7 车辆维护信息表

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

Top