UML(Unified Modeling Language) : 분석, 설계를 비주얼 화, 문서화 하기 위한 그래픽 언어

UML 클래스 다이어그램 :객체지향 시스템에 존재하는 클래스, 클래스 안의 필드, 메소드, 서로 협력하거나 상속하는 클래스 사이의 연결 관계를 나타내는 그림

UML클래스 다이어그램이 나타내지 않는 것

  1. 클래스가 서로 어떻게 상호작용 하는지
  2. 자세한 알고리즘
  3. 특정한 동작이 어떻게 구현되는지

 

UML 규칙

Rectangle

-width: int

-height: int

/area: double

+ Rectangle(width: int, height: int)

+ distance(r: Rectangle): double

 

Student

-name: String

-id: int

-totalStudents: int

#getID(): int

+getName(): String

~getrEmailAddress(): String

+getTotalStudents(): int

 

visibility

  1. +     public
  2. #    protected
  3. -    private
  4. ~    package, namespace
  5. /    derived(상속 받음)
  6. Underline : static variable

 

클래스

  1. visibility name: type[count] = default_value
  2. 추상 클래스는 기울임
  3. 인터페이스 클래스는 <<interface>>추가

함수

  1. visibility name(parameter) : return_type
  2. 생성자나 리턴타입이 void 인 경우는 return_type 생략

 

클래스 사이의 관계

  • 일반화(generalization): 상속 관계
    • 부모를 향한 화살표로 표시되는 하향 계층 관계(인터페이스, 추상 클래스)
      • 클래스: 실선/검은 헤드 화살표        
      • 추상 클래스: 실선/흰 헤드 화살표 Class    
      • 인터페이스: 점선/흰 헤드 화살표         

  • 연관(association): 사용(usage) 관계
    • 어떤 클래스의 인스턴스가 작업을 수행하기 위하여 다른 클래스를 알아야 하는 함
      • 다중도(multiplicity)
        • *     => 0, 1, or more
        • 1         => 정확히 한 개
        • ..4     => 2개 내지 4개
        • 3..*     => 3개 이상
      • 이름 – 객체들의 관계 이름
      • 방향성( navigability) – 질의의 방향, 객체 사이의 선으로 표시하며 양쪽 방향인 경우는 화살표시 없음
    • 의존: 일시적 사용, 점선   
    • 집합(aggregation): 어떤 클래스가 다른 클래스의 모임으로 구성, contain    
    • 합성(composition): 포함된 클래스가 컨테이너 클래스가 없이는 존재할 수 없는 집합 관계의 변형, 이 목적을 위하여만 포함됨    

    ex) 영화관이 없어지면 매표소도 없어짐(합성), 그러나 영화는 존재(집합)


'ECT' 카테고리의 다른 글

.ase 모델 파일  (0) 2016.02.26
height map과 bump map의 차이  (0) 2015.10.23
Excel 에서 Unicode 형식으로 CSV 파일 만들기  (0) 2015.07.24
트리(Tree)  (0) 2015.07.02
Stack  (0) 2015.06.26

+ Recent posts