객체지향개발론 (6)

Jay_u·2022년 12월 9일
0

객체지향개발

목록 보기
8/11

도메인 모델 구성요소


Associations

연관은 실선으로 표현되며

이미지 출처(https://objectdiscovery.com/solutions/publications/roles/index.html)

UML에서 연관(association)은 한 클래스의 객체가 다른 클래스의 객체에 연결되도록 지정하는
클래스 간의 구조적 관계로 정의됩니다.

연관의 끝에는 역할 이름이 붙습니다.
역할 이름은 협회에서 클래스가 수행하는 역할을 설명하는 명사입니다.

이 실선의 끝에를 잘 보면 1 또는 * 이 붙은 걸 볼 수 있는데 이걸 Multiplicity (or Cardinality) 이라고 합니다.
역할의 다중성은 다른 클래스의 한 인스턴스와 관련된 한 클래스의 인스턴스 수를 나타냅니다.

종류는
*, 0..*    : 0 또는 many
1..*      : 1 또는 many 1 이상이라는 의미
1         : 1 그 자체
n..m      : n개에서 m개


Unidirectional Association(단방향성 연관)
역할에 화살촉으로 표시됩니다. 가리키는 부분이 > 탐색할 수 있는 클래스를 가리킵니다.
표기법 -> 실선에 화살촉
화살촉으로 가리키는 부분이 탐색할 수 있는 클래스라는 의미입니다.


도메인 모델 구성 팁

TypeName-VerbPhrase-TypeName 형식을 사용합니다.
VerbPhrase 는 동사로 표기하며 대문자로 시작합니다.
띄어쓰기는 -(하이푼)으로 표기합니다.
왼쪽에서 아래로 또는 위에서 아래로 표기합시다.


높은 우선순위 연관

A is a physical or logical part of B.
A is physically or logically contained in/on B.
A is recorded in B

중복되거나 유추할 수 있는 관계는 연관짓지 말자


Attributes

속성은 객체의 논리적인 데이터 값이다.
클래스와의 가장 큰 차이점은 identity가 없다는 점이다.


계약 세부사항
사전 조건 - 클라이언트의 서비스(작업) 사용시 제한되는 규칙을 명시함
사후 조건 - 작업을 합법적으로 호출할 때 보장된 결과

각 유스케이스에 대한 구체적인 Contract 만드는 법
1. 시스템 시퀀스 다이어그램에서 시스템 작동을 식별
2. 결과가 복잡하고 미묘하거나 유스케이스에서 명확하지 않은 시스템 작업의 경우 계약을 구성
3. 사후 조건을 설명하려면 다음 범주 참고

인스턴스 생성 및 삭제
속성 수정
association가 형성되고 깨질 때

=> 위 3가지 상태 변화 있으면 사후 조건에 명시

예컨데 위 사진에서 인스턴스 생성
연관 형성
속성 수정등의 변경이 있으면 오퍼레이션에 의한 사후조건으로 명시한다.

profile
정확한 정보를 전달할려고 노력합니다.

0개의 댓글