UML(Unified Modeling Language) : 분석, 설계를 비주얼 화, 문서화 하기 위한 그래픽 언어
UML 클래스 다이어그램 :객체지향 시스템에 존재하는 클래스, 클래스 안의 필드, 메소드, 서로 협력하거나 상속하는 클래스 사이의 연결 관계를 나타내는 그림
UML클래스 다이어그램이 나타내지 않는 것
- 클래스가 서로 어떻게 상호작용 하는지
- 자세한 알고리즘
- 특정한 동작이 어떻게 구현되는지
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
- + public
- # protected
- - private
- ~ package, namespace
- / derived(상속 받음)
- Underline : static variable
클래스
- visibility name: type[count] = default_value
- 추상 클래스는 기울임
- 인터페이스 클래스는 <<interface>>추가
함수
- visibility name(parameter) : return_type
- 생성자나 리턴타입이 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 |