Pattern and EA

62
패턴과 EA의 만남 손영수 데브피아 아키텍쳐 시삽 삼성전자 솔루션 개발 그룹 2009 한국 한국 한국 한국SW아키텍트 아키텍트 아키텍트 아키텍트 대회 대회 대회 대회 2 KSAS COEX 장보고 장보고 장보고 장보고 홀 . 2009.7.9~10 nd

description

Korea 2nd Architect Summit Presentation

Transcript of Pattern and EA

패턴과 EA의 만남

손영수데브피아 아키텍쳐 시삽

삼성전자 솔루션 개발 그룹

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

오늘 나눌 이야기 거리들.

§패턴의 정의 (패턴이란?)

§패턴에 대한 오해와 진실

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

§패턴으로 가는 길

§패턴 빌드 오더

§패턴 + 생산성 두 마리 토끼 잡기

1. 1. 1. 1. 도대체도대체도대체도대체........

패턴은패턴은패턴은패턴은 무엇일까무엇일까무엇일까무엇일까? ? ? ?

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

Pattern Pattern Pattern Pattern

isisisis

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

isisisis

FatherFatherFatherFather

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

우리는우리는우리는우리는 아버지와아버지와아버지와아버지와 비슷한비슷한비슷한비슷한

생김새생김새생김새생김새, , , , 성격성격성격성격, , , , 습관습관습관습관 등을등을등을등을

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

생김새생김새생김새생김새, , , , 성격성격성격성격, , , , 습관습관습관습관 등을등을등을등을

가지고가지고가지고가지고 있다있다있다있다. . . .

이미이미이미이미 해결한해결한해결한해결한 문제와문제와문제와문제와

유사한유사한유사한유사한 문제들은문제들은문제들은문제들은........

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

유사한유사한유사한유사한 방법방법방법방법((((패턴패턴패턴패턴))))으로으로으로으로

해결해결해결해결 할할할할 수수수수 있다있다있다있다....

그럼그럼그럼그럼 패턴은패턴은패턴은패턴은 과연과연과연과연.. .. .. ..

왜왜왜왜 내가내가내가내가 적용하려면적용하려면적용하려면적용하려면

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

왜왜왜왜 내가내가내가내가 적용하려면적용하려면적용하려면적용하려면

안될까안될까안될까안될까????

2. 패턴에 대한 오해와 진실

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

GoFGoFGoFGoF 23232323개의개의개의개의 PatternPatternPatternPattern으로으로으로으로

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

GoFGoFGoFGoF 23232323개의개의개의개의 PatternPatternPatternPattern으로으로으로으로

우아한우아한우아한우아한 프로그램프로그램프로그램프로그램 만들기만들기만들기만들기????

지구상의지구상의지구상의지구상의 패턴들패턴들패턴들패턴들.. .. .. ..

+ 논문 형태로 발표된

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

논문 형태로 발표된패턴 몇 백개.

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

패턴은패턴은패턴은패턴은 섬이섬이섬이섬이 아니다아니다아니다아니다....

VariableVariableStrategyStrategy

CommonCommonPartPart

여러여러여러여러 개의개의개의개의 패턴이패턴이패턴이패턴이 뭉쳐서뭉쳐서뭉쳐서뭉쳐서사용된다사용된다사용된다사용된다....

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

ConfigurableConfigurablePartPart

VariableVariablePartPart

Component Component ConfiguratorConfigurator

FactoryFactory

<<LINKS>><<LINKS>>

<<CREATES>><<CREATES>>

(Modularity)(Modularity)

LogLog

SecuritySecurity

TransactionTransaction

여러여러여러여러 개의개의개의개의 패턴이패턴이패턴이패턴이 뭉쳐서뭉쳐서뭉쳐서뭉쳐서사용된다사용된다사용된다사용된다....

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

패턴은패턴은패턴은패턴은 소프트웨어소프트웨어소프트웨어소프트웨어 설계만설계만설계만설계만다룬다다룬다다룬다다룬다 ????

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

솔로들을솔로들을솔로들을솔로들을 위한위한위한위한 패턴패턴패턴패턴????

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

http://www.amazon.com/Dating-Design-Patterns-Solveig-Haugland/dp/0974312002/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1239125189&sr=8-1

소프트웨어와소프트웨어와소프트웨어와소프트웨어와 관련된관련된관련된관련된 모든모든모든모든 행위들을행위들을행위들을행위들을 다룬다다룬다다룬다다룬다....

