< 返回
基于uml的erp销售管理系统建模

摘要:erp可以打破企业疆界,跨企业规划资源,做到对整个供应链的完善管理。对中小企业而言,目前比较迫切的是企业内部业务的集成控制,本文专注于此,通过将uml应用于销售管理系统建模,以期加快软件开发进程,提高软件质量。

关键词:erp;销售管理系统;uml

中图分类号:tp311文献标识码:a 文章编号:1009-3044(2007)16-30931-03

modeling on the sales management system of ERP based on uml

xiao wen-min, meng qing-guo, yan bing

(department of mechanism ,tianjing university of technology and education,tianjin 300222, china)

abstract:ERP can plan resources transcending one enterprise to fulfill perfect management for the whole supply chains. as to moderate and small enterprise, it is urgent to control inner business. the paper are written to molding the sales management system by using uml which can accelerate the software’s development process and improve it’s quality.

key words:ERP; sales management system; uml

1 引言

经济全球化发展趋势使得当前企业对erp系统的需求日益增长,需求变化也越来越快。然而,中小型企业资金少,经营规模小,不能承受引进大型erp系统所需的巨额费用,设计一种功能相对完善、成本较低、实用性较强、系统容易维护且功能容易扩展的erp系统就为广大中小企业所期待。考虑到这样的系统仍然庞大而复杂, 内部各种数据流、资金流、业务流交错, 业务流程动态变化且管理方法不断更新, 使系统在设计阶段很难保证软件质量, 也很难预测后期的维护和升级开销。这就给软件的设计、开发和维护工作带来了很多困难。并且它的开发与单一模块的软件开发有着很大的区别,企业各个业务之间错综复杂的联系是erp系统软件设计和开发工作必须攻克的难关[1]。

统一建模语言uml是面向对象技术领域内占主导地位的标准建模语言,可以对复杂的系统建立可视化系统模型,目前已经被工业标准组织omg(object management group)接受,得到了microsoft, hp, ibm, oracle等支持,在国际上应用日益广泛[2]。

本文将结合天津市某小型企业,通过对该企业erp销售管理系统的分析与设计,阐述如何通过uml降低开发难度和提高开发效率。

2 销售管理系统的功能模块和基本特征

销售部门在企业的供需链中处于与市场与企业的供应链接口位置,主要职能是为客户与最终的用户提供产品及服务,从而实现企业的资金转换并获取利润,为企业提供生存与发展的动力源泉,并由此实现企业的社会价值。综合来说erp的销售管理提供的销售预测、销售计划、销售订单是主生产计划的需求来源。销售管理子系统帮助企业的销售人员完成客户管理、产品价格管理、销售订单管理、销售发货、服务管理、发票管理等一系列销售事务。销售管理的主要结构可以划分5个主要功能模块: 销售计划管理、客户管理、订单管理、收发货管理以及销售服务管理。

本系统以“订单”为核心,构建出了以“客户”为中心的管理模式。

该系统具有以下一些特征:

(1)先进的系统结构,面向销售流程,能适应原有销售工作流程并进行合理的改进,从而更贴近实际的应用。

(2)系统提供的灵活的人员权限设置和全面的财务核算方式,实现真正的销售网络化办公。

(3)在实现订单的电子化、工作流程的数字化同时,帮助公司领导提高决策的科学化水平。

(4)通过对客户信息的管理,实现对不同客户情况统计和分析。

整个系统操作业务人员包括:销售员、销售经理、仓库管理员、审计员、销售主管、和系统管理员。各个角色承担不同的系统任务,通过网络和通信系统,连接到销售管理系统,使用统一的访问界面,进行日常的销售业务操作,最终实现销售部门业务的正常运转。

3 uml概述

uml是一种可视化建模语言,用于对软件系统进行描述、可视化处理,构造和建立软件系统制品的文档。它记录了对必须构造的系统的决策与理解,可用于对系统的理解、设计、浏览、配置和信息控制[3]。uml能够描述系统的静态结构和动态行为。静态结构定义了系统中的重要对象的属性和操作以及对象之间的相互关系,静态结构视图包括类图、用例图、组件图和部署图。动态行为定义了对象的时间特性和对象为完成目标而相互进行通信的机制,动态行为视图包括状态图、活动图、顺序图和协作图。

