Inclusion Polymorphism과 UML 클래스 다이어그램 구조에 의거한 디자인패턴 해석

Similar documents
UML

소프트웨어 개발의 성공 열쇠 - 오브젝트 디자인

제목

제목

<C0DAB7E120C7D5BABB2E687770>

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

OOP 소개

1. 서 론

제목

1

소프트웨어개발방법론

Convenience Timetable Design

MVVM 패턴의 이해

03-최신데이터

177

<4D F736F F F696E74202D20554D4CB0FA205550B1E2B9DD20B0B4C3BCC1F6C7E2C0FB20B0B3B9DF20C8AFB0E6C7CFBFA1BCADC0C720B5F0C0DAC0CE20C6D0C5CFC0C720C8B0BFEB2E707074>

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

23

슬라이드 1

Microsoft PowerPoint - 06_ClassDiagram(2010).ppt [호환 모드]

Main Title

300 구보학보 12집. 1),,.,,, TV,,.,,,,,,..,...,....,... (recall). 2) 1) 양웅, 김충현, 김태원, 광고표현 수사법에 따른 이해와 선호 효과: 브랜드 인지도와 의미고정의 영향을 중심으로, 광고학연구 18권 2호, 2007 여름

2014밝고고운동요부르기-수정3

2005프로그램표지

제목

ADU

여행기

Microsoft PowerPoint - 1주차 UML의 구성과 도구

<BACFC7D1B3F3BEF7B5BFC7E22D3133B1C733C8A BFEB2E687770>


<31325FB1E8B0E6BCBA2E687770>

*BA_01

DBPIA-NURIMEDIA

17장 클래스와 메소드

45-51 ¹Ú¼ø¸¸

09오충원(613~623)


소프트웨어개발방법론

슬라이드 1

UML의 구성과 도구

13.11 ①초점

제2장객체지향분석과설계

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

Oracle Apps Day_SEM

(5차 편집).hwp

2Q SWG Teleweb Business Plan & 1Q Recovery Plan April 2, 2003

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

<C5F0B0E82D313132C8A328C0DBBEF7BFEB292E687770>

<303720C7CFC1A4BCF86F6B2E687770>

2 KHU 글로벌 기업법무 리뷰 제2권 제1호 또 내용적으로 중대한 위기를 맞이하게 되었고, 개인은 흡사 어항 속의 금붕어 와 같은 신세로 전락할 운명에 처해있다. 현대정보화 사회에서 개인의 사적 영역이 얼마나 침해되고 있는지 는 양 비디오 사건 과 같은 연예인들의 사

객체지향설계와패턴 Lecture #0: 강의소개 Eun Man Choi

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

<3135C8A3B3EDB9AE DBCF6C1A42E687770>

33 예술과 윤리의식 김문환 소학사 34 철학과 신의 존재 김현태 철학과현실사 35 한국고대불교사 연구 김복순 민족사 36 한국종교와 종교학 장병길 도서출판청년사 37 여성신학사전 레티 M.러셀 외 저/황애경 역 38 이슬람 사전 김정위 학문사 이화여자대학교 출판부 3

C# Programming Guide - Types

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim();

Journal of Educational Innovation Research 2018, Vol. 28, No. 1, pp DOI: * A Analysis of

<5B D B3E220C1A634B1C720C1A632C8A320B3EDB9AEC1F628C3D6C1BE292E687770>

03.Agile.key

No Slide Title

歯 Final.PDF

Microsoft Word - NEW08_prof. Ma

PowerPoint Presentation

07ÃÖ°æÈñ

최종ok-1-4.hwp

ePapyrus PDF Document

슬라이드 제목 없음

2: [9] 3 3: [9] 4 3 1, 3 (Seifert Surfaces) 3

230 한국교육학연구 제20권 제3호 I. 서 론 청소년의 언어가 거칠어지고 있다. 개ㅅㄲ, ㅆㅂ놈(년), 미친ㅆㄲ, 닥쳐, 엠창, 뒤져 등과 같은 말은 주위에서 쉽게 들을 수 있다. 말과 글이 점차 된소리나 거센소리로 바뀌고, 외 국어 남용과 사이버 문화의 익명성 등

시스코-Unified Wireless

01( ) SAV12-04.hwp

쉽게 풀어쓴 C 프로그래밍

Introduction to UML 소프트웨어모델링 유준범교수님 황정아 김성민 이한빈

<B1DDC0B6C1A4BAB8C8ADC1D6BFE4B5BFC7E228C1A63836C8A3292E687770>

KYO_SCCD.PDF