§팀을팀을팀을팀을이루어이루어이루어이루어설계설계설계설계대련을대련을대련을대련을수행하는수행하는수행하는수행하는패턴패턴패턴패턴

- http://portal.acm.org/citation.cfm?id=273484

§팀팀팀팀생산성을생산성을생산성을생산성을향상향상향상향상시키는시키는시키는시키는패턴패턴패턴패턴

- http://arload.wordpress.com/2008/09/02/teamproductivity/ +

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

ductivity/

§지리적으로지리적으로지리적으로지리적으로떨어져떨어져떨어져떨어져있는있는있는있는팀팀팀팀협업하는협업하는협업하는협업하는패턴패턴패턴패턴

- http://hillside.net/plop/2006/Papers/Library/patternstoenablePLoP2006_submission_v4.pdf

- http://hillside.net/plop/2004/papers/vbricout0/PLoP2004_vbricout0_0.doc

§효율적인효율적인효율적인효율적인회의를회의를회의를회의를이끄는이끄는이끄는이끄는패턴패턴패턴패턴

+ 그 외에도 기타 등등….http://arload.wordpress.com/2008/04/02/plopfestival/

패턴은패턴은패턴은패턴은 만병통치약만병통치약만병통치약만병통치약????

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

§비약적인비약적인비약적인비약적인 성능성능성능성능 향상향상향상향상 ????

§생산성생산성생산성생산성 증대증대증대증대 ????

§최적화최적화최적화최적화 ????

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

§최적화최적화최적화최적화 ????

§심지어심지어심지어심지어 Silver Bullet ??Silver Bullet ??Silver Bullet ??Silver Bullet ??

패턴의패턴의패턴의패턴의 장점은장점은장점은장점은........

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

유연성 확장성

3. 3. 3. 3. 패턴으로패턴으로패턴으로패턴으로 가는가는가는가는 길길길길............

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

패턴에패턴에패턴에패턴에 대한대한대한대한 올바른올바른올바른올바른 마음가짐마음가짐마음가짐마음가짐

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

아키텍쳐의아키텍쳐의아키텍쳐의아키텍쳐의 이해이해이해이해 대상대상대상대상

Martin Fowler says …

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

Martin Fowler says …

The expert developers working on that project have

a shared understanding of the system design.

This shared understanding is called ‘architecturearchitecturearchitecturearchitecture’

http://www.martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf

역시역시역시역시 패턴도패턴도패턴도패턴도........

팀팀팀팀 내내내내 의사의사의사의사 소통의소통의소통의소통의 수단이수단이수단이수단이

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

되기되기되기되기 위해선위해선위해선위해선, , , ,

팀원들의팀원들의팀원들의팀원들의 이해가이해가이해가이해가 필요하다필요하다필요하다필요하다....

과유불급과유불급과유불급과유불급

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

패턴의패턴의패턴의패턴의 남용남용남용남용....

리소스리소스리소스리소스 제약이제약이제약이제약이 심한심한심한심한 시스템에시스템에시스템에시스템에

유연성유연성유연성유연성 추가하기추가하기추가하기추가하기????????

---- Pipe & Filter Pipe & Filter Pipe & Filter Pipe & Filter

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

---- Pipe & Filter Pipe & Filter Pipe & Filter Pipe & Filter

---- Component Component Component Component ConfiguratorConfiguratorConfiguratorConfigurator

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

패턴의패턴의패턴의패턴의 가족관계를가족관계를가족관계를가족관계를 찾아라찾아라찾아라찾아라!!!!

CompoundCompoundCompoundCompound PatternPatternPatternPattern

versusversusversusversus

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

versusversusversusversus

CompositeCompositeCompositeComposite PatternPatternPatternPattern

VariableVariablePartPart

FactoryFactory

StrategyStrategy

<<CREATES>><<CREATES>>

CommonCommonPartPart

전형적인전형적인전형적인전형적인 가족관계가족관계가족관계가족관계

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

ConfigurableConfigurablePartPart Component Component

ConfiguratorConfigurator

<<LINKS>><<LINKS>>

LogLog

SecuritySecurity

TransactionTransaction

JAWS JAWS JAWS JAWS ---- 웹웹웹웹 서버의서버의서버의서버의

