丹东佰福汽车销售管理系统的设计与实现设计说明.doc
. 辽 东 学 院 本 科 毕 业 论 文(设 计)佰福汽车销售管理系统的设计与实现The Design and Realization of the Dandong Baifu Automobile SalesManagement System学 生 姓 名: 董晓霞 学 院: 信息技术学院 专 业: 信息管理与信息系统 班 级: B1002 学 号: 0911100218 指 导 教 师:审 阅 教 师:完 成 日 期:2009年5月30日辽 东 学 院Eastern LiaoningUniversity独创性说明作者重声明:本毕业论文(设计)是我个人在指导教师指导下进行的研究工作与取得研究成果。尽我所知,除了文中特别加以标注和致的地方外,毕业论文(设计)中不包含其他人已经发表或撰写的研究成果,也不包含为获得辽东学院或其他单位的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了意。作者签名:_ 日期:_43 / 50摘 要随着计算机技术的迅猛发展,利用计算机高效地完成销售库存管理的日常事务是必然趋势。佰福汽车销售公司仍然采用人工记账的传统方法,既容易出错又会导致账目混乱,查询和统计起来也非常不方便,费时又费力,严重时会给公司造成难以挽回的损失。如何做好销售管理,使整个公司协调一致、高效率地运转,是佰福公司急待解决的问题论文进行了系统规划、系统分析、系统设计的工作。分析从企业对功能的需求和性能需求两方面展开。系统设计中说明了系统的功能模块。在数据库设计中,介绍了数据库设计原则,并给出了系统的基本表结构。系统用面向对象方法开发设计,系统体系结构采用三层B/S结构,以Java为开发语言进行程序设计,运用Web与JSP、Struts、MySQL、Java、Ajax等先进技术对软件进行开发和实现。由于使用Java语言进行开发,使系统具有跨平台性,组件的使用让系统具有可扩展性、可重用性和可维护性。本系统采用了直观、清晰、简单的JSP界面,用户界面友好,风格统一。 该汽车销售管理信息系统实现了入库管理、销售管理、基础数据管理、返厂管理、查询统计、客户管理、供应商管理、用户管理八大功能模块,是一个具有功能丰富、运行快捷、操作简单、易维护等特点的汽车销售管理信息系统软件。关键词: 信息管理系统;B/S;汽车销售The Design and Realization of the Dandong Baifu Automobile SalesManagement SystemAbstractWith therapid development of computer technology, With therapid development ofcomputer technology, the use of computers whichefficiently completthe day-to-dayaffairsofthesaleofinventory managementis an inevitable trend.Dandong Bai Fuautomobile sales companystill use traditional methods of accounting manual, error-prone will not only lead to confusion inthe accounts, inquiries and statistics arealso very inconvenient for them, time-consumingand laborious, will cause serious irreversible damage. How to do a good job in sales management, so that the entire company coordinated, efficient operation is the company most pressing problem.This papers work isplanning,the requirements analysis and desin of the system. The requirements analysis contents ability and capacity requirements. The system design contents main structs and ability models and topological structure. The database designintroduces the design method, and give some basic table. The system uses object-oriented method to develop and design. System architecture uses three-layers B/S structure, web and jsp ,Struts, MySQL, Java, Ajax and so on. Its development language is java, so the system is a cross-platform system. And it has scalability, reusability and maintainability. The system has friendly GUI which is the intuitive, clear and simple jsp page.This automobile sales management information system hasstorage management, querystatistics, customer management, supplier management, user management eight modules. Its a powerful MIS which has unique style and running fast and operating simply. Key Words:MIS; B/S; Automobile Sales目 录摘 要IAbstractII引 言1一、系统规划2(一)可行性分析21技术可行性22经济可行性23社会可行性2(二)总体设计原则3二、系统分析4(一)业务流程4(二)系统功能需求5(三)性能需求分析11(四)数据流图分析11(五)数据字典17三、系统设计20(一)系统功能模块设计20(二)数据库设计241概念结构设计242逻辑结构设计253数据库表设计26(三)系统开发技术和开发工具311开发技术312开发工具32(四)系统界面设计331入库管理模块332销售管理模块343基础数据管理模块374返厂管理模块385查询统计模块396客户管理模块417供应商管理模块418用户管理模块42(五)模块处理过程421入库管理模块处理过程422销售管理模块处理过程433基础数据管理模块处理过程434车辆返厂模块处理过程445查询统计模块处理过程446客户管理模块处理过程447供应商管理模块处理过程458用户管理模块处理过程45结 论46参 考 文 献47致 48辽东学院本科毕业论文(设计)使用授权书49引 言销售管理一直是企业管理中的重点,而其核心就在于对降低销售成本,对外扩大销售,从而赢得更广阔的市场和更丰厚的利润1。随着计算机技术的迅猛发展,计算机支持企事业高效率完成销售库存管理的日常事务,是适应现代企业制度要求、推动企业进销存管理走向科学化、规化的必要条件。通过这样的管理方式,企业的管理人员、销售人员、统计人员等各部门员工就能从大量烦琐的资料和数据中解脱出来,只需对自己需要的数据和容进行必须的处理,而不用对每个环节都了如指掌。这在一定程度上能够节省人力物力,同时也大大加强了对数据处理的与时性和准确性。同时计算机具有手工管理所无法比拟的优点:检索迅速、查找方便、可靠性高、存储量大、性好、寿命长、成本低等。这些优点能够极提高企业进销存管理的效率,也是企业的科学化、正规化管理和实现与世界接轨的重要条件。通过对佰福汽车销售4S店进行初步调查,发现其采用不定时工作制,销售业务流程复杂,主要表现在汽车入库环节的处理,销售中的管理环节复杂,车辆数据管理繁琐,供应商和客户的维护不方便,并且还有一些审核处理。如果实行手工操作,进销存与供应商和客户的管理会耗费工作人员大量的时间和精力,而利用计算机来进行管理工作(即开发汽车销售管理系统),不仅能够保证进销存各个环节数据的准确无误、报表的便捷输出,而且还可以利用销售系统对历史销售进行各种条件下的统计、查询,服务于财务部门和人事管理部门。基于此选择设计开发佰福汽车销售管理系统。一、系统规划(一)可行性分析可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功2。可行性研究的目的就是用最小的代价在尽可能短的时间确定问题是否能够解决。下面将分别从技术、经济、社会等方面对佰福汽车销售管理系统的建设进行分析和研究。1技术可行性佰福汽车销售4S店在有汽车销售、美容、修理等共四个分店,各分店距离较远,通过对各分店现有计算机软硬件环境和网络环境的调研,发现其现有微机数量不是很多,配置中等,都可以到Internet网络。针对各分店的软硬件与网络环境,决定采用在Internet网络环境应用的系统,这种设计架构清晰、功能强大、扩展能力强以与良好的升级和维护性、开放性、资源共享性、用户透明性、互操作性以与Java特有的跨平台移植性。系统的升级和维护对于客户机来说都是透明的8。2经济可行性通过对佰福汽车销售4S店的进销存与供应商和客户管理方式进行调研,发现其各个环节的管理不是很严谨,记录的数据常常有丢失或者错误的地方,而且各环节的业务复杂,耗费了大量的人力物力财力,相比之下,利用计算机来支持其各项管理活动(即开发汽车销售管理系统)的管理和运营成本非常低廉,这也是佰福汽车销售4S店适应信息化社会的要求。3社会可行性社会可行性研究是对系统投入使用后对社会可能带来的影响进行分析。本系统建成后,与传统的手工记录方式相比不仅提高了工作效率效率,大大减少了出错的机率,而且节约了大量的纸制品,虽然构建此系统暂时会花费大笔资金,但从现代企业的发展前景来看,此系统对佰福汽车销售4S店来说利大于弊。该系统是一个企业部系统,操作简易、流程清晰,部员工只需要稍微了解整个系统的工作流程,然后按提示操作即可完成整个管理活动。综上所述,构建佰福汽车销售管理系统在经济上、技术上、社会上都是可行的。因而决定开发佰福汽车销售管理系统。(二)总体设计原则本系统的总体设计原则是依托佰福汽车销售4S店现有的网络环境与软硬件设施,系统采用浏览器/服务器模式,使用结构化分析法开发,采用分层模块化的思想实现整个系统。系统的架构分为三层,最上层是基于Web Browser的客户端,用于与用户进行交互,完成基本的数据交互和显示;中间层是Web服务器,用于处理业务逻辑,与数据库交互数据;底层是数据库服务器,用于处理对数据库的数据请求。系统采用MVC设计模式,最上层为UI层(在本系统中就是JSP),对应于MVC中的View,然后是Struts框架,对应于MVC中的Controller,最后是模型层(在本系统中对应于BL层和DAO层),对应于MVC中的Model。整个系统的实现是在搭建出系统的雏形之后逐步完善,最终完成整个系统。企业要求系统具有简单性、针对性、实用性、先进性等特点。简单性:在实现系统功能的同时,尽量让系统操作简单易懂,使具有初级计算机操作水平的人经过简单培训就能管理该系统。针对性:要求该系统设计依据佰福汽车销售4S店的销售与管理情况,所以具有专业突出和很强的针对性。实用性:要求该系统能满足佰福汽车销售4S店管理的实际需要,具有良好的实用性。先进性:要求该系统具有良好的先进性,具体表现在其具有良好的可扩展性,可维护性。二、系统分析进行应用软件系统的研发,首先必须准确了解与分析用户原有的业务流程与现有需求,需求分析是整个设计过程的基础,它将直接影响应用程序的开发速度和质量3。(一)业务流程通过对佰福汽车销售4S店现有业务流程的调研,发现其目前已经在使用一套C/S架构的系统。系统主要功能是处理汽车入库、销售、审核、提车和客户的记录。车辆的入库记录,销售登记都是由销售员处理,销售经理负责车辆价格的定义和车辆销售过程中的审核。由于系统在最初设计的不足,现在系统在升级和维护方面都出现了各种问题,已经不能满足企业发展的要求。目前佰福汽车销售4S店在使用计算机记录加手工记录的方式来处理业务。具体工作流程如图2.1所示。图2.1 佰福汽车销售4S店现有业务流程图(二)系统功能需求通过对佰福汽车销售4S店业务流程的调研,现给出用户对系统的功能需求。本系统共有四类用户:管理员(总经理)、销售审核经理、入库管理员、销售员。管理员(总经理)有最高权限,可以查看系统的任何部分,但无修改其他用户信息的权限。销售审核经理负责对待售和待审核车辆的价格定义与车辆销售审核,可以查看所有车辆的信息和销售统计结果。入库管理员负责对车辆入库进行维护,包括入库单的维护与入库车辆的维护。销售员负责车辆销售中的待售和待提车辆管理,负责汽车销售单录入维护,负责待售车辆的返厂和返厂车辆的回库与删除,负责汽车供应商和客户的管理。根据以上不同用户对系统的功能需求,可以将该设计分为车辆入库管理、车辆销售管理、基础数据管理、车辆返厂管理、查询统计、客户管理、供应商管理、用户管理这八大部分。1车辆入库管理入库单维护与入库车辆的维护,流程如图2.2、2.3所示。图2.2 车辆入库与入库单维护流程图图2.3 入库单中车辆维护流程图2销售管理 汽车销售管理包括待售车辆维护、车辆销售审核、车辆价格定义、待提取车辆维护和历史销售单维护。流程如图2.4所示。图2.4 汽车销售与销售审核管理流程图3车辆基础数据管理 车辆基础数据管理包括数据字典的维护和待售车辆数据的维护。流程如图2.5、2.6所示。图2.5 数据字典维护流程图图2.6 车辆基础数据维护流程图4车辆返厂管理 车辆返厂管理包括已售车辆维护、返厂车辆维护和返厂单维护。流程如图2.7、2.8、2.9所示。图2.7 已售车辆维护流程图图2.8 返厂车辆维护流程图图2.9 返厂单维护流程图5查询统计查询统计包括车辆信息查询和销售统计查询。流程如图2.10所示。图2.10 车辆信息与销售统计查询流程图6客户管理客户管理包括客户的增删改查操作。流程如图2.11所示。图2.11 客户信息维护流程图7供应商管理供应商管理包括供应商的增删改查操作。流程如图2.12所示。图2.12 供应商信息维护流程图8用户管理用户管理包括查询用户、添加用户、修改用户权限、删除用户操作。流程如图2.13所示。图2.13 用户维护模块流程图(三)性能需求分析性能需求有以下五个方面:1安全可靠,权限机制完善,防止信息外泄。2系统采用数据库连接池方式,既可以满足多个用户在某一时间段频繁数据库,又能保持每个连接的速度。3代码设计采用面向对象分析与设计思想,设计完善、可读性好。4要求系统功能完善,容易上手。5要求系统设计具有良好的可扩展性和可维护性。(四)数据流图分析该汽车销售管理系统的数据流程图分为顶层、一层、二层。如图2.142.23 所示。图2.14 佰福汽车销售管理系统顶层DFD图2.15佰福汽车销售管理系统第一层DFD图2.16 入库管理第二层DFD图2.17 销售管理第二层DFD图2.18 基础数据管理第二层DFD图2.19 车辆返厂管理第二层DFD图2.20 供应商管理第二层DFD图2.21 客户管理第二层DFD图2.22 用户管理第二层DFD图2.23 查询统计第二层DFD(五)数据字典这里只列出部分数据字典,数据元素条目如下所示如表2.24、2.25、2.26、2.27、2.28 所示。图2.24 数据元素图2.25 数据结构图2.26 数据存储图2.27 处理过程图2.28 外部实体三、系统设计在对要开发的汽车销售管理系统进行全面分析调查的基础上,制定出佰福汽车销售管理系统的总体规划,这是必须的,也是全面展开开发工作的重要基础。系统总体设计包括:系统功能模块图设计、数据库设计、系统开发环境和开发工具、开发技术等。(一)系统功能模块设计根据系统功能需求,将本系统的功能模块介绍如下:(1) 车辆入库管理模块:记录车辆的入库,包括录入车辆的基本信息和入库单信息。(2) 车辆销售管理模块:负责车辆销售的各个环节,包括待售车辆的维护、待提取车辆维护、待审核车辆维护模块、车辆销售价格定义和车辆历史销售单维护。(3) 基础数据维护模块:此模块包括数据字典维护和车辆基本信息维护,数据字典的使用主要是为了简化输入和减少录入时的错误而设计的,车辆基本信息维护则只能够修改待售车辆。(4) 车辆返厂管理模块:此模块负责车辆的返厂管理,包括已售车辆维护、已返厂车辆维护和返厂单维护。(5) 查询统计模块:此模块包括所有状态车辆查询和销售统计查询。(6) 客户管理模块:此模块负责处理客户的各种信息,包括增加客户、修改客户、删除客户。(7) 供应商管理模块:此模块负责处理供应商的各种信息,包括增加供应商、修改供应商、删除供应商。(8) 用户管理模块:此模块负责用户的管理,包括添加客户、修改客户权限、删除客户。系统功能模块图如图3.1所示。图3.1 佰福汽车销售管理系统功能模块图1车辆入库管理模块该模块负责车辆入库的管理,包括入库车辆基本信息的录入,入库单中车辆的修改和删除,入库单的添加、修改和删除。具体功能模块图如图3.2所示。图3.2 车辆入库管理功能模块图2车辆销售管理模块该模块用于处理汽车销售中的各个环节,包括待售车辆的维护、待提车辆的维护、待审车辆维护、车辆价格的定义和历史销售单的修改和删除操作。具体功能模块图如图3.3所示。图3.3 车辆销售管理功能模块图3基础数据管理模块该模块包括两个功能,数据字典维护,所有待售车辆信息维护。具体功能模块图如图3.4所示。图3.4 基础数据管理功能模块图4返厂车辆管理模块该模块包括已售车辆维护,返厂车辆维护,返厂单维护。具体功能模块图如图3.5所示。图3.5 返厂车辆管理功能模块图5查询统计模块该模块包括所有状态车辆信息查询和销售统计查询。具体功能模块图如图3.6所示。图3.6 返厂车辆管理功能模块图6客户管理模块该模块负责客户的管理,包括客户的添加、修改和删除功能。具体功能模块图如图3.7所示。图3.7 客户管理功能模块图7供应商管理模块该模块负责供应商的管理,包括供应商的添加、修改和删除。具体功能模块图如图3.8所示。图3.8 供应商管理功能模块图8用户管理模块该模块负责系统用户的管理,包括用户的添加、权限修改和用户的删除。具体功能模块图如图3.9所示。图3.9 系统用户管理功能模块图(二)数据库设计目前,常用的数据库管理系统有Access、SQL Server、MySQL、Oracle等。根据用户需求和业务流程,本系统采用MySQL数据库管理系统。MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持,MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去7。1 概念结构设计根据功能模块划分的结果,系统整体E-R图如图3.10所示。图3.10 系统E-R图说明:图中用矩形表示实体,也就是数据表。实体之间的关系用菱形表示,用无向线把菱形与有关实体连接,在边上标明联系的类型。实体的属性可用椭圆表示,但在该图中省略了属性。2 逻辑结构设计逻辑结构设计是概念结构设计的下一阶段,设计根据概念阶段的E-R图转化成系统支持的数据模型,根据系统需求,将佰福汽车销售管理系统中的E-R图转换为关系模型如下:l 入库单信息(入库单编号,入库日期,供应商编号,经手人编号)l 车辆信息(汽车编号,汽车厂牌,汽车型号,产地,颜色,排气量,汽车类型,进货价格,底盘编号,发动机编号,生产日期,引擎类型,所属入库单号,所属销售单号,所属返厂单号,销售价格,销售标准价格,销售最低价格,待售状态,已售状态,待审状态,待提取状态,已返厂状态)l 销售单信息(销售单号,购买客户编号,销售日期,销售员编号,备注信息)l 返厂单信息(返厂单编号,车辆返厂日期,车辆返厂原因,经手人编号,备注信息)l 客户信息(客户编号,客户名称,录入销售员编号,性别,出生日期,移动,固定,电子,所属公司,创建时间,所在地区, ,邮政编码,详细地址,关系类型,客户类型)l 供应商信息(供应商编号,公司名称,固定,联系人, ,移动,所在地区,电子,邮政编码,详细地址,备注信息)l 系统用户信息(用户编号,用户登录账号,用户登录密码,用户真实,性别,出生日期,注册日期,联系,用户权限)l 数据字典(编号,数据项名称,数据项类别,父类别)3 数据库表设计本系统的数据库中包括8数据表,记录系统中的数据。系统数据表的字段说明如下所示。表3.11 入库单信息表(income_table)列名数据类型长度备注codenamevarchar30汽车编号(主键)factoryIdvarchar30汽车厂牌patternIdvarchar30汽车厂牌下的型号producePlacevarchar30汽车产地colorvarchar10汽车颜色displacementdouble8汽车排气量carTypeIdvarchar30车辆使用类型purchasePricedouble8进货价格classisIdvarchar30汽车底盘号engineIdvarchar30汽车引擎号produceDatedatetime10车辆生产日期engineTypevarchar30引擎类型incomeOrderIdint4车辆所属入库单编号(入库单编号外键)saleOrderIdint4车辆所属销售单编号(销售单编号外键)returnOrderIdint4车辆所属返厂单编号(返厂单编号外键)salePricedouble8车辆实际销售价格saleStandPricedouble8车辆原定销售标准价格saleLowPricedouble8车辆原定销售最低价格forSaleboolean1车辆是否是待售soldboolean1车辆是否是已售checkedboolean1车辆是否是待审核pickUpCarboolean1车辆是否是待提取returnProducerboolean1车辆是否已返厂说明:汽车表用于存放汽车的各种信息,是整个系统中最重要的部分。汽车编号字段用于唯一标示某辆车辆,在汽车表中是主键,汽车厂牌表示汽车所属的工厂,汽车型号是某一汽车厂牌下的型号,汽车工厂、汽车型号、颜色和产地都是通过数据字典录入的,入库单号用于表示汽车属于哪一个入库单号,销售号用于表示已售汽车属于哪一个销售单号,返厂单号用于表示已返厂的汽车属于哪一个返厂单,而待售状态、已售状态、待审状态、待提状态和已返厂状态都是标志位,用于表示某一特定车辆当前所属的状态。表3.12 入库单信息表(income_table)列名数据类型长度备注idint4入库单编号(主键)inDatedatetime10入库单创建日期providerIdint4供应商编号(供应商编号外键)brokerIdint4入库管理员编号(用户编号外键)说明:入库单信息表用于记录车辆入库时的相关信息,入库单编号是整个表的主键,用于唯一标识某个入库单,入库日期字段记录了入库单创建的具体时间,供应商编号是供应商在数据库表中所对应的编号,经手人则是入库管理员或者是管理员的编号。表3.13 销售单信息表(sale_table)列名数据类型长度备注idint4销售单编号(主键)customerIdint4客户编号(客户编号外键)saleDatedatetime10销售单创建日期salerIdint4销售员编号(用户编号外键)remarkvarchar255销售单备注信息说明:销售单信息表用于记录车辆销售时的相关信息,销售单编号是整个表的主键,用于唯一标识某个销售单,销售日期字段记录了销售单创建的具体时间,客户编号是客户在数据库表中所对应的编号,销售员编号则是销售员、销售经理或者是管理员的编号。表3.14 返厂单信息表(return_table)列名数据类型长度备注idint4返厂单编号(主键)returnDatedatetime10返厂日期returnReasonvarchar255返厂原因salerIdint4经手人编号(用户编号外键)remarkvarchar255备注信息说明:返厂单信息表记录了车辆返厂时的信息,返厂单编号用于唯一标识某一个返厂单,是整个表的主键,返厂日期是返厂单创建的时间,经手人字段是返厂单录入时的用户编号,返厂原因和备注是记录车辆返厂时的相关信息。表3.15 客户信息表(customer_table)列名数据类型长度备注idint4客户编号(主键)customerNamevarchar30客户salerIdint4用户编号(用户编号外键)sexvarchar10客户性别birthdaydatetime10出生日期telephonevarchar30手机homeTelephonevarchar30固定idCardNumbervarchar30emailvarchar50电子companyvarchar50客户所在公司createTimedatetime10客户创建时间locationIdvarchar30所在地区faxvarchar30postalCodeIdvarchar30邮政编码addressvarchar100客户详细地址relationShipIdvarchar30客户重要程度customerTypeIdvarchar30客户类型说明:客户表用于记录客户的相关信息,客户编号是整个表的主键,用于区分不同的客户,客户名称字段记录了客户的名称,经手人编号记录了用户的编号,关系类型记录客户的重要程度,客户类型记录了客户是个人还是公司。表3.16 供应商表(provider_table)列名数据类型长度备注 idint4供应商编号(主键)companyNamevarchar30供应商公司名称homeTelephonevarchar30供应商固定connectorNamevarchar30公司联系人faxvarchar30telephonevarchar30联系人移动locationIdvarchar30公司所在地区emailvarchar50电子postalCodeIdvarchar30邮政编码addressvarchar100公司详细地址remarkvarchar255备注信息说明:供应商表用于提供车辆供应商的的相关信息,供应商编号字段是供应商表的主键,用于唯一标识供应商,公司名称字段记录供应商的公司名称,固定字段记录了供应商公司的固定,联系人字段记录了供应商公司的联系人,详细地址字段记录了公司的详细地址。表3.17 数据字典表(data_dictionary)列名数据类型长度备注idint4自动编号(主键)namevarchar30数据项名称typevarchar30数据项类别parentint4数据项所属的父类别说明:数据字典表用于简化系统数据的录入,包括汽车厂牌、汽车型号、汽车类型、汽车颜色、汽车产地、客户类型、邮政编码和客户的关系性质,汽车类型是记录汽车的使用类型,客户类型是记录客户是个体还是公司,关系性质是记录可供当前选择的关系类型。表3.18 用户信息表(saler_table)列名数据类型长度备注idint4系统用户编号(主键)usernamevarchar30系统登录用户名pwdvarchar30登陆密码namevarchar30用户真实sexvarchar10用户性别birthdatetime10出生年月日registerDatedatetime10系统注册时间telephonevarchar30联系authorityvarchar30用户权限说明:用户信息表用于记录系统用户的相关信息,用户编号是用户表中的主键,用于标识不同的用户,用户名和密码字段用于汽车销售管理系统的登录,字段是记录用户的真实,权限字段是用于区别用户的不同级别,用户级别分为入库管理员、销售管理员、销售审核经理和系统管理员。(三)系统开发技术和开发工具1开发技术(1) 数据库连接池对于一个简单的数据库应用,由于对于数据库的访问不是很频繁。这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销。但是对于一个复杂的数据库应用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。因此通过连接复用,建立一个数据库连接池以与一套连接使用管理策略,使得一个数据库连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。通过对系统使用环境的调查,本系统采用数据库连接池。(2) Struts框架Struts是流行的基于J2EE的架构方案,它的清晰的框架结构和MVC设计模式使程序结构非常清晰,将表示与逻辑完美分离,更易于理解。Struts 专注于控制层和表示层的,而Model层可选择其它实现方案,如采用JavaBean和E组件,设计和实现系统的业务逻辑与持久层的实现,或选择 hibernate作为其持久层方案。 使用其丰富的标签,可将表示层与控制层、模型层清晰分离,表现层、业务层和逻辑层实现了松散耦合,Struts框架还提供了现成的、易于使用的数据验证功能,使得修改容易,配置性强,且避免在jsp页面中写进太多混乱的javascript代码。这些都使得使得项目重用性,可维护性增强。 使用Struts框架后,在系统复杂性较大,开发人员较多时,各个模块可以很好的分配开发任务,当客户对需求进行调整时,由于系统的松耦合度低,只需修改相应的模块即可。减少了后期维护的成本。 (3)Ajax技术使用Ajax技术最大的优点是页面无刷新,在页面与服务器通信,给用户的体验非常好。Ajax使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。可以把一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,Ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。此外Ajax是基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。(4) B/S模式B/S结构的优势在于具有分布性特点,可以随时随地进行查询、浏览等业务处理,业务扩展简单方便,通过增加网页即可增加服务器功能,维护简单方便,只需要改变网页,即可实现所有用户的同步更新,同时系统具有开发简单、共享性强等特点。2开发工具本系统采用MyEclipse6.0.1做为开发平台。实际上MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置以与测试。Eclipse 是一个IDE(Integrated Developing Environment),而这个IDE是允许安装第三方开发的插件来使自身的功能得到扩展和增强的,而Myeclipse就是其中的一种有名的插件集之一,MyEclipse将开发者常用到的一些有用的插件都集合起来形成了一个功能强大的J2EE集成开发环境。用MySQL作为后台数据库管理器。MySQL 是一个真正的多用户、多线程S