ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OOP/UML] UP - Elaboration 단계 / OOD
    Learn/OOP&UML 2022. 9. 21. 00:24

    Elaboration 단계 중 앞 OOA 단계에서 Domain Model 및 Use-Case Model을 작성하였다. 

     

    그 다음은 OOD 단계로 Design Model을 작성하는데 Sequence Diagram을 그리고 Class Diagram을 그린다. 

     

    OOA에서 OOD로 넘어갈때는 아키텍쳐가 확정되어 있어야 한다. 

     

    # Logical Architecture

    Logical architecture란, 소프트웨어 클래스를 package, subsystem, layer로 묶어놓은 것을 뜻한다. 

     

    UML Package Diagram으로 그린다. 

     

    ## Layered Architecture

    보통 아래와 같이 구성된다. 

     

    1. User Interface layer

    • 흔히 아는 UI 레이어
    • External User가 여기로 들어온다. 

    2. Application Logic and Domain Object layer

    • Business Logic에 해당하는 레이어
    • 여기서 소프트웨어를 만든다고 가정하고 이론이 정리되어있음

    3. Technical Services layer

    • OS의 Kernel에 해당하는 레이어

     

    OOA에서는 유저가 어떤 레이어를 통해서 (하드웨어, GUI 등) 들어오는지는 신경쓰지 않았으나 OOD로 넘어오면 그 부분도 표현이 되어야 하므로 아래와 같이 레이어로 표현한다. 

    추후에 아키텍쳐가 바뀌면 곤란하므로 Elaboration Phase에서는 이런 저런 아키텍쳐를 적용해본다. 

     

    # Object Design

    두 가지 종류의 오브젝트 모델을 사용할 수 있다. 

     

    1. Static Model

    • Class Diagram (Elaboration phase)
    • Package Diagram (Construction phase)
    • Deployment Diagram (Transition phase)

    2. Dynamic Model

    • Interaction Diagram (Sequence Diagram)
    • Statechart Diagram
    • Activity Diagram (Business process 모델링 할 때)

    Object Design을 잘 하기 위해 GRASP이나 Design patterns 같은 것들이 나왔다. 

     

    # QUIZ

    정답: 3번. Static Model만 중요한게 아니라 Dynamic Model도 함께 중요하다. 4번에 적힌 것 처럼 Static / Dynamic을 반복하며 구체화 해 나간다. 

     

    정답: 1번. 

    2번, 3번 - Expressive Power은 같다. 단 종이가 늘어나냐 아니냐의 차이만 있다. 

    4번 - Interaction Diagram이 아니라 Flow chart 또는 Activity Diagram으로 그린다. 

     

    Class Diagram(static)과 Sequence Diagram(diagram)이다.

     

    Use Case를 보며 Sequence Diagram을 그리고 그를 기반으로 Class Diagram을 그리는 것을 반복하며 완성해나간다. 

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

    [OOP/UML] UP - Elaboration 단계 / OOI  (0) 2022.09.21
    [OOP/UML] UP - Elaboration 단계 / OOA  (0) 2022.09.18
    [OOP/UML] UP - Inception 단계  (0) 2022.09.18
    [OOP/UML] OOAD, UP 기본 개념  (0) 2022.09.17
    [OOP/UML] Component Diagram  (0) 2022.08.17

    댓글

Designed by Tistory.