1 概述
随着百姓购买力的提升, 各种车辆走进千家万户, 跟汽车相关的服务也呈现出蓬勃发展的势头。据悉, 汽车销售商的利润来源中, 售后服务占 50% , 汽车销售占 10% , 零部件销售占10% , 可见售后服务对于销售商来说有着举足轻重的作用, 同时汽车售后服务的好坏对于消费者来说也至关重要, 它关系着消费者的切身利益。相应的汽车售后服务管理系统就成为能否提供优质服务的重要因素, 它面临着越来越高的要求, 比如:异地快速查询、厂商和维修站信息的快速更新等。
传统的汽车售后服务管理系统大都采用 C/S( Client/Ser-ver) 模式的计算机管理系统, C/S 模式有它自身的优势: 数据的分布存储和处理提高了系统的运行效率与数据库管理的独立性, 具有较好数据源与客户访问操作独立性。然而随着规模的不断扩大, 应用程序的复杂程度不断提高, 传统的 C/S 模式逐渐暴露出许多问题, 如客户端需要安装专用的客户端软件开发成本较高、移植困难、维护复杂、升级麻烦、系统的可移植性、可扩展性、可维护性都较差。同时, 随着 Internet 的迅速发展和普及以及中国加入 WTO, 汽车售后服务也面临着许多新的挑战和机遇, 如远程维修站的查询, 汽车信息的远程查询, 网上信息的发布等。因此汽车售后服务迫切需要开发出基于 B/S( Browser/Server) 模式的汽车售后服务管理系统, 以适应当前汽车行业的发展, 提供更加完善, 质量更高的服务。针对上述情况, 我们开发了基于 B/S 模式的车辆售后服务管理系统。该系统以 B/S 模式为基础, 涉及的关键技术相当广泛, 如 ASP. NET 技术、. NET 的四层设计架构、安全保障技术等。系统用微软的. NET 平台来进行开发, 采用面向对象的开发方法, 使用方便, 安全稳定可靠。
2 系统目标
( 1) 利用现代信息技术手段, 建立起适应市场经济环境的汽车售后服务管理系统, 从而提高汽车销售公司的售后服务的
质量和效率。
( 2) 以后台数据库为核心, 建立以售后服务部为中心的连接各特约维修服务站的管理系统, 协助售后服务部管理各服务站, 实现数据和信息的高度共享。
( 3) 建立车辆档案和客户档案实现对销售的每台车辆的管理和维护, 并且能对反馈的信息进行及时的处理, 为领导决策提供信息帮助。
3 系统结构设计和功能实现
3. 1 系统结构
本系统总体设计采用目前较为领先的多层 B/S 模式体系结构。具体分为四层, 如图 1 所示, 分别为: 表示层、服务层、业务功能层和数据层。
( 1) 表示层
表示层是管理系统的用户接口部分, 即人机界面。用来收集用户输入的信息并反馈结果信息。
( 2) 服务层
服务层主要是 Web 服务器, 它包括两个方面的功能: 一是负责接收用户的服务申请, 调用应用程序服务器中相应的业务对象; 二是接收应用程序返回的结果, 以 Web 页面的形式在
Browser 端显示。
( 3) 业务功能层
业务功能层主要负责执行业务逻辑, 如验证数据合法性、处理数据与数据层交互等。
( 4) 数据层
数据层由数据库服务器所构成, 主要负责对数据库的操作和维护, 迅速执行大量数据的检索和更新。
3. 2 子系统划分
该汽车售后服务管理系统主要由四大子系统组成, 分别是: 车辆档案管理子系统、三包理赔管理子系统、配件管理子系统和系统管理子系统。每个子系统又有其子模块。具体的系统模块图如图 2 所示。
3. 3 各子系统的详细功能介绍
( 1) 车辆档案管理
以每辆车为单位, 存储车辆的相关信息, 提供对各种信息的输入、查询、修改、删除等基本操作。包括: ①车辆信息管理。包括车辆型号、底盘号、发动机号等基础信息和燃油箱、空滤器、变速箱等零配件信息。提供对这些信息的输入、查询、修改、删除等基本操作。②客户信息管理。对客户信息( 如客户姓名、联系方式等) 和购买信息( 如购车经销商、地点、日期等)进行登记、修改、查询、删除及相关资料分析。③维修记录管理。主要是对售后服务登记表上的详细信息进行管理。④综合信息查询。为系统的各种用户提供车辆档案的信息查询功能, 不同的用户其权限不同, 可以查询的模块也不同。
( 2) 三包理赔管理
对服务部与服务站、服务部与配件供应商之间产生的费用进行结算。包括两个方面, 即一服务站为客户提供了三包服务后, 需要向服务部报销各种相关费用时产生的费用结算; 二服务部和配件供应商之间的费用结算。主要业务包括售后服务登记表的备档、服务站服务费用的登记、服务站费用查询、对配件供应商费用的管理及相关的报表统计。
( 3) 配件管理子系统
对服务部内部和服务站的配件进行管理。具体分为三个子模块: ①新件管理。包括配件申请管理和服务站配件占有账管理。配件申请管理包括服务站提交配件申请、查看申请结果、服务部审核配件申请、反馈申请结果。服务站配件占有账管理的主要功能是对服务站的三包配件领用情况进行管理。②旧件库管理。主要功能是对服务部旧件库的出库、入库和库存情况进行管理。③配件基础信息管理。主要功能是对配件的编码和价格等信息进行管理。
( 4) 系统管理
只限于系统管理员使用, 对整个系统进行维护。具体有:①用户管理。实现用户角色和权限分配、用户的增加和删除以及用户信息的更改等操作。②服务站管理。该模块主要对特约维修站的基本信息和权限, 以及对服务站的增加和减少进行管理。③信息管理。发布最新的汽车信息, 包括汽车性能指标描述、客户反馈信息等。以满足市场需要和企业自身的发展。
4 系统涉及的关键技术
4. 1 JAVA 技术的四层设计架构
JAVA 是 ORACLE 为开发应用程序创建的一个富有革命性的新平台, 从分布式应用系统的角度看, 一个 Web项目应该具有如下特点: 能够与用户进行交互; 处理特定的业务功能; 在存储介质中保存它的状态。因此, 这个项目程序应该至少分为三层: 表示层、业务逻辑层和数据层。软件分层有以下优点: 良好的透明和封装; 高内聚、低耦合; 易于扩展、维护和重用; 开发人员易于分工、提高开发效率等。但是传统的三层体系结构中业务逻辑层过于庞大, 其他层对这一层的依赖性增大, 即增大了层与层之间的耦合度。本系统中采用了四层体系结构分别是: Web 层、业务实体层、数据访问层和业务规则
层。
( 1) Web 层
由 SPRINGBOOT 中的 Web 窗体和代码隐藏文件组成。前者是用 HTML 以及各种 Web 控件来完成用户操作界面, 而代码隐藏文件实现各种控件的事件处理。
( 2) 业务实体层
解决了业务数据表现形式的问题, 它包含用于各层间传递信息的数据集。业务实体层的每个类均继承自 DataSet。根据需求分析结果, 每个业务实体将模型化物理数据库中的特定信息, 并选择适当的方式建立不同的业务实体。业务实体层是构建应用程序的基础。设计业务实体时不能为每个数据库表定义单独的业务实体, 而应该根据系统设计需要通过严格的抽象, 准确地将关系数据映射到业务实体以完成业务实体组件的划分, 它是对系统中层的横向划分。如车辆档案管理子系统涉及到的物理数据库表如图 3 所示。按照需求分析中需要实现的功能, 我们把它抽象为三个业务实体: VehiclesData 车辆实体、RepairsData 维修记录实体、ClientsData客户实体。
( 3) 数据访问层
为业务规则层提供数据服务。数据访问层主要实现数据存取功能。本层使用的关键技术是 SPRINGBOOT。数据存储和访问模式采用 DataAdapter 和 DataSet 方法。DataReader 虽然不
用额外占用内存, 而且在并发用户不多的情况下读取数据的速度比 DataSet 快, 但是随着并发用户的增多, 采用 DataReader 将导致争用, 其伸缩性将会得到限制, 而 DataSet 仅在被填充时才需要占有数据库连接。延迟从 DataSet 读取数据不会导致争用发生。因为数据库连接可能已经返回了连接池中。在并发用户超过一定数量而开始发生数据库连接争用时, DataReader 性能发生下降, DataReader 的响应时间超过了 DataSet。该层的每个类都对应一种业务实体的多个数据操作方法, 并且都是从IDisposable 接口继承。如 Vehicles 类的核心方法为 InsertVehi-cles( ) , GetVehiclesByChassis( ) , GetVehiclesByClientName( ) 等。
( 4) 业务规则层
业务规则层需要考虑的是从数据访问层中得到的数据是什么结构的, 怎么验证这些数据的有效性, 若是无效, 应用程序如何处理, 所以业务规则层的核心就是如何实现应用中的业务规则和逻辑问题。该层的类和数据访问层中的类是对应的, 当业务规则层调用数据访问层的方法时, 必须首先验证数据的有效性, 然后再调用数据访问层的方法。如 VehiclesRules 类的核心方法 InsertVehiclesInfo( ) , LoadVehiclesByChassis( ) , LoadVe-hiclesByClientName( ) 等, 它们分别对应数据访问层的 InsertVe-hicles( ) , GetVehiclesByChassis( ) , GetVehiclesByClientName( ) 。只不过在调用数据访问层的方法之前加入了对数据有效性的
判断。
4. 2 安全机制
安全性是任何管理信息系统所必须考虑的一个重要方面。在车辆档案管理系统中, 系统安全包括两个方面: 一是企业内部对系统的操作要在自己的权限下进行; 二是服务器应用程序要采取措施防止对其恶意的攻击。对于前者在系统管理子系统内为不同的用户分配了不同的角色, 每个角色有不同的操作权限。登录系统时不同的用户进入的界面也有所不同, 如系统管理员具有最高权限, 管理整个系统的各个模块, 并具有对注册用户进行审核、查找、删除以及分配角色的权限; 档案管理员只能管理车辆档案, 其他模块进入不了。
对于后者, 除了用防火墙等网络安全产品外还在应用程序中采用了身份验证机制和加密技术。要采用身份验证机制首先应该弄明白哪些资源需要身份验证才能访问, 哪些资源匿名用户就可以访问。如要进入系统管理子模块就必须经过身份验证后才能进行相应的操作。这一子模块要实现的各种功能页面我们把它放在文件夹 UsersManage 中。在 UsersManage 文件夹中添加登录页面 Login. html 和名为 Web. config 的 XML 文件。未经过身份验证的用户将自动跳转到登录页面。我们要实现这种安全体系, 需要在 WebUI 层根目录下的 Web. config文件中作如下设置:
以上代码用基于 Forms 的身份验证机制实现了授权允许所有用户可以访问 Login. html, 并且对 UsersManage 重新设置用户授权, 限定匿名用户不能访问。这时, 未通过身份验证的
用户如果访问 UsersManage 中的资源时将会被重新定向到登录页面, 达到了对 Web 资源保护的目的。此外, 安全机制中使用加密技术对重要的数据进行加密传送, 接收端解密后使用,既可防止信息的伪造, 又可防止信息被窃听。
5 结束语
设计和实现了基于 B/S 模式的汽车售后服务系统, 与传统的 C/S 模式相比, B/S 模式在远程信息的管理和数据的高度共享方面具有突出优势。系统采用了目前较为领先的. NET技术, 应用程序为四层结构, 具有高内聚合、低耦合性, 安全稳定可靠。文中重点介绍了. NET 的四层设计架构和系统采取的安全机制。使用该系统可提高工作效率, 降低服务成本, 同时对上层领导决策提供可靠依据。