关于软件项目开发中并行工程方法的过程建模分析论文_刘辰

关于软件项目开发中并行工程方法的过程建模分析论文_刘辰

(天津市天房科技发展股份有限公司,天津市 300000)

摘要:并行工程已成为制造业实践与研究的热点领域,而软件并行工程正是基于并行工程理念基础上提出的一种集成、并行地开发软件的系统化方法。本文阐述了软件项目开发中并行工程方法的过程建模。

关键词:软件项目开发;并行工程;建模

一、并行工程概述

并行工程(Concurrent Engineering)是对产品及其相关过程(包括制造过程和支持过程)进行并行、一体化设计的一种系统化的工作模式。这种工作模式力图使开发人员从一开始就考虑到产品全生命周期(从概念形成到产品报废)中的所有因素,包括质量、成本、进度和用户需求。

二、并行工程的核心内容

1、产品开发队伍重构。将传统的部门制或专业组变成以产品为主线的多功能集成产品开发团队(IntegratedProductTeam,IPT)。IPT被赋予相应的责任和权利,对所开发的产品对象负责。

2、过程重构。从传统的串行产品开发流程转变成集成的、并行的产品开发过程。并行过程不仅是活动的并发,更主要的是下游过程在产品开发早期参与设计过程;另外则是过程的改进,使信息流动与共享的效率更高。

3、数字化产品定义,包括两个方面:数字化产品模型和产品生命周期数据管理;数字化工具定义和信息集成,如DFA、DFM、CAD/CAE/CAM等。

4、协同工作环境,用于支持IPT协同工作的网络与计算机平台。

三、软件开发并行工程的本质

1、强调设计的可实现性、可集成性、可测试性、可开发性、可使用性、可维护性。

在设计时,要充分考虑已有的软硬件技术条件,使系统设计方案是可实现的;要使设计的各模块与整个系统进行良好的集成;设计的系统及其模块要能进行严格的测试;要充分考虑自己的软硬件配置和人员的能力,使设计能实现;要使设计出的系统能满足用户的需求;要使设计的系统便于以后的升级和维护。在开发过程中强调面向整个过程和产品。设计人员在设计时不仅要考虑设计,还要在其他员工的协助下考虑这种设计的可实现性、可测试性、可开发性、可维护性等。所以整个开发的每个子过程都要着眼于整个过程和产品。从串行到并行,是观念上的很大转变。

此外,可实现性和可开发性不同,“可实现性”主要是从软件开发技术的角度,看能否将一个软件的设计用已有的技术实现。而“开发性”除了“可实现性”这一层含义外,主要指软件开发的并行工程要考虑开发软件企业自身的软硬件和人力资源。

2、在整个开发过程中强调软件的设计、实现、测试等开发子过程的并行。

3、在开发过程中强调系统集成与整体优化。软件开发的并行工程强调系统集成与整体优化,它并不完全追求单个部门、局部过程和单个模块的最优,而是追求全局优化,追求软件产品整体的竞争能力。设计某个模块时要考虑与其他模块之间的集成,要有整个系统的概念,要考虑设计的模块能方便安全地为其他模块提供数据、服务。对软件产品而言,这种竞争能力就是软件产品的TQCS综合指标--交货期、质量、价格和服务。在不同情况下,侧重点可以不同。另外,对每一个产品而言,企业对其都有一个竞争目标的合理定位,因此软件开发的并行工程应围绕这个目标来进行整个软件开发活动。只要达到整体优化和全局目标,并不追求每个环节的局部工作最优。因此对整个工作的评价是根据整体优化结果来评价的。

期刊文章分类查询,尽在期刊图书馆

四、支持软件开发中并行工程的过程建模

1、软件开发过程模型。过程是活动的集合,活动是任务的集合。软件过程对软件生产的意义重大,并行是广泛存在于软件生存周期中的现象。软件过程是软件生存周期涉及的相关内容。它强调多角色协调工作和一体化并行地实现软件生产,为了有效地实施软件并行工程,其执行是有序、重复、并行和嵌套的,必须充分重视软件过程的作用,建立一个简单的软件过程模型。Petri网是系统描述和分析的数学工具,运用软件并行工程的思想,利用Petri网对实际软件开发过程实现抽象,以进一步支持软件过程的标准化。