36 제2기 한일역사공동연구보고서 제4권 일본에 외교권을 위임하는 제2차 한일협약(을사조약, )이 체결되었다. 본고에서는 청으로부터 독립한 조선이 대한제국을 형성한 후 어떠한 국내적인 사정 하에서 제2차 한일협약의 체결에 이르렀는지를 지금까지 주목하지

OOP 소개

gnu-lee-oop-kor-lec06-3-chap7

<4D F736F F F696E74202D2031C1D6C2F72D31C2F7BDC32028B0ADC0C7C0DAB7E D20C7C1B7CEB1D7B7A1B9D6BEF0BEEE20B0FAB8F1BCD2B

01-OOPConcepts(2).PDF

C++ Programming

Microsoft PowerPoint - Lect04.pptx

Microsoft Word - 1-차우창.doc

untitled

PowerPoint 프레젠테이션

: 4 2. : (KSVD) 4 3. :

< FC1A4BAB8B9FDC7D D325FC3D6C1BEBABB2E687770>

menu_10p_all_161020_cs6

<C7D1B1B9B1B3C0B0B0B3B9DFBFF85FC7D1B1B9B1B3C0B05F3430B1C733C8A35FC5EBC7D5BABB28C3D6C1BE292DC7A5C1F6C6F7C7D42E687770>

., (, 2000;, 1993;,,, 1994), () 65, 4 51, (,, ). 33, 4 30, 23 3 (, ) () () 25, (),,,, (,,, 2015b). 1 5,

<30315FC0CCB5BFC1D65FC7D1B1B9BCBAB8C5B8C52E687770>

PowerPoint 프레젠테이션

제목

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte

Journal of Educational Innovation Research 2018, Vol. 28, No. 1, pp DOI: A study on Characte

5-김재철

untitled

JVM 메모리구조

Service-Oriented Architecture Copyright Tmax Soft 2005


Transcription:

Inclusion Polymorphism 과 UML 클래스다이어그램구조에의거한디자인패턴해석 이랑혁, 이현우, 고석하 rang2guru@gmail.com, westminstor@naver.com, shkoh@cbnu.ac.kr 충북대학교경영정보학과 충북청주시흥덕구개신동 12 번지충북대학교학연산공동기술연구원 843 호 Tel:043-272-4034 55

Keyword : Design patterns, Inclusion Polymorphism, UML Class diagram, Classification - Abstract 디자인패턴은새롭게만들어지는것이아니라기존의검증된지식, 관용법, 원칙들을체계화한것이다. 다시말하면디자인패턴은특정한문제를해결하기위한, 검증된설계방법에이름을붙인것이다. 그러므로적절한디자인패턴사용은 1) 개발자들간의원활한의사소통에도움을주며, 2) 하급자가고급기술을쉽게익힐수있도록할수있다. 3) 또한사용된디자인이나아키텍처를재사용할수있도록하고, 4) 만들어진시스템의유지보수를보다쉽게할수있는등의장점을얻을수있다. 반면에필요하지않은곳에까지디자인패턴을사용하게되면소프트웨어를복잡하고, 유지보수도어렵게만들수있다. 디자인패턴의분류는수많은패턴을비슷한속성을지닌그룹들로조직화하는것이다. 이는개발자가특정문제에맞는디자인패턴을쉽게선택할수있도록도와줄뿐만아니라, 디자인패턴의주요특성을빠르게이해하고간파할수있게한다. 그래서 Beck이디자인패턴을소개한이후 GoF, Buschmann, Grand, Antoy 등은디자인패턴을단순히열거를통해소개하지않고, 각자의기준에따라체계적으로분류하여패턴을설명하고있다. 본연구는객체지향설계의근본개념인 Polymorphism (Inclusion Polymorphism) 과 객체지향소프트웨어설계원칙 그리고이근본원칙들이 UML 클래스다이어그램에나타나는구조적특징에의거해디자인패턴해석을수행하였다. 본연구의목적은 1) 객체지향의근본원칙으로표현되는패턴과 2) 설계자의전문적인 Art를포함하고있는패턴으로분류하는데있다. 56

목차 1. 연구목적 2. 연구범위 3. 관련연구 1. 다형성 (Polymorphism) 의분류 2. 객체지향소프트웨어설계원칙 3. UML Classdiagram 4. 디자인패턴분류 4. 객체지향근본원칙을이용한디자인패턴해석 5. 결론 57

연구목적 본연구는소프트웨어설계시적용되는 객체지향의근본개념 이 UML클래스다이어그램 으로표현된 일반적형태 에의거해기존의디자인패턴을해석한다. 이를통해디자인패턴을 1) 단순히객체지향근본개념을설명하는패턴 2) 전문가적 Art가존재하는패턴 으로그룹화한다. 58

