| 研究生: |
余東峯 Yu, Dung-Feng |
|---|---|
| 論文名稱: |
應用於角色組成軟體模式的輔助工具 An Assistant Tool for Implementing Role-Based Patterns |
| 指導教授: |
焦惠津
Jiau, Hewijin Christine |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2006 |
| 畢業學年度: | 94 |
| 語文別: | 英文 |
| 論文頁數: | 35 |
| 中文關鍵詞: | 角色組成軟體模式 、實現 、工具 |
| 外文關鍵詞: | tool, implement, role-based patterns |
| 相關次數: | 點閱:143 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
現今,有愈來愈多的軟體發展者在軟體發展的過程當中使用軟體模式,因為軟體模式帶來一些好處。在這股潮流之下,對於軟體發展者來說,支援實現軟體模式的工具愈形重要。
然而,傳統的工具通常提供類別圖(class diagram)的觀點。雖然這些工具替使用者產生軟體模式實現的骨架,但是使用者仍需修改由工具所產生的骨架以完成軟體模式的實現。因此,使用者必須處理以及了解許多實現的細節。這會增加軟體發展者在實現時所花費的心力。此外,由於最後呈現出來的程式碼與模式結構糾結在一起,因此軟體維護者將很難在程式碼中追蹤軟體模式的所在。這將會增加軟體專案的維護花費。
在這篇論文中,一個名為 Atirbap 的輔助工具被提出,並且從角色圖(role diagram)的觀點來實現軟體模式。藉由替使用者把角色圖直接轉換成為程式碼, Atirbap 在實現軟體模式的過程中降低在實現時所花費的心力。因為模式結構從最終程式碼中分離出來,所以軟體維護者可以花費較少的時間與心力於追蹤軟體模式。
There are more and more software developers applying patterns in the software development because of advantages brought by patterns. In this trend, tools for implementing patterns are more and more important for software developers.
However, traditional tools often provide a viewpoint from class diagrams. Although these tools produce skeleton of pattern implementation for users, users must modify the generated skeleton to complete the pattern implementation. As a result, users must handle and understand many implementation details. This increases implementation effort for software developers. Moreover, the resultant program code is entangled with pattern structure and software maintainers will face difficulty in tracing patterns. This increases maintenance cost for software projects.
In this work, an assistant tool, Atirbap, is proposed to implement patterns from the aspect of role diagrams. Atirbap reduces implementation effort during the process of implementing patterns by transforming role diagrams into program code directly for users. As pattern structure is separated from
the resultant program code, software maintainers can trace patterns in the program code with less time and effort.
[1] D. Riehle, 'A Role-Based Design Pattern Catalog of Atomic and Composite Patterns Structured by Pattern Purpose,' Technical Report 97-1-1, UbiLabs, 1997.
[2] J. Soukup, 'Implementing Patterns,' in Pattern Languages of Program Design, pp. 395-412, Addison-Wesley, 1995.
[3] E. E. Jacobsen, 'Design Patterns as Program Extracts,' in Lecture Notes in Computer Science, vol. 1357, pp. 105-107, Springer-Verlag, 1998.
[4] J. Bosch, 'Design Patterns as Language Constructs,' Journal of Object-Oriented Programming, pp. 18-32, May 1998.
[5] E. Agerbo and A. Cornils, 'How to preserve the benefits of Design Patterns,' Proceedings of ACM SIGPLAN Object Oriented Programming Systems and Applications Conferences, pp. 134-143, 1998.
[6] E. Agerbo and A. Cornils, 'Theory of Language Support for Design Patterns,' Master's thesis, Department of Computer Science, Aarhus University, Denmark, 1997.
[7] D. von Dincklage, 'Making Patterns Explicit with Metaprogramming,' in Lecture Notes in Computer Science, vol. 2830, pp. 287-306, Springer-Verlag, 2003.
[8] G. Neumann and U. Zdun, 'Enhancing Object-Based System Composition through Per-Object Mixins,' Proceedings of Asia-Pacic Software Engineering Conference (APSEC), 1999.
[9] G. Neumann and U. Zdun, 'Implementing Object-Specific Design Patterns Using Per-Object Mixins,' Proceedings of NOSA`99, Second Nordic Workshop on Software Architecture, August 1999, Ronneby, Sweden.
[10] G. Neumann and U. Zdun, 'Filters as a Language Support for Design Patterns in Object-Oriented Scripting Languages,' Proc. of COOTS'99, 5th Conference on Object-Oriented Technologies and Systems, May 1999, San Diego.
[11] G. Florijn, M. Meijers, and P. van Winsen, 'Tool Support for Object-Oriented Patterns,' in Lecture Notes in Computer Science, vol. 1241, pp. 472-495, Springer-Verlag, 1997.
[12] P. Forbrig and R. Lammel, 'Programming with Patterns,' Proceedings TOOLS-USA, 2000.
[13] A. Bulka, 'Design Pattern Automation,' Proceedings of the 3rd Asia-Pacific Conference on Pattern Languages, 2002.
[14] 'Design Pattern Wizard, http://sourceforge.net/projects/patternwizard.'
[15] 'DpaToolkit, http://sourceforge.net/projects/dpatoolkit.'
[16] 'UMLStudio, http://www.pragsoft.com/prod_umls.html.'
[17] 'ModelMaker, http://www.modelmakertools.com/modelmaker/index.html.'
[18] 'Borland Together, http://www.borland.com/us/products/together/index.html.'
[19] E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[20] E. Freeman, E. Freeman, K. Sierra and B. Bates, Head First Design Patterns. O'RELLY, 2004.
[21] O. Vogel, 'Generic Factory,' EuroPLoP 2000, 2000.
[22] M. Voelter, 'The Metacommand Pattern,' EuroPLoP 2000, 2000.
[23] D. Riehle, 'Describing and Composing Patterns Using Role Diagrams,' Proceedings of the 1996 Ubilab Conference, pp. 137-152, 1996.