软件是一个逻辑产品,逻辑产品的形成与开发离不开逻辑模型。模型既是分析问题的工具,又是交流的手段,也是系统开发的依据。对工程项目,特别是知识密集型劳动,模型既提供了一个解决问题的方法,也提供了一个控制问题复杂度、有效进行质量管理的标准。模型应完整、严密、科学,要用简单的语言、图形等描述复杂的知识、静态事物、动态变化过程及相关细节,要无二义性,并有一定的通用性。模型形成的过程也就是软件建模的过程。

传统软件开发,大部分是瀑布模型式(Waterfall Model)开发,是一个顺序化的开发过程。开发人员通常遵循需求分析、概要设计、详细设计、编码与单元测试、集成与系统测试等步骤。并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐节下落。其中,每一个步骤即为一个阶段,只有当上一阶段的工作全部完成后,才进入下一阶段的开发。

2、Petri网的基本概念。Petri网是对离散并行系统的数学表示。Petri网是20世纪60年代由卡尔·A·佩特里发明的,适合于描述异步的、并发的计算机系统模型。Petri网既有严格的数学表述方式,也有直观的图形表达方式,既有丰富的系统描述手段和系统行为分析技术,又为计算机科学提供坚实的概念基础。同时,由于Petri网能表达并发的事件,被认为是自动化理论的一种。另外,Petri网在软件设计、工作流管理、工作流模式、数据分析与故障诊断、并行程序设计、协议验证等方面应用非常广泛。

3、并行开发模型CDM。软件并行工程实质强调的是工程工序的优化。整个开发过程中,阶段分明,随着设计的继续,开发子活动将不断展开多个部件开发所导致的并行开发。实施软件并行开发要求,根据项目性质和开发队伍素质,确定系统整体需求;灵活确定并行化展开的时机,系统分解、细化需求至标识;进行计算机软件配置项开发,对编码完毕的计算机软件单元做单元测试,对通过单元测试的计算机软件单元做集成与集成测试,反复执行上述过程,直至系统开发全面展开,最后完成系统集成与测试,实现开发的并行化程度。

软件开发过程中的并行性包括软件过程间的并行性和软件过程内部的并行。软件支持过程通过与软件开发过程信息的交互,以及通过软件过程之间的并行执行,实现诸多并行软件过程间的同步关系,宏观上能缩短软件项目的开发周期;软件过程内部各个阶段间可部分并行执行,软件设计和软件编码各个模块也是并行执行,通过估算各个并行成分所需时间,建立能表述软件过程并行性的软件过程模型,建立相关的评估机制与标准,完成软件过程的改进与优化。

并行性挖掘是软件并行工程中重要的工作,可采用自顶向下、逐步求精的过程建模方法。并行性是并行工程最重要的一方面,在概要设计后形成软件的体系结构,每个并行成分由各个模块的详细设计和编码工作组成,直到建模者认为粒度达到理想的程度为止。

五、结语

总之,软件并行工程是借鉴制造业并行工程的思想,将其引入到计算机软件工程中,使软件的开发活动尽量并行进行。从软件工程的角度看,软件开发可分为若干个阶段,而这些阶段在传统的软件工程中是顺序串行执行的,软件并行工程目的就是尽量挖掘这些阶段之间及阶段内工作的并行性,以便使这些阶段之间及阶段内的工作能一定程度上并行执行,从而达到加快软件开发速度,提高软件生产率、缩短软件开发周期的目的。

参考文献

[1]熊光楞.并行工程的理论与实践[M].北京:清华大学出版社,2014,7-42.

[2]许维胜.并行工程过程研究[J].同济大学学报,2014,29(02):185-190.

论文作者:刘辰

论文发表刊物:《知识-力量》2019年3月下

论文发表时间:2019/1/21

标签:;  ;  ;  ;  ;  ;  ;  ;  

关于软件项目开发中并行工程方法的过程建模分析论文_刘辰
下载Doc文档

猜你喜欢