4 销售管理系统的建模分析

4.1 销售管理系统的业务建模和需求分析

业务模型和需求分析的目的是对系统进行评估,采集和分析系统的需求,理解系统要解决的问题,重点是充分考虑系统的实用性。结果可以用一个业务用例(business use case)框图表达,根据销售系统的基本特征和功能可得到本系统的用例图(如图1所示)。

图1 销售订单管理子系统用例图

模型中的活动者代表外部与系统交互的单元,包括销售员、仓库管理员、维修人员、审计员、公司销售主管、和系统管理员;业务用例框图是对系统需求的描述,表达了系统的功能和所提供的服务,包括客户管理子系统、订单管理子系统、销售统计子系统、产品管理子系统、售后服务子系统。图1是销售管理系统层次的用例模型,只包含了最基本的用例模型,是系统的高层抽象。在开发过程中,随着对系统需求认识的不断加深,用例模型可以从顶向下不断细化,演化出更加详细的用例模型。

根据系统的用例图,可以对系统的持久对象进行设计,图2是本系统持久对象类及类之间关系图。

图2 核心业务对象类及类之间的关系

4.2 销售管理系统分析与设计

系统分析与设计是研究欲采用的实现环境和系统结构,结果是产生一个对象模型,也就是设计模型。设计模型包含了用例的实现,可以表现对象如何相互通信和运作来实现用例。对于系统的静态结构,可以通过类图、对象图、组件图和配置图来描述;对于系统的动态行为,可以通过顺序图、协同图、状态图、活动图描述。这些图在加上说明文档就构成完整的设计模型。

4.2.1系统架构设计

销售管理系统拥有大量销售信息资源,这些资源包括各种客户、订单、和产品等信息。其数据量大、信息变化快,非结构化信息与结构化信息共存。使用uml对销售管理系统进行基于面向对象的分析和实现,可以从开发的第一步开始,从系统的底层就把握住销售信息资源的特征,为下一步具体实现打好基础。在销售管理系统建立模型时要涉及到处理大量的模型元素,如类、接口、组件、节点、用例等,可以将语意上相近的模型元素组织在一起,这就构成了uml的包,包把这些建模元素按照逻辑功能分组,以便理解、反映它们之间的组成关系。

本系统在此将使用java web开发,系统主要有以下四个包:

(1)用户接口包(user interface pacKAge)

用户接口包在其它包的顶层次,为系统用户提供访问信息和服务,即边界类。对于每一个参与者,都应该设置至少一个边界类,以表示参与者与系统进行的交互。

(2)业务逻辑包(business rule pacKAge)

该包是销售管理系统业务的核心实现部分,包括客户管理、订单管理、产品管理等,其它包可以通过访问该包提供的接口,实现业务逻辑,如客户管理业务等。

(3)数据持久访问包(data persistence pacKAge)

该包实现数据的持久化,也就是与数据库交互,实现数据的存取、修改等操作。

(4)通用工具包(util pacKAge)

该包主要包括应用程序安全检查的类,可以为上面三个包提供安全检查,如客户端检查和服务器端业务规则检查等,同时包括一些系统异常检查与抛出处理以及系统日志服务等。

4.2.2系统详细设计

详细设计主要是描述在系统分析阶段产生的类,与分析阶段类的区别就是偏重于技术层面和类的细节实现。销售管理系统提供的各种服务都是建立在分布、开放的信息结构之上,依托高速、可靠的网络环境来完成的。每项服务都可以看作一个事件流,由若干相关的对象交互合作来完成。对于这种系统内部的协作关系和过程行为,可以通过绘制序列(sequence)框图和协作(collaboration)框图来帮助观察和理解。此外,描述工作流和并发行为还可以通过活动框图,表达从一个活动到另一个活动的控制流。同时,可以在理解这些图的基础上,抽象出系统的类图,为系统编码阶段继续细化提供基础。下面是客户管理子系统详细设计。

