領測軟件測試網
[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] 注意:我們可以用高層代理簡化較低層次設計模式