ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OOP/UML] UML
    Learn/OOP&UML 2022. 8. 9. 00:06

    OMG라는 회사에서 만든 Unified Modeling Language

     

    # MOF (Meta Object Facility)

    - Layer M3: Meta-meta model layer (The MOF model)

    - Layer M2: Meta model layer (The UML meta model)

    - Layer M1: Model layer (The UML model)

    - Layer M0: Information layer (the Application)

    --> 보통 M1에서 모델링, M0에서 구현

     

    # UML Diagrams

    보통 2.0을 많이 씀. 

    (Profile Diagram은 2.2에서 추가됨.)

     

    Structure / Behavior / Interaction Diagram은 실제 다이어그램이 아니라 아래 있는것들이 실제 구현된 것. 

     

    Class / Use Case / Sequence Diagram을 많이 씀. 

    1. Use Case Diagram

    - actor들이 어떻게 시스템을 사용하는지 그려놓은 다이어그램

    - 그림보단 Description이 더 중요함

     

    2. Class Diagram

    - 어떤 attribute를 가지고있고, 어떤 식으로 커뮤니케이션 하는지 표현

    - 인스턴스가 몇개인지는 표현되지 않음. --> 필요하면 Object Diagram

     

    3. Object Diagram

    - 특정 시점의 인스턴스들을 표현

     

    4. Package Diagram

    - 클래스를 그룹으로 묶어서 표현 

    - 대문자는 클래스, 소문자는 오브젝트

     

    5. Component Diagram

    - 로지컬한 컴포넌트를 표현 (Physical은 아님)

     

    6. Composite Structure Diagram

    - 컴포넌트 다이어그램에 hierarchy가 추가된 것. 

    - 보통 컴포넌트 다이어그램이랑 묶어서 많이 그림. 

     

    7. Deployment Diagram

    - 컴포넌트 다이어그램은 로지컬이라 실제로 돌아가는 오퍼레이터는 아님. 

    - 실제 하드웨어에 디플로이한 physical한 다이어그램 (PC, 서버 등..)

     

    8. Sequence Diagram

    - 오브젝트들끼리의 커뮤니케이션을 표현

    - 시간 순서에 따라 표현 (위에서부터 아래로)

    - 시스템이 복잡하면 왔다갔다가 많아져서 사이즈가 쉽게 늘어남 --> Communication Diagram이 보완

     

    9. Communication Diagram

    - Sequence Diagram과 비슷한데 크게 사이즈가 늘어나지 않음. 

      --> 선을 다 지우고 숫자 번호로 순서를 표기

    - 사이즈가 커지지 않는 대신 숫자를 따라가며 읽는게 좀 복잡할 수 있음. 

    - 예시에서 1 -> 1.1 -> 2 순으로 실행

    10. Timing Diagram

    - 이름 그대로 타이밍을 보여주는 것. (시간을 보여주는건 아님)

    11. Interaction Overview Diagram

    - Activity Diagram 기반

    - 전체 시나리오를 보기에 용이하고 유닛테스트 만들 때 많이 씀. 

     

    12. State (Statechart) Diagram

    - Statechart라는 formal state language를 사용함. 

    - 시퀀스 / 클래스 다이어그램을 대신하는 목적으로도 쓸 수 있음. 

    - 시스템이 state기반으로 움직이는게 아니면 굳이 그릴 필요가 없음. 

     

    13. Activity Diagram

    - Business Process를 표기할 때 사용. (일의 순서 표기)

    - Control Flow Diagram과 유사함

    - State Diagram은 state에서 다른 state로 넘어갈때만 일을 함. 

       --> Activty Diagram은 state에서 일을 함. 

     

    # QUIZ

    1. 모델링 랭귀지이지. 개발방법론이 아님. 

    2. 정답. UML을 잘한다고 OOD를 잘 하는건 아님. UML은 Language임. C를 배워도 실제 개발은 다르듯. (..?)

    3. 맞음

    4. Sketch 레벨에서 사용할 수 있음. 공학 전공이면 대부분 이해함. 

     

    Class Diagram(static model) / Sequence Diagram(dynamic model) / Use Case Diagram(OOA model)

    (Sequence Diagram대신 Communication Diagram도 가능)

     

     

     

     

     

     

     

     

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

    [OOP/UML] Class Diagram  (0) 2022.08.12
    [OOP/UML] Use Case Diagram  (0) 2022.08.10
    [OOP/UML] Object-Oriented Development  (0) 2022.08.08
    [OOP/UML] Principles  (0) 2022.08.06
    [OOP/UML] Object Oriented  (0) 2022.08.02

    댓글

Designed by Tistory.