车辆管理系统的设计与实现

上传人:good****022 文档编号:116816136 上传时间:2022-07-06 格式:DOC 页数:48 大小:2.20MB
返回 下载 相关 举报
车辆管理系统的设计与实现_第1页
第1页 / 共48页
车辆管理系统的设计与实现_第2页
第2页 / 共48页
车辆管理系统的设计与实现_第3页
第3页 / 共48页
点击查看更多>>
资源描述
毕业论文(设计)信商车辆管理系统的设计与实现车辆调度管理模块 专 业计算机科学与技术摘要当今社会的车辆数量正在以指数的形式增长,车辆为我们的生活和工作带来了极大的方便,因此越来越多的车辆也加入到高等学校中,并且在高校的日常生活办公中扮演着重要的角色。如果更好的实现车辆管理可以进一步提高高等学校的日常工作和办公的效率,同时也可以大大的节约学校在车辆上投入的成本,最重要的是可以更好的实现高等学校为学生服务的宗旨。本文分析了系统开发的背景以及校园车辆管理系统的发展现状,简要描述了系统需要解决的主要问题;概要描述了系统的整体情况;对系统的需求分析和架构设计进行了详细描述;并对系统的实现进行了详细叙述。本文对信商车辆管理系统的设计与实现进行了详细的介绍,主要介绍的是车辆调度模块,车辆调度模块主要研究内容有:车辆状态动态查询、网上预订、在线审批、派遣车辆、回车登记。信商车辆管理系统可以分为前台和后台两个部分。后台是给系统管理员用的,后台的主要功能包括车辆基本信息管理,驾驶员基本信息管理以及费用管理。车辆管理系统的前台功能主要有车辆预约、车辆审核、用户信息管理、注册与登录管理和回车登记管理等功能模块。信商车辆管理系统的开发使用JSP +JavaScript 的模式实现前端界面层的开发,在后端使用 Java+Servlet 的模式实现业务逻辑的开发,前端通过嵌入的JavaScript代码段可以直接实现与后台服务器通信。 关键词:JSP;Servlet;车辆调度;车辆预约AbstractTodays society of vehicles are growing in the form of index Numbers. The vehicles for our life and work has brought great convenience.So more and more vehicles are added to the institutions of higher learning. And in the daily life office plays an important role.Although the increase of vehicles made the higher schools daily work and work efficiency has been greatly ascend, but more and more vehicles into the campus but to the vehicle management leads to trouble.If you can better realize the vehicle management can further improve the higher schools daily work and work efficiency, but also can greatly save schools in vehicle input costs, the most important is that it can better achieve higher schools to the tenet of service.This paper analyzes the background and status of development of campus management system vehicle system development, a brief description of the main problems need to be solved; outlines the overall situation of the system, need for system analysis and architecture design are described in detail,and the system implementation is described in detail. This design and implementation of the letter and the ZCIB vehicle management system to carry out a detailed introduction, describes the vehicle scheduling module, vehicle scheduling module main contents are: the dynamic vehicle state inquiry, online booking, online approval, sending the vehicle, enter registration .The ZCIB Vehicle Management System can be divided into two parts front and back office. The background is for system administrator use, the main function of the background information including vehicle management, driver information management and expense management. Front office features vehicle management system is mainly a vehicle reservation, car review, customer information management, registration and login management and Enter registration management and other functional modules. Shin Trading vehicle management system developed using JSP + JavaScript model to achieve the development of front-end interface layer at the back end using Java + Servlet model business logic development, front-end through the embedded JavaScript code snippet can directly implement communication with the backend server.Key words: JSP; Servle; Vehicle Scheduling; Vehicle Reservation目 录摘要IAbstractII1 绪论11.1 开发背景及意义11.2 校园车辆管理系统发展现状11.3 研究目的21.4 论文研究内容21.5 本论文章节安排32 需求分析42.1 系统技术概述42.1.1 JSP简介42.1.2 Tomcat 服务器42.1.3 Navicat for MySQL52.1.4 B/S 结构52.2 系统需求分析62.2.1 实现目标62.2.2 开发环境和软件要求72.2.3 开发平台和数据库的选择72.2.4 系统的功能82.2.5 用户类型和特征82.2.6 系统交互92.2.7 功能需求92.3 非功能需求102.3.1 业务规则102.3.2 性能需求112.4 本章小结113 系统设计123.1 系统子模块设计123.1.1 用户注册123.1.2 车辆检索133.1.3 车辆预约模块143.1.4 用户个人信息管理163.1.5 派遣车辆与回车登记163.2 数据库分析与设计173.2.1 数据库分析173.2.2 数据库表设计183.3 本章小结224 系统实现234.1 用户登录模块234.1.1 登录处理流程234.1.2 用户登录实现234.2 用户注册模块244.2.1 注册处理流程244.2.2 用户注册实现254.3 车辆检索264.4 车辆预约模块274.4.1 我要预约274.4.2 我的预约304.5 个人信息管理314.6 车辆调度管理334.7 本章小结345 系统测试355.1测试目的355.2测试方法355.3 测试环境及工具355.4性能测试365.5可用性测试365.6功能测试过程365.6.1 系统管理测试365.6.2 车辆预约测试365.6.3 用户个人中心测试375.6.4 车辆调度管理测试375.6.5 数据库测试375.6.6 测试结果375.7 本章小结386 总结39参考文献40致谢41 41毕业设计(论文)1 绪论1.1 开发背景及意义车辆管理是对所涉及到的人、财、物等资源的管理和调配,随着交通运输业的飞速发展为人们的生活带来了极大的便利,与此同时,各种交通运输工具特别是汽车数量的剧增也给社会各方面带来了日趋严重的巨大压力。对于各事业或企业单位内部的车辆管理,传统手工操作手段由于工作量大、强度高,而导致的效率低下、出错率高已逐渐不能满足目前车辆管理的需求。依据项目需求特点,围绕提高车辆使用和管理工作,结合车辆自身的特点,完成对通行车辆调度的管理,对车辆使用调度、车辆信息和相关人员的信息管理、使用记录、事故等信息统一管理,进一步提高车辆管理、使用效率和安全保障,做到车辆状态有案可查、有据可依,实现车辆的科学化、自动化管理。在智能化的管理当中,信息商务学院的车辆管理成为了急需解决的问题之一。高等教育时代的到来给信息商务学院的发展带来了机遇,但同时越来越多的工作量需要使用更多的车辆来方便工作,这样就给学校的车辆管理带来了巨大的压力,我校必须合理安排好下属各个学院的车辆使用情况,提供即时的车辆信息,只有做到这一点,才能使我校这个小社会更好的运转起来,最大化的提高学校的整体工作效率。 现今的情况是车辆的即时资料信息价值日渐提升,信息商务学院对车辆有着更好的要求,要利用好我校体系内部的每一辆车,使得每一辆车都能发挥自己最大的价值,将车辆合理的进行分配和使用。充分使用车辆的同时,更要实现对汽车的维修和保养,对报废的车辆及时处理,在不断降低成本的同时提高车辆的利用效率。由此,学校需要提高自己的对车辆的管理水平,实现车辆的信息化管理。将计算机的优势融入到车辆管理中来,利用计算机系统的智能化控制,实现车辆派遣、分配管理等原来人工处理的工作,减轻车辆管理部门的工作量的同时,提高车辆管理的效率,大幅度的降低了车辆管理所需的费用,形成智能的高校车辆管理系统。1.2 校园车辆管理系统发展现状车辆管理系统在国内也随着中国互联网的兴起不断的发展,在政府部门和高端企业的引导下,车辆管理系统变得越来越大众化,越来越多的人意识到车辆的规范管理带来好的效益。然而在高校这个领域还并没有意识到对校园管理和学校运作的重要性,国内的绝大多数的高校没有尝试建立车辆管理规范系统。高校的政策和我国软件的发展状况决定了现在的 OA 系统很少融入了车辆管理部分,因为还没有意识到车辆管理带来的效益,车辆管理涵盖了车辆信息、资产信息、使用状况和人力资源等等,他们之间紧密的配合,会对整体的运行产生重要的影响。车辆系统对车辆使用者的管理,部门拥有车辆资产的把握和车辆使用的实际情况正是我们最需要的部分。 车辆管理系统的种类繁多,有综合性的也有单独功能模块的。但是对于高校来说,既缺少应用在学校总部的综合性管理系统,也缺少单独应用于校园的校园校门车辆管理系统,因此在我国经济和科技高速发展的背景下,如何让车辆管理系统走进我们的校园管理体系,保障车辆使用和强化日常的管理,成为我们当前需要解决的实际问题。1.3 研究目的目前的信息商务学院领域内的 OA 办公信息化系统已经普及,但车辆管理系统任然属于边缘化,车辆管理系统没有独立的被部署,也没有链接在 OA 管理系统中,所以在我校搭建车辆管理系统是当务之急。现车辆管理系统,可以在我校范围内统一管理学校的车辆资源,通过合理的调配车辆,更好的为学校日常工作服务,在未来高等教育普及后,越来越多的学生就会涌入校园,车辆管理系统的搭建可以为未来学生规模扩大做好准备,更好的实现学校为学生服务的宗旨。同时高校属于事业机关,类似与政府部门,可以通过车辆管理系统更好的监管车辆的使用情况,避免公车滥用、公车私用等的行为,彻底实现车辆的智能化联网监控。1.4 论文研究内容由于我校在车辆管理系统上面的缺失,不具备自动化、信息化、智能化的车辆管理,在高等学校高速发展的今天,使得学校这个小社会更好的平稳运行、强化日常管理成了我们当前的研究课题。本文主要是通过分析综合已有的各行各业的车辆管理系统模型,构造出适合学校使用的智能车辆管理系统,吸取了之前管理系统在业务流程中的经验和教训,在先进的技术和思想引导下,充分利用学校的优势,实现高效的、智能的、面向信息商务学院的系统。1.5 本论文章节安排本文以项目设计为主,首先讨论了研究背景和意义,给出了系统需求分析与车辆管理系统的概要设计,然后给出了该系统的主界面和各个功能模块设计与实现。本文的主要安排如下:第一章:介绍了课题的研究背景,指出课题是在车辆信息化的大背景下产生的;讨论了课题的研究意义;讨论了设计应该实现的目标;分析了国内外的发展状况。第二章:相关技术选择和需求分析,指出进行可行性分析的各个方面;为开发环境的介绍,分别介绍了Java和Tomcat的特点和优势,充分展示了所用的语言和服务器的好处。第三章:系统的总体设计,分析了车辆管理系统的总体功能;分析了该系统的数据流程图,讨论了系统的数据流图的特性和画出了系统流程图;数据库分析,分析数据库的特点。第四章:系统的实现,给出了系统的完整的功能分析;进行了系统的结构的设计,详细说明了每一个子模块所应该具有的功能;分析了模块功能设计,具体指出了每一个功能模块所应该包含的子模块;分析了系统的模型结构;给出了数据库的介绍以及数据库的创建过程;数据库表的关联及数据库表结构。第五章:系统测试:对系统进行功能测试,得出结果。第六章:本文总结。对信商车辆管理系统进行总体评价,对未来需要改进的地方进行总结。2 需求分析通过对我校的车辆使用情况进行详细的调查,明确了车辆管理系统所要实现的功能以及界面,本产品是在已有项目经验的基础上进行开发的,在需求上充分考虑高校使用的实际情况,按照需求分析逐步实施系统设计。根据当今管理系统软件开发的技术使用情况,选择合适的技术来进行系统的实现。本系统主要适用于信息商务学院的车辆信息管理和车辆调度,旨在提高我学校对车辆的有效管理,提高办事效能。2.1 系统技术概述通过全面分析高效智能车辆管理系统的各项需求,考虑到我校的软硬件条件,特别是在校园网这个大局域网内部,我们使用面向浏览器的开发框架,使得各个部门利用网络就可以登陆系统,因此 B/S 结构的开发成为了我们的选择。基于框架的选择后,我们选择 Java 语言的模式开发,服务器我们选择 Tomcat,前台开发语言选择 JSP,后台开发语言使用 Java,MyEclipse 作为 IDE 来实现代码的开发,而在数据库方面我们选择MySQL等。2.1.1 JSP简介JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。2.1.2 Tomcat 服务器 Tomcat 是来自 Java 领域的 Web 服务器,通常用于运行基于 Java 的 JSP 和 Servlet网页开发技术。良好的扩展性和使用资源少是 Tomcat 的主要优势,与我们经常使用的Apache 相比,Tomcat 是在 Apache 基础上的扩充,用于发布基于 Java 的各种程序。最新的 Servlet 和 JSP 规范都可以在 Tomcat 中使用,因此我们首选 Tomcat 服务器来完成开发和测试。2.1.3 Navicat for MySQLNavicat for MySQL是一款强大的 MySQL 数据库管理和开发工具,它为专业开发者提供了一套强大的足够尖端的工具,但对于新用户仍然易于学习。Navicat for MySQL 基于Windows平台,为 MySQL 量身订作,提供类似于 MySQL 的用管理界面工具。此解决方案的出现,将解放 PHP、J2EE 等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。Navicat for MySQL 使用了极好的图形用户界面(GUI),可以用一种安全和更为容易的方式快速和容易地创建、组织、存取和共享信息。 用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库转移到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local),进行档案备份。 Navicat for MySQL 支援 Unicode,以及本地或远程 MySQL 服务器多连线,用户可浏览数据库、建立和删除数据库、编辑数据、建立或执行 SQL queries、管理用户权限(安全设定)、将数据库备份/复原、汇入/汇出数据(支援 CSV, TXT, DBF 和 XML 档案种类)等。软件与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及 BINARY VARBINARY/BIT 数据种类等的规范。2.1.4 B/S 结构 B/S (Browser/Server)是基于浏览器的服务结构,是在传统客户机/服务器结构上的改进,通过对互联网浏览器的扩展,使浏览器代替了客户机,形成了浏览器和服务器结构。B/S 结构将逻辑层和界面层分开,使得客户端可能更简单的实现访问,同时可以是互联网上的用户同时参与访问,降低了客户端的负载和提高了扩展性,同时也降低了用户的成本。B/S 结构已经成为了当下流行的开发结构,本次系统实现我们将使用三层分布式架构(B/S)。与 C/S 结构相比,B/S 结构具有自身的优势: (1)维护处理简单。B/S 架构只需要在互联网上就能使用,Web 服务器端与服务器端分离,客户端很少负责逻辑业务;而 C/S 结构则牵一发而动全身,维护处理起来与B/S 架构相比不方便(2)使用简单。B/S 架构的软件是分布式的,客户端只需要通过浏览器就可达到访问的目的,使用起来极其方便。而 C/S 结构的软件的用户必须通过安装客户端的方式才能得以访问系统。 (3)服务器端负载较重。B/S 架构的软件的主要逻辑层都在服务器端,因此当面临海量信息的时候,服务器端负载就会越来越大,这也就给软件本身带来了极大的风险,极容易发生故障。B/S的这些优点使得其在软件开发中使用的十分广泛,如图2-1为B/S架构模型图。图2-1 B/S架构模型图2.2 系统需求分析2.2.1 实现目标随着信商师生数量不断增加,对智能化的车辆管理系统的需求迫在眉睫,针对这种情况,本系统主要可以完成以下任务: (1)车辆动态查询通过网络动态实时的查询到车辆的使用状态,管理人员可以及时掌握车辆总体情况,用车人以此预订车量。车辆的动态查询是为了与网上预订保持一致,数据库在刷新页面时会更新。(2)网上预订用车人通过网络选定车辆,登记用车目的、用车时间、目的地等用车申请相关信息。用户可以在线查看并选择合适的车辆和司机,选择之后填写车辆预约表进行申请,预约表主要包含所申请使用的车辆、驾驶员、人数、事由、预计时间等信息,填写完毕后进行提交,由管理员进行审核。(3)在线审批车辆管理人员在线批此用车申请信息。当用户提交预约申请表后,管理员可以在自己的页面进行查看,如果用户所填写内容符合实际情况,管理员进行批准操作,用户预约成功,如果所填情况不实,管理员进行退回操作,用户重新预约。(4)派遣车辆应用系统打印车辆调度单,派遣车辆完成出车任务。车辆预约成功后,在网页上可以打印车辆调度单,管理员凭此调度单来派遣车辆,以完成出车任务。(5)回车登记根据回车报告录入本次出车费用、里程等相关信息。回车报告单是由司机所填的车辆的费用信息,行车距离等信息。车辆返回以后,司机需将回车登记表交给管理员,管理员将出车费用、里程等相关信息录入系统,以方便日后查看。2.2.2 开发环境和软件要求该系统为 B/S 三层结构,它的运行环境分浏览器、WEB 服务器端和数据库三部分。 客户端:IE6.0 浏览器,Google 等浏览器 WEB 服务器端: Windows 操作系统 数据库访问:DAO,Hibernate ,Tomcat 6.0 数据库服务器端:Windows 操作系统 数据库系统:MySQL 2.2.3 开发平台和数据库的选择 本文中的高校智能车辆管理系统以MyEclipse 6.5为开发平台来实现Java领域的各项编程技术,采用 MySQL数据库进行研究。 (1)数据库的选择 MySQL是当前比较流行的一种数据库管理系统,它具有操作容易,便于联机分析管理,数据存储容量巨大等特点,成为了 B/S 结构和 C/S 结构软件开发的重要数据存储管理工具。由于MySQL数据库具有极强的可用性、可扩展性、和数据安全性,在与 Java 结合方面具有先天的优势,目前主流的基于 Java 常用的数据库中 Oracle 使用比例最高,最主要就是源于它具有极强的存储能力,甚至超过其他数据库产品。因此,在本次高校智能车辆管理系统的实现过程中我们使用 Oracle 作为数据库。 (2)开发平台 MyEclipse是对 Eclipse IDE 的基础上扩展而来,具有跨 Windows 平台和 Linux 平台的特性,面向 Java 语言的开发环境。MyEclipse 可以用于提高数据库和 J2EE 开发程序的效率,拥有编码,调试和发布等功能,可以实现如 HTML,JSP,Javascript 等语言技术的开发使用。2.2.4 系统的功能 本产品分为车辆查询模块、车辆预约模块、审核预约模块、车辆调度模块、用户个人信息管理模块、用户登录注册模块和回车登记管理七大主要功能模块,这七部分功能共同组成了信商车辆管理系统的车辆调度管理。本系统使用网站实现用户登陆,获得自己的管理权限和可以浏览的信息,并根据这个信息实现联接和验证。 2.2.5 用户类型和特征 本产品主要面向信商院校的用户群体: (1)信商院校的车辆管理部门 这类用户是该产品的主要使用者,他们一般熟悉学校的车辆管理业务,但在计算机的使用上可能具有一定程度的欠缺。 (2)查询分析用户 作为管理者对数据进行查询分析,是最重要的使用人。 (3)系统管理用户 这类用户是该产品的次要使用者,他们利用该系统对系统进行维护。这类用户熟悉计算机应用,但在业务上可能有所欠缺。 2.2.6 系统交互确定系统用例后,继续完成用例的细化阶段,利用UML中的顺序图描述参与者与系统的交互,用活动图来描述工作流程。以下是信商车辆管理系统中用户角色来完成顺序图的描述。用户预约车辆时序图如图2-2所示。图2-2 用户预约车辆时序图2.2.7 功能需求 前台功能:登陆系统的初始时后,系统验证登陆帐号和密码。当用户登陆成功后进入到主界面中,系统根据用户的级别给予相应的权限,用户的权限决定了用户在系统的可见的部分和可执行的操作功能。通过点击界面中的功能选项,来选择所需要执行的功能,点击完成后,系统将请求传向后台,后台处理生成结果后返回到前台界面。后台功能:后台实现系统的管理和前台功能相适应的请求,通过对存储数据的数据库端通过不断的操作实现数据的存储与提出,完成的结果返回到前台当中。 系统功能模块用例图,如图2-3所示。图2-3 系统功能模块用例图2.3 非功能需求 2.3.1 业务规则 本系统分为两种权限角色,包括管理员和普通用户。其中普通用户可以浏览前台的车辆展示页面,如需预约车辆可进行操作,并填写申请表。后台管理员对申请进行审核,审核通过后进行车辆派遣。 2.3.2 性能需求 系统需要实现平稳的运行,保障对客户端的响应迅速,确保数据存储安全,具有性能上的扩展能力。 2.4 本章小结 本章主要介绍了系统开发所选择的技术,选出最适合的技术完成系统的开发,并对相关重要的技术进行重点介绍。同时完成了对学校车辆管理的调研,通过调研结果得出需求分析,将需求分类归纳出一个个功能模块。制定出软件的设计规则和标准、功能需求和非功能需求,为下一步系统的设计与实现做好了准备。3 系统设计本章将详细的分析介绍用户模块的各个功能,功能的实现以及遇到的问题和解决问题的方法。结构框架图能清楚的呈现出系统的框架,用户模块主要有用户登录注册,车辆搜索,预约表管理,个人信息管理,车辆派遣等五个模块;后台模块的主要有产品管理,产品类别管理,订单管理,信息管理和管理员管理功能,各个模块都有精确的分工。本文着重介绍前台模块。根据对系统的模块设计,画出系统的功能模块图。系统功能模块示意图如图3-1所示。图3-1 系统框架结构图3.1 系统子模块设计3.1.1 用户注册用户从主界面点击注册,进入注册页面,填写相应资料,点击提交,既完成注册,成为会员。如果信息有误或者格式不对,则给予提示,用户可按提示填写正确的资料。(1)用户名填写在用户注册页面,用户需要对所要求的资料进行填写。填写用户名时,系统需要判断用户名是否可用,即在数据库user表中是否已有相同的用户名字段存在,如果有即用户名重复,则不可用。(2)确认密码,密码需要输入两遍,系统需要将第二与第一遍所输入的密码进行对比,如果一致,则可用。(3)其他资料完整的检测,系统需要检测这些文本框在提交时是否为空,如果为空则提示信息不完整。以上三点都符合,则可以完成注册。用户注册模块的流程图,如图3-2所示。图3-2 用户注册流程图3.1.2 车辆检索用户未登录也可从主界面上直接查看所有车辆列表或对车辆进行检索。使用搜索工具对车辆进行搜索查询。可分类查询。用户可以选择车辆的类别,在类别下拉菜单中,选出自己需要搜索的类别即可,系统根据此类别的名称返回数据库进行检索,返回检索结果。查询结果直接显示。(1)车辆添加到预约表,用户对所选择的车辆进行预约,系统读取车辆信息之后,自动在页面中生成车辆预约表信息。(2)在确认预约时,需填写申请表,提交申请表。(3)在预约车辆页面中,每项预约记录都有删除这一选项功能,用户点击删除,系统则清除此条信息。车辆查询流程图如图3-3所示。图3-3 车辆查询模块流程图3.1.3 车辆预约模块用户注册成功登录之后进行预约,把要预约的车辆添加到预约表,可对预约表中的车辆进行管理。管理包括是否删除所选车辆,选择好之后,可选择继续预约,或是去填写申请表。继续预约保留列表中车辆信息,可继续添加车辆。去填写申请表则跳转进入用户申请填写页面。用户填好申请单后提交申请则确认生成申请。用户通过用户面板进入我的预约。可查询自己的预约以及预约详情,但不可以进行修改。车辆预约流程图,如图3-4所示。图3-4 车辆预约模块流程图3.1.4 用户个人信息管理用户在用户中心中点击修改信息和修改密码可自行修改个人的资料,用户名不可修改,其他信息都可修改。用户名在注册时是可以修改的,一旦完成了注册,用户名在库表中便是主键,是不可以更改的,这也是用户身份的标识。用户修改密码和其他信息,与用户注册时的操作和系统的判定都是一样的。如图3-5所示为用户信息修改流程图。图3-5 用户信息修改流程图3.1.5 派遣车辆与回车登记车辆预约时生成的申请单初始状态为未审核,管理员审核通过后,管理员需根据申请单派遣车辆出车。在车辆返回学校时,司机需要跟管理员联系,上交费用表。管理员在系统上将该次申请状态标记为已完成,进行费用登记,即完成回车登记。如图3-6所示为派遣车辆流程图。图3-6 派遣车辆流程图3.2 数据库分析与设计3.2.1 数据库分析根据对信商车辆的调研,以及参考已有的车辆管理系统,设计出系统的数据库。在设计数据库时考虑到用户的实际需求以及我校车辆管理的现有状况,分别设计出系统中所涉及的实例所有属性。并根据分析系统的流程设计出用户模块各个实例之间的联系。用户模块相关的E-R图,如图3-7所示。图3-7用户模块E-R图3.2.2 数据库表设计(1)车辆表(car)用来记录商品的各项信息,考虑到信息的完整性,所有的字段均不可以为空。车辆品牌通过外键brand_id进行传递,车辆类型通过外键type_id进行传递,车辆规格通过外键specification_id进行传递。车辆表各字段及其意义,如表3-1所示。表3-1 车辆表(car)字段名类型长度允许空描述car_idint11否车辆ID,主键,自增licenseplatevarchar32否牌照brand_idint32否车辆品牌,外健type_idint32否车辆类型,外键specification_idint11否车辆规格,外键buydatevarchar32否购入时间 pricefloat0否购入价格from_idvarchar11否提供者/制造商ID appearancetext0否车辆外观及详细描述beizhuvarchar255是备注carflagint11否状态,车辆是否可用(2)车辆品牌表(brand)记录车辆品牌信息,表中各字段设计如表3-2所示。表3-2 车辆品牌表(brand)字段名类型长度允许空描述brand_idint11否车辆品牌ID,主键,自增brand_namevarchar32否车辆品牌名称sortint11否排序号(3)车辆类型表(cartype)记录车辆类型信息,表中各字段设计如表3-3所示。表3-3 车辆类型表(cartype)字段类型长度允许空描述type_idint 11否车辆类型ID,主键,自增type_namevarchar32否车辆类型名称sortint11否排序号(4)车辆规格表(carspecification)记录车辆规格信息,表中各字段设计如表3-4所示。表3-4 车辆规格表(carspecification)字段类型长度允许空描述specification_idint 11否车辆规格ID,主键,自增specification_namevarchar32否车辆规格名称sortint11否排序号type_idint11否类型ID,外键(5)车辆来源表(carfrom)记录车辆的提供者或者制造商的详细信息,表中各字段设计如表3-5所示。表3-5 车辆来源表(carfrom)字段类型长度允许空描述from_idint 11否车辆来源ID,主键,自增from_namevarchar32否车辆来源phoneint11否排序号addressvarchar32否地址beizhuvarchar255是备注(6)用户表(user)用来存储用户的基本信息,基本信息都是用户注册填写。其中密码(password)的存储并非直观的用户密码,而是由MD5加密后的字符串。用户表各字段及其意义,如表3-6所示。表3-6 用户表(user)字段名类型长度允许空描述useridint11否用户ID,主键,自增usernamevarchar32否用户名passwordint32否密码sexvarchar32否性别departmentvarchar32否所在部门positionvarchar32否职位telvarchar32否联系电话(7)申请表(application)是存放用户填写申请表后生成的申请信息,其中userid为申请表的外键,存储申请车辆用户的id。申请表各字段及其意义,如表3-7所示。表3-7 申请表(application)字段名类型长度允许空描述applyidint11否申请表ID,主键,自增useridint11否用户ID,外键usernamevarchar32否用户名incidentvarchar32否出车事由departmentvarchar32否借车人所在部门borrowtimevarchar32否借车时间backtimevarchar32否还车时间placevarchar32否出车地点beizuvarchar255是备注(8)预订表(orders)是在用户提交一个申请以后生成的预订信息。预定表包含的信息有预订的ID号,申请表ID等信息。表中各字段设计如表3-8所示。表3-8 预约表(orders)字段名类型长度允许空描述orderidint11否预订表ID,主键,自增applyidint11否申请表ID,外键maketimevarchar32否预订时间statusvarchar32否状态useridint11否用户ID,外键(9)申请明细表(applydetail)是在用户查看申请明细时用来显示申请的车辆信息,申请表信息等。管理员也需要查看该表,对申请进行审核以及派遣车辆等操作。申请明细表各字段及其意义,如表3-9所示。表3-9申请明细表(applydetail)字段名类型长度允许空描述applydetailidint11否申请明细表ID,主键,自增applyidint11否申请表ID,外键useridint11否用户ID,外键3.3 本章小结本章主要介绍了系统的总体设计方案,其中包括系统的各模块的设计和数据库的设计。根据系统的需求分析完成系统的总体架构设计,设计出适合的功能框架。构建数据库表,将数据表按照逻辑索引链接在一起,实现物理逻辑和数据逻辑接口。 4 系统实现系统实现是将用户所需要的系统呈现在用户面前的关键步骤,它是建立在系统需求分析和系统设计的基础之上的,在完成前几章系统实现的准备工作之后,本章将信商车辆管理系统实现过程和结果进行阐述。以下是系统子模块的具体实现方法和实现结果。4.1 用户登录模块 4.1.1 登录处理流程 每个系统都少不了系统登录管理,在信商车辆管理系统中,用户通过前台主页面进行操作,实现用户登录,以便完成车辆预约等流程。系统对登录者进行 session 值存取用户名和 id,根据登录是否成功的提示信息,跳转到不同的界面。当退出登录的时候,消除 session值。4.1.2 用户登录实现用户在登录时,输入的密码为MD5加密的密文,这样数据库中所存储的密码不会泄露。这样保证了用户登录的安全性。同时,系统采用了输入验证码才能进行登录,这样防止了不法用户的侵入。用户登录界面如图4-1所示。图4-1 用户登录界面图实现用户登录的核心代码如下:String username=request.getParameter(username);String password=request.getParameter(password);/获取用户提交的验证码String checkcode=request.getParameter(checkcode);String message=;HttpSession session=request.getSession();/获取服务器保存的验证码String realcheckcode=session.getAttribute(checkcode).toString();/验证用户输入的验证码是否正确if(checkcode.equals(realcheckcode)UserDAO userDAO=new UserDAO();Mapuser=userDAO.validateVip(username, MD5.md5(password);if(user!=null)Map record=new HashMap();/更新用户上一次的登录时间record.put(lastlogintime, new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new Date();record.put(userid,user.get(userid);userDAO.update(record);session.setAttribute(user, user); /将该用户信息放入Session 4.2 用户注册模块4.2.1 注册处理流程 用户在主页面中除可以登录外还有注册的功能,由于注册界面需要填写的信息较少,所以全部都是必填项,包括有用户名,密码,性别,所在部门,职务以及用户电话。从用户名开始每个输入项都会验证正确性。在用户名这个方面要检测用户名是否重复,既要与数据库中的字段username进行对比,在JAVA语言中由username来存储user表中的username,利用SQL语句对表中的数据进行检索,如果查询返回结果为空,则说明该用户名未被使用,则为可用用户名;如果返回结果不为空,则说明该用户名已被注册,即为不可用。4.2.2 用户注册实现新用户在车辆管理系统首页可以选择进行注册,用户注册需填写注册页面中所有的信息,每一项都不可以为空。用户的密码系统会检测两次输入密码的一致性,系统需要根据第一次输入的密码与第二次输入的密码进行对比,两次输入一致才能通过注册检测,如果两次不一致则提示密码不一致。用户想要完成注册最关键的是信息的完整性,用户信息都必须正确且完整才能通过注册,正式的写入数据库中的用户表。点击注册按钮,系统进行检测数据的完整性。用户注册主界面如图4-2所示。图4-2 用户注册主界面图实现用户注册的核心代码如下:/获取用户的用户名,密码,姓名,所在部门,职务,联系电话,密码提示问题,答案等数据String username=request.getParameter(username);String password1=request.getParameter(password1);String password2=request.getParameter(password2);String sex=request.getParameter(sex);String department=request.getParameter(department);String position=request.getParameter(position);String tel=request.getParameter(tel);String question=request.getParameter(question);String answer=request.getParameter(answer);/将用户名,密码,姓名,所在部门,职务,联系电话,密码提示问题,答案等数据进行组装Map record=new HashMap();record.put(username, username);record.put(password, MD5.md5(password1);record.put(sex, sex);record.put(department, department);record.put(position, position);record.put(tel, tel);record.put(question, question);record.put(answer, answer);record.put(lastlogintime, new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new Date();boolean isSuccess=false; /标志变量if(password1!=null & !password1.equals() & password2!=null & !password2.equals() ) if(password1.equals(password2)/判断两次的密码是否一致UserDAO userDAO=new UserDAO();/检测数据库中是否已存在该用户名Map user=userDAO.getByusername(username);4.3 车辆检索根据用户需求分析,在前台车辆列表首页,增加了车辆检索功能。用户需要预约车辆时,可以根据所需车辆类型来进行快速查找。这样大大提高的系统效率,也为用户提供了方便。车辆检索采用的是模糊查询。车辆检索页面如图4-3所示。图4-3 车辆检索页面图实现用户前台搜索车辆的核心代码如下:/ 按车辆类型进行查询String type_id = request.getParameter(type_id);/当前要浏览的页数String currentPage=request.getParameter(currentPage);/若未输入页数,则显示第一页if(currentPage=null | currentPage.equals()currentPage=1; String where= ;if(type_id!=null & !type_id.equals()& !type_id.equals(0)where += and c.type_id=+type_id ;request.setAttribute(type_id, type_id); /将当前分类的名字放入页面String orderby= order by a.buydate desc;/排序方式(默认值:按时间降序)int pageSize=4; /设置页面所能显示的最大数int startIndex=(Integer.parseInt(currentPage)-1)*pageSize;/ 调用DAO层函数,执行DAO中的searchWithWhere函数CarDAO carDAO = new CarDAO();/ 查询出所有符合条件的车辆QueryResult qr = carDAO.searchWithWhere(startIndex, pageSize,where, orderby);4.4 车辆预约模块4.4.1 我要预约用户可以根据自己的需求进行车辆预约,用户进入车辆管理系统主页,可以浏览车辆列表,也可以进行分类查询,以便迅速查找到想要预约的车辆。用户通过检索车辆,选择自己所要预约的车辆,该车的状态应为“可预约”。下面以某一用户预约车辆为例,详细介绍用户预约车辆的实现方法以及流程。如图4-4所示为车辆展示页面。图4-4 车辆列表展示页面用户预约某一车辆时,把该车辆信息放入Session中,并且可以在页面上展示。用户在页面上可以选择继续预约车辆或去填写申请表。也可以对所选的车辆进行删除操作。如图4-5所示为用户所选车辆信息页面。图4-5 用户所选车辆信息页面用户选择完毕后,借车人需填写申请表,申请表包含的信息有:借车人ID,借车人姓名,借车人所在部门,出车事由,借车时间,还车时间,去往地点,备注和申请表状态。用户登录后选择车辆,在填写车辆申请表时,借车人ID和借车人姓名以及借车人所在部门是由登录后读取该用户信息时获取的。在
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!