복잡한복잡한복잡한복잡한 문제를문제를문제를문제를 잘잘잘잘 해결한해결한해결한해결한 사례사례사례사례

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

패턴을 이용한 웹 서버 만들기 (한국어 강좌)

http://www.devpia.com/NET2/EvaCast/Lecture/?cu=view&r=11

많은많은많은많은

가족관계가족관계가족관계가족관계 (Compound Pattern)(Compound Pattern)(Compound Pattern)(Compound Pattern)

사례를사례를사례를사례를 알아야알아야알아야알아야.. .. .. ..

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

사례를사례를사례를사례를 알아야알아야알아야알아야.. .. .. ..

실제실제실제실제 설계설계설계설계 시시시시 적용하기적용하기적용하기적용하기 쉽다쉽다쉽다쉽다....

4. 4. 4. 4. 패턴의패턴의패턴의패턴의

올바른올바른올바른올바른 빌드빌드빌드빌드 오더오더오더오더........

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

초보를초보를초보를초보를 위한위한위한위한 패턴패턴패턴패턴 빌드오더빌드오더빌드오더빌드오더........

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

POSA 1 (아키텍쳐 패턴)

- Layer

- Pipe & Filter

- Broker

- Master Slave

- Client – Dispatcher

- Forwarder-Receiver

- Model -View-Controller

- Presentation -Abstraction - Control

- Reflection

- Counted Pointer

- Blackboard

POSA 2 (분산 객체를 위한 패턴)

§Resource Acquisition

- Lookup

- Lazy Acquisition

- Eager Acquisition

- Partial Acquisition

§Resource Lifecycle

- Caching

- Pooling

- Coordinator

- Resource Lifecycle Manager

POSA 3 (자원 관리를 위한 패턴)

- Partial Acquisition

§Resource Release

- Leasing

- Evictor

그 외 패턴들..

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

그 외 패턴들..

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd Devpia A&D EVA

그 외 패턴들..

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 7/19/2009Devpia A&D EVA

39

5. 5. 5. 5. 패턴패턴패턴패턴 + + + + 생산성생산성생산성생산성 증대증대증대증대....

내 친구..

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

내 친구..

를 소개합니다.

41

Code Template을이용한 공장 만들기

1. 1. 1. 1. StreoTypeStreoTypeStreoTypeStreoType 생성생성생성생성

Setting Setting Setting Setting –––– UML UML UML UML –––– StreotypesStreotypesStreotypesStreotypes

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 42

2. 2. 2. 2. 클래스클래스클래스클래스 설계설계설계설계 후후후후 StreoTypeStreoTypeStreoTypeStreoType 할당할당할당할당

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 43

3. 3. 3. 3. 메소드메소드메소드메소드 속성에속성에속성에속성에 맞는맞는맞는맞는 태깅생성태깅생성태깅생성태깅생성

예를예를예를예를 들어들어들어들어 현재현재현재현재 재고를재고를재고를재고를 파악하는파악하는파악하는파악하는 메소드는메소드는메소드는메소드는

DatabaseDatabaseDatabaseDatabase에서에서에서에서 데이터를데이터를데이터를데이터를 가져오는가져오는가져오는가져오는 (Get) (Get) (Get) (Get) 타입인타입인타입인타입인 경우경우경우경우....

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 44

4. 4. 4. 4. 코드코드코드코드 생성생성생성생성 탬플릿탬플릿탬플릿탬플릿 작성작성작성작성

Settings – Code Generation Templates

다양한언어선택

생성할코드

생성할코드입력

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 45

템플릿Namespace,

Class,

Operation 등

스트레오타입별템플릿을지정

스트레오스트레오스트레오스트레오 타입타입타입타입 코드코드코드코드 템플릿템플릿템플릿템플릿 추가추가추가추가

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 46

스트레오스트레오스트레오스트레오 템플릿템플릿템플릿템플릿 추가추가추가추가

§ Import SectionImport SectionImport SectionImport Section

- DLL 이나 Namespace를 추가하는 부분

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

§Operation BodyOperation BodyOperation BodyOperation Body

-메소드 구현 부에 사용자 코드를 추가 함

47

간단한간단한간단한간단한 예예예예 ---- OperationBodyOperationBodyOperationBodyOperationBody

