[TIL]221108 - UML 클래스 다이어그램

Jimin·2022년 11월 9일
0

의존 관계

  • 공급자의 변경이 클라이언트에게도 영향을 주는 관계
  • 클라이언트 -> 공급자
  • 결합도의 또 다른 형태
  • 이미 의존관계가 표시되는 경우 사용x
    • 상속 관계, 인터페이스의 구현, 연관
  • 모든 것이 다 중요한 것은 아님
    • 가능하면 사용하지 말 것

인터페이스

  • 다중 상속의 문제점으로 인터페이스가 등장하게 됨
  • 인터페이스는 계약을 정의함
  • 형식적으로 추상 클래스(속성이 없음)와 동일함
  • 속성과 메서드가 없고 오로지 추상적 오퍼레이션만
  • <<interface>> 사용해서 표현
  • 인터페이스와 관련될 수 있는 의무


u

  • 인터페이스를 사용한다.

  • 인터페이스를 제공한다.

사용자 입장에서는 SiteSearch로 알고 있음 (다형성 제공)

  • SearchController가 SiteSearch를 상속받은 것

Aggregation and composition

  • Aggregation
    • 느슨한 전체와 부분 관계
    • 연관과 별 차이 없음
    • 가능하면 사용하지 말 것!
  • Composition
    • 강한 전체와 부분 관계
    • 특정 시간에 부분은 전체에 포함
    • 부분은 항상 하나의 전체에 포함
    • 전체는 부분의 생성과 삭제를 책임짐
      • 즉 전체가 없어지면 부분도 자동으로 삭제되어야 함

제약 사항

제약에 맞춰야 함
설계자가 개발자에게 챙겨달라고 부탁하는 것

  • {} 사용

연관 클래스

  • 일반적으로 n:n (다대다)관계에서 나타남

  • 1:1 관계: table이 1개 혹은 2개 (1개일 경우 모든 정보를 한 테이블 안에)

  • 1:n 관계: table 2개 (n에 필드를 추가함)



Singleton 클래스

  • 클래스 우측 상단 1 표기

템플릿 클래스와 인터페이스

  • T , K 표기

액티브 클래스

  • 자신의 쓰레드를 실행하고 제어

Interaction Diagram and Class Diagram

  • Interaction diagram을 그리고 나서 Class diagram을 그림

0개의 댓글