A Systematic Construction of Object-Oriented Methods

객체지향 개발방법의 체계적 구성

  • 김형호 (한국과학기술원 전산학과) ;
  • 김영곤 (한국과학기술원 전산학과) ;
  • 배두환 (한국과학기술원 전산학과) ;
  • 김민경 (한국통신 연구개발본부) ;
  • 유병규 (한국통신 연구개발본부)
  • Published : 2000.05.15

Abstract

Object-oriented methodologies are widely used in the development of huge and complex systems since these methodologies produce the comprehensible and extensible model of systems. In order to apply an object-oriented methodology to a software development, developers should derive a method customized to a specific project from the methodology and, then, construct a development process from the method. Unfortunately, existing object-oriented methodologies lack a systematic facility for the construction of a method and a process. In this paper, we present a customizable object-oriented methodology to support the systematic derivation of a project specific method from the generic methodology. To derive a project specific method from the methodology, we transform the problem of a derivation to a planning problem and apply planning techniques. Our planning technique uses the description of an architecture that captures the structure and characteristics of a software under development as input and constructs an appropriate method with respect to the architecture. The architecture-centered construction facilitates the effective handling for the characteristics of the software since an architecture capture the decisions that must be maintained consistently during the development.

객체지향 방법론들은 이해하기 쉽고 확장성이 우수한 모델을 제공하기 때문에 현재 크고 복잡한 소프트웨어를 개발하기 위해서 널리 사용되고 있다. 객체지향 방법론들을 개발에 적용하기 위해서는, 첫째 개발방법론으로부터 과제 특성에 맞는 개발방법을 구성해야 하며, 둘째 이로부터 개발절차를 구성하여야 한다. 그러나 현재 제시되고 있는 객체지향 방법론들에서는 개발방법과 개발절차를 구성하는 과정을 개발자들의 이해와 직관에 의존하고 있다. 이를 개선하기 위해서 본 연구에서는 변용가능한 객체지향 방법론을 제안함으로써, 개발방법 구성의 문제를 체계적으로 지원하고자 한다. 개발방법의 구성을 체계적으로 지원하기 위하여 본 연구에서는 개발방법 구성의 문제를 계획구성의 문제로 변환하여 계획구성 기법을 적용한다. 계획구성의 과정에서 개발하고자하는 소프트웨어의 구조와 특성을 기술하는 아키텍쳐를 입력으로 받아들여 이에 적합한 개발방법이 계획된다. 아키텍쳐는 소프트웨어 개발과정에서 일관되게 유지되어야 하는 결정들을 기술하기 때문에 이를 중심으로 개발방법을 구성함으로써 소프트웨어의 특성을 효율적으로 반영할 수 있다.

Keywords

References

  1. G. Booch, Object-Oriented Analysis and Design with Applications, Benjamin/Cummings Publishing Company, Inc., 1994
  2. H. Eriksson and M. Penker, UML Toolkit, Addison-Wesley, 1998
  3. J. Rumbaugh, M. Blaha, W. Premerlani, R. Eddy, and W. Lorensen, Object-Oriented Modeling and Design, Prentice Hall, 1991
  4. I. Jacobson, M. Christerson, P. Jonsson, and G. Overgaard, Object-Oriented Software Engineering: A Use Case Driven Approach, Addison-Wesley, 1992
  5. P. H. Winston, 'Chapter 15. Planning,' Artificial Intelligence, Addison-Wesley, 1992
  6. J. Siegel, CORBA Fundamentals and Programming, John Wiley & Sons, Inc., 1996
  7. T. J. Mowbray and R. C. Malveau, CORBA Design Patterns, John Wiley & Sons, Inc., 1997
  8. P. Kruchten, 'The 4+1 View Model of Architecture,' in IEEE Softeware, Nov., 1995 https://doi.org/10.1109/52.469759
  9. W. J. Brown, R. C. Malveau, and H. W. McCormick III, and T. J. .Mowbray, AntiPatterns: Refactoring Software, Architectures and Projects in Crisis, John Wiley & Sons, Inc., 1998
  10. M. Folwer, Analysis Patterns: Reusable Object Models, Addison Wesley, 1997
  11. E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995
  12. B. Curtis, M. I. Keller, and J. Over, 'Process Modeling,' In Comm. of the ACM, Sept., 1992
  13. S. Y. Min, H. D. Lee, and D. H. Bae, 'SoftPM: A Software Project Management System Reconciling Formalism with Easiness,' Information and Software Technology, to be published in 1999
  14. K. E. Huff and V. R. Lessor. 'A plan-based intelligent assistant that supports the software development process,' In Proc. of the Third Software Engineering Symposium on Practical Software Development Environments, 1989
  15. C. K. Riesbeck and R. C. Schank, Inside Case-Based Reasoning, Lawrence Erlbaum Associates, Inc., 1989
  16. Rational Corp, UML Notation Guide, UML Notation Semantics and UML Sumnary, http://www.rational.com, 1998
  17. R. Fikes and N. Nilsson, 'STRIPS: A new approach to the application of theorem proving to problem solving,' In Artificial Intelligence, vol. 2, 1971
  18. E. P. D. Pednault, 'ADL: Exploring the middle ground between strips and the situation calculus,' In Proceedings Knowledge Representation Conference, 1989
  19. D. McDermott, 'Regression planning,' In International Journal of Intelligent Systems, vol. 6, 1991 https://doi.org/10.1002/int.4550060404
  20. A. Barrett, K. Golden, S. Penberthy, and D. Weld. UCPOP User's Manual/version 2.0), Technical Report 93-09-06, 1994
  21. J. S. Penberthy and D. S. Weld, 'UCPOP: A Sound, Complete, Partial Order Planner for ADL,' In proceedings of 3rd International Conference on Knowledge Representation and Reasoning, Oct., 1992
  22. J. G. Carbonell, C. A. Knoblock, and S. Minton, 'Prodigy: An integrated architecture for planning and learning,' In Architectures for Intelligence, Erlbaum, 1990