SlideShare une entreprise Scribd logo
1  sur  62
Télécharger pour lire hors ligne
패턴과 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

Contenu connexe

En vedette

Design Pattern 3
Design Pattern 3Design Pattern 3
Design Pattern 3Daniel Lim
 
Design patterns 스터디 -strategy패턴
Design patterns 스터디 -strategy패턴Design patterns 스터디 -strategy패턴
Design patterns 스터디 -strategy패턴Hyunho-Cho
 
Arquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk ServerArquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk ServerMarkus Christen
 
Publisher subscriber pattern
Publisher subscriber patternPublisher subscriber pattern
Publisher subscriber patternDaeMyung Kang
 
Learn design pattern-1
Learn design pattern-1Learn design pattern-1
Learn design pattern-1Daniel Lim
 
Desing Pattern-2
Desing Pattern-2Desing Pattern-2
Desing Pattern-2Daniel Lim
 
Design pattern 4
Design pattern 4Design pattern 4
Design pattern 4Daniel Lim
 
예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법hyun soomyung
 
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015NAVER / MusicPlatform
 
Proxy pattern
Proxy patternProxy pattern
Proxy patternscor7910
 

En vedette (11)

Design Pattern 3
Design Pattern 3Design Pattern 3
Design Pattern 3
 
Design patterns 스터디 -strategy패턴
Design patterns 스터디 -strategy패턴Design patterns 스터디 -strategy패턴
Design patterns 스터디 -strategy패턴
 
Arquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk ServerArquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk Server
 
Publisher subscriber pattern
Publisher subscriber patternPublisher subscriber pattern
Publisher subscriber pattern
 
Learn design pattern-1
Learn design pattern-1Learn design pattern-1
Learn design pattern-1
 
Desing Pattern-2
Desing Pattern-2Desing Pattern-2
Desing Pattern-2
 
4. publish / subscribe
4. publish / subscribe4. publish / subscribe
4. publish / subscribe
 
Design pattern 4
Design pattern 4Design pattern 4
Design pattern 4
 
예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법
 
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
 
Proxy pattern
Proxy patternProxy pattern
Proxy pattern
 

Similaire à Pattern and EA

Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례
Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례
Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례Yousun Jeong
 
아키텍트가 알아야 할 12/97가지
아키텍트가 알아야 할 12/97가지아키텍트가 알아야 할 12/97가지
아키텍트가 알아야 할 12/97가지YoungSu Son
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyondJae Sung Park
 
Cloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_serviceCloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_serviceDennis Hong
 
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다CONNECT FOUNDATION
 
통합함정시스템공학(Total ship systems engineering) 기반 ROC 및 OMOE 개발연구
통합함정시스템공학(Total ship systems engineering) 기반 ROC 및 OMOE 개발연구통합함정시스템공학(Total ship systems engineering) 기반 ROC 및 OMOE 개발연구
통합함정시스템공학(Total ship systems engineering) 기반 ROC 및 OMOE 개발연구Jinwon Park
 
Sw 아키텍처와 sw 공학
Sw 아키텍처와 sw 공학Sw 아키텍처와 sw 공학
Sw 아키텍처와 sw 공학영온 김
 
User Story :: Cloudike with KT UCloud Biz
User Story :: Cloudike with KT UCloud BizUser Story :: Cloudike with KT UCloud Biz
User Story :: Cloudike with KT UCloud BizNalee Jang
 
미해군의 설계조합도구인 ASSET 소개 및 사용법
미해군의 설계조합도구인 ASSET 소개 및 사용법미해군의 설계조합도구인 ASSET 소개 및 사용법
미해군의 설계조합도구인 ASSET 소개 및 사용법Jinwon Park
 
5G Cloud 기술
5G Cloud 기술5G Cloud 기술
5G Cloud 기술James Ahn
 

Similaire à Pattern and EA (12)

Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례
Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례
Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례
 
아키텍트가 알아야 할 12/97가지
아키텍트가 알아야 할 12/97가지아키텍트가 알아야 할 12/97가지
아키텍트가 알아야 할 12/97가지
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 
Cloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_serviceCloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_service
 
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
 
통합함정시스템공학(Total ship systems engineering) 기반 ROC 및 OMOE 개발연구
통합함정시스템공학(Total ship systems engineering) 기반 ROC 및 OMOE 개발연구통합함정시스템공학(Total ship systems engineering) 기반 ROC 및 OMOE 개발연구
통합함정시스템공학(Total ship systems engineering) 기반 ROC 및 OMOE 개발연구
 
ecdevday4
ecdevday4ecdevday4
ecdevday4
 
C++ api design 품질
C++ api design 품질C++ api design 품질
C++ api design 품질
 
Sw 아키텍처와 sw 공학
Sw 아키텍처와 sw 공학Sw 아키텍처와 sw 공학
Sw 아키텍처와 sw 공학
 
User Story :: Cloudike with KT UCloud Biz
User Story :: Cloudike with KT UCloud BizUser Story :: Cloudike with KT UCloud Biz
User Story :: Cloudike with KT UCloud Biz
 
미해군의 설계조합도구인 ASSET 소개 및 사용법
미해군의 설계조합도구인 ASSET 소개 및 사용법미해군의 설계조합도구인 ASSET 소개 및 사용법
미해군의 설계조합도구인 ASSET 소개 및 사용법
 
5G Cloud 기술
5G Cloud 기술5G Cloud 기술
5G Cloud 기술
 

Plus de YoungSu Son

Fault Tolerance 패턴
Fault Tolerance 패턴 Fault Tolerance 패턴
Fault Tolerance 패턴 YoungSu Son
 
Clean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance TuningClean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance TuningYoungSu Son
 
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화YoungSu Son
 
Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭) Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭) YoungSu Son
 
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)YoungSu Son
 
Singleton 패턴 (김진영 - EVA, 소마에 10기)
Singleton 패턴 (김진영 -  EVA, 소마에 10기) Singleton 패턴 (김진영 -  EVA, 소마에 10기)
Singleton 패턴 (김진영 - EVA, 소마에 10기) YoungSu Son
 
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 YoungSu Son
 
생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기) 생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기) YoungSu Son
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 YoungSu Son
 
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심) DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심) YoungSu Son
 
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) 모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) YoungSu Son
 
DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법 DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법 YoungSu Son
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와  Oreo 의 개선사항 Android 성능 지표와  Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항 YoungSu Son
 
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법YoungSu Son
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기YoungSu Son
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법 YoungSu Son
 
[NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 [NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 YoungSu Son
 
Android Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + GenymotionAndroid Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + GenymotionYoungSu Son
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기) YoungSu Son
 

Plus de YoungSu Son (20)

Fault Tolerance 패턴
Fault Tolerance 패턴 Fault Tolerance 패턴
Fault Tolerance 패턴
 
Clean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance TuningClean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance Tuning
 
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
 
Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭) Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭)
 
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
 
Singleton 패턴 (김진영 - EVA, 소마에 10기)
Singleton 패턴 (김진영 -  EVA, 소마에 10기) Singleton 패턴 (김진영 -  EVA, 소마에 10기)
Singleton 패턴 (김진영 - EVA, 소마에 10기)
 
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우
 
생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기) 생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기)
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
 
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심) DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
 
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) 모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
 
DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법 DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와  Oreo 의 개선사항 Android 성능 지표와  Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항
 
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법
 
[NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 [NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법
 
Android Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + GenymotionAndroid Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + Genymotion
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
 

Dernier

MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 

Dernier (6)

MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 

Pattern and EA

  • 1. 패턴과 EA의 만남 손영수 데브피아 아키텍쳐 시삽 삼성전자 솔루션 개발 그룹 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 2. 오늘 나눌 이야기 거리들. §패턴의 정의 (패턴이란?) §패턴에 대한 오해와 진실 §패턴으로 가는 길 §패턴 빌드 오더 §패턴 + 생산성 두 마리 토끼 잡기 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 3. 도대체.. 1. 도대체.. 무엇일까? 패턴은 무엇일까? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 4. Pattern is Father 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 5. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 6. 우리는 아버지와 비슷한 생김새, 성격, 습관 등을 생김새, 성격, 있다. 가지고 있다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 7. 이미 해결한 문제와 문제들은.. 유사한 문제들은.. 방법(패턴) 유사한 방법(패턴)으로 있다. 해결 할 수 있다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 8. 과연.. 그럼 패턴은 과연.. 왜 내가 적용하려면 안될까? 안될까? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 9. 2. 패턴에 대한 오해와 진실 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 10. GoF 23개의 Pattern으로 23개의 Pattern으로 만들기? 우아한 프로그램 만들기? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 11. 패턴들.. 지구상의 패턴들.. + 논문 형태로 발표된 패턴 몇 백개. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 12. 아니다. 패턴은 섬이 아니다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 13. 여러 개의 패턴이 뭉쳐서 사용된다. 사용된다. 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
  • 14. 여러 개의 패턴이 뭉쳐서 사용된다. 사용된다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 15. 패턴은 소프트웨어 설계만 다룬다 ? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 16. 패턴? 솔로들을 위한 패턴? 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
  • 17. 다룬다. 소프트웨어와 관련된 모든 행위들을 다룬다. § 팀을 이루어 설계 대련을 수행하는 패턴 - 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
  • 18. 만병통치약? 패턴은 만병통치약? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 19. 비약적인 §비약적인 성능 향상 ? 생산성 §생산성 증대 ? 최적화 §최적화 ? 심지어 §심지어 Silver Bullet ?? 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 20. 장점은.. 패턴의 장점은.. 유연성 확장성 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 21. 3. 패턴으로 가는 길... 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 22. 패턴에 대한 올바른 마음가짐 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 23. 아키텍쳐의 이해 대상 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
  • 24. 패턴도.. 역시 패턴도.. 팀 내 의사 소통의 수단이 위해선, 되기 위해선, 필요하다. 팀원들의 이해가 필요하다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 25. 과유불급 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 26. 남용. 패턴의 남용. 리소스 제약이 심한 시스템에 추가하기?? 유연성 추가하기?? - Pipe & Filter - Component Configurator 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 27. 찾아라! 패턴의 가족관계를 찾아라! 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 28. Compound Pattern versus Composite Pattern 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 29. 전형적인 가족관계 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
  • 30. JAWS - 웹 서버의 복잡한 문제를 잘 해결한 사례 패턴을 이용한 웹 서버 만들기 (한국어 강좌) http://www.devpia.com/NET2/EvaCast/Lecture/?cu=view&r=11 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 31. 많은 가족관계 (Compound Pattern) 사례를 알아야.. 알아야.. 쉽다. 실제 설계 시 적용하기 쉽다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 32. 4. 패턴의 오더.. 올바른 빌드 오더.. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 33. 빌드오더.. 초보를 위한 패턴 빌드오더.. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 34. POSA 1 (아키텍쳐 패턴) - Layer - Model -View-Controller - Pipe & Filter - Presentation -Abstraction - Control - Broker - Reflection - Master Slave - Client – Dispatcher - Counted Pointer - Forwarder-Receiver - Blackboard
  • 35. POSA 2 (분산 객체를 위한 패턴)
  • 36. POSA 3 (자원 관리를 위한 패턴) §Resource Acquisition §Resource Lifecycle - Lookup - Caching - Lazy Acquisition - Pooling - Eager Acquisition - Coordinator - Partial Acquisition - Resource Lifecycle Manager §Resource Release - Leasing - Evictor
  • 37. 그 외 패턴들.. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 38. 그 외 패턴들.. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 Devpia A&D EVA COEX 장보고 홀. 2009.7.9~10
  • 39. 그 외 패턴들.. Devpia A&D EVA 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 7/19/2009 홀. 2009.7.9~10 3 COEX 장보고 9
  • 40. 증대. 5. 패턴 + 생산성 증대. 내 친구.. 를 소개합니다. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 42. 1. StreoType 생성 Setting – UML – Streotypes 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 2
  • 43. 2. 클래스 설계 후 StreoType 할당 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 3
  • 44. 3. 메소드 속성에 맞는 태깅생성 예를 들어 현재 재고를 파악하는 메소드는 Database에서 Database에서 데이터를 가져오는 (Get) 타입인 경우. 경우. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 4
  • 45. 4. 코드 생성 탬플릿 작성 Settings – Code Generation Templates 다양한 생성할 코드 언어 선택 입력 생성할 코드 템플릿 Namespace, Class, Operation 등 스트레오 타입별 템플릿을 지정 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 5
  • 46. 스트레오 타입 코드 템플릿 추가 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 6
  • 47. 스트레오 템플릿 추가 § Import Section - DLL 이나 Namespace를 추가하는 부분 § Operation Body - 메소드 구현 부에 사용자 코드를 추가 함 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 4 7
  • 48. 간단한 예 - 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
  • 50. 통합 개발 환경 구축하기 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 0
  • 51. 통합 개발 환경 구축하기 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 1
  • 52. 개발 환경 구축 – 프로세스로 디버깅 하기 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 2
  • 53. 프로세스로 디버깅하기 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 3
  • 54. 디버깅 내용을 Diagram으로 Sequence Diagram으로 생성 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 4
  • 55. 디버깅 내용을 Diagram으로 Sequence Diagram으로 생성 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10 5 5
  • 57. Unit Testing과 연동됨 Testing과 현재 JUnit, Nunit) §현재 xUnit (JUnit, Nunit) 형태로 생성및 가능함. 관리가 가능함. 다른 Test는 Script로 §다른 Unit Test는 Package Script로 연동가능. 연동가능. 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 58. Visual Studio.NET mstest) 내장 UnitTest (mstest)셋팅 법 한국SW아키텍트 대회 2 nd KSAS 2009 한국 아키텍트 COEX 장보고 홀. 2009.7.9~10
  • 59. 참고자료 “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
  • 60. 참고자료 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
  • 61. 참고자료 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
  • 62. 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