528
Journal of Software 软件学报 Vol.20, No.3, March 2009 Process enactment
Fig.3 Three domains of software process engineering[7,14,16]
图3 软件过程工程的3个领域[7,14,16]
(2) 虚拟过程执行和实际过程执行(标记2和标记3).通过过程引擎对实例化过程模型的解释和执行,可以指导实际软件开发活动:向项目成员提供可以执行的活动列表、自动运行所需的开发环境,以及完成某些可以自动执行的任务.另一方面,当项目成员完成任务后需要向PSEE反馈相应的信息,以使得PSEE及时修改正在运行的过程模型的状态,并更新提供给项目成员的指导信息.
(3) 过程模型和实际过程执行(标记4).通过PSEE的支持使实际软件开发活动受预定义软件过程模型的 支配.
但这种方式在具体的实施过程中,也面临着如下问题:
(1) 信息反馈中的人为因素[14].由于虚拟过程执行和实际过程执行之间采用比较松散的耦合方式,由后者向前者的信息反馈需要人的参与,不可避免地由于人为因素的存在,使得反馈的信息不准确、不及时,可能为了取得某种结果,而引入主观的甚至是错误的信息.
(2) 任务抽象层次不同[16].软件过程模型任务定义的抽象层次,相对于实际的开发任务而言,仍显得太高.模型中的任务可能是修改需求、体系结构设计、模块编码、书写测试用例等,但实际开发中需要一系列的工作来完成过程模型中的一项任务.由于抽象层次的不同,软件过程模型往往只是描述了实际开发活动的一个很小的子集,使得很多实际开发活动不受PSEE的控制,从而无法真正规范整个实际软件开发过程.
(3) 产品描述的粒度不同[16].在软件过程模型中,一般以整个文档作为活动的输入、输出参数,而在实际的开发活动中,更多涉及到的是文档的某一部分,比如需求项、设计文档的某个模块、某个测试用例等.
由于上述问题的存在,导致虚拟执行的软件过程和实际执行的软件过程之间经常产生严重的偏差,以至于PSEE对于实际的开发活动失去了支持和指导的作用.
2 系统评价方法
传统的综述(narrative or ad hoc review)一般是对部分研究结果的定性概括,同时在研究过程中可能为了验证预期的结果而或多或少地引入一定的主观性,同时并没有将整个研究过程记录下来以供其他研究人员对该项研究本身进行评价.而在实施系统评价时,需要根据所研究的问题制定系统评价的实施规范,该规范包含了特定的策略以实现全面和彻底的文献搜索;明确的准则以决定如何取舍搜索到的文献;评估每项研究的质量准则;对获得的数据进行综合和分析的方法(比如元分析,meta-analysis).同时,对于需要人为参与的步骤(文献的取舍、每项研究结果的评价等),需要综合多名系统评价人员的结果,以使得评价尽可能的客观和公正.
具体来讲,一个系统评价的实施一般包含如下几个基本步骤[17,18]:
(1) 明确所关注的研究问题.即通过该系统评价最终所要回答的问题,同时可能需要进一步明确所感兴趣的研究方法(intervention)和研究结果(outcome)等其他限定条件.
李明树 等:软件过程建模方法研究
529
(2) 确定相关研究的搜索策略.确定需要查询的搜索引擎、会议论文集和期刊,根据所要研究的问题和已有文献的关键词确定查询语句,而后通过该语句查询所确定的引擎、论文集和期刊.根据查询结果,确定是否需要进行二级查询(比如引入新的关键词或者添加新的论文集和期刊).
(3) 确定哪些研究被系统评价所采纳.所有参与系统评价的人员根据共同的标准对于上一步搜索到的每项研究(论文)进行质量评价,以决定其是否被包含到系统评价中,作为支持最终结论的证据.若不同的评价人员对同一研究给出了不一致甚至相互矛盾的结果,则需要对这些结果进行综合考虑或者采取最终协商一致的方式予以解决.
(4) 数据提取和分析.对于被采纳的每项研究,根据系统评价的需要提取相应的数据,而主观的数据项则需要多个系统评价人员的参与,而后需要对所获得的数据进行综合和分析,并对结果给出解释.
(5) 完成报告.在上述工作的基础上完成最终的报告.
系统评价方法在循证医学(evidence-based medicine)中使用得非常广泛[18],最近几年,该方法也被逐渐地应用到了软件工程领域.根据3个用于指导在医学领域内如何实施系统评价的指导手册,Kitchenham[17]定义了一个在软件工程领域内实施系统评价的规程(procedure),该规程所包含的步骤与一般系统评价所包含的步骤基本相同,只是用软件工程中的一些场景代替了原来医学领域的内容.同时,由于与医学领域相比,软件工程在经验研究方面相对比较缺乏且不是很严格(缺乏量化的结果),而在实施过程中省略了用于合并不同量化研究结果的统计分析方法.Hannay等人[19]从5 453篇于1993年~2002年发表于期刊和会议上的文章中,选出了103篇用于从总体上分析理论的使用情况.通过该系统评价,作者们发现其中的24篇文献使用了40种理论,其中约有三分之一是由文章的作者自己提出来的,所使用的理论具有很强的跨学科特性;但在经验软件工程中理论驱动的研究还比较少.Kitchenham等人[20]使用系统评价,试图比较组织内和组织间的成本模型估算的准确性.从所搜索到的论文中,作者们最后选出了10项相关的研究,有7篇论文给出了明确的结论,其中3篇支持这两种估算模型没有显著的区别,而另外4篇支持组织间的模型要明显的比组织内的模型要差.作者们最后发现,根据现有的研究很难得到一个明确的结论,同时也发现组织内估算模型优于组织间估算模型的结论,一般是在较小的数据集上得到的.Jörgensen等人[21]从74本期刊中选出了304篇文献,试图回答关于软件开发成本估算领域研究现状的8个问题:比如哪些期刊发表了软件成本估算的文章、哪种期刊在软件成本估算领域最具影响力及其论文主题所具有的倾向性、哪种估算方法最为人们所关注,以及随着时间的发展有什么样的变化等.
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究软件过程建模方法研究(7)全文阅读和word下载服务。
相关推荐: