A Software Architecture Cost Estimation Method to Support Architecture Evaluation with Consideration of Cost

비용을 고려하고 아키텍처 평가를 지원하는 소프트웨어 아키텍처 비용 추정 기법

  • 조시호 (서강대학교 컴퓨터공학과) ;
  • 이준하 (서강대학교 컴퓨터공학과) ;
  • 박수용 (서강대학교 컴퓨터공학과)
  • Published : 2010.02.15

Abstract

Improving the competitiveness of software products in the market involves procuring the means to design software architecture that deliver qualities necessitated by stakeholder requirements within allocated budget, thereby improving the cost-effectiveness of the end product. Currently, software architecture evaluation methods are used to predict and review qualities inherent in software architecture designs and to choose a candidate architecture that delivers desired qualities. Existing software architecture evaluation methods, however, fail to address the cost considerations dependent on the architecture chosen for product implementation. In this paper we suggest a cost estimation method for software architecture which adapts the cost drivers in the software cost estimation model COCOMO II to support cost estimation during architecture evaluation. The suggested method can be performed in coordination with existing software architecture evaluation efforts and supplements existing architecture evaluation techniques with guidelines for identifying and evaluating cost drivers in candidate software architectures without incurring extra overhead. The accuracy of the cost estimation using the suggested method is verified through application of the method to the architecture candidates used in RPS (Robot Patrol System), a surveillance embedded system.

소프트웨어 제품의 시장 경쟁력을 향상시키기 위해서는 이해관계자의 요구사항에 부합하는 품질을 제공하는 동시에 개발 예산 내에 개발 가능한 아키텍처를 획득할 수 있는 방안이 요구된다. 하지만 아키텍처의 품질 검토 및 선정을 위해 사용되는 기존 아키텍처 평가 기법은 아키텍처 설계를 통해 획득 가능한 품질속성에만 초점을 맞추고 있어 아키텍처가 개발 비용에 미치는 영향을 체계적으로 고려하지 않는다. 본 논문에서는 소프트웨어 비용 추정 모델인 COCOMO II를 적용한 아키텍처 비용 추정 기법을 제안하여 기존 아키텍처 평가와 병행 가능한 비용 분석을 통해 기존 아키텍처 평가 기법을 보완하며 품질과 비용이 함께 고려된 아키텍처 선정을 지원한다. 제안 기법의 정확성 검증을 위해 본 논문의 기법을 RPS (Robot Patrol System)의 아키텍처 후보 목록에 적용한 뒤 비용 추정 결과를 각 아키텍처 후보의 실측 공수와 비교하였다.

Keywords

References

  1. A. Davis, Software Requirements: Objects, Functions and States, Prentice Hall, 1993.
  2. B. Boehm, Software Engineering Economics, Prentice Hall, 1981.
  3. L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice 2nd Edition, Addison Wesley, 2003.
  4. P. Clements, R. Kazman, and M. Klein, Evaluating Software Architectures: Methods and Case Studies, Addison Wesley, 2002.
  5. C. Hofmeister, R. Nord, and D. Soni, Applied Software Architecture, Addison Wesley, 2000.
  6. L. Chung, B. Nixon, E. Yu, and J. Mylopoulos, Non-Functional Requirements in Software Engineering, Kluwer Academic Publishers, 2000.
  7. M. Barbaci, M. Klein, T. Longstaff, and C. Weinstock, Quality Attributes, Technical Report CMU/SEI-95/TR-21, 1995.
  8. R. Kazman, M. Klein, M. Barbaci, T. Longstaff, H. Lipson, and J. Carriere, The Architecture Tradeoff Analysis Method, Proceedings of the 4th ICECCS, pp.68-78, 1998.
  9. L. Bass, R. Nord, W. Wood, and D. Zubrow, Risk Themes Discovered Through Architecture Evaluations, Technical Report CMU/SEI-2006-TR-012, 2006.
  10. M. Ali Babar and I. Gorton, Comparison of Scenario-Based Software Architecture Evaluation Methods, Proceedings of the 11th Asia-Pacific Software Engineering Conference, pp.600-607, 2004.
  11. M. Svahnberg, C. Wohlin, L. Lundberg, and M. Mattsson, A Quality-Driven Decision-Support Method for Identifying Software Architecture Candidates, International Journal of Software Engineering and Knowledge Engineering, Vol.13, Issue 5, pp.547-573, 2003. https://doi.org/10.1142/S0218194003001421
  12. M. Ionita, D. Hammer, and H. Obbink, Scenario-Based Software Architecture Evaluation Methods: An Overview, Workshop on Methods and Techniques for Software Architecture Review and Assessment at the International Conference on Software Engineering, 2002.
  13. B. Boehm et al., Software Cost Estimation with COCOMO II, Prentice Hall, 2000.
  14. R. Kazman, Len Bass, G. Abowd, and M. Webb, SAAM: A Method for Analyzing the Properties Software Architectures, Proceedings of the 16th International Conference on Software Engineering, pp.81-90, 1994.
  15. R. Kazman, J. Asundi and M. Klein, Quantifying the Costs and Benefits of Architectural Decisions, Proceedings of the 23rd ICSE 2001, pp.297-306.
  16. J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen, Object-oriented Modeling and Design, Prentice Hall, 1991.
  17. G. Costagliola and G. Tortora, Class Point: An Approach for the Size Evaluation of Object-Oriented Systems, IEEE Transactions on Software Engineering, Vol.31, Issue 1, pp.52-74, 2005. https://doi.org/10.1109/TSE.2005.5
  18. IFPUG, Function Point Counting Practice Manual Release 4.1.1, International Function Point User Group, 2000.