统一建模语言(Unified Modeling Language,UML)是一种标准的图形化建模语言,它融合了Booch、OMT和OOSE方法中的概念,是面向对象分析和设计的一种标准表示,并以可视化方式描述模型。
UML用于描述模型的基本词汇有三种:要素(Things)、关系(Relationships)和图(Diagrams)。其中,要素包括表述结构的要素,如“Use Case","类”、“接口”和“协作”等;表示行为的要素,如“交互”和“状态机”;用于组织的要素,如“包”;用作辅助说明的要素,如“注释”。关系包括关联关系、依赖关系、泛化关系和实现关系。图包括Use Case图、类图、对象图、构件图、部署图、序列图、协作图、状态图和活动图等九种图,因其功能不同而分别用于系统开发过程中的各个阶段。
2 UML对ERP系统建模的优势分析
传统的建模工具,如常用的实体-关系图(Entity RelationDiagram)、数据流图(Data Flow Diagram-DFD)及HIPO图(Hierachy Plus Input-Process-Output Diagram)等都是结构化分析与设计SSA&D的工具,其符号和图形不唯一、不统一,既不便于业内人士交流,也不便于跟客户沟通,而UML是标准的建模语言,避免了图例混乱和沟通不畅等问题,它适用于以面向对象技术来描述任何类型的系统,且贯穿于系统开发的不同阶段,具有较大的灵活性,为构造一个健全的、成功的ERP系统模型奠定了良好的基础。
以下通过UML的四种常用图来介绍它对ERP系统建模的优势:
1)用例图。是获取需求、规划和控制项目迭代过程的基本工具,能很好地描述ERP系统开发中最关键的需求部分。用例图对可视化、详述及文档化一个元素的行为至关重要,通过它能使系统、子系统和类易于理解和探讨,并且ERP用户和开发者能通过可视化的用例图来沟通和交流,最大程度地获取正确的需求。
2)活动图。为了自然地保留并发行为,人们在建立业务模型时往往采用并行过程来描述一个业务过程,使其办事效率和反应的灵敏程度大大提高,而活动图的并行表达能力能够方便地表示ERP系统的业务活动中常见的并行过程。图1所示为“物料入库管理”中的“制造订单完工入库”管理功能,该活动图的流程中处理了“填写存库信息”和“计算生成成本”两个并发动作,使用了活动图的并发标记来表示。
图1 制造订单完工入库图
3)类图。提供系统组件及其相互关系的静态图形,不仅可以细化到描述具体对象的属性或行为,而且还能够从宏观的角度反映系统的组织结构或功能结构,其后一功能一般使用类图中的“包图”来实现。
图2所示为ERP的固定资产管理模块的基本功能图,从该图可获知“固定资产管理系统”是由“基础数据维护”、“资产折旧管理”、“资产增减管理”、“资产维修管理”及“资产租赁管理”五个子功能模块组成。
图2 固定资产管理模块的基本功能图
在ERP系统进行概要设计阶段,利用包图来展示ERP各子系统众多而复杂的功能模块十分简洁和清晰,能够全面展示其子系统的功能结构,使ERP系统的用户和开发者对系统功能一目了然。
4)配置图。能够描述构成物理系统各组成部分的分布、提交和安装。ERP系统是一个复杂而庞大的分布式系统,既可采用B/S结构,也可采用C/S结构,而配置图能够对B/S和c/s这两种结构进行系统建模,并可根据当前拓扑结构及构件的分布情况推断出其变化对系统的影响。
3 基于UML的ERP系统建模的方法
3.1 功能建模方法
功能建模是企业业务建模的重要组成部分,其主要目的是描述企业功能,即企业在业务活动中需要完成的工作或者任务,它确定了企业业务功能的逻辑结构和相互关系。几种常用的功能建模方法有:ISO-通用活动模块图、CIM-OSA企业活动图、PERA通用活动模块图和IDEF0建模方法的活动盒子图形。
本节论述了利用开发ERP系统的新工具——UML的用例图来分解和建模业务功能目标,并通过案例加以分析说明。
3.2 基于用例图的功能建模方法
UML通过用例来描述参与者和系统之间的一次典型的交互,而通过该次交互来描述系统提供给该参与者的功能,即该系统对外界提供的功能,从而捕获系统的功能目标。
在描述系统功能时,任何有意义的活动为了实现一定的功能都会有参与活动的人或其它参与的事物,这些活动在参与者的参与下顺利进行,并完成预期的功能,则这些参与者被称为角色。角色通过操作活动来驱动工作流的目标功能的完成,此时整个业务流程的功能目标常常可以分解和细化为各个角色所完成的功能目标,因此,下面基于角色来分析业务能建模,并用UML的用例图来完成功能视图模型。
3.2.1 确定角色
角色是参与业务流活动的具体的人或事物,当把业务看作是一个系统时,角色就是与该系统交互的人或事物,它是一个身份概念,代表的是一类能够使用某个功能的人或事而不是指某个具体的人。以下问题有助于捕获系统角色:
(1)谁使用系统的主要功能,即主要使用者;
(2)谁需要系统的支持;
(3)系统需要操作哪些硬件;
(4)系统需要与哪些其它系统交互;
(5)对系统产生的结果有关系的人和事物。
据上述分析,我们将与系统交互的人或事物分类,把具有相同职责的人或事物分组,并参考业务系统的活动划分,从而初步确定系统的角色。角色中有主要角色和次要角色之分,两者不同之处在于:主要角色是要求系统帮助实现其目标,而次要角色是系统需要它帮助来实现系统的功能。
3.2.2 确定用例
用例即为系统角色与系统的一次典型交互的描述,它代表系统提供的目标功能,任何一个用例都是通过角色来启动的,故业务系统的角色确定以后,就可以对每个支持者提出问题以获取用例。以下问题有助于确定用例:
(1)执行者参与了哪些活动,这些活动是为了实现哪些功能;
(2)执行者要求系统提供哪些功能;
(3)执行者有哪些职责。
据上述分析,我们可为每个角色设计用例。在设计用例之前,先分析业务流程的相关活动,得出角色在流程中参加了哪些活动,其主要目的和作用是什么,然后分析支持角色完成其所参与的流程活动的目标,最后归纳总结与该角色相关的活动、系统所实现的目标等,确定出候选用例,并命名该用例。
3.2.3 简要描述每个用例
确定用例后,根据需要,可用描述性语言简要概括每个用例的动作,逐步说明当用例与角色交互时,系统需要完成的目标功能及活动流程,最后还可从整体上解释用例模型,描述角色与用例之间如何交互、用例之间如何相关等。
3.3 案例分析
在此以采购管理业务流程为例来对基于用例图的功能建模方法作进一步论述。
采购部门的采购管理业务流程是:根据物料需求计划(MRP)形成采购计划交采购部门,并依据采购计划生成用款计划交财务部门;再发出采购订单(合同)给供应商;供应商按计划来料;仓库部门根据订单(采购计划)收料,安排检验,合格后办理入库业务,入库单据交财务,并根据发票形成应收款。
首先确定角色。
1)由于系统的主要功能是完成采购管理业务,故系统的主要使用者是采购部门,该角色为主要角色,
2)采购计划由MRP计划形成,故需要MRP计划的支持
3)采购货物先要到财务部门提款,并向供应商提货,故需要与财务部门和供应商交互。
4)采购的货物要送入仓库,故该系统产生的结果与仓库部门有关系。
综上所述,采购管理的业务处理系统的角色包括采购部门、MRP计划、财务部门、供应商和仓库部门等五个角色。然后确定用例。
1)各角色都执行了相应的活动,例如,根据MRP形成了采购计划,故MRP角色启动了“形成采购计划”用例;
2)只要形成采购计划后就会形成用款计划,故“形成采购计划”用例与“形成用款计划”用例之间是《include》包括关系;
3)形成用款计划后需要和财务部门打交道,故从“形成用款计划”用例有一个有向箭头指向“财务部门”角色;
4)订单下达到采购部门;供应商送货;
5)仓库部门进行货物入库等等活动,角色与用例之间的关系同理可推,所以根据每个角色实现的功能就形成了相应的用例。
最后简要描述每个用例。每个用例都根据各自实现的功能用简短的语言加以描述,使整个系统的流程清晰、完善。根据上述分析,采购管理业务处理用例图如图3所示。
结束语本文分析了UML工具对ERP系统进行建模的优势,提出了基于UML用例图的功能建模方法,并通过ERP系统中一个业务处理实例加以论述。
CIO之家 www.ciozj.com 公众号:imciow