본문 바로가기
HOME> 논문 > 논문 검색상세

논문 상세정보

아키텍쳐 기반 소프트웨어 개발을 지원하는 효과적인 소프트웨어 아키텍쳐 평가 방법
An Approach to Effective Software Architecture Evaluation in Architecture-Based Software Development

최희석   (부산대학교 컴퓨터공학과UU0000613  ); 염근혁   (부산대학교 컴퓨터공학과UU0000613  );
  • 초록

    소프트웨어 아키텍쳐는 소프트웨어 개발에 참여하는 사람들간의 원활한 의사 소통과 시스템 설계 결정에 대한 합리적 판단을 가능하게 하는 상위 수준의 시스템 추상화이다. 이러한 소프트웨어 아키텍쳐에 대한 평가는 소프트웨어에 요구되는 품질을 소프트웨어 개발 전에 미리 예측하거나, 고품질 소프트웨어를 개발하는대 적합한 아키텍쳐의 선택 및 향상을 가능하게 한다. 그러나 현재의 아키텍쳐 평가 방법은 아키텍쳐 평가의 초기 입력물에 대한 정의가 미흡하고, 평가 과정이 주관적인 프로세스에 많이 의존하거나 흑은 체계적인 프로세스를 정의하고 있지 않다. 뿐만 아니라 아키텍쳐 평가 정보들의 표현에 대한 고려가 부족하다. 본 논문에서 제안하는 방법은 아키텍쳐 평가의 주요 입력물인 요구사항을 기능적 요구사항과 비기능적 요구사항으로 분리하여 다루고, 소프트웨어 아키텍쳐는 UML을 이용한 "4+1"뷰 아키텍쳐 모델을 바탕으로 명확하게 정의한다. 이를 통하여 아키텍쳐 평가의 목표 및 평가 범위, 평가 대상을 분명하게 결정한다. 그리고 아키텍쳐 평가의 중요 정보들인 부분 설계, 설계 결정, 근거 데이타, 품질 등의 정보를 단계적으로 결정하기 위한 체계적이고 객관적인 프로세스를 제시한다. 또한 평가 결과에 있어서는 아키텍쳐 평가 과정에서 결정된 정보들을 구조화된 형태로 나타냄으로써 품질 예측 및 아키텍쳐의 향상과 선택이 가능하도록 돕는다.


    Software architecture representing a common high-level abstraction of a system can be used as a basis for creating mutual understanding among all stakeholders of the system. In determining a software architecture's fitness with respect to its desired qualities as well as in improving a software architecture, software architecture evaluation is importantly performed. However moat of architecture evaluation methods are not still sufficient in that they do not explicitly consider artifacts discussed during architecture evaluation and their processes are net systematic. As a result, we are hard to follow them. To address these problems, this paper presents the method to evaluate systematically a software architecture with respect to its desired qualities. In this approach, the functional and non-functional requirements are separately handled, and software architecture is represented in the 4+1 view model using UML. Through this initial consideration, the important artifacts such as goals, scope, and target of evaluation are clearly determined. Also, the method provides the well defined process to produce the important evaluation artifacts such as sub-designs, design decisions, rationale, qualities from inputs. In addition, it enables us to determine satisfaction of a architecture with respect its desired qualities or improve a architecture through the structured evaluation results.


  • 주제어

    소프트웨어 아키텍쳐 평가 .   4+1 뷰 모델 .   아키텍쳐 기반 소프트웨어 개발.  

  • 참고문헌 (28)

    1. Wiegers, K.E.. Software Requirements, Microsoft Press, 2000 
    2. Jones, L.G. and Kazman, R., 'Software Architecture Evaluation in the DoD Systems Acquisition Context,' http://interactive.sei.cmu.edu, SEI Interactive. December 1999 
    3. Bosch, J., Design and Use of Software Architectures. Addison Wesley. 2000 
    4. Clements. P., 'A Survey of Architecture Description Languages,' Proceedings of the 8th International Workshop on Software Specification and Design, pp.1-26. March 1996 
    5. IEEE Standard Glossary of Software Engineering Terminology. IEEE Std. 610.12-1990 
    6. Iannino, A., 'Software Reliability Theory,' Encyclopedia of Software Engineering, John Wiley & Sons, pp.1237-1253. February 1994 
    7. Schmidt, D., Stal, M., Rohnert, H., and Buschmann, F., Pattern-Oriented Software Architecture-Patterns for Concurrent and Networked Objects, John Wiley & Sons. 2000 
    8. Buschmann, F .. et al.. Pattern-Oriented Software Architecture-A System of Patterns, John Wiley & Sons, 2000 
    9. Abowd, G. et al., 'Recommended Best Industrial Practice for Software Architecture Evaluation,' CMU/SEI-96-TR-025, Carnegie Mellon University, January 1997 
    10. Bosch, J. and Molin, P., 'Software Architecture Design: Evaluation and Transformation,' Proceedings of IEEE Conference and Workshop on Engineering of Computer-Based Systems, pp.4-10, 1999 
    11. Barbacci, M.R., Klein, M.H., and Weinstock, C.B., 'Principles for Evaluating the Quality Attributes of a Software Architecture,' CMU/SEI-96-TH036, Carnegie Mellon University, May 1997 
    12. Clements, P., Bass, L., Kazman, R., and Abowd, G., 'Predicting Software Quality by Architecture-Level Evaluation,' The 5th International Conference on Software Quality, pp.485-498, 1995 
    13. Bredemeyer Consulting, http://www.bredemever.com/definiti.htm, 2001 
    14. CMU/SEI http://www.sei.cmu.edu/architecture/definitions.html, 2001 
    15. Perry, D.E. and Wolf, A.L., 'Foundations for The Study of Software Architecture,' ACM SIGSOFT Software Engineering Notes, Vol. 17, No.4, pp.40-52, October 1992 
    16. Garlan, D. and Shaw, M.. 'An Introduction to Software Architecture,' Advances in Software Engineering and Knowledge Engineering, Series on Software Engineering and Knowledge Engineering. Vol. 2, pp.1-39, World Scientific Publishing Co., 1993 
    17. Eriksson. H. and Penker, M.. UML Toolkit. Addison-Wesley, 1998 
    18. Rumbaugh, J., Jacobson, I, and Booch, G .. The Unified Modeling Language Reference Manual, Addison-Wesley, 1999 
    19. Hofmeister, C., Nord, R., and Soni, D., Applied Software Architecture, Addison-Wesley, 2000 
    20. Kotonva, G. and Sommerville, I., 'Requirements Engineering with Viewpoints,' Software Engineering Journal, pp.5-18, January 1996 
    21. Clements, P. and Northrop, L., 'Software Architecture: An Executive Overview,' CMU/SE1-96TR-003, Carnegie Mellon University, February 1996 
    22. Bass, L., Clements, P., and Kazrnan, R., Software Architecture in Practice, Addison-Wesley, 1998 
    23. Kruchten, P., 'The 4+1 View Model of Software Architecture,' IEEE Software, Vol. 12, No. 6 pp.42-50, November 1995 
    24. Kazman, R. et al., 'The Architecture Tradeoff Analysis Method,' The 4th IEEE International Conference on Engineering of Complex Computer Systems, pp.68-78, 1998 
    25. Kazman, R, Abowd, G. Bass, L., and Clements, P., 'Scenario-Based Analysis of Software Architecture,' IEEE Software, pp.47-55, November 1996 
    26. Kazman, R., Klein, M., and Clements, P., 'Evaluating Software Architectures for Real-Time Systems,' Annals of Software Engineering, pp.1-27, 1999 
    27. Allen, R., 'A Formal Approach to Software Architecture,' CNU-CS-97-144, Carnegie Mellon University, May 1997 
    28. Medvidovic, X, 'A Classification and Comparison Framework for Software Architecture Description Languages,' UCI-ICS-97-02, University of California, Irvine, February 1996 
  • 이 논문을 인용한 문헌 (1)

    1. Choi Heeseok ; Yeom Keunhyuk 2005. "An Approach to Support Software Architecture Transformation in Architecture-Based Software Development" 정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용, 32(1): 10~21     

 저자의 다른 논문

  • 염근혁 (37)

    1. 1997 "자치적 분산처리 시스템을 위한 객체지향 소프트웨어 개발 프레임워크에 대한 연구" 정보기술과 데이타베이스저널 = The journal of information technology and database 4 (1): 105~116    
    2. 2001 "병렬 공간 조인 시 정적 부하 균등화를 위한 작업 생성 및 할당 방법" 정보과학회논문지. Journal of KIISE. 데이타베이스 28 (3): 418~429    
    3. 2001 "컴포턴트 기반 소프트웨어 개발을 위한 도메인 분석 및 설계 방법" 정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용 28 (10): 743~756    
    4. 2001 "분산 컴포넌트 기반의 소프트웨어 분석 및 설계 방법" 정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용 28 (12): 896~909    
    5. 2002 "J2EE 어플리케이션 모델 기반의 컴포넌트 저장소 구현" 멀티미디어학회논문지 = Journal of Korea Multimedia Society 5 (1): 77~93    
    6. 2003 "컴포넌트 기반 개발(CBD)을 위한 도메인 공학" 정보처리학회지 = Korea information processing society review 10 (3): 40~47    
    7. 2003 "컴포넌트 기반 소프트웨어 개발의 효율적인 재사용성을 지원하기 위한 도메인 설계 방법" 정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용 30 (5): 398~413    
    8. 2003 "컴포넌트 기반 소프트웨어 개발을 지원하는 소프트웨어 아키텍처 뷰 모델" 정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용 30 (5): 515~528    
    9. 2004 "소프트웨어 프로덕트 라인에서 핵심 자산으로서 요구사항을 관리하는 방법" 정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용 31 (8): 1010~1026    
    10. 2004 "상호운용성 평가 정보 관리를 위한 J2EE 기반의 LISI 저장소 개발 프레임워크" 정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용 31 (11): 1439~1454    

 활용도 분석

  • 상세보기

    amChart 영역
  • 원문보기

    amChart 영역

원문보기

무료다운로드
  • NDSL :
유료다운로드

유료 다운로드의 경우 해당 사이트의 정책에 따라 신규 회원가입, 로그인, 유료 구매 등이 필요할 수 있습니다. 해당 사이트에서 발생하는 귀하의 모든 정보활동은 NDSL의 서비스 정책과 무관합니다.

원문복사신청을 하시면, 일부 해외 인쇄학술지의 경우 외국학술지지원센터(FRIC)에서
무료 원문복사 서비스를 제공합니다.

NDSL에서는 해당 원문을 복사서비스하고 있습니다. 위의 원문복사신청 또는 장바구니 담기를 통하여 원문복사서비스 이용이 가능합니다.

이 논문과 함께 출판된 논문 + 더보기