536 Journal of Software 软件学报 Vol.20, No.3, March 2009
应以及利用时差实现24小时开发以缩短开发周期等[107,108].
软件过程技术实施.软件过程技术的最终目的是通过预定义的软件过程模型驱动实际软件开发活动[2],因此,如何将软件过程建模技术应用到实际开发环境中是一个很重要的研究课题.作为软件过程建模方法研究的一部分,许多研究者提供了他们实际应用某些过程技术时所获得的经验,而这些经验有助于我们了解实际软件开发需要什么样的软件过程建模语言和PSEE,以及如何使得一个开发组织能够更好地接受一项软件过程新 技术.
表5列出了表1和表2中与上述两个趋势相关的论文.下面将分别论述与每个趋势相关的主要研究.
Table 5 Trends of software process modeling
表5 软件过程建模趋势 Global software development [25,37,42,45,48,53,63,65,67] Implementation of software process technologies [15,24,40,41,58,81,91]
(1) 分布式或者全球开发.在软件过程建模方法中,与分布式开发相关的一些最新研究主要包括:a) 提供一个可以支持分布式开发的支持环境,比如Maurer等人[65]提出了基于COBRA和Java RMI的分布式系统MILOS,以支持Internet环境下的开发;Doppke等人[67]将针对娱乐和游戏的虚拟环境(virtual environment)用于软件过程的建模和执行,使得软件过程可以由地理上分散的Agents来执行.b) 支持过程片断在不同组织间的传递和执行,比如Li等人[53]从移动性的角度重新审视了软件过程,并将软件过程的移动性映射到π演算,从而为其提供了一种简约和精确的描述方式;Wang[45]在CAGIS中提出了可以支持程序片断在不同工作区和地点间进行传递的框架,而Becker等人[42]通过代理(delegation)的方式将一部分执行过程打包,并交由合同商(contractor)执行,而发包方可以通过一些项目执行时的反馈信息对项目进行监控;Ge等人[48]通过Nets-within-net也可以实现类似移动Agent的效果,从而支持过程片断的移动.c) 利用一些比较新的技术支持分布式开发,比如Helland等人[37]采用面向服务的体系架构(service oriented architecture),支持软件过程的分布式执行,而Ruìz等人[63]基于MOF和XMI提出了支持过程传递的方法.另外,Vanzin等人[25]报告了在一个分布式环境中如何共同定义全球软件开发过程的经验.
(2) 软件过程技术实施.在软件过程建模技术实施过程中,软件过程建模语言的表示方式需要易于理解和应用[15,40],需要提供多种不同的视图[40]以及电子过程指导(electronic process guide,简称EPG)[15,81],以利于相关人员更好地理解和执行软件过程.所采用的描述应该是说明性的(prescriptive or descriptive)[15,81],且具有比较好的结构(可以同时表示各种生命周期和具体开发活动的细化)[15];具有明确控制流的表达方式,与其他通过前、后置条件或者触发规则间接定义控制流的方式相比,更易于理解[41],但隐含描述控制流的方式具有较强的适应性和灵活性.另外,由于支持过程执行的需要,以及每个组织或者项目都有各自的信息,因此需要一个过程建模语言能够提供文本注释的方式,在过程模型中表示这些信息;但软件过程中额外的注释越多,则说明过程建模语言的表达能力与实际的需要相差就越远[41].
自然语言描述的软件过程比较易于理解,但自然语言表示的过程却难以进行最基本的一致性检查和其他分析[40].而根据软件过程实施的经验,必须在软件过程被应用之前确保过程本身的正确性,需要相应的过程建模语言能够支持形式化的分析[58].对过程进行分析的前提是,能够对软件过程必要的细节进行描述,同时包含过多的细节信息也因过程的抽象层次较低而失去了通用性,需要频繁地被更新[40].
另外,软件过程建模技术的实施离不开技术工具的支持,该工具不但需要对过程执行者(process performer)提供支持,而且还需要对过程工程师(process engineer)提供支持,也需要同时让过程执行者了解必要的概念,以及为什么要这么做[41,81].Becker-Kornstaedt等人[40]还着重论述了在获取过程制定所必须的信息时的一些经验, von Wangenheim等人[81]给出了在小规模企业中引入迭代开发过程的经验,而Coleman[24]对于企业采用软件开发过程的经验报告也具有很好的参考意义.
通过表5和上面的分析,我们可以进一步得到如下结论:
软件开发过程的日益分布式和全球化是一个在不断增强的趋势.表5中关于这一趋势的研究,对于分布式
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究软件过程建模方法研究(19)全文阅读和word下载服务。
相关推荐: