• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Pattern and EA
 

Pattern and EA

on

  • 1,679 views

Korea 2nd Architect Summit Presentation

Korea 2nd Architect Summit Presentation

Statistics

Views

Total Views
1,679
Views on SlideShare
1,435
Embed Views
244

Actions

Likes
0
Downloads
21
Comments
0

5 Embeds 244

http://arload.wordpress.com 231
http://www.hanrss.com 9
http://bblearn.co.kr 2
http://nigayo.com 1
https://arload.wordpress.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Pattern and EA Pattern and EA Presentation Transcript

    • 패턴과 EA의 만남 손영수 데브피아 아키텍쳐 시삽 삼성전자 솔루션 개발 그룹 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 오늘 나눌 이야기 거리들. §패턴의 정의 (패턴이란?) §패턴에 대한 오해와 진실 §패턴으로 가는 길 §패턴 빌드 오더 §패턴 + 생산성 두 마리 토끼 잡기 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 도대체.. 1. 도대체.. 무엇일까? 패턴은 무엇일까? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • Pattern is Father 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 우리는 아버지와 비슷한 생김새, 성격, 습관 등을 생김새, 성격, 있다. 가지고 있다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 이미 해결한 문제와 문제들은.. 유사한 문제들은.. 방법(패턴) 유사한 방법(패턴)으로 있다. 해결 할 수 있다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 과연.. 그럼 패턴은 과연.. 왜 내가 적용하려면 안될까? 안될까? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 2. 패턴에 대한 오해와 진실 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • GoF 23개의 Pattern으로 23개의 Pattern으로 만들기? 우아한 프로그램 만들기? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 패턴들.. 지구상의 패턴들.. + 논문 형태로 발표된 패턴 몇 백개. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 아니다. 패턴은 섬이 아니다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 여러 개의 패턴이 뭉쳐서 사용된다. 사용된다. Common Strategy Part Variable <<CREATES>> Part (Modularity) Factory Log <<LINKS>> Security Configurable Part Component Transaction Configurator 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 여러 개의 패턴이 뭉쳐서 사용된다. 사용된다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 패턴은 소프트웨어 설계만 다룬다 ? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 패턴? 솔로들을 위한 패턴? 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 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 다룬다. 소프트웨어와 관련된 모든 행위들을 다룬다. § 팀을 이루어 설계 대련을 수행하는 패턴 - http://portal.acm.org/citation.cfm?id=273484 + § 팀 생산성을 향상 시키는 패턴 - http://arload.wordpress.com/2008/09/02/teampro ductivity/ 그 외에도 기타 등등…. § 지리적으로 떨어져 있는 팀 협업하는 패턴 - http://hillside.net/plop/2006/Papers/Library/patter http://arload.wordpress.com/2008/04/02/plopfestival/ nstoenablePLoP2006_submission_v4.pdf - http://hillside.net/plop/2004/papers/vbricout0/PLo P2004_vbricout0_0.doc 한국SW아키텍트nd §2009 한국 아키텍트 대회 2 이끄는 패턴 효율적인 회의를 KSAS COEX 장보고 홀. 2009.7.9~10
    • 만병통치약? 패턴은 만병통치약? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 비약적인 §비약적인 성능 향상 ? 생산성 §생산성 증대 ? 최적화 §최적화 ? 심지어 §심지어 Silver Bullet ?? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 장점은.. 패턴의 장점은.. 유연성 확장성 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 3. 패턴으로 가는 길... 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 패턴에 대한 올바른 마음가짐 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 아키텍쳐의 이해 대상 Martin Fowler says … The expert developers working on that project have a shared understanding of the system design. This shared understanding is called ‘architecture architecture’ architecture http://www.martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 패턴도.. 역시 패턴도.. 팀 내 의사 소통의 수단이 위해선, 되기 위해선, 필요하다. 팀원들의 이해가 필요하다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 과유불급 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 남용. 패턴의 남용. 리소스 제약이 심한 시스템에 추가하기?? 유연성 추가하기?? - Pipe & Filter - Component Configurator 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 찾아라! 패턴의 가족관계를 찾아라! 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • Compound Pattern versus Composite Pattern 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 전형적인 가족관계 Strategy Common Variable Part <<CREATES>> Part Factory Log <<LINKS>> Security Configurable Part Component Transaction Configurator 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • JAWS - 웹 서버의 복잡한 문제를 잘 해결한 사례 패턴을 이용한 웹 서버 만들기 (한국어 강좌) http://www.devpia.com/NET2/EvaCast/Lecture/?cu=view&r=11 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 많은 가족관계 (Compound Pattern) 사례를 알아야.. 알아야.. 쉽다. 실제 설계 시 적용하기 쉽다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 4. 패턴의 오더.. 올바른 빌드 오더.. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 빌드오더.. 초보를 위한 패턴 빌드오더.. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • POSA 1 (아키텍쳐 패턴) - Layer - Model -View-Controller - Pipe & Filter - Presentation -Abstraction - Control - Broker - Reflection - Master Slave - Client – Dispatcher - Counted Pointer - Forwarder-Receiver - Blackboard
    • POSA 2 (분산 객체를 위한 패턴)
    • POSA 3 (자원 관리를 위한 패턴) §Resource Acquisition §Resource Lifecycle - Lookup - Caching - Lazy Acquisition - Pooling - Eager Acquisition - Coordinator - Partial Acquisition - Resource Lifecycle Manager §Resource Release - Leasing - Evictor
    • 그 외 패턴들.. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 그 외 패턴들.. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 Devpia A&D EVA COEX 장보고 홀. 2009.7.9~10
    • 그 외 패턴들.. Devpia A&D EVA 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 7/19/2009 홀. 2009.7.9~10 3 COEX 장보고 9
    • 증대. 5. 패턴 + 생산성 증대. 내 친구.. 를 소개합니다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • Code Template을 이용한 공장 만들기 4 1
    • 1. StreoType 생성 Setting – UML – Streotypes 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 2
    • 2. 클래스 설계 후 StreoType 할당 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 3
    • 3. 메소드 속성에 맞는 태깅생성 예를 들어 현재 재고를 파악하는 메소드는 Database에서 Database에서 데이터를 가져오는 (Get) 타입인 경우. 경우. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 4
    • 4. 코드 생성 탬플릿 작성 Settings – Code Generation Templates 다양한 생성할 코드 언어 선택 입력 생성할 코드 템플릿 Namespace, Class, Operation 등 스트레오 타입별 템플릿을 지정 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 5
    • 스트레오 타입 코드 템플릿 추가 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 6
    • 스트레오 템플릿 추가 § Import Section - DLL 이나 Namespace를 추가하는 부분 § Operation Body - 메소드 구현 부에 사용자 코드를 추가 함 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 7
    • 간단한 예 - OperationBody %if opTag:"DataAccessType" =="get" % opTag:"DataAccessType" :"DataAccessType //데이터를 //데이터를 얻어오는 쿼리 IDataReader reader = null; %opReturnType% retVal = new %opReturnType%(); opReturnType% %opReturnType opReturnType%(); try { // 1. Create the Database object, using the default database service. DatabaseFactory.CreateDatabase(); Database db = DatabaseFactory.CreateDatabase(); log.Debug("Create Database Factory"); log.Debug("Create // 2. Create DB Command "$queryName queryName"; string sqlCommand = "$queryName"; db.GetStoredProcCommand(sqlCommand); dbCommand = db.GetStoredProcCommand(sqlCommand); log.Debug("GetStoredProcCommand(" log.Debug("GetStoredProcCommand(" + sqlCommand + ")"); ("GetStoredProcCommand …. %elseIf opTag:"DataAccessType" =="set"% :"DataAccessType } %elseIf opTag:"DataAccessType" =="set"% //데이터를 //데이터를 쓰는 쿼리 DbConnection connection = null; UInt32 retVal = 0; 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 48 try 8
    • Reverse Engineering 4 9
    • 통합 개발 환경 구축하기 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 0
    • 통합 개발 환경 구축하기 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 1
    • 개발 환경 구축 – 프로세스로 디버깅 하기 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 2
    • 프로세스로 디버깅하기 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 3
    • 디버깅 내용을 Diagram으로 Sequence Diagram으로 생성 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 4
    • 디버깅 내용을 Diagram으로 Sequence Diagram으로 생성 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 5
    • Unit Testing
    • Unit Testing과 연동됨 Testing과 현재 JUnit, Nunit) §현재 xUnit (JUnit, Nunit) 형태로 생성및 가능함. 관리가 가능함. 다른 Test는 Script로 §다른 Unit Test는 Package Script로 연동가능. 연동가능. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • Visual Studio.NET mstest) 내장 UnitTest (mstest)셋팅 법 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 참고자료 “Pattern Pattern- § Frank Buschmann et al, “Pattern-Oriented Software Architecture : A System of Patterns”, Patterns”, Volume 1, Wiley “Pattern Pattern- Architecture”, § Douglas Schmidt et al, “Pattern-Oriented Software Architecture”, Volume 2, Wiley § Eric Gamma et al, “Design Patterns : Elements of Reusable Object Oriented “Design Software” , Addison Wesley Software” § Pipe & Filter Pattern, http://www.codeproject.com/cs/design/PipesAndFilters.asp § Reflection Pattern, http://www.codeproject.com/csharp/introreflection.asp 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 참고자료 Douglas C. Schmidt (PLoP Editor, POSA 2, 4 Writter) JAWS: An Application Framework for High Performance Web System http://citeseer.ist.psu.edu/81775.html (En) http://www.devpia.com/net2/EvaCast/Lecture/?cu=view&r =11 (Kr) Ralph Johnson (GoF , Design Patterns) Evolving Frameworks http://st-www.cs.uiuc.edu/users/droberts/evolve.html (En) http://arload.wordpress.com/2008/09/15/evolvingframewor ks/ (Kr) 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • 참고자료 Robert C. Martin Principles 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 08 (Kr) Load to Architect http://www.arload.net EvaCast (Online Free Lecture) http://www.evacast.net 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
    • Question? 저작자표시-비영리 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 비영리 동일조건변경허락 2.0 비영리-동일조건변경허락 라이센스에 대한민국 라이센스에 따라 이용하실 수 있습니다 있습니다. This work is licensed under Creative Commons Korea Attribution 2.0 License. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10