%%%%if if if if opTagopTagopTagopTag:":":":"DataAccessTypeDataAccessTypeDataAccessTypeDataAccessType" =="get" " =="get" " =="get" " =="get" % //% //% //% //데이터를데이터를데이터를데이터를 얻어오는얻어오는얻어오는얻어오는 쿼리쿼리쿼리쿼리

IDataReaderIDataReaderIDataReaderIDataReader reader = null;reader = null;reader = null;reader = null;

%%%%opReturnTypeopReturnTypeopReturnTypeopReturnType% % % % retValretValretValretVal = new %= new %= new %= new %opReturnTypeopReturnTypeopReturnTypeopReturnType%();%();%();%();

trytrytrytry

{{{{

// 1. Create the Database object, using the default database service.// 1. Create the Database object, using the default database service.// 1. Create the Database object, using the default database service.// 1. Create the Database object, using the default database service.

Database db = Database db = Database db = Database db = DatabaseFactory.CreateDatabaseDatabaseFactory.CreateDatabaseDatabaseFactory.CreateDatabaseDatabaseFactory.CreateDatabase();();();();

log.Debuglog.Debuglog.Debuglog.Debug("Create Database Factory");("Create Database Factory");("Create Database Factory");("Create Database Factory");

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 48

log.Debuglog.Debuglog.Debuglog.Debug("Create Database Factory");("Create Database Factory");("Create Database Factory");("Create Database Factory");

// 2. Create DB Command// 2. Create DB Command// 2. Create DB Command// 2. Create DB Command

string string string string sqlCommandsqlCommandsqlCommandsqlCommand = "$= "$= "$= "$queryNamequeryNamequeryNamequeryName";";";";

dbCommanddbCommanddbCommanddbCommand = = = = db.GetStoredProcCommanddb.GetStoredProcCommanddb.GetStoredProcCommanddb.GetStoredProcCommand((((sqlCommandsqlCommandsqlCommandsqlCommand););););

log.Debuglog.Debuglog.Debuglog.Debug("("("("GetStoredProcCommandGetStoredProcCommandGetStoredProcCommandGetStoredProcCommand(" + (" + (" + (" + sqlCommandsqlCommandsqlCommandsqlCommand + ")");+ ")");+ ")");+ ")");

….….….….

} %} %} %} %elseIfelseIfelseIfelseIf opTagopTagopTagopTag:":":":"DataAccessTypeDataAccessTypeDataAccessTypeDataAccessType" =="set"" =="set"" =="set"" =="set"% //% //% //% //데이터를데이터를데이터를데이터를 쓰는쓰는쓰는쓰는 쿼리쿼리쿼리쿼리

DbConnectionDbConnectionDbConnectionDbConnection connection = null;connection = null;connection = null;connection = null;

UInt32 UInt32 UInt32 UInt32 retValretValretValretVal = 0;= 0;= 0;= 0;

trytrytrytry 48

Reverse Engineering

49

통합통합통합통합 개발개발개발개발 환경환경환경환경 구축하기구축하기구축하기구축하기

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 50

통합통합통합통합 개발개발개발개발 환경환경환경환경 구축하기구축하기구축하기구축하기

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 51

개발개발개발개발 환경환경환경환경 구축구축구축구축–––– 프로세스로프로세스로프로세스로프로세스로 디버깅디버깅디버깅디버깅 하기하기하기하기

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 52

프로세스로프로세스로프로세스로프로세스로 디버깅하기디버깅하기디버깅하기디버깅하기

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 53

디버깅디버깅디버깅디버깅 내용을내용을내용을내용을Sequence DiagramSequence DiagramSequence DiagramSequence Diagram으로으로으로으로 생성생성생성생성

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 54

디버깅디버깅디버깅디버깅 내용을내용을내용을내용을Sequence DiagramSequence DiagramSequence DiagramSequence Diagram으로으로으로으로 생성생성생성생성

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd 55

Unit Testing

Unit TestingUnit TestingUnit TestingUnit Testing과과과과 연동됨연동됨연동됨연동됨

§현재현재현재현재 xUnitxUnitxUnitxUnit ((((JUnitJUnitJUnitJUnit, , , , NunitNunitNunitNunit) ) ) ) 형태로형태로형태로형태로 생성및생성및생성및생성및관리가관리가관리가관리가 가능함가능함가능함가능함....

§다른다른다른다른 Unit TestUnit TestUnit TestUnit Test는는는는 Package ScriptPackage ScriptPackage ScriptPackage Script로로로로연동가능연동가능연동가능연동가능....

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

