毕业设计(论文)外文参考资料
(原文与译文)
外文题目:Quantitative Approaches in Object-Oriented
Software Engineering
中文题目:在面向对象软件工程中的定量方法
作 者: Mario Piattini, Fernando Brito e Abreu, Geert Poels and Houari A. Sahraoui
专 业: 软件学院
班 级:
学 号:
姓 名:
2006年 6月15日
在面向对象软件工程中的定量方法
摘要:
这篇报告概述了2002年6月11日在马拉加举行的关于在面向对象软件工程中的定量方法的第六次国际ECOOP研讨会(即QAOOSE2002)的贡献和争论。QAOOSE系列研讨会的目标是提出、讨论和鼓励在面向对象软件工程的研究和实践中使用定量方法。今年的研讨会包括“软件标准定义”、“软件大小、复杂度和质量评估”和“软件质量预测模型”领域的11个立场论文的提出。这个讨论会集中在QAOOSE目前的问题和将来的研究方向上。
1. 引言
第六次关于在面向对象软件工程中的定量方法的国际ECOOP研讨会是继布达佩斯(2001)、戛纳(2000)、里斯本(1999)和奥尔胡斯(1995)这前五次成功的ECOOP研讨会之后举办的。在面向对象领域的定量方法是一个广阔的而活跃的研究领域,其目标在发展或评价方法、技术、工具和实践原则来改进软件产品的质量和软件过程的效率和效力。相关的研究课题是变化多端的但是通常包括对应用基于数据搜集(采用客观测量或者主管评估)和数据分析(采用统计学或人工智能技术)的科学方法论的深度聚焦。
和前几年一样,研讨会吸引了来自学术界和工业界的许多参与者,他们的工作涉及到面向对象定量方法或者对在面向对象软件工程研究和实践中应用定量方法感兴趣。在这个过程中有13个论文被公认并且有11个在研讨会上被提出。参与者的数量达到19,主要是来自欧洲(比利时、法国、西班牙、意大利、葡萄牙、瑞士、英国、奥地利)同样也有来自美国、加拿大和日本。他们中的大多数都有学术界背景。
研讨会遵循这样的程序。被提出的立场论文被安排在四个介绍会议期,每个会议期由20分钟的描述和10分钟的提问或讨论组成。在研讨会的最后是一个最终讨论。
这个报告被组织如下:在2,3,4,5部分,我们总结了今年研究会在论文讨论过程中的评论和一些结论方面的贡献。在第6部分,我们介绍了研讨会的结论和在研讨会上确定的公开问题。
2. 第一部分
2.1快速认真的:用于工作量估算的一个UML基础度量
M. Carbone and G. Santucci (Universita degli Studi di Roma La Sapienza, Italy).
在这个论文里,作者提出了一个新的方法来评估一个按照面向对象范式开发的软件工程的大小。这个方法用一系列UML图表来描述最重要的系统特征和依照源代码的行数来计算系统的复杂性。这个计算过程是通过自动提取来自Rational Rose文件的UML图表来执行的。对这个论文的讨论集中在需要证明用在这个模型中的度量方法是恰当的,因为这个评估模型用了很多的直觉的知识。另外一个争论是,作者应该在他的评估模型中引入关联网络和类与类之间的其他关系,因为这些附属的关联网络和类与类之间的其他关系已经成了软件复杂性的本质。用精确的验证实验来精炼被提出的方法是十分必要的。
2.2McRose:用于Rational Rose实时的功能大小度量
H. Diab, F. Koukane, M. Frappier, R. St-Denis. (Universite de Sherbrooke,Canada).
评估也是第二个论文的主题,它描述了被COSMIC-FFP定义的能够为Rational Rose实时模型自动度量功能软件大小的工具cROSE. COSMIC-FFP是用于实时系统功能点度量的改编,它可以被用做工作量评估、生产力估计和基准。cROSE集成在Rational Rose实时工具集中。关于这个论文的讨论集中在RRRT和FP方法的映射上,总结出在这个提议中,这个映射是最困难的方面,仍然值得更多得关注。作者们被问到是否他们考虑过使用相应工作量的信息这个被提出的方法在不同设计方案上做度量。
2.2组合和改编软件质量预测模型
S. Bouktif, B. Kegl, H. Sahraoui. (Universite de Montreal, Canada).
这个论文提出了一个用于在特定环境下组合和改编现有的软件质量改进模型的改进方法。相应的结果模型被解释为后专家,它能够为每个给定的任务选择最佳的专家。这个概念同真实世界中来自不同种类源的、非通用的、很大程度了依赖潜在数据的单个预测模型协调的很好。他们的初步结果表明组合模型可以比单个专家表现出更好的性能。这种类型的模型也能帮助改进Java接口的稳定性,因为性能的特征能够被识别并且最合适的重构可以被提出。作者们阐明他们可以使用任意类型的规模和任意数量的标签来进行分类。一个很有趣的工作即比较遗传算法和用于预测质量特征的其他方法被提到。
3. 第二部分
3.1用XML和XSLT实现需求的自动质量核实
A. Duran, A. Ruiz, M. Toro. (Universidad de Sevilla, Spain).
在他们的描述中,作者们提出了一个使用XML和XSLT来实现需求核实的工具,它能够发现在自然语言需求中隐藏的矛盾和缺陷。为了核实用例,作者们定义了一些权并且提出了一些显示错误使用用例的值。应该被强调的是这个工具不支持真实验证,因为它不能自动验证需求的语义属性。这个工具的有趣扩展是对需求商议的支持。
3.2从对象到:一个定量方法
M. Goulao, F. Brito e Abreu. (INESC-ID, Portugal).
这个论文讲述了一个比较基于组件开发和传统的面向对象开发的试验。一个用于3D功能的专用化和可视化的应用被使用两种不同的技术Borland Delphi和C++转化为组件。试验的一个结论是从OOP到COP转换中面向对象Pascal比VC++提供了更少的突变的图表。许多试验也反映了采用COP的学术难点。正如作者们所说的,许多用不同大小和层次关于不同主题的系统的有挑战性的试验应该被开展来使其普遍化。要准确知道那些东西需要被比较也是很困难的,因为基于组件的开发不能仅同面向对象的编程语言比较还要同在面向对象编程中用到的其他模块化技术比较。
3.3用于COTS组件的质量属性
M. F. Bertoa, A. Vallecillo. (Universidad de Malaga, Spain).
作者们强调承认COTS组件的有效评估的合适质量模型的匮乏。他们提出了一个基于ISO 9126的标准,这个标准包括有六个质量特征:功能性、可靠性、可用性、效率性、可维护性和几个子特征。在这个论文里,他们也提出了用于那些子特征的不同权值。在组件质量属性方面即使组件涉众们从来都不可能达到完全一致,模型和权值都应该被验证和精炼。
4. 第三部分
4.1开发可用于UML模型的软件度量标准
在这个论文里,作者们提出了一些新的象类和消息一样可以被用于UML建模软件度量标准。他们声称这些度量标准可以被用于预测软件生命周期中早期阶段的各种特征。此外,他们在支持度量标准搜集的Rational Rose之上开发了一个CASE工具并且提供了许多使用这个工具的例子。这些被提出的度量标准被设想用于估计大小和复杂性但是一个更明确的目标应该被定义。作者以Chidamber和Kemerer度量标准开始然后改编它们把它们用于UML,但是他们没有考虑到最近的用于测量UML模型的提议。和度量标准一起产生的另一个问题是为大系统搜集度量标准的问题。
4.2超越语言无关的面向对象标准:模型无关标准
M. Lanza, S. Ducasse. (Universite de Berne, Switzerland).
作者们提出了一个可以定义域无关标准的元模型。这个元模型是Moose重建环境的一部分。这个著作是对以前的关于语言无关的FAMIX元模型的著作的扩展。作者们定义了新的度量标准因为他们想有一个度量标准引擎,这个引擎可以独立于元模型工作,可以避免每次一个新的元模型被定义的时候就要扩展度量标准引擎。几乎50%的度量标准是为了重建目的而定义的,但并不是所有的。剩下的仍然没有被开发。作者们也被问到关于使用2D可视化而不是3D的问题,他们回答说计算机辅助软件工程研究的透明尺寸不允许他们深入复杂方法。他们宁愿使用迅速的方法而摒弃那些无效的方法,但是3D当然是一个能够也应该被很好的探究的课题。
4.3用于开发方法的嵌入量技术
M. Saeki. (Tokyo Institute of Technology, Japan).
在该论文中,作者提出了一个扩展现有方法的一般框架,其包含联系语义信息和人工制品的活动和使用这些信息来测量它们的质量。这些是使用元模型技术来实现的。关于人工制品的语义信息和度量标准的定义在元模型中有形式化的定义。作者们阐明现有的度量标准仅是对方法的举例说明,但是我们需要的是对现实方法、复杂质量方法的度量标准。这个方法给方法设计者很大的自由并且需要更多的指导原则来帮助他们定义方法和度量标准。它也可能有一个有趣的扩展就是搜集关于过程的度量标准而不仅仅是关于人工制品的。
5. 第四部分
5.1使用OCL来形式化面向对象设计度量标准的定义
A. L. Baroni, S. Braz, F. Brito e Abreu. (Univ. Nova de Lisboa, Portugal &Ecole des Mines de Nantes, France & Univ. da Beira Interior, Portugal).
这个论文描述了使用对象约束语言和UML元模型的面向对象度量标准定义的不同集的形式化成果。作者遵循的方法允许明确的度量标准定义和为工具支持提供很好的基础。其他的形式化技术能够被用于形式化度量标准定义但是作者们考虑到大多数的软件工程师习惯使用UML和OCL,因此在度量标准定义中使用这种技术是一个优势。
5.2测量整个软件过程:一个简单的度量标准数据交换形式和协议
M. Auer. (Technical University of Vienna, Austria)
作者提出了一个度量标准数据交换形式和一个数据交换协议来传递度量标准数据。他也提出了一个度量集线器作为度量仓库和把所有度量数据形式转换成度量标准交换形式的度量标准连接器的Web服务接口来实现的。
另外两个论文被采纳,但是在研讨会上没有被提出:从带度量标准的多继承到单继承(C.Roume. LIRMM,France),用于UML状态图的定义和验证度量标准(M.Genero,D. Miranda, M. Piattini. University of Castilla-La Mancha, Spain)。
6. 研讨会总结
研讨会至今有几个问题在每一期都会出现,诸如:为不同的度量标准集定义清楚的目标的重要性,需要严格地计划和实施试验,需要对试验的内部和外部复制,校准在模型中用到的重量的困难,归纳和重用现有模型的数据的匮乏,被工业界使用的度量标准的应用或拥有自动搜集度量标准和在面向对象设计中选择方案的工具重要性。
在这次会议中,研讨会的参与者们强调了定量方法提供的帮助的重要性。定量方法有助于理解新技术的影响尤其是关于组件的软件开发过程和软件质量。用于多方组件的质量模型和度量标准正在被定义并且它们可能成为组件选择和评估过程和工具的基础。然而,我们必须考虑到不是所有的组件的特征能够被客观的或者第三方评估,其中的一些也没有组件提供商。关于组建的度量表诸,问题是我们应该工作在适当的抽象水平上在设计层次上而不是代码层级上考虑一个组建。在这种情况下,当定义和验证组件度量时,组建度量模式中的一些问题和方法可能是有用的。技术方面不是基于组建开发的仅有方面,例如道德方面也是在度量标准范围里也是很重要的。在软件开发过程中组件重要性的增加表明我们应该修改为下一次会议修改研讨会的名字并且考虑定量方法对于基于组件软件工程的作用。
这次研讨会的另一个大问题是用于度量标准定义和工具重建的元模型的使用。元模型正如形式化符号一样能更准确的描述度量标准。尽管元模型因为不是语法统一而是语义统一,它并不是真正的语言无关模型,但也能提供一定程度上的面向对象语言无关性。在使用UML来详细说明元模型的一些问题也在这次会议期间被参与者们指出了。同时也讨论到许多被提出的元模型仅仅提出了静态属性,和静态属性相比动态度量标准往往被忽略了,我们也有必要深入研究一下元模型的动态属性。
在这次会议中被讨论到的其他的主题是不同的组织不存在通用有效的模型和为每个组织选择和定义特殊的模型的需求,这些同度量标准和管理目的的可视化的强有力的联合一样是一个苦难的任务。