ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OOP/UML] OOAD, UP 기본 개념
    Learn/OOP&UML 2022. 9. 17. 22:55

    # OOAD

    Object-Oriented Analysis (OOA)와 Object-Oriented Design(OOD)으로 구성

    • OOA: 요구사항을 도메인 모델(오브젝트)로 만드는 것 (usecase diagram)
    • OOD: 소프트웨어 오브젝트를 정의하고(class diagram) 어떻게 커뮤니케이션을 할지 정의하는 것(sequence diagram)

    모든 usecase에 대해서 sequence diagram을 그리고 그 후 class diagram을 그리는 것을 반복

    # UML
    3가지 레벨로 사용될 수 있음

    • Sketch: 13가지 uml을 아무거나 쓸 수 있고 조금 틀려도 커뮤니케이션만 잘 되면 오케이 (OOA)
    • Blueprint: syntax, sementic이 정확해야 함. 틀리면 안됨. 디자인 단계.  (OOD)
    • Programming language: 요즘은 잘 안쓰는 방식. operation의 body에 해당하는 다이어그램을 짜면 코드로 바뀜. 에러가 엄청 많이 발생하고 그걸 다 해결해야되며 특정 도구가 필요함. 무료 도구는 보통 지원하지 않음. 

    UML은 OOAD 프로세스가 아니다. (그냥 모델링 랭귀지)

    UML을 잘 그린다고 Object-Oriented thinking을 잘 하는건 아니다. 

     

    # UP

    3주 단위로 mini waterfall을 하는 Iterative process 

    Risk-driven iterative development

    • Architecture / Client 관점의 risk가 각각 존재
    • Architecture 관점의 risk는 너무 늦게 발견되면 다시 만들어야 하므로 초반에 확인함
    • Client 관점의 risk는 보통 client가 개발자가 아닌 business쪽 전공자이므로 발생하는 커뮤니케이션 문제
      • Client가 중요하게 생각하는 것을 먼저 구현해보고 이게 맞는지 계속 대화하여 risk를 줄임

     

    ## UP Phase

    1. Inception

     

    2. Elaboration

    • UP의 특징이 가장 잘 드러나는 단계
    • 아키텍쳐 관점에서 3주동안 구현하고 커뮤니케이션.
      • 아키텍쳐가 확정될 때 까지 반복
    • 클라이언트가 중요하게 생각하는 것(보통 UX/UI쪽)을 3주동안 만들어보고 커뮤니케이션.
      • 클라이언트의 컨펌이 끝날 때 까지 반복
    • 아키텍쳐/클라이언트 각각의 risk가 해결되어야 elaboration phase 종료

    3. Construction

    • Elaboration에서 구현하지 못한 95%를 여기서 구현, 테스팅
    • 이때부터는 requirement, usecase를 바꿀 수 없음. (elaboraiton까지만 가능)

    4. Transition

     

    ## The UP 9 Disciplines

    아래와 같은 9개의 구성요소로 이루어져있음. 

     

    ## Development Case

    9 disciplines 중 Environment에 대한 것으로 UP의 각 단계에 무엇을 작성할지를 기록한다. 

    s는 start, r은 refine을 뜻한다. 

    Construction 단계부터는 requirements에 r(refine)이 있어서는 안된다. 

    ## Best practice & Key concepts

    - 초기 이터레이션에서 리스크를 줄인다. (Risk-driven)

    - 유저의 피드백을 지속적으로 받는다. 

    - 초기 이터레이션(elaboration phase)에서 아키텍쳐를 셋업한다 (Architecture-centric)

    - 테스트를 앞에서부터 계속 지속적으로 한다. (waterfall은 뒷쪽에서 함)

    - 각 단계를 시작할 때 이번 이터레이션에 개발할 use-case는 상세화한다. 

    - UML을 쓴다. 

     

    # QUIZ

    정답: 2번. 2번은 waterfall 모델에 대한 설명임. 

     

    정답: 4번. 

    1번, 2번 - waterfall 모델

    3번 - elaboration phase가 디자인을 하는 단계인 것 처럼 설명했는데 틀림. 실제 구현하며 아키텍쳐, 클라이언트 리스크를 줄이는 단계임. 

     

    Development case로 아래는 샘플

    'Learn > OOP&UML' 카테고리의 다른 글

    [OOP/UML] UP - Elaboration 단계 / OOA  (0) 2022.09.18
    [OOP/UML] UP - Inception 단계  (0) 2022.09.18
    [OOP/UML] Component Diagram  (0) 2022.08.17
    [OOP/UML] Activity Diagram  (0) 2022.08.17
    [OOP/UML] Statechart Diagram  (0) 2022.08.17

    댓글

Designed by Tistory.