Tool for Supporting Design Pattern-Oriented Software Development

디자인 패턴지향 소프트웨어 개발 지원 도구

  • 김운용 (광운대학교 컴퓨터과학과) ;
  • 최영근 (광운대학교 컴퓨터과학과)
  • Published : 2002.08.01

Abstract

Design patterns are used to utilize well-defined design information. As using these design patterns, we can get re-use in object-oriented paradigm, decrease the time of development and improvement the quality of software. Although these design patterns are widely used among practice, most of design patterns information is manually used, inconsistent and its utilization could be very low. Because the design patterns information that a designer applies does not appear in software, it is sometimes difficult to track them. In this paper, we propose a tool support for design pattern-oriented software development. This tool supports design pattern management, software design and automatic source code generation. The design pattern management has the function for storing, managing and analyzing the existing design pattern and registering new design pattern. The software design has the function for software design with UML and automatically generate design pattern elements. By using this design information, this system can automatically generate source code. In the result to include the tracking design pattern element that is not Included In the existing CASE tools into design information, we can build the stable and efficient system that provides to analyse software, manage design pattern and automatically generate source code.

디자인 패턴은 과거에 잘 정의된 설계정보를 활용하기 위한 목적으로 사용되어진다. 이러한 디자인 패턴의 활용은 객체지향 패러다임에서 재사용성과 개발시간의 단축 그리고 소프트웨어 품질의 향상을 가져온다. 그러나 이러한 디자인 패턴의 광범위한 활용에도 불구하고 대부분의 디자인 패턴 정보는 수작업에 의해 활용됨으로써 일관성이 없고 활용능력이 떨어진다. 또한 설계자에 의해 적용된 디자인 패턴정보는 소프트웨어에서 나타나지 않기 때문에 디자인 패턴에 대한 추적성에 대한 문제를 가진다. 이에 본 논문에서는 디자인 패턴지향 소프트웨어 개발 지원 도구를 제시한다. 이 시스템은 디자인 패턴의 관리와 소프트웨어 설계 및 자동화 소스코드 생성기능을 지원한다. 디자인 패턴 관리 기능은 존재하는 디자인 패턴을 저장관리 및 분석과 새로운 디자인 패턴 등록할 수 있는 기능을 담고 있으며, 소프트웨어 설계 기능은 UML 형태의 소프트웨어 설계기능과 디자인 패턴요소의 자동생성기능을 지원한다. 또한 이러한 설계정보를 이용한 소스코드 자동생성기능을 지원하는 소스코드 관리 기능을 가진다. 그 결과 기존의 CASE 도구에서 제시하지 못한 디자인 패턴요소의 추적성을 설계정보에 포함시킴으로서 소프트웨어 분석의 용이성을 제공하고 디자인 패턴 관리와 자동 소스코드 생성기능의 제공을 통해 보다 안정되고 효율적인 시스템을 구축할 수 있다.

Keywords

References

  1. A. Cornils and G. Hedin. Statically checked documentation with design patterns. Technology of Object-Oriented Languages, 2000. TOOLS 33. Proceedings. 33rd International Conference on, 2000 https://doi.org/10.1109/TOOLS.2000.848780
  2. A. Eden, A. Yehudai and J. Gil. Precise specification and automatic application of design patterns. Automated Software Engineering, 1997. Proceedings., 12th IEEE International Conference, 1997 https://doi.org/10.1109/ASE.1997.632834
  3. B. Schulz, T. Genssler, B. Mohr and W. Zimmer. On the computer aided introduction of design patterns into object-oriented systems. Technology of Object-Oriented Languages, 1988. TOOLS 27. Proceedings, 1998 https://doi.org/10.1109/TOOLS.1998.713608
  4. C. Marcos, M. Compos, and A. Pirotte, Reifying Design Patterns as Metalevel Constructs, Electronic Journal of Sadio, 2(1) Page(s) 17-19, 1999
  5. E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns : Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Company, Reading, Massachusetts, 1995
  6. F. Budinsky, M. Finnie, J. Vlissides, and P. Yu, Automatic Code Generating from Design Patterns. IBM Systems Journal, 35(2), 1996 https://doi.org/10.1147/sj.352.0151
  7. F. Buschmann and R. Menuier, 'A System of Paterns,' Pattern Languages of Program Design, Coplien and Schmidt, eds., Addison-Wesley, 1995
  8. F. Buschman, R. Meunier, H. Rohnert, P. Sommerlad, and Stal Michael, Pattern-Objected Software Architecture - A System of Patterns. John Wiley & Sons, 1996
  9. J. Cooper. Java Design Patterns, Addison-Wesley, 2000
  10. R. Wirfs-Brock, B. Wilkerson, and L. Widner, Designing Object-Oriented Software, englewool Cliffs, NJ.:Prentice-Hall, 1990
  11. S. Ambler, The Unified Process - Elaboration Phase, Lawrence, KA.: R&D Books, 2000
  12. S. Stephen, S. Yau and Ning Dong, Integration in component-based software development using design patterns, Computer Software and Applications Conference, 2000. COMPSAC 2000. The 24th Annual International, 2000 https://doi.org/10.1109/CMPSAC.2000.884750
  13. S. Yacoub, Xue, H. and Ammar, H.H. Automating the development of pattern-oriented designs for application specific software systems, Page(s): 163-170, Application-Specific Systems and Software Engineering Technology, 2000. Proceedings. 3rd IEEE Symposium on, 2000 https://doi.org/10.1109/ASSET.2000.888071
  14. M. Claudia, C. Marcelo, P. Alain. Reifying Design Patterns as Metalevel Constructs. Electronic Journal of SADIO vol. 2, no. 1, pp. 17-29, 1999
  15. M. Sefika, A. Sane, and R. Campbell. Monitoring Compliance of a Software System with its high-Level Design Models. Proceedings of the 18th International Conference of Software Engineering, ICSE'96, Berlin, Germany, March, 1996 Sefika, M.;Sane, A.;Campbell, R.
  16. M. Sherif, Yacoub and Heany H. Ammar Pattern-oriented analysis and design(POAD): a structural composition approach to glue design patterns, Technology of Object-Oriented Languages and Systems, 2000. TOOLS 34. Proceedings. 34th International Conference on, 2000 https://doi.org/10.1109/TOOLS.2000.868978
  17. W. Tichy, Essential Software Design Patterns, University of Karsruhe. http://www.ipd.ira.uka.de/~tichy/patterns/overview.html, 1997
  18. W. Vanderperren, B. Wydaeghe, Towards a new component composition process, Engineering of Computer Based Systems, 2001. ECBS 2001. Proceedings. Eighth Annual IEEE International Conference and Workshop on the, 2001 https://doi.org/10.1109/ECBS.2001.922439
  19. 김운용, 김영철, 주복규, 최영근, 코드 자동 생성을 위한 XML기반의 효율적인 디자인 패턴구조. 한국정보처리학회 논문지, 제8-D권 6호, 2001