연구범위 객체지향설계의기본원칙 Inclusion Polymorphism (Cardelli1985) 객체지향소프트웨어설계원칙 (Martin2004) UML Class-Diagram 적용 (OMG2005) 해석대상 GoF 디자인패턴 (GoF1995) GRASP 디자인패턴 (Larman1998) 59

관련연구 다형성 (Polymorphism) 의분류 Universal Polymorphism [Cardelli et 1985] Inclusion Polymorphism Parametric Polymorphism Bounded Polymorphism F-Bounded Polymorphism [Canning 1989] Ad-hoc Polymorphism [Cardelli et 1985] Overloading Coercion 60

관련연구 객체지향소프트웨어설계원칙 객체지향소프트웨어설계원칙 (Martin 2004) SRP (Single Responsibility Principle) OCP (The Open-Closed Principle) LSP (Liskov Substitution Principle) DIP (Dependency Inversion Principle) ISP (Interface Segregation Principle) RDP (Repetitiveness Dependency Principle) 61

관련연구 UML Class Diagram 시스템의객체의타입과그들간의존재하는다양한정적관계에대해서기술한다.(Fowler2003) 속성 (attribute) 오퍼레이션 (operation) 연관 (association) 일반화 (Generalization) 의존 (dependency) 62

관련연구 디자인패턴분류 GoF : Design patterns are classified by their scope and purpose Buschmann : Design patterns are classified by their purpose(problem categories) and granularity(pattern categries). Zimmer : GoF patterns are Classified by their relationship. Zimmer defines three categories of relationships: Pattern X uses pattern Y in its solution Pattern X is similar to pattern Y. Pattern X can be combined with pattern Y 63

객체지향기본개념을이용한디자인패턴해석 객체지향설계의기본개념 Inclusion Polymorphism UML Class diagram 객체지향설계원칙 객체지향의기본개념이적용된일반적설계모양 64

객체지향기본개념을이용한디자인패턴해석 객체지향설계의기본개념만으로표현가능한디자인패턴예시 Strategy 패턴은 Inclusion polymorphism 의전형적인형태이다. 65

객체지향기본개념을이용한디자인패턴해석 설계전문가의 Art 가적용되어있는패턴예시 Interpreter 패턴은객체지향설계원칙과 Art 가필요한패턴이다. 66

결론 객체지향의근본개념에포함되는다형성 (Inclusion Polymorphism) 과객체지향설계원칙그리고이근본개념에의해표현된 UML 클래스다이어그램에의거해디자인패턴을분류한결과 1) 근본개념이설계에단순이적용된형태와 2) 객체지향설계의근본원칙에전문가적 Art가적용된패턴으로그룹화할수있었다. 67

참고문헌 [Buschmann1996] Frank Buschmann, R. Meunier, H. Rohnert, P. Sommerland, M. Stal, Pattern- Oriented Software Architecture: A System of Patterns, Addison-Wesley, 1996. [Cardeli1985] Luca Cardelli, Peter Wegner, "On Understanding Types, Data Abstraction, and Polymorphism", Computing Survey, Vol17 n.4, pp471-522, December 1985. [Canning1989] Peter Canning, William Cook, Walter Hill, Walter Olthoff, "F-Bounded Polymorphism for Object-Oriented Programming",ACM, 1989. [Fowler2004]Martin Fowler, UML Distilled Third Edition : A Brief Guide To The Standard Object Modeling Language, Addison-Wesley, 2004. [GoF1995] Erich Camma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns : Elements of Reusable Object-Oriented Software.,Addison Wesley, 1995. [Larman1998] Craig Larman, Appying UML And Patterns, Prentice Hall PTR, 1998. [Liskov1987] Babara Liskov, "Data Abstraction and Hierachy", OOPLSA '87 Addendum to the Proceedings, 1987. [Liskov2000] Babara Liskov, John Gutag, "Program Development In Java : Abstraction, Specification, and Object-Oriented Design", Canada: Addison-Wesley, 2000. [Martin2004] Robert C. Martin, 이용원, 정지호, 김정민역, 소프트웨어개발의지혜 : 원칙, 디자인패턴, 실천방법, 야스미디어,2004. [Zimmer1996] Zimmer, W., Relationships Between Design Patterns, Pattern Languages of Programs 2, Vlissides et. Al., eds., Addison Wesley, 1996 [OMG2005] OMG, Unified Modeling Language : Superstructure, OMG,2005. 68