1、学 士 学 位 论 文基于Flex/J2EE的车辆维修管理系统的设计与实现院 系:专 业: 姓 名:指 导 教 师:完 成 日 期: - 41 - 目录摘要- 4 -Abstract- 5 -第一章 绪论- 6 -1.1 论文研究背景- 6 -1.1.1 车辆维修管理系统的概述- 6 -1.1.2 车辆维修管理系统的使用现状及其发展- 6 -1.2 论文内容和意义- 7 -1.2.1 论文的内容- 7 -1.2.2 论文的意义- 7 -1.3 论文章节安排- 7 -第二章 车辆管理系统的相关技术介绍- 9 -2.1 车辆维修管理系统的技术背景介绍- 9 -2.2 RIA介绍- 9 -2.2.1
2、 RIA简介- 9 -2.2.2 RIA的发展历史- 10 -2.3 Flex3和 ActionScript3介绍- 10 -2.3.1 Flex3技术简介- 10 -2.3.2 ActionScript3 技术简介- 11 -2.3.3 Flex 发展历史和前景展望- 12 -2.4 J2EE技术- 13 -2.4.1 J2EE技术介绍- 13 -2.4.2 Flex3与J2EE的结合- 14 -第三章 车辆维修管理系统总体架构- 15 -3.1 系统总体架构- 15 -3.1.1 系统描述- 15 -3.1.2 系统架构设计- 15 -3.2 需求分析- 16 -3.2.1 功能需求分析-
3、 16 -3.2.2 模块设计- 17 -3.3数据库的设计与实现- 19 -第四章 车辆维修管理系统详细设计与实现- 22 -4.1 开发工具概述- 22 -4.2 Flex前端界面和功能的实现- 22 -4.2.1 系统所实现具体功能- 22 -4.2.2 系统功能的实现过程- 27 -4.3 BlazeDS实现的Flex与J2EE的交互- 30 -4.4 J2EE后台的实现介绍- 33 -4.5 系统实现中的难点解决- 34 -第五章 总结与展望- 36 -5.1 论文总结- 36 -5.2 论文展望- 36 -参考文献- 38 -致谢- 39 -摘要当今社会,人们对网页的要求越来越来高
4、,其中包括网页的表现力,这就对网站的开发者提出了挑战。由此RIA应运而生,他改变了人们浏览网页的方式,给人们以全新的使用体验。其中Flex更是以其强大的功能和独特的创意赢得了人们的追捧,并在RIA领域中得到了快速发展。本文旨在运用Flex构建车辆维修管理系统来阐述Flex构建的显示层的实现过程还有Flex与后台的J2EE的交互过程。系统通过Adobe开源的Flex数据通信服务BlazeDS以实现Flex与后台J2EE的交互。该系统的设计与实现可以帮助车辆维修企业提高业务水平和工作效率。同时Flex技术的使用更可以增强车辆维修企业的用户与系统的交互。通过网络,企业用户还能更好的共享和沟通业务信息
5、,真正为企业带来便利。论文的主要工作如下:1) 介绍了RIA、Flex、J2EE等技术的概念和发展及Flex的优势和特点。同时也介绍了车辆维修行业的概况,分析了车辆维修软件在行业里的使用现状。2) 对车辆维修管理系统的需求进行了详细分析,并按照需求对系统进行了整体的架构设计、各个功能模块的设计、还有数据库的设计。3) 重点分析和阐述了Flex显示层的实现效果和过程,展示了各个界面的实现功能。同时还分析了Flex与后台J2EE通过BlazeDS交互的实现过程并阐述了实现中遇到问题的解决办法。4) 同时本文还结合系统的实现对Flex技术的优势和面临的挑战进行了一定的探讨,并对其前景进行了展望。关键
6、词:Flex、RIA、J2EE、车辆维修、管理系统。AbstractNowadays, peoples expectations on browsing fantastic web pages and having more interaction between users and pages are getting much stronger than ever before, which is a great challenge for the web site developers. So, the RIA comes into existence as the situation r
7、equires. It will change the way that people browse web pages. It will bring the users a brand new experience. Flex is powerful and creative which win the peoples pursuit and it is developing rapidly in RIA. This thesis aims at expatiate the realization of Flex presentation layer and the interaction
8、between Flex and J2EE by means of designing and realizing the Vehicle Maintenance Management System with Flex. The system connects J2EE with Flex by Adobe open source data services BlazeDS. The design and realization of this system can assist the vehicle maintenance and repair enterprise to raise th
9、e level of services and improve the work efficiency. The Usage of Flex can enhance the interaction between enterprise users and system. And outlets in different places can share the same information, which bring convenience to the enterprises.The main work of this thesis is as follows:1) Introduce t
10、he concepts, histories of RIA, Flex , J2EE and the characteristics, advantages of Flex.2) Analyze the request of Vehicle Maintenance Management System, work out the solution, design the structure of the system and the database; 3) Analyze the realization of Flex presentation layer and the interactio
11、n between Flex and J2EE. Explain how to solve the problem in the realization.4) This thesis also discussed the advantages and challenges of Flex and the prospect for Flex.Keywords: Flex, RIA, J2EE, Vehicle Maintenance Management System第一章 绪论1.1 论文研究背景1.1.1 车辆维修管理系统的概述随着我国经济的飞速发展,汽车在我国变得越来越普及,这也就直接带动
12、了汽车维修业的繁荣,汽车维修业已成为一个迅速崛起的庞大产业,为公路交通运输业提供了强有力的技术保障。但是汽车维修行业本身也存在一定的问题,诸如行业的诚信度和信誉度较差、乱收费问题、从业人员素质、技术水平、服务水平较低、市场秩序有待进一步规范等等,再加上我国加入世贸组织后,汽车维修行业所面临的巨大挑战都影响着汽车维修行业的发展。因此,提高汽车维修行业的竞争力和管理水平迫在眉睫,车辆维修数字化管理正好顺应了汽车维修行业提高竞争力和管理水平的需求,从而一批车辆维修管理软件应运而生,他们对汽车维修行业的快速和健康发展起到了积极的促进作用。车辆维修管理软件可以帮助汽车维修企业管理和记录日常的维修业务,用
13、计算机来参与汽修厂的管理,可明显提高汽修厂的管理水平和工作效率,加强对员工的监管,进而促进汽车维修企业更快更好的发展,提高汽车维修企业的市场竞争力。车辆维修管理软件可以提供包括汽修业务管理、汽配业务管理、售后服务管理、客户关系管理、系统管理等日常业务的管理功能,这些功能可以有效地帮助汽车维修企业更好地管理自己的业务,从而提高自己的市场竞争力。1.1.2 车辆维修管理系统的使用现状及其发展目前车辆维修管理系统已经被应用于大大小小的车辆维修企业里,并且为企业的管理带来了很大的帮助。由此看出,车辆维修企业对车辆维修管理系统的需求还是很大的,不过仍然有很多车辆维修企业还没有使用维修管理软件,原因并不在
14、于这些企业不想使用,而是苦于此类软件很大程度上无法满足所有企业的需求。关键在于软件开发者要根据各个维修厂家的实际业务需求来开发出真正满足企业要求的软件来,这是非常重要的,而不能闭门造车,想通过一个软件的开发就能覆盖所有车辆维修企业的需要,这是不现实的。从车辆管理系统的现状来看,大大小小各种功能的车辆管理软件可谓是铺天盖地层出不穷,且都能提供车辆维修企业日常业务所需的各种功能。但是大多数的车辆维修管理系统都是无法连接到网络上的,更不用说用Flex这样的表现力极强的Web技术来开发了,但是随着如今车辆维修行业的日渐壮大,连锁的车辆维修企业也越来越多了,所以如果能够把各个车辆维修点通过网络连接起来进
15、行统一管理和调配肯定会大大提高车辆维修企业的竞争力。1.2 论文内容和意义1.2.1 论文的内容本文主要探讨RIA的主要技术FLEX、ActionScript3以及Flex和J2EE的结合,并通过这些技术来阐述如何实现基于FLEX/J2EE的车辆维修管理系统,并通过该系统来说明Flex、Actionscript3和BlazeDS等FLEX相关技术给车辆维修软件的开发和使用所带来的改变和意义。从而让人们进一步了解和体会到Flex技术给用户所带来的优秀的交互体验。1.2.2 论文的意义本文通过探讨和使用Flex这一优秀的RIA技术来车辆维修管理系统的设计和实现,具体意义有:(一) 展现Flex技术
16、在界面表现和与用户交互方面的优势,这无疑将大大提高软件的易用性和使用体验,从而满足用户日益提高的对软件的要求。(二) 利用Flex与J2EE的结合构建架构的车辆维修管理系统,可以实现架构不能实现的功能,并且提高了开发和维护效率,以满足车辆维修企业增长的业务需求,实现联网管理,提高企业的管理效率。1.3 论文章节安排论文分为5章,各章具体内容安排如下:第一章 作为引言,主要讨论课题的研究背景、车辆维修管理系统的使用现状分析及本文的主要内容、意义和论文的组织编排。第二章 主要介绍本文所用到的技术理论和概念。包括RIA、Flex以及系统实现中所使用的相关技术和概念如Actionscript3、J2E
17、E、BlazeDS等。第三章 主要阐述车辆维修管理系统总体架构、系统的需求分析、系统的模块设计、数据库的设计以及开发工具和环境的概述第四章 主要讲述系统详细设计与实现。如Flex前端的实现和Java后台的逻辑实现同时也会探讨系统实现过程中所遇到的问题和解决办法第五章 总结与展望,主要对论文的实际工作进行总结、归纳,并结合车辆管理系统的实现展望Flex在软件系统开发方面的前景。第二章 车辆管理系统的相关技术介绍2.1 车辆维修管理系统的技术背景介绍车辆维修管理软件可以帮助汽车维修企业管理和记录日常的维修业务,用计算机来参与汽修厂的管理,明显提高了汽修厂的管理水平和工作效率,增强了汽车维修企业的市
18、场竞争力。但从车辆管理系统的现状来看,大大小小各种功能的车辆管理软件可谓是铺天盖地层出不穷,虽都能提供车辆维修企业日常业务所需的各种功能,但没有特色。首先大多数的车辆维修管理系统都是无法连接到网络上的,这就限制了软件的使用范围,大大降低了管理系统的实用性。其次单一的界面没有特色,容易使用户产生审美疲劳,对于用户没有友好度,更不用说使用RIA这样的Web技术来开发了。而本文旨在使用Flex这一极具表现力的技术来实现传统车辆维修管理系统所没有、的良好的交互性和友好度,为用户带来使用体验上巨大的变化。同时又通过网络这一载体,可以允许企业用户在不同的地点查看和修改企业的各种管理信息,从而不再有地域的限
19、制。这就大大提高了管理系统的应用价值。然而在业务层,本文使用J2EE作为解决方案,来为企业提供更加可靠和高效的应用系统,完全可以满足车辆维修企业的业务需求。结合Flex强大的表现力和J2EE出色的业务处理能力而设计开发出来的车辆维修管理系统相比传统的系统有了很大的优势和提升,同时也具有可行性高、开发效率高、维护成本低等特点。下面就将对本系统用到的各种技术进行详细的介绍。2.2 RIA介绍2.2.1 RIA简介互联网早已成为人们日常生活中重要的一部分了,每天人们要浏览各种网页并从中获取大量的信息。然而传统的网页表现已经很难满足人们的要求了,人们需要更丰富更多彩的网页表现。频繁的网页刷新、请求响应
20、等待的时间等传统网页都具有的问题降低了人们上网的乐趣。当然传统网页也有其优势所在那就是带宽的需求比较低,节省网络的资源,浏览速度较快,但是随着网络技术的发展和硬件设备的提升,带宽已经不在是问题了,网页技术的发展也不再受到带宽的制约了。有了人们日益增长的需求又有硬件设备的发展做保证,新技术应运而生。RIA富互联网技术为网页的浏览带来了全新的体验。Rich Internet Application 即富因特网应用程序1,RIA的富体现在其丰富的界面表现能力可以实现类似桌面应用系统的效果。传统网页的输入框选择框等组件已近让人们产生了审美上的疲劳,而且无法与浏览者有更多的交互,界面呆板、生硬、缺乏生气
21、。而运用RIA技术的界面则充分的展现了其“富”的一面,同时强大的交互性更为网页增添了活力。RIA同样适合企业级开发,对于企业用户来说,他们可以保留现有的系统架构,如J2EE、.NET等,而只需对前台的界面进行改变。RIA技术可以与这些架构进行很好的结合,将系统变得更快速、美观、易用。与之前的系统相比,RIA技术大大地提高了系统的表现力和交互性,使得界面的友好度加强,最主要的时间少了系统频繁的刷新和远程交互,大大地提高了使用效率。2.2.2 RIA的发展历史 “富互联网应用系统”一词源于Macromedia公司在2002年3月发表的一份白皮书,尽管如此,该词在更早的年代中就已包含以下含义2:远程
22、脚本(由微软于1998年左右提出)、X Internet(由Forrester Research于2000年10月提出)、富(网页)客户端富网络应用2。随着RIA技术的不断发展,涌现出了很多种新兴的技术。首先当然是Adobe的Flex,从它一经推出就受到了广大开发者的热捧,并在这几年的到了很大程度的发展和推广。同时Flex的最大竞争对手SilverLight也由微软公司于Flex之后推出,并且给Flex带来了很大的冲击。如今Sun 公司的JavaFX 也逐渐崭露头角。这些技术各有各的优势,其中Flex先入为主,如今已经被很多的开发人员所接受,并且有了很多成功的应用案例,而SilverLight
23、和JavaFx还有很长的路要走。可以肯定的是在RIA领域竞争才刚刚开始,会有更多新的技术出现,他们毫无疑问会为网页的浏览体验带来翻天覆地的变化。2.3 Flex3和 ActionScript3介绍2.3.1 Flex3技术简介Flex 是一种基于标准编程模型的高效RIA 开发产品集,最初由Macromedia 公司在2004年发布,后被Adobe 公司冠以商标。“基于标准编程模型的高效RIA 开发产品集”,这是Adobe 公司对Flex 技术的官方定义1。Flex是以Flash的为基础而推出的,需要Flash Player插件才可以运行。由于Flash的广为流行,所以大多数的浏览器都安装了Fl
24、ash Player插件,这就为Flex铺平了道路,可以说使用Flex开发的网页基本可以在大多数的浏览器上运行,体现了Flex优秀的跨平台性,这成为了Flex得天独厚的优势。Flex3可以使用Adobe开发的IDE(集成开发化境)Flex Builder3进行所见即所得的开发,或者通过在Eclipse里安装Flex的插件,也可以进行Flex的开发。Flex3具有如下的优势:1. 出色的界面表现能力和交互性2. 良好的跨平台性3. 开发和维护的方便快捷4. 服务器端架构的灵活使用5. 优秀的多媒体解决方案 这些Flex的优势让它在RIA的领域独具特色,并且占有很大的市场,同时Flex的潜力也是非
25、常巨大的,期待着Flex的发展可以给网页的浏览体验带来更大的提升。2.3.2 ActionScript3 技术简介ActionScript 是针对 Adobe Flash Player 运行时环境的编程语言,它在 Flash 内容和应用程序中实现了交互性、数据处理以及其它许多功能3。ActionScript 的代码由 Flash Player 中的 ActionScript 虚拟机 (AVM) 来执行的3。ActionScript代码通常被编译器编译成“字节码格式”(一种由计算机编写且能够为计算机所理解的编程语言),如 Adobe Flash CS3 Professional 或 Adobe
26、Flex Builder的内置编译器或Adobe Flex SDK 和 Flex Data Services 中提供的编译器。字节码嵌入 SWF 文件中,SWF 文件由运行时环境 Flash Player 执行3。ActionScript 3.0 是一门纯粹的面向对象的语言,它相比ActionScript 2.0有了很大的性能改善。虽然 ActionScript 3.0 对于在Adobe Flash Player 9 中运行的内容并不是必需的,但它使用新型的虚拟机 AVM2 实现了性能的改善3。ActionScript 3.0 代码的执行速度可以比旧式 ActionScript 代码快 10
27、倍3。从这一点可以看出ActionScript 3.0的巨大变化,Flex在拥有了自己华丽的外衣之后又有了ActionScript作为它的聪慧的大脑,这让Flex的功能更强大、更具有竞争优势。Flex 程序由MXML文件和ActionScript 代码构成。MXML是基于XML的标准,用于编写Flex界面的组件;ActionScript 基于ECMAScript,可以用来实现Flex前台的逻辑或者为Flex增添动态效果,其语法有些类似JavaScript。这两者的结合就构成了一个完整的Flex文件。由于MXML与ActionScript的关系就像HTML和JavaScript的关系,所以对于开
28、发者来说还是很容易理解的。2.3.3 Flex 发展历史和前景展望Adobe Flex最初由Macromedia公司在2004年3月发布,Flex经历了几个版本的变化,现在到了Flex4,已经推出了SDK下载,新版本的Flex4将于2009发布,以下是Flex的发展历史2:l Flex 1.02004年3月l Flex 1.52004年10月l Flex 2.0 (Alpha) - 2005年10月l Flex 2.0 Beta 12006年2月l Flex 2.0 Beta 22006年3月l Flex 2.0 Beta 32006年5月l Flex 2.0 Final - 2006年6月2
29、8日l Flex 3.0 Beta - 2008年3月l Flex4 预计2009年从Flex现在的普及度来看,国外要好于国内,在Flex方面,国内的使用度还是相对较少,可能这和Flex并不完全成熟有关系,毕竟Flex还是一个较新的技术。但是Flex作为RIA开发的一把利器有着他无可取代的优势,所以还是具有很大的潜力和市场的,关键看以后Flex要往什么方向发展,还有Adobe怎样利用Flex已有的优势进行市场的拓宽。与此同时在RIA开发平台领域,除了Adobe的Flex,微软还正式推出了Silverlight、同时Sun公司也推出了基于Java平台的JavaFX,目标同样是直指RIA开发。目前
30、来看,这三种技术各有优势,Flex先入为主,目前已经有了一个很大的市场,但是Silverlight的先天优势是有Windows平台的支持,而JavaFX作为后起之秀,还有很多需要改进。Silverlight虽然较Flex推出的时间晚,但已经给Flex造成很大的压力。Silverlight的一些特性对Flex是致命的打击,比如对于搜索引擎的友好等。现在就看Adobe如何应对了,RIA是个非常大的市场,竞争才刚刚开始,不过这是件好事,可以促进各个技术的不断发展和进步,为用户带来更好的使用体验。2.4 J2EE技术2.4.1 J2EE技术介绍J2EE是一种利用Java 2平台来简化企业解决方案的开发
31、、部署和管理相关的复杂问题的体系结构4。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构4。目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2
32、平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)4。J2EE是一种技术体系,它包括了各类服务和架构,为企业级的开发提供了出色的解决方案。同时也提高了企业级开发的效率,增强了系统的灵活性和易维护性,提高了系统的安全性。J2EE的体系结构如下图:图2-1 J2EE体系结构图42.4.2 Flex3与J2EE
33、的结合Flex3与J2EE的结合主要依赖于Flex与Java的数据通信机制,主要有一下两种形式:一类是通过传统的HTTP方式发送请求来和服务器端进行交互,另外一类则是通过LCDS或BlazeDS等与服务端进行通信。BlazeDS可以看做是LCDS(LiveCycle Data Service)的简化版,是开源的,而LCDS是要收费的它少了后者的Data Management Service高级功能,目前不支持RTMP协议。本文主要使用BlazeDS来实现Flex与Java的通信,BlazeDS的核心功能包括:RPC services 和Messaging Service。下图展示了BlazeD
34、S 的主要特征5:图2-2 BlazeDS的主要特征5第一类 RPC Service远程服务 主要有 Http Services,Web Service和Remoting Service 这几种通信方式。第二类 Message Service消息服务 主要有 Publish&Subscribe, Collaboration, Real Time Data Push这几种方式。Blazeds主要可以用来实现Flex的代理服务、发布订阅消息和软件集群等功能。本文就是使用Blazeds来实现Flex与后台J2EE的通信的。第三章 车辆维修管理系统总体架构3.1 系统总体架构3.1.1 系统描述本文主
35、要探讨使用Flex和J2EE等技术实现车辆维修管理系统,从而让车辆维修企业的用户在满足自身的业务需求的同时得到丰富的使用体验。用户可以通过网络登陆该系统进行车辆维修管理,对车辆、配件的入库出库等进行记录,可以对客户的资料进行管理,还能通过搜索功能来查询这些信息。车辆维修管理系统的界面由Flex实现以增强用户体验,业务逻辑则由J2EE技术来实现,力求通过美观的界面、简便的操作、实用的功能来方便车辆维修厂家对业务资料的整理和查找,从而提高工作效率。让用户体会到富互联网应用系统的方便快捷和丰富的用户体验。因为该系统是基于web的,所以可以允许用户通过浏览器异地访问系统,从而使用户对企业信息的管理不会
36、受到时间和地点的限制,同时还可以做到信息和资源共享,真正做到方便高效。3.1.2 系统架构设计 本文使用Adobe开源的Flex数据通信服务BlazeDS来实现Flex与Java后台的通信,使用Servlet来接收Flex端传过来的数据,并调用JDBC来连接数据库。Flex拥有很好的界面表示,可以给用户以全新的使用体验,而后台Java则专注于逻辑处理和与数据库的交互连接,Flex负责前台的表现层,Java负责后台的逻辑层,这样可以将两个层分开,中间使用BlazeDS作为桥梁实现两者的沟通,分别利用Flex和J2EE各自的优势,构建出更好地车辆维修管理系统。下图是系统的整体架构图:Web Ser
37、verJ2EE ServerHttpService请求HttpService响应BlazeDSServletJavaBean数据库JDBCFlex客户端图3-1 系统的整体架构图3.2 需求分析3.2.1 功能需求分析作为车辆维修管理软件,首先要对车辆的维修进行记录、增加和删除,还有对库房中的配件进行管理、对配件进行合理的分类、对配件的使用进行记录,同时要规范设备的管理,使用设备要进行登记。客户信息也需要进行记录,以方便以后业务联系和维修记录的查找。具体系统涉及的信息如下:1) 维修登记信息:单位名称、联系电话、车辆厂牌型号、车牌号、车驾号、行驶公里数、汽油表显示(4/4 4/3 2/1 4/
38、1)、进厂时间、约定交车日期、接修车辆序列号、 维修分类(机电维修 保险事故 非保险事故)、结帐方式(现金 记账)、维修明细、所用配件明细、结账信息(工时费用 零件费用 其他费用 总计 税额)、保单号、报案号、保险公司名称、记账单位2) 库房信息:配件名称、数量、单价、配件品质(正厂,付厂,拆车3) 设备信息:名称、数量、单价、购买日期、保修日期4) 客户信息要求:被保险人、身份证号/组织机构代码、车牌号、车架号发动机号、购置日期、保险公司名称、厂牌型号、保险内容、保单起始日期、保险金额、联系电话系统实现的主要功能如下:1) 信息管理功能:对维修信息、配件出入库信息、设备信息、客户信息等进行管
39、 理,包括增删改等功能,为企业业务的管理提供参考性依据信息2) 信息的检索功能:对已存在的信息进行查找筛选,已达到对业务的有效管理3) 提醒功能:当维修车辆快要到交车日期了,提前几天提醒;对于库房中少于一定数量的配件进行补货提示,对保险快到期的车辆提前一个月提示。这些提示功能将很好的帮助车辆维修企业提高业务质量,更好地服务客户。4) 用户管理功能:对使用管理系统的人进行权限控制,需要有管理员密码才能使用软件,这样可以很好的实现了系统的安全性,防止不相关人员修改重要信息3.2.2 模块设计按照上文的需求分析,系统主要划分为四个模块:1) 维修登记模块:负责登记车辆的维修记录,并对这些记录进行管理
40、;2) 库房管理模块:负责库房中配件的管理,对数量不够的配件进行补货提示;3) 设备管理模块:负责设备的管理,对使用和状态进行记录;4) 客户信息模块:负责对客户信息进行记录和管理,以便以后查找和参考;5) 用户登陆模块:负责对用户的登陆密码进行验证,对系统实现权限管理;下图是系统的整体设计图图3-2 系统的整体设计下面是系统的各个模块的用例图图3-3 维修登记模块的用例图图3-4 库房管理模块的用例图图3-5 设备管理模块的用例图图3-6 客户信息模块用例图如下: 图3-7 用户登陆模块用例图:3.3 数据库的设计与实现根据功能模块和系统的需求分析对数据库进行总体设计,具体如下:1) 维修车
41、辆记录表(vehicles):保存维修车辆的维修记录信息。2) 配件库存表(accessories):保存所有配件库存信息。3) 设备库存表(devices):保存所有设备库存和设备状态数据。4) 客户信息表(clients):保存车辆维修企业的客户信息。5) 普通用户表(user):保存所有注册的普通系统用户的账户信息。6) 系统管理员表(admin):保存所有注册的系统管理员的账户信息。按照功能模块和数据库的需求分析,总共设计了6张数据库表,分别为维修车辆记录表(vehicles)、配件库存表(accessories)、设备库存表(devices)、设备库存表(devices)、客户信息表
42、(clients)、客户信息表(clients)、普通用户表(user)、系统管理员表(admin)。通过以上几张表得到数据库的实体图如下:图3-8 维修记录信息实体图3-9 配件库存信息实体图3-10 设备库存信息实体:图3-11 客户信息实体:以下是数据库的总体设计图:图3-12 数据库的总体设计图第四章 车辆维修管理系统详细设计与实现4.1 开发工具概述本文所实现系统的开发工具如下:Flex:Flex Builder3Java:Eclipse数据库:MySQL 5.0Web容器:Tomcat 6浏览器:IE7FlashPlayer版本:Flash Player 10操作系统:Window
43、sXP SP2Flex Builer3为试用版,功能接近于正式版,就是少了Flex的Chart等组件,因为这些是Adobe的收费项目。4.2 Flex前端界面和功能的实现4.2.1 系统所实现具体功能上文已经提到一个完整的Flex 程序由MXML 代码和ActionScript 代码组成。其中MXML 是一种基于XML 的标记语言,在Flex 技术中,MXML 用于设计用户界面,实现丰富的Flex 表现层。从作用上说,MXML 和HTML 的功能是基本一致的,都是设计用户界面,但是MXML 提供了较HTML 更为丰富的界面组件,并且在开发上更为结构化,条理更加清晰。MXML 的编写同样类似于H
44、TML,它通过标签来定义和描述组件。 本文的车辆维修管理系统的Flex界面实现是通过一个MXML文件来实现的,Flex的开发不像以往的HTML开发需要很多的页面,Flex可以在一个MXML页面中完成设计,而不需要很多页面的不断切换,这就大大提高了软件使用时的效率。下面将对系统的几个重要界面的实现和效果进行详细阐述:首先,下图展示了车辆维修管理系统的总体流程:图4-1 系统的总体流程图登陆界面:登陆画面可以允许普通用户和管理员登录系统,可以通过勾选管理员选择框来决定是以管理员还是普通用户身份登陆。管理员和普通用户有不同的操作系统的权限。管理员可以添加、删除、保存、修改和查询各种信息,但是普通用户
45、只能查看和搜索数据。这样就有效的实现了系统的权限管理。图4-1 登陆界面注册画面:在注册画面里可以添加管理员和普通用户,普通用户只需输入用户名和密码就可以注册,但是管理员需要输入已有的管理员用户名和密码,在验证通过以后,才可以申请新的管理员账户。图4-2 注册画面欢迎界面:欢迎界面由四幅图片组成快速导航画面,在最上部有一条导航栏,这条导航栏不会随着画面的迁移而消失,它会一直处于系统的最上部用来方便用户选择功能界面。通过点击欢迎界面的四幅图画,可以分别转到维修登记、库房管理、设备管理、客户信息这四张功能页面了,页面的过渡是采用Flex的特效实现的,不会有页面刷新,整个过程平滑,给用户以很好的使用
46、体验。图4-3 欢迎界面维修登记界面:在维修登记界面可以进行维修记录的管理,进行入库、出库操作。图4-4 维修登记界面维修车辆入库窗口:在维修车辆入库弹出窗口中,用户可以填写入库维修车辆的信息和维修信息,单击确认添加按钮就可以把记录添加到数据库中,同时表格会自动读取新的数据库数据,然后在表格里显示。整个过程同样不需要刷新页面,用户在使用时,就像使用桌面应用软件一样流畅。图4-5 维修车辆入库窗口库存管理界面:在库存管理界面中除了增删改等功能外,还有库存提醒功能,当配件的数量小于50的时候,就会自动标红。如果配件数量等于0的话,配件出库按钮就不会显示。这样就可以很直观的对配件的库存情况进行判断,当然库存管理界面也可以对配件的信息进行搜索。图4-6 库存管理界面设备管理界面:设备界面上可以对设备进行出库和入库操作,单击表格左侧的按钮可以弹出设备出库登记画面,如下图所示,在出库登记画面里可以填写出库设备的数量,而设备名称系统会自动添加。图4-7 设备管理界面 客户信息界面:客户信息界面用来记录客户的各种信息并可以对其进行检索。图4-8 客户信息界面同时每个界面都有信息搜索功能,当用户点击搜索按钮时就会在数据表的下端显示出搜索界面,在搜索见面中输入关键字就可以对数据进行过滤,把结果数据显示在表格中,方便用户查阅。同样整个过程不需要刷新页面。如