|
软件产品线中BOM和工艺路线技术的应用目前的软件行业中,越来越多的软件开发向着团队化、规模化和产品化方向发展。软件产品线的方法为此提供了有力的支撑。在运用软件产品线的过程中,可以借鉴生产制造领域中的物料清单(BOM)和工艺路线等技术并加以运用 本文关键字 理论探讨 广告 软件产品线中BOM和工艺路线技术的应用 董乃文 (用友软件股份有限公司,北京,100085) 摘要 目前的软件行业中,越来越多的软件开发向着团队化、规模化和产品化方向发展。软件产品线的方法为此提供了有力的支撑。在运用软件产品线的过程中,可以借鉴生产制造领域中的物料清单(BOM)和工艺路线等技术并加以运用。本文提出了软件构造BOM等概念,并开发出了相应的自动化支撑工具。基于这些技术和工具,可以实现软件产品的多版本、并行开发模式;可以将客户的需求尽早反映到构造BOM中,及时地推出符合用户个性化要求的软件,最终实现软件企业的柔性化开发模式。 关键词:软件产品线、构造BOM、集成、工艺路线 1. 背景 目前的软件行业中,越来越多的软件开发向着团队化、规模化和产品化方向发展;与单个软件开发人员的独立开发模式,或者小规模作坊式开发不同,规模化、产品化的软件开发往往对开发模式、组织模式、技术运用等有着更高的要求。随着开发团队规模的日益扩大,及产品复杂性的逐步提高,一些软件公司往往被这些问题所困扰,无法有效地进行软件产品的开发。 软件产品线的方法为这一问题的有效解决提供了可参考的方案,美国卡耐基?梅隆大学软件工程研究所(CMU SEI)归纳整理了产品线、领域工程等多方面的理论和实践经验,于20世纪90年代末提出了软件产品线实践框架(A Framework for Software Product Line Practice,简称PLP)[Clements 99]。作为国内领先的ERP软件供应商,用友软件股份有限公司在某ERP产品的开发中积极实践了软件产品线的思路,对相对比较复杂的ERP软件产品的开发进行了重点研究,并借鉴了ERP软件中物料清单(Bill of Material,简称BOM)和工艺路线等技术;在改进过程中还提出了软件构造BOM的概念,并开发出了相应的自动化支撑工具,大大提高了ERP软件产品开发的效率。 2. 软件产品线和软件构造BOM 2.1 软件产品线 对于软件开发,可以把“软件产品”定义为:“指定交付给顾客或最终用户的一个完整的计算机程序、规程以及相关文档和数据的集合,或该集合中的任何个别项”[Paulk 93]。在更大范围上将软件产品整合到一起,可以通过产品线(Product Line)的方式来进行。产品线(Product Line)“由一组共享特性(Feature)的产品组成,这些特性是通用的、已管理的,并满足已选定市场的特定需求。”[Withey 96]。产品线中包括了两个关键过程,一个过程聚焦在资产(Asset)的开发,使用领域工程(Domain Engineering)的开发办法;另一个过程则聚焦在软件产品/应用系统的开发,尤其是产品发布的各版本、针对不同行业的版本、针对不同典型用户和项目的版本等,主要使用应用工程(Application Engineering)的开发方法。 目前PLP Version 4.2包括了核心资产开发(Core Asset Development)、产品开发(Product Development)和管理(Management)等三个关键活动集合,以及软件工程(Software Engineering)、技术管理(Technical Management)和组织级管理(Organizational Management)等三个关键实践领域(Practice Areas)。一个软件产品线,从根本上讲是一组相关的产品,但它们如何产生,却会因资产、生产计划、及组织背景不同而有较大差异。 PLP的成功实施,可以带来大规模生产力的提升,加快产品面市时间(Time-to-market),提高产品质量,增加客户满意度,并能在有效大规模定制(Effect mass customization)等方面能力得到迅速提升,最终实现竞争优势。根据相关实践的度量统计报告(包括美国国防部DoD、惠普HP、摩托罗拉Motorola等),采用PLP可以实现的利益包括:
表1.1 采用PLP实现的利益【Cohen 02】 2.2 软件构造BOM 在生产制造企业中,BOM指记录产品组成所使用材料的列表,其中物料是所有产品、半成品、在制品、原材料、配套件、协作件、易耗品等与生产有关的物料的统称。可以根据用途不同,可以进一步分为工程BOM (Engineering BOM)、生产BOM (Production BOM)、计划BOM (Planning BOM)、成本BOM (Cost BOM)、替代BOM (Substitute BOM)等不同类型的BOM。BOM技术是生产制造领域为保证产品按照规格生产的关键性技术,此外还在提前期管理等方面发挥着重要作用,保证了大规模生产、柔性生产等生产方式的有效进行。 对于软件产品线,可以借鉴这一方法,在此我们将构造BOM定义为:参加构造版本的所有构件的列表,构造BOM可以以构件依赖关系树的方式来构建。所谓构造版本,既可以是系统的可操作版本,也可以是可供展示的、在最终产品中提供部分功能的部分系统。目前,基于构件的开发(Component Based Development,简称CBD) 技术在实际的软件产品开发中被广泛使用,其中比较有代表性的商业构件开发技术标准包括Sun Microsystems公司的JavaBeans及Enterprise JavaBeans(简称EJB)、Microsoft公司的COM/DCOM/COM+/.net等。构件可以作为软件产品物料的基本组成单元。 可以从构件和集成项目两个维度,来描述产品线构造BOM的范围。从集合的角度,可以给出构造BOM相关的一组定义(其中N代表自然数集合)。 全部正文,已经申请获得AMT ID的企业会员请用 ID登陆,直接查询文档号码00.087.988,下载阅读。 如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐 jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系 |
|
|
|