연동가능연동가능연동가능연동가능....

Visual Studio.NET Visual Studio.NET Visual Studio.NET Visual Studio.NET 내장내장내장내장 UnitTestUnitTestUnitTestUnitTest ((((mstestmstestmstestmstest))))셋팅셋팅셋팅셋팅 법법법법

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

§ Frank Frank Frank Frank BuschmannBuschmannBuschmannBuschmann et al, “et al, “et al, “et al, “PatternPatternPatternPattern----Oriented Software Architecture : A System of Oriented Software Architecture : A System of Oriented Software Architecture : A System of Oriented Software Architecture : A System of PatternsPatternsPatternsPatterns”, Volume 1, Wiley”, Volume 1, Wiley”, Volume 1, Wiley”, Volume 1, Wiley

§ Douglas Schmidt et al, “Douglas Schmidt et al, “Douglas Schmidt et al, “Douglas Schmidt et al, “PatternPatternPatternPattern----Oriented Software ArchitectureOriented Software ArchitectureOriented Software ArchitectureOriented Software Architecture”,”,”,”, Volume 2, Volume 2, Volume 2, Volume 2, WileyWileyWileyWiley

참고자료

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

§ Eric Gamma et al, “Eric Gamma et al, “Eric Gamma et al, “Eric Gamma et al, “Design Patterns : Elements of Reusable Object Oriented Design Patterns : Elements of Reusable Object Oriented Design Patterns : Elements of Reusable Object Oriented Design Patterns : Elements of Reusable Object Oriented SoftwareSoftwareSoftwareSoftware” , Addison Wesley” , Addison Wesley” , Addison Wesley” , Addison Wesley

§ Pipe & Filter Pattern, Pipe & Filter Pattern, Pipe & Filter Pattern, Pipe & Filter Pattern, http://www.codeproject.com/cs/design/PipesAndFilters.asphttp://www.codeproject.com/cs/design/PipesAndFilters.asphttp://www.codeproject.com/cs/design/PipesAndFilters.asphttp://www.codeproject.com/cs/design/PipesAndFilters.asp

§ Reflection Pattern, Reflection Pattern, Reflection Pattern, Reflection Pattern, http://www.codeproject.com/csharp/introreflection.asphttp://www.codeproject.com/csharp/introreflection.asphttp://www.codeproject.com/csharp/introreflection.asphttp://www.codeproject.com/csharp/introreflection.asp

Douglas C. Schmidt (PLoP Editor, POSA 2, 4 Writter)

JAWS: An Application Framework for High Performance Web Systemhttp://citeseer.ist.psu.edu/81775.html (En)

http://www.devpia.com/net2/EvaCast/Lecture/?cu=view&r=11 (Kr)

참고자료

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

Ralph Johnson (GoF , Design Patterns)

Evolving Frameworkshttp://st-www.cs.uiuc.edu/users/droberts/evolve.html (En)http://arload.wordpress.com/2008/09/15/evolvingframeworks/ (Kr)

Robert C. MartinPrinciples of Package Architecture (Design Principles and Design Patterns)

http://www.objectmentor.com/resources/articles/Principles_a

nd_Patterns.pdf (En)

http://www.devpia.com/net2/EvaCast/Lecture/?cu=view&r=1

참고자료

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

http://www.devpia.com/net2/EvaCast/Lecture/?cu=view&r=108 (Kr)

Load to Architecthttp://www.arload.net

EvaCast (Online Free Lecture)http://www.evacast.net

Question?

2009 한국한국한국한국SW아키텍트아키텍트아키텍트아키텍트대회대회대회대회 2 KSAS COEX 장보고장보고장보고장보고홀홀홀홀. 2009.7.9~10nd

이이이이저작물은저작물은저작물은저작물은크리에이티브크리에이티브크리에이티브크리에이티브커먼즈커먼즈커먼즈커먼즈코리아코리아코리아코리아저작자표시저작자표시저작자표시저작자표시-비영리비영리비영리비영리-동일조건변경허락동일조건변경허락동일조건변경허락동일조건변경허락 2.0 대한민국대한민국대한민국대한민국라이센스라이센스라이센스라이센스에에에에따라따라따라따라이용하실이용하실이용하실이용하실수수수수있습니다있습니다있습니다있습니다.

This work is licensed under Creative Commons Korea Attribution 2.0 License.

Question?