Contents
- Domain Model
- Conceptual Class Diagram
Doman Model
Domain Model
도메인 모델이란?
-
도메인에서 상호 연결된 개념 또는 실세계 객체를 시각적으로 표현한 것
도메인 = SW로 다루고자 하는 주제의 영역
-
초기 분석 단계에서 전체 도메인을 대략적으로 파악하는 용도로 수행
도메인 내의 개체, 속성, 관계 및 동작을 파악
-
향후 SW object와 class를 설계하는데 도움이 됨
도메인 모델에서는 domain concepts(개념)을 분석하는 것을 목표로 함
-
Lower Representation Gap
설계 단계에서 클래스 이름을 정할 때 domain model에서 concept의 이름을 따서 지을 수 있음.
분석 단계와 설계 단계의 표현적인 차이를 줄일 수 있음.
Domain Modeling
도메인 모델의 표현법
Domain Modeling을 하는 단계
- 목표 도메인의 Business concept을 나열
- concept에 대응되는 domain object 정하기
- object간의 연관 관계를 파악
- 각 관계에 대해 구체적인 이름을 부여
- role / multiplicity을 추가
- attribute 추가
- 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)역할
Professormentor ---- Advises ---- Studentmentee
Direction of Association
양방향 연관 관계
- 두 클래스의 객체들의 서로의 존재를 인식
- 연결한 선에 화살표 없이 표현
단방향 연관 관계
- 한쪽으로만 방향성이 있어서 한쪽만 상대방의 존재를 인식하는 경우
- 연결한 선에 화살표로 표현
Person ---- Has ----> Phone
Multiplicity
연관된 객체의 수 (Multiplicity, 다중성)를 표현

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

| 다중성 표기 | 의미 |
|---|
| 1 | 1 (생략) |
| * | 0 또는 그 이상 (0 생략) |
| 0..* | 0 또는 그 이상 |
| 1..* | 1 또는 그 이상 |
| 0..1 | 0 또는 1 |
| 2..5 | 2에서 5 사이의 값 |
| 1, 2, 6 | 1 또는 2 또는 6 |
| 1, 3..5 | 1 또는 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의 수