[SWAD] Ep.4 OOA(2)

GLICO·2024년 10월 25일

SWAD

목록 보기
4/12

Contents

  • Domain Model
  • Conceptual Class Diagram

Doman Model

Domain Model

도메인 모델이란?

  • 도메인에서 상호 연결된 개념 또는 실세계 객체를 시각적으로 표현한 것
    도메인 = SW로 다루고자 하는 주제의 영역

  • 초기 분석 단계에서 전체 도메인을 대략적으로 파악하는 용도로 수행
    도메인 내의 개체, 속성, 관계 및 동작을 파악

  • 향후 SW object와 class를 설계하는데 도움이 됨
    도메인 모델에서는 domain concepts(개념)을 분석하는 것을 목표로 함

  • Lower Representation Gap
    설계 단계에서 클래스 이름을 정할 때 domain model에서 concept의 이름을 따서 지을 수 있음.
    분석 단계와 설계 단계의 표현적인 차이를 줄일 수 있음.

Domain Modeling

도메인 모델의 표현법

  • 일반적으로 class diagram을 기반으로 하나 단순화된 형태로 표현
    operation은 고려하지 않음

  • Domain model은 class digram의 사전 단계의 버전이라고 볼 수 있음
    Domain model을 종종 conceptual class diagram이라고도 함

Domain Modeling을 하는 단계

  1. 목표 도메인의 Business concept을 나열
  2. concept에 대응되는 domain object 정하기
  3. object간의 연관 관계를 파악
  4. 각 관계에 대해 구체적인 이름을 부여
  5. role / multiplicity을 추가
  6. attribute 추가
  7. conceptual class diagram 완성

Conceptual Class Diagram

Class Diagram

시스템을 구성하는 클래스와 그들 상의 관계를 표현하는 UML diagram

  • 분석 단계에서는 domain model을 표현할 때
  • 설계 단계에서는 class diagram을 표현할 때 사용
    각 class에 detail한 정보가 추가적으로 표현

Conceptual Class Diagram

Domain model을 표현하는 diagram

  • Domain objects와 그들의 관계를 표현
    Domain objects
    Attributes
    Associations
    Roles
    Multiplicity

Association & Role

연관 관계(Association)

  • 두 개념(클래스)이 연관되어 있을 때 선을 그어 표시
    Professor ---- Advises ---- Student

역할(Role)

  • 연관 관계를 가지면 각 클래스의 객체는 해당 관계에서 특정 역할을 수행
    교수 객체들은 조언자(Mentor)역할, 학생 객체들은 피조언자(Mentee)역할

ProfessormentorProfessor_{mentor} ---- Advises ---- StudentmenteeStudent_{mentee}

Direction of Association

양방향 연관 관계

  • 두 클래스의 객체들의 서로의 존재를 인식
  • 연결한 선에 화살표 없이 표현

단방향 연관 관계

  • 한쪽으로만 방향성이 있어서 한쪽만 상대방의 존재를 인식하는 경우
  • 연결한 선에 화살표로 표현
    Person ---- Has ----> Phone

Multiplicity

연관된 객체의 수 (Multiplicity, 다중성)를 표현

  • 예시로 앞선 그림에서는 교수 한 명에 학생 한 명만이 연관됨을 의미
  • 연결한 선 위에 표시하며, 1인 경우 생략하기도 함

다중성 표기의미
11 (생략)
*0 또는 그 이상 (0 생략)
0..*0 또는 그 이상
1..*1 또는 그 이상
0..10 또는 1
2..52에서 5 사이의 값
1, 2, 61 또는 2 또는 6
1, 3..51 또는 3에서 5사이의 값

Recap.

Domain Model

  • 도메인에서 상호 연결된 개념 또는 실세계 객체를 시각적으로 표현한 것
  • 표현법 : Conceptual Class Diagram
  • Steps for doman modeling

Conceptual Class Diagram

  • Domain objects : 도메인을 구성하는 개념적 요소
  • Attributes : domain objects의 핵심 속성
  • Associations : objects간의 연관 관계
  • Roles : association에 대한 object의 역할
  • Multiplicity : 연관된 object의 수
profile
Its me Glico

0개의 댓글