대출이라는 추상 명사를 독서카드라는 구체적으로 만들었다.
design by intension : 미래를 대비하는 코드는 하면 안된다.
설계가 복잡하면 설계가 제대로 안된 것임 -> 복잡하다 ? 설계가 제대로 안된 것...
로직을 만드는 것이 힘든 것. 분석과 설계가 80%정도 차지
Class Card
클래스 다이어그램이 그려지면 이 클래스에 대한 기록을 남겨서 개발자에게 맡긴다.
- Object class 별로 상세히 적는 카드다.
- class 이름, inheritance, 알아야 할 책임, 행해야 할 책임, 협조자(ex) 내가 혼자 일을 할 수 없으니, 다른 객체에 요청한다), Operation, Constraints를 표현함.
정보를 둘로 쪼개면 안됨. 대출 정보를 도서에서 저장하면 안됨.
일의 진행을 설명하는 것.(Sequence Diagram을 그리면 됨)
Sequence Diagram의 시작은 Operation Contract이다.
Object Instance
- Class 표기와 거의 동일하게 사각형으로 표시
- Instance의 이름 : class 이름으로 푝
- 이름에 밑줄
- 상태를 가질 수있음
- 모서리가 둥근 사각형으로 표기하기도 함.
Sequence Diagram
- UML diagram 중에서 Interaction diagram 중 하나
- Interaction diagram은 콜라보레이션 diagram, sequence diagram임(둘은 동치이기 때문에 하나만 그리면 됨)
- BUT Sequence diagram은 장소를 많이 차지하기 때문에 숙련자들은 콜라보레이션 diagram을 많이 그림
- message call -> 보통 메서드는 return 발생(sequence diagram에서 중요한 return 만 표시)
Conditional
- sequence diagram은 condition을 가지고 있다. 조건이 있을 경우 []로 조건을 표시한다.
- 반복이 필요한 경우 *[]로 반복을 표시한다.
Operation contract