胡琪波,李福瑞,漆奋平
(航天科工第四研究院 红峰公司,湖北 孝感 432000)
需求是指对用户需要解决的问题的整体描述,是软件实现之源[1]。根据1995年美国斯坦迪申咨询公司对美国365 位信息技术高层经理人员管理的8380 个项目进行调查研究结果表明:项目失败的原因与需求过程相关的原因占了45%[2];Sheldno 所研究的美国空军项目显示,根据错误的来源划分,需求错误是所发现错误中41%的来源,因此,有效的需求能减少软件开发中的错误,缩短开发时间,从而降低软件开发成本,提高软件质量,促进项目实施成功。
在软件需求分析阶段经常会出现以下问题:用户不清楚自己的需求、开发人员与用户交流不充分误解需求、需求经常变动等问题影响需求的正确性,为了解决这些问题,进行有效的需求分析,软件行业提出了需求分析方法。
但UML 等建模工具只是解决了调研过程中调研人员与用户之间沟通的问题,并没有解决获取需求过程中的问题,例如在调研过程中,用户往往会比较忙,不能抽出时间与需求调研人员讨论需求的详细问题;在需求调研阶段过于依赖调研人员的经验与领域知识,调研人员经验不足也会造成需求分析不充分的情况;我国航天企业信息化起步比较晚,企业对于信息化的需求并不明确,在调研过程中用户不清楚自己需求与需求变动的情况更是经常出现,增加了需求分析的难度。
为了解决以上问题,实现MES 系统在航天企业的快速实施,本文结合ERP 等软件的企业参考模型与在航天企业MES 项目实施的经验,提出一种面向航天企业的参考模型,并提出了基于参考模型的需求建模方法。
为了描述企业的组织、过程和信息等情况,提高企业建模的标准化程度,ERP、MRP II、SCM 等软件建立了一套全方位、多层次考察和分析问题的方法和模型,其中比较著名的有欧共体ESPRIT 计划中的计算机集成制造开放系统体系CIM-OSA,德国Saarland 大学A.W.Scheer 教授提出的集成信息系统体系ARIS,普渡大学企业参考体系PERA 等[3]。
CIM-OSA 参考模型体系采用三围矩阵对模型进行逐步细化,首先定义需求,再根据特定行业需求进行细化,最后具体化为特定企业的需求。
ARIS 参考模型以组为单位进行细化,共分为5组,每一组都能够按照具有标准行业结构的参考模型推导得到。
BAAN 参考模型根据不同行业建立特定行业模型字库,并根据生产模式做进一步分类。
这些参考模型体系在软件系统分析、业务分析、系统设计等阶段得到了应用并取得了良好的效果,缩短了ERP 等软件的实施周期,同时还可以为企业寻找自身不足,明确改进方向提供参考[4]。
制造业不同行业之间例如流程行业与离散行业,同行业的不同企业之间,甚至一个企业的不同车间的生产流程都不一致,都有各自的特点,对MES系统都有自己特殊需求,无法建立通用的MES 参考模型,只能针对某一特定行业建立参考模型。
由于MES 软件的行业差异性,在进行企业参考模型建模时需要考虑不同企业之间MES 系统的共性与差异性,因此参考BAAN 的ERP 系统参考模型体系,按照生产模式对领域进行建模,形成领域-生产模式的二维体系结构,如图1 所示。
航天企业生产模式为多品种小批量生产,可以进一步划分为批次生产、局部小流水生产、半流水生产、流水生产四种生产模式,因此按照这四种生产模式对MES 常见的功能如计划、调度、在制品管理等进行建模,生成参考模型库。
企业参考模型分为功能参考模型、组织参考模型、过程参考模型、信息参考模型等几个方面,本文主要介绍与需求关系较为密切的功能与过程参考模型。
基于参考模型需求建模过程如图2 所示。
MES 参考模型建立后,在调研过程中将需求分为领域、功能、特征、关键词等几个层次,分别依据这几个层次检索参考模型库,最终得到需求模型,具体过程在后面几个小节详细进行描述。
依据ISA95 标准及航天企业的实际情况,将MES 划分为计划、调度、数据采集、在制品管理、监控五个领域,领域与功能之间的关系如图3 所示。
按照领域对应的功能将 MES 系统分为任务管理、月计划、批次计划、生产准备、详细作业计划、实时排程、调度、领活、完工、工序检验、总检、在制品管理、监控等13 个模块,计划制定、派工、领活与完工、生产准备、不合格品处理、动态调度等6 个流程,按照不同生产模式分别进行建模形成功能参考模型与流程参考模型。
模型业务特征代表了在参考模型库中具体模型的业务属性信息,将模型赋予业务特征后可以将模型发布到参考模型库进行管理与检索;参考模型具有两类业务特征,第一类是领域特征,这类特征值可以缩小模型检索范围,例如参考模型所属领域,所属功能模块等,第二类是功能特征,在检索时起定位作用,依据功能特征可以找到需要的参考模型,例如功能模型的业务名称、范围、输入输出等,流程模型的流程名称、范围、规则、输入输出等。
功能参考模型库结构如表1 所示。其中△、○、□、☆分别代表针对不同生产模式所集成的参考模型。
表1 功能参考模型库结构
流程参考模型库结构如表2 所示。
表2 流程参考模型库结构
2.2.1 功能参考模型元模型
如图4 所示,功能元模型描述了功能建模最基本的建模元素,定义如下:①Domin(领域):功能的基本属性,代表功能所处于的业务领域;②Name(名称):功能的基本属性,代表功能能够完成的操作;③Activity(活动):功能所包含的活动,功能通过活动实现其操作;④Rules(规则):功能实现中需要遵循的规则及限制;⑤Actor(操作者):操作者代表功能的使用者,由谁来操作功能的实现;⑥I/O(输入输出):输入输出指在功能实现过程中对所操作对象的改变,输入为操作对象,输出为改变后的对象。
2.2.2 功能参考模型表示方法
为了方便与用户交流,避免对需求的错误理解,采用UML 用例图进行功能建模,图5 为毛坯生产准备用例图。
2.3.1 流程参考模型元模型
如图 6 所示,流程元模型描述流程建模最基本的建模元素,定义如下:①Domin(领域):流程所属领域,一个流程只能属于一个领域;②Activity(活动):流程所包含的功能及活动,一个流程对应多个功能或活动;③I/O(输入输出):输入输出指流程对操作对象的改变,一个流程对应多个输入与输出;④Rules(规则):流程执行过程中需要遵循的规则及活动执行的先后顺序等,一个流程对应多个规则。
2.3.2 流程参考模型表示方法
采用UML 中的活动图进行流程建模,图7 为针对月计划的毛坯生产准备流程。
参考模型分类方法有树结构分类法、关键词分类法、分类编码方法等,这几种方法都具有自己的特点与不足,树结构分类法具有很好的可扩展性,但在参考模型数量很多的情况下使用不便;关键词分类法可以建立跨行业的参考模型库并进行检索,但整体结构不清晰,不利于添加参考模型入库;分类编码方法通过用户填写的关键词表单就可以检索符合用户要求的参考模型,但检索结果不理想,检索出的参考模型并不都是用户所需要的[5];由于本文提出的MES 参考模型是针对航天企业的,模型数量并不是很多,并要求具有良好的可扩展性,在使用过程中实现参考模型的积累,因此采用树结构分类法进行分类,树结构按照功能→业务特征的顺序进行展开,分类方式图8 所示。
树结构中每一个最末端的节点都代表了一套具有自己特征值的参考模型,为了方便对特征值进行描述与对参考模型库进行检索,本文通过关键词来描述参考模型的特征值,关键词矩阵如表3 所示。
下面以生产准备为例说明参考模型的特征关键词取值,如表4 所示。
表3 关键词矩阵
在需求建模过程中,如何在参考模型库中检索出需要的模型是基于参考模型需求建模的关键技术,由于在参考模型库建立过程中已经将参考模型赋予了领域、功能、关键词等特征,因此本文将领域特征用于参考模型的检索,提出了基于领域特征的参考模型检索方法,按照生产模式、领域、领域特征三个层次进行检索,方法如图9 所示。
具体步骤为:①选择生产模式;②根据选定的生产模式检索出其对应的领域功能;③选择需要进行需求建模的功能;④选择选中功能的业务特征;⑤以上面四步的选择结果为条件检索参考模型库;⑥显示检索到的参考模型。
表4 特征关键词取值
图9 参考模型检索过程
例如在调研过程中获取如下需求:对月计划下毛坯生产准备单,要考虑毛坯生产或购买时间,可以按照如下条件与顺序检索参考模型库:①领域:计划;②功能:生产准备;③目标:月计划;④准备内容:毛坯生产准备;⑤准备形式:有生产准备单;⑥有无提前期:有。
在应用了参考模型进行需求分析后,我公司信息化室MES 系统实施周期大大缩短,在公司数控车间仅用了一个月时间完成了调研、设计及开发工作并开始上线实施。经过实施过程验证,软件与车间需求符合度为90%,剩下的10%中大部分是关于操作习惯等软件使用方面的需求,软件功能与流程完全符合车间现场现状。
本文提出了一种基于参考模型的MES 需求建模方法,为不同生产模式的航天企业建立了参考模型库并通过领域特征进行分类,在获取了企业需求后,基于需求领域特征对参考模型库的检索,得到符合需求的需求模型,有效利用了在MES 实施过程中积累的知识,能够更加准确、有效地建立MES 需求模型。参考模型库也在实施过程中不断得到完善,为以后的开发与实施提供更加全面的支持。最后,该方法在我公司数控车间的MES 系统实施中得到了验证,取得了良好的效果。
[1]青 润,著.软件工程之全程建模实现.北京:机械工业出版社,2010.
[2]The Standish Group.1995.The CHAOS Report.Dennis,MA:The Standish Group International,Inc.
[3]顾新建,祁国宁,韩永生,著.企业工程建模方法与企业参考模型.北京:科学出版社,2005.
[4]荆晓洲.基于MDA 方法的企业参考模型管理系统的研究与实现.哈尔滨工业大学硕士学位论文,2007.