| 研究生: |
徐國勛 Kuo-Hsun Hsu |
|---|---|
| 論文名稱: |
利用目標建構軟體架構 Modeling Software Architecture with Goals |
| 指導教授: |
李允中
Jonathan Lee |
| 口試委員: | |
| 學位類別: |
博士 Doctor |
| 系所名稱: |
資訊電機學院 - 資訊工程學系 Department of Computer Science & Information Engineering |
| 畢業學年度: | 91 |
| 語文別: | 英文 |
| 論文頁數: | 146 |
| 中文關鍵詞: | 目標 、使用案例 、軟體架構 、觀點 |
| 外文關鍵詞: | software architecture, aspect, goal, use cases |
| 相關次數: | 點閱:16 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
近來,結合目標導向及使用者中心之軟體方法在軟體工程領域引起了相當大的影響。然而,在應用軟體需求資訊來達成建立軟體架構的研究中,並沒有太多的方法可以透過一個比較有系統的方式來達成這個目的。同時,利用觀點導向方法於處理系統特性上,如重複出現的特性及重要的使用者及開發者考量,也漸漸成為研究的焦點,尤其是在設計與實作的階段。
為了進一步探討目標、觀點、劇本及軟體架構之間的關係,本研究提出了一個觀點強化目標導向方法,以漸進式的方式,來分析及建構軟體架構。透過目標的使用,功能性需求及非功能性需求能夠較容易的透過轉換反映在軟體架構上;而藉由引進觀點,這個以目標為導向的方法更可以進一步的強化其於品質屬性上的處理。
為了達成上述的目的,本研究提出一套目標導向方法以漸進式的方式建構軟體架構,並透過目標及觀點來擷取、分析並管理使用者的不明確、明確需求及品質屬性間的衝突關係。本研究包含以下的功能:
* 利用目標結構的方式來幫助找出各種不同型態的使用者目標;
* 透過目標建立使用者案例;
* 利用使用案例與目標之間的關係分析目標與觀點間的關係;
* 透過目標間的互動關係建立穩定核心;
* 透過穩定核心及目標階層以漸進式的方式建構軟體架構;
* 透過衝突分析的原因解決需求間於軟體架構上之衝突;
* 透過編織將觀點融入軟體架構以表現品質屬性;
* 利用不同型態之實現評估軟體架構。
Recently, the coupling of goal-based and user-centered approaches have resulted in a tremendous impact on the researches of software engineering. However, there is little support in the extant approach to handling the effects of requirements on the structuring of software architectures in a systematic way. Meanwhile, the aspect-oriented approaches have received increasing attention on handling system properties especially in the design and implementation phases to address recurring properties and important stakeholders'' concerns. As an attempt towards the investigation of the interactions among goals, aspects, scenarios, and software architectures, we proposed, in this research, an aspect-enhanced goal-driven approach to analyzing and constructing software architecture in an incremental manner with goals and aspects. The use of goals makes easy the transformation of functional and non-functional requirements into the software architectures. By introducing aspects, the goal-driven approach can be further enhanced to address the quality attributes that are difficult to capture in the modeling of software architecture. The proposed approach is illustrated using the problem domain of virtual university environment and meeting scheduler system.
[1] R. Allen. A Formal Approach to Software Architecture. PhD thesis, CMU, School of
Computer Science, May, 1997. CMU/SCS Report CMU-CS-97-144.
[2] A. Anton. Goal-based requirements analysis. In Proceedings of the International Conference
on Requirements Engineering, pages 136{144, 1996.
[3] L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. Addisonp-
Wesley, 1997.
[4] B. Boehm and H. In. Identifying quality-requirement con
icts. IEEE Software,
13(2):25{35, March 1996.
[5] G. Booch, J. Rumbaugh, and I. Jacobson. The Uni ed Modeling Language User Guide.
Addison Wesley Longman, 1999.
[6] A. Borgida, S. Greenspan, and J. Mylopoulos. Knowledge representation as the basis
for requirements speci cation. Computer, pages 82{91, April 1985.
[7] L. Bratthall and C. Wohlin. Understanding some software quality aspects from architecture
and design models. In Proceedings of 8th International Workshop on Program
Comprehension, 2000. IWPC 2000, pages 27{34, June 2000.
[8] R. Buhr. Use case maps as architectural entities for complex systems. IEEE Transactions
on Software Engineering, 24(12):1131{1155, Dec. 1998.
[9] P. C. Clements. A survey of architecture description languages. In Proc. of 8th International
Workshop on Software Speci cation and Design, pages 16{25, 1995.
98
[10] L. Constantine and L. Lockwood. Software For Use. Addison Wesley, 1999.
[11] C. A. Constantinides, A. Bader, T. Elrad, M. Fayad, and P. Netinant. Designing an
aspect-oriented framework in an object-oriented environment. In ACM Computing
Surveys, March 2000.
[12] K. Czarnecki and U. Eisenecker. Separating the con guration aspect to support architecture
evolution. In ECOOP 2000 workshop on Aspects and Dimension of Concerns,
2000.
[13] B. Dano, H. Briand, and F. Barbier. Progressing towards object-oriented requirements
speci cations by using the use case concept. In Proceedings of the International
Conference on Requirements Engineering, pages 450{456, 1996.
[14] A. Dardenne, A. van Lamsweerde, and S. Fickas. Goal-directed requirements acquisition.
Science of Computer Programming, 20(1-2):3{50, 1993.
[15] S. Easterbrook. Domain modelling with hierarchies of alternative viewpoints. In Proceedings
of the IEEE International Symposium on Requirements Engineering, pages
65{72, 1993.
[16] W. Eixelsberger and H. Gall. Describing software architecture by system structure and
properties. In Proc. of 22th Annual International Computer Software and Applciation
Conference, pages 106{111, 1998.
[17] M. S. Feather, S. Fickas, A. Finkelstein, and A. van Lamsweerde. Requirements and
speci cations examplars. Automated Software Engineering: An International Journal,
4(4):419{438, October 1997.
99
[18] R. Filman. What is aspect-oriented programming, revisited. In Workshop on Advanced
Separation of Concerns, 15th European Conference on Object-Oriented Programming,
Budapest, June 2001.
[19] R. Filman, S. Barrett, D. Lee, and T. Linden. Inserting ilities by controlling communications.
CACM, 45(1):116{122, 2002.
[20] D. Garlan and M. Shaw. An introduction to software architecture. In V. Ambriola
and G. Tortora, editors, Advances in Software Engineering and Knowledge Engineering,
volume 1. World Scienti c Publishing Co., New Jersey, 1993.
[21] G. Georg and S. Seidman. The use of architecture description languages to describe
a distributed measurement system. In Proc. of 7th IEEE Internation Conference and
Workshop on the Engineering of Computer Based Systems, pages 185{193, 2000.
[22] H. Giese and A. Vilbig. Towards aspect-oriented design and architecture. In OOPSLA
2000 workshop on Advanced Separation of Concerns, pages 1{5, April 2000.
[23] J. Grundy. Aspect-oriented requirements engineering for component-based software
systems. In Proceedings of IEEE International Symposium on Requirement Engineering,
pages 84{91, 1999.
[24] J. Grundy and R. Patel. Developing software components with the uml, enterprise
java beans and aspects. In Proceedings of Software Engineering Conference,2001, pages
127{136, August 2001.
[25] L. Harasim. A framework for online learning: The virtual-u. IEEE Computer,
32(9):44{49, Sep. 1999.
100
[26] C. Hofmeister, R. L. Nord, and D. Soni. An industrial perspective of software architecture.
In Proc. of 11th International Conference on Data Engineering, pages 554{555,
1995.
[27] D. Holmes, J. Noble, and J. Potter. Aspects of synchronisation. In Proceedings of
TOOLS on Technology of Object-Oriented Languages and Systems, pages 2{14, 1997.
[28] IEEE Computer Society. IEEE Recommended Practice for Architecture Description of
Software-Intensive Systems (IEEE Std 1471-2000), September 2000.
[29] I. Jacobson. Object-Oriented Software Engineering: A Use Case Driven Approach.
Addison-Wesley, 1992.
[30] R. Kazman, G. Abowd, L. Bass, and P. Clements. Scenario-based analysis of software
architecture. IEEE Software, pages 47{55, November 1996.
[31] R. Kazman, L. Bass, G. Abowd, and M. Webb. Saam: A method for analyzing the
properties of software architectures. In Proc. of 16th International Conference on
Software Engineering, pages 81{90, 1994.
[32] R. Kazman, M. Klein, M. Barbacci, T. Longsta , H. Lipson, and J. Carriere. The
architecture tradeo analysis method. In Proc. of 4th IEEE International Conference
on Engineering of Complex Computer Systems, pages 68{78. IEEE Computer Society
Press, 1998.
[33] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin.
Aspect-oriented programming. In In LNCS 1241 (Proc. of ECOOP''97), pages 220{242,
June 1997.
101
[34] Krutchen and Thompson. An object-oriented, distributed architecture for large scale
ada systems. In Proceedings of Tri-Ada 94 ACM, November, 1994.
[35] A. Kumar, R. Pakala, R. Ragade, and J. Wong. The virtual learning environment
system. In Proc. of 28th Annual Frontiers in Education Conference, pages 711{716.
IEEE Computer Society Press, 1998.
[36] J. Lee and K. Hsu. Modeling software architectures with goals in virtual university
environment. Information and Software Technology, 44:361{380, April 2002.
[37] J. Lee and J. Kuo. New approach to requirements trade-o analysis for complex
systems. IEEE Transactions on Knowledge and Data Engineering, 10(4):551{562,
July/August 1998.
[38] J. Lee and N. Xue. Analyzing user requirements by use cases: A goal-driven approach.
IEEE Software, 16(4):92{101, July/August 1999.
[39] J. Lee, N. Xue, and J. Kuo. Structuring requirement speci cations with goals. Information
and Software Technology, 43:121{135, February 2001.
[40] K. Lichtner, P. Alencar, and D. Cowan. A framework for software architecture veri
cation. In Proceedings on Software Engineering Conference, pages 149{157, April
2000.
[41] D. Metayer. Describing software architecture styles using graph grammars. IEEE
Transactions on Software Engineering, 24(7):521{533, July 1998.
[42] S. Miller. Aspect-oriented programming takes aim at software complexity. Computer,
34:18{21, April 2001.
102
[43] J. Mylopoulos, L. Chung, and B. Nixon. Representing and using nonfunctional requirements:
A process-oriented approach. IEEE Transactions on Software Engineering,
18(6):483{497, 1992.
[44] N. Noda and T. Kishi. On aspect-oriented design-an approach to designing quality
attributes. In Proceedings of 6th Asia Paci c Software Engineering Conference, pages
230{237, 1999.
[45] R. Pawlak, L. Duchien, G. Florin, L. Martelli, and L. Seinturier. Distributed separation
of concerns with aspect components. In Proceedings of 33rd International Conference
on Technology of Object-Oriented Languages, 2000, pages 276{287, June 2000.
[46] D. Perry and A. Wolf. Foundations for the study of software architecture. ACM
SIGSOFT Software Engineering Notes, 17(4):40{52, October 1992.
[47] M. Pinto, M. Amor, L. Fuentes, and J. Troya. Collaborative virtual environment
development: An aspect-oriented approach. In International Conference on Distributed
Computing Systems Workshop 2001, pages 97{102, April 2001.
[48] K. Pohl. The three dimensions of requirements engineering: a framework and its
applications. Information Systems, 19(3):243{258, 1994.
[49] C. Potts, K. Takahashi, and A. Anton. Inquiry-based requirements analysis. IEEE
Software, 11(2):21{32, March 1994.
[50] A. Rakotonirainy and A. Bond. A simple architecture description model. In Technology
of Object-Oriented Languages, 1998. TOOLS 28. Proceedings, pages 278{286, 1998.
103
[51] C. Rolland and C. Achour. Guiding the construction of textual use case speci cation.
Journal of Data and Knowledge Engineering, 25(1-2):125{160, March 1998.
[52] C. Rolland, C. Souveyet, and C. Achour. Guiding goal modeling using scenarios. IEEE
Transactions on Software Engineering, 24(12):1055{1071, December 1998.
[53] T. Rowlett. Building an object process around use cases. Journal of Object-Oriented
Programming, 11(1):53{58, March/April 1998.
[54] K. Rubin and A. Goldberg. Object behavior analysis. Communications of the ACM,
35(9):48{62, September 1992.
[55] J. Rumbaugh. Getting started: Using use cases to capture requirements. Journal of
Object-Oriented Programming, 7(5):8{12, September 1994.
[56] T. L. Saaty. Decision Making for Leaders: The Analytic Hierarchy Process for Decisions
in a Complex World. Lifetime Learning, Atlanta, Georgia, 1982.
[57] M. Saeki. Patterns and aspects for use cases: reuse techniques for use case descriptions.
In Proceedings of the 4th IEEE International Conference on Requirements Engineering,
page 62, 2000.
[58] M. Shaw. The coming-of-age of software architecture research. In Proceedings of the
23rd International Conference on Software Engineering, pages 657{664a, May 2001.
[59] M. Shaw, DeLine, Klein, Ross, Young, and Zelesnik. Abstractions for software architectures
and tools to support them, February 1994.
[60] M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline.
Prentice Hall, 1996.
104
[61] M. Shomrat and A. Yehudai. Obvious or not? regulating architectural decisions using
aspect-oriented programming. In In proc. of 1st International Conference on Aspect-
Oriented Software Development, pages 3{9, April 2002.
[62] Stanford center for professional development. Http://stanford-online.stanford.edu/.
[63] A. Sutcli e, N. Maiden, S. Minocha, and D. Manuel. Supporting scenario-based requirements
engineering. IEEE Transactions on Software Engineering, 24(12):1072{
1088, Dec. 1998.
[64] J. Suzuki and Y. Yamamoto. Extending uml with aspects: Aspect support in the
design phase. In Proc. of the Aspect-oriented programming workshop at ECOOP''99,
pages 299{300, 1999.
[65] J. Tsai, A. Liu, E. Juan, and A. Sahay. Knowledge-based software architectures:
Acquisition, speci cation, and veri cation. IEEE Transaction on Knowledge and Data
Engineering, 11(1):187{201, 1999 Janyary/February.
[66] A. van Lamsweerde. Requirements engineering in the year 00: A research perspective.
In Proceedings of the 2000 Internation Conference on Software Engineering, pages 5{
19, 2000.
[67] A. van Lamsweerde, R. Darimont, and E. Leitier. Managing con
icts in goal-driven
requirements engineering. IEEE Transactions on Software Engineering, 24(11):908{
926, November 1998.
[68] A. van Lamsweerde, R. Darimont, and P. Massonet. Goal-directed elaboration of requirements
for a meeting scheduler problems and lessons learnt. Technical Report
105
RR-94-10, Universite Catholique de Louvain, Departement d''Informatique, B-1348
Louvain-la-Neuve, Belgium, 1994.
[69] J. Vaupel and M. Sommer. Multimedia education, distance learning and electronic
commerce applications. In Proc. of International Conference on Virtual Systems and
Multimedia, pages 174{175. IEEE Computer Society Press, 1997.
[70] J. Viega and J. Voas. Can aspect-oriented programming lead to more reliable software?
IEEE Software, 17:19{21, November-December 2000.
[71] D. Wile. Aml: an architecture meta-language. In Proc. of 14th IEEE Internation
Conference on Automated Software Engineering, pages 183{190, 1999.
[72] M. Yazdani and D. Bligh. Cooperative learning in a virtual university. In Proceedings of
2nd International Conference on Cognitive Technology, pages 251{255. IEEE Computer
Society Press, 1997.