领测软件测试网
[Shaw-Garlan 1996] 非常激奋地讨论体系结构,作为“系统设计的实质上的民间传说,很少具有一致性和精确性”。他进一步陈述“软件体系结构在框图和通俗散文中找到它的根基。不幸的是,框图和描述是高度二义性的。”
这些以及更多的参考文献,谈论到集成的需要(或缺失)。然而,他们通常不详细地讨论包含的活动(也有些例外)。有时这些工作并不是出于对集成逼近特别的喜爱。在另一方面,有时提议的技术经常只是打算让人们能够互相交流。例如,体系结构复审板[AT&T 1993]或者检查过程(Inspection Process)[NASA 1993]主要地应用于使大多数有能力的人们在一起工作,以便他们能够共享信息。这些技术可能遵循已定义好的过程(例如,检查单)并且可能出产有效的结果,但是实际上,确定和解决瑕疵的活动仍要手工完成,没有多少自动协助。
结论
本工作讨论了在
UML视图中体系结构不匹配的原因以及说明了集成技术可以怎样按更自动化的方式应用于鉴别和解决它们。我们用统一建模语言(UML)的语境及其视图(框图)来表述本工作,并使用一个例子来引导视图集成的主要阶段。在本论文中表达的视图集成框架并不限制于UML。它也可以应用于其它模型和视图(例如体系结构描述语言)。
本工作进一步介绍了在分析软件系统模型概念完整性中的模式使用。既然模式是完好描述和文档化的,在结构和行为两方面,我们可以频繁地使用这些知识用于视图分析。照此,我们说明了关于模式的知识可以用于映射视图(相关建模信息的交叉引用),也可以从一个视图到另一个变换信息。后来我们说明了抽象(Rose/Architect)和变换技术。
虽然视图集成框架创建的意图是支持自动的视图分析,手工介入经常还是有必要的。既然本文只是集中于模式,其他集成技术也就没有讨论(也可参看[Egyed 1999b])。我们将发表的内容为:
发现(或
开发)覆盖更加广泛视图范围的集成技术
处理可量化性
增加更多的精确性到UML中澄清二义性。
论述自动化支持的不匹配解决的情况(而不仅仅是不匹配的自动确定)
不管这些问题,我们已经取得在该领域广泛的进步并且我们感觉到使用集成技术的好处,例如在本文中所讨论的,是无限的。我们已经表明不匹配鉴别的任务自动化是可能的(至少部分可以),既然计算机在比较视图无疑更加有效率,这就意味着本质上节省了人工劳动。我们近似的另一个好处是不匹配可以在它们创建的时候就确定。每逢新的数据加入到模型中,工具就可以验证它们。
参考文献
AT&T (1993) “最佳趋势实践:软件体系结构确认,” AT&T, Murray Hill, NJ.
Egyed, A. (1999a) “UML中体系结构视图集成,” 提交给 ESEC/FSE’99, http://sunset.usc.edu/TechRpts/Papers/usccse99-511/usccse99-511.pdf.
Egyed, A. (1999b) “在UML中集成体系结构视图,” 资格报告, 技术报告,
软件工程中心, 南加州大学, USC-CSE-99-514, http://sunset.usc.edu/TechRpts/Papers/usccse99-514/usccse99-514.pdf.
Egyed, A. and Kruchten, P. (1999) “Rose/ 设计师:可视化软件体系工具”, 第三十二届系统科学会议年报议题
Booch, G., Jacobson, I., 和 Rumbaugh, J. (1997) “用于
面向对象开发的统一建模语言,” 文集, 版本 1.0, 瑞理软件公司
Buschman, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M. (1996) “模式系统:面向模式的软件体系,” Wiley.
Boehm, B., Egyed, A., Kwan, J., and Madachy, R. (1998), “使用 WinWin 螺旋模型:案例研究,” IEEE 计算机, July, pp. 33-44.
Gamma, E., Helm, R., Johnson,R., Vlissides, J. (1994) “设计模式:可重用面向对象软件元素:,” Addison-Wesley.
NASA (1993) “正式软件检验过程标准,” NASA-S
TD-2202-93.
Nuseibeh, B. (1995) “软件开发中的计算机辅助非一致性管理,” 技术报告 DoC 95/4, 计算系, 帝国大学, 伦敦 SW7 2BZ.
Rechtin, E. (1991) “系统体系,创建和建立复杂系统,” Prentice Hall, Englewood Cliffs, NJ.
Perry, D. E. and Wolf, A. L. (1992) “软件体系结构研究基础,” ACM SIGSOFT 软件工程笔记, 十月号.
Sage, Andrew P., Lynch, Charles L. (1998) “系统集成和体系构造:原理概述,实践和远景,” 系统工程, 国际系统工程会议期刊, Wiley Publishers, 卷 1, 第 3, 176-226页。
Shaw, M. and Garlan, D. (1996) “软件体系结构:形成原理的透视,” Prentice Hall.
Siegfried, S. (1996) “理解面向对象软件工程,” IEEE Press.
----------------------------------------------------------------
[1] 注意我们如[Bushman et al 1996]所作,可互换地使用术语模式和风格。
[2] 对共同使用的模板隐藏源模板和类元
[3] 为其他对象提供一个代理限制对它的访问[Gamma et al 1994]
[4] 注意:我们可以用高层代理简化较低层次设计模式