[ Keyword(키워드) ]

 심볼이 너무 많으면 사용자가 모든 심볼의 의미를 기억하기가 아주 힘들다.

 UML을 사용할 때는 종종 심볼의 개수를 줄이고 대신 keyword를 사용한다.

 비슷하지만 다른 요소들을 구분할 때 사용된다.

 

[ Aggregation(집합) : has a ]

 일 부분이 되는관계

 집합 클래스는 여러 개의 part를 가질 수 있다.

 

[ Composition(합성) : is a ]

 집합과 비슷 하지만 한 part는 오직 하나의 composite에만 속한다.

 공유 불가의 규칙이 합성의 핵심이다.

 만약 composite가 삭제되면 그것의 부품도 삭제된다.

 

[ Abstract Class(추상 클래스) ]

 직접 인스턴스화 될 수 없는 클래스이다. 대신 하위 클래스의 인스턴스를 생성한다. 전형적으로 추상 클래스는 한 개 이상의 추상 오퍼레이션을 가진다.

 추상 오퍼레이션은 구현을 가지고 잇지 않다. 이것은 클라이언트와 추상 클래스를 연결하는 순수한 정의다.

 이텔릭체로 사용한다.

 

[ Interface(인터페이스) ]

 구현이 없는 클래스이다. , 모든 기능이 추상이다.

 인터페이스는 C# JAVA의 인터페이스와 직접 대응되며 다른 typedef language에서도 흔한 용어이다.

 클래스는 인터페이스에 대해서 Providing(제공하는) Requiring(필요로 하는) 두 가지 관계를 가진다.

 - 클래스가 인터페이스를 대신할 수 있는 경우, 그것은 인터페이스를 제공하는 클래스이다. 클래스가 인터페이스를 구현하거나 인터페이스의 하위 타입을 구현하는 경우 클래스가 인터페이스를 대신할 수 있다.

 - 작동을 하기 위해서 인터페이스의 인스턴스가 필요하다면 그것은 인터페이스를 필요로 하는 클래스이다. 필수적으로 이 클래스는 인터페이스에 종속된다.

- 인터페이스를 사용함으로써 나중에 필요할 때에 구현을 더 쉽게 바꿀 수 있는 장점이 있다.

 

[ Visibility(가시성) ]

 클래스요소들의 접근도를 표현한 것

 - private(-) : 클래스 내에서만 가능

 - public(+) : 시스템 내에서 사용 가능

 - Protected(#) : 상속 트리 내에서만 사용 가능

 - Package(~) : 같은 패키지 내에서만 사용 가능

 

댓글이나 공감 남겨주는 사람 착한사람

 

'학사 그리고 석사 > 소프트웨어공학' 카테고리의 다른 글

Deployment Diagram(배치다이어그램)  (0) 2019.11.06
Package Diagrams (패키지 다이어그램)  (0) 2019.11.06
UML 이란  (0) 2019.11.06
Test-Driven Development(TDD)  (0) 2019.11.06
Software Testing  (0) 2019.11.06

+ Recent posts