(1)客户管理子系统的基本结构建模:图3是客户管理子系统主要类极其关系的详细设计。

图3 客户管理子系统类的详细设计及类之间关系

(2)序列图:序列图是一种对象交互图,着重强调了时间序列,而不是静态对象的关系,通过序列图可以清楚地看到不同对象之间的实时行为。

图4是一个客户管理的序列框图例子。描述了先加载某个客户;显示某些状态;再更改某些属性值,最后更新数据库状态的一次执行过程。通过序列框图可以清晰看出系统用户、客户管理子系统的用户接口、数据库连接模块之间以时间为顺序的消息交换,这对于把握系统的控制流、顺序行为和交互行为是非常有益的。

图4客户管理的序列图

(3)状态图适合描述一个对象穿越多个用例的行为。类的状态图表示类的对象可以呈现的状态和这个对象从一种状态到另一种状态的转换。图5描述了customer对象的生命期中可能的状态及状态变化(从创建、更新到消亡的转变过程),其中ready用于加载客户信息,persist用于保存客户信息,save用于成功的保存成绩,error用于由于数据等的异常而未能成功的保存客户信息。

(4)协作图:协作图和序列图相似,两种图所表达的是同一种信息,可以互相转换。但两者是有区别的,序列图强调的是交互的时间序列,协作图强调的是交互的语境和参与交互的对象的整体组织。图6描述的是查询一个客户信息消息传递的过程。

(5)活动图:用于描述业务过程和类的操作,类似与流程图,显示出一个问题的活动(工作步骤)、判断点和分支。图7是反映了更新客户用例的活动图。

图5customer对象状态图

图6 查询客户信息的协作图

图7 业务处理活动图

通过框图,可以确定需要开发的类、类之间的关系和每个类操作和责任。序列框图按照时间排序,用于通过情境检查逻辑流程。协作框图用于了解改变后的影响,可以很容易看出对象之间的通信,状态图描述了对象在系统中可能的状态,如果要改变对象,就可以方便地看到受影响的对象。

(6)软件系统一般由一组部件组成,换句话说,部件是相对独立的部分软件实施,有自己特有的功能,并可在系统中安装使用,系统中各部件相互协作,给系统提供完整的功能。图7是本系统运行时的主要部件。

图8 运行的部件图

4.2.3 销售管理系统的实现、测试和系统配置

系统采用五层逻辑结构:客户端只需中文浏览器;表示层用12个jsp(java server page)文档实现动态页面以创建、操作业务对象;核心对象层用6个java类以javabean形式构成业务处理的核心对象;连接层采用jdbc2提供两种连接方式:一种是基于drivermanager,主要支持java应用和测试;另一种基于datasource;资源层即数据库服务器。

经过系统分析和设计后,就可以根据设计模型在具体的环境中实现系统,生成系统的源代码、可执行程序和相应的软件文档,建立一个可执行系统;进而需要对系统进行测试和排错,保证系统符合预定的要求,获得一个无错的系统实现。测试结果将确认所完成的系统可以真正使用;最后完成系统配置,其任务是在真实的运行环境中配置、调试系统,解决系统正式使用前可能存在的任何问题。

5 结束语

erp系统的发展方兴未艾,我国中小企业目前正处于传统手工、半手工管理向数字化过渡的阶段,将 uml应用于销售管理系统的建设,可以加速开发进程,提高代码质量,支持动态的业务需求。从实际效果来看,uml可以保证软件开发的稳定性、鲁棒性,在实际应用中取得良好的效果。

参考文献:

[1]罗鸿. erp原理·设计·实施[f].北京:电子工业出版社,2005.

[2]宋波,刘杰,杜庆东.uml面向对象技术与实践[tp].北京:科学出版社,2005.

[3]rumbaugh j,jacobson l,booch g.姚淑珍,唐发根,等译.uml参考手册[m].北京:机械工业出版社,2001.

注:“本文中所涉及到的图表、公式注解等形式请以pdf格式阅读原文。”