UML v1.1 개념-UML의 기본-Things
|
2. UML의 기본
2.1. Things
그림 8 Things 구성도
2.1.1.1. 클래스 (Class)
: 공통의 속성, 오퍼레이션 및 관계를 갖는 객체들의 집합
Name |
Attributes |
Operations |
그림 9 Class
§ 클래스는 유스케이스와 함께 객체지향 분석 설계에서 가장 중요한 요소이다.
§ 클래스는 사각형으로 나타내며, 세 부분으로 분할하여 이름과 속성 그리고 오퍼레이션을 나타낸다.
§ 표기법
- 클래스의 이름은 대문자로 시작하여 표현한다.
- 속성과 오퍼레이션은 소문자로 시작하여 표현한다.
- 패키지와 함께 표현할 때엔 다음과 같이 표현한다.
. package-name:: class-name
Mammal::Person |
+hands_count -tooth_count |
+grip -chew |
그림 10 Class 표기법 |
2.1.1.1.1. 속성 (Attribute)
: 객체의 특성을 표시
§ 자료형을 가지며, 초기값으로 설정될 수 있다.
§ 표기법
- 속성이름 (name)
- 속성이름:속성타입 (name:type-expression)
- 속성이름:속성타입=초기값 (name:type-expression=initial-value)
- visibility name:type-expression=initial-value{property-string}
• visibility : +(public), #(protected), -(private)
- class-scope attribute
• 해당 클래스에 대해 유일한 값을 갖는 속성(이름에 밑줄)
(Ex: static public Rectangle default-size; )
그림 11 Attribute 표기법
2.1.1.1.2. 기능 (Operation)
: 오퍼레이션은 객체가 수행하는 서비스를 의미한다.
§ 표기법
- 오퍼레이션 이름()
- 오퍼레이션 이름(파라미터 리스트):리턴 타입
- visibility name(parameter-list):return-type-expression{property-string}
• visibility : +(public), #(protected), -(private)
• parameter-list : kind name:type-expression=default-value
- class-scope operation
• 해당 클래스에 대해 유일한 값을 갖는 오퍼레이션(이름에 밑줄)
( static public void create(); )
그림 12 Operation 표기법
2.1.1.1.3. Visibility (가시성)
: 클래스의 속성과 오퍼레이션에 부여할 수 있는 특성으로 다른 클래스에서 사용 가능 여부를 나타낸다.
§ +(public) : 외부 클래스에서도 사용 가능함을 의미한다.
§ #(protected) : 하위클래스와 해당클래스 내에서만 사용 가능함을 의미한다.
§ -(private) : 해당클래스에서만 사용 가능함을 의미한다.
§ ~(package, default) : 패키지 내에서만 사용 가능함을 의미한다.
2.1.1.2. Abstract Class (추상 클래스)
: 추상 메소드가 1개 이상 존재하는 클래스를 뜻한다.
§ 추상 메소드란 내부 구현 코드가 정의되어 있지 않은 메소드이다.
§ 표기법
- 추상 클래스와 추상 메소드는 이탤릭체로 표기한다.
Name(Abstract Class) |
Attributes |
+abstractMethod +concreteMethod |
그림 13 Abstract Class 표기법
2.1.1.3. Object (객체)
: Class의 Instance
§ 객체는 Class의 Instance이다.
§ 특정한 속성 값을 갖는다.
§ 표기법
- Object 이름은 밑줄을 그어 표현한다.
object-name : class-name
tri:Polygon |
Center=(0,0) Verticies=((0,0),(4,0),(4,3) borderColor=black fileColor=white |
|
그림 14 Object 표기법
2.1.1.4. Interface (인터페이스)
: Class 또는 Component가 외부에 제공하는 Service를 명세화 한 기능(Operation)의 집합.
§ 인터페이스는 구조나 구현을 갖지 않는다.
§ 인터페이스는 이로 인해 속성을 갖지 않으며 기능(Operation)에 대한 구현을 제공하는 Method를 포함하지 않는다.
§ 표기법
- Icon 표시는 원으로 표시함
- Text 표시는 “<<Interface>>” Tag가 표시됨
2.1.1.5. Collaboration (협력)
: 구현관점에서 목적을 달성하기 위한 일련의 행위
§ 표기법
- 타원을 점선으로 표기한다.
- 타원 안에 역할의 내용을 기입한다.
그림 16 Collaboration
2.1.1.6. Use Case
: 사용자(Actor) 관점에서 시스템이 제공하여야 하는 서비스 집합.
§ 표기법
- 타원으로 표시하고 그 안쪽이나 아래쪽에 Use Case 명을 기술
- Use Case 이름은 “ ~ 한다” 와 같이 동사로 표기
그림 17 Use Case
2.1.1.7. Active Class
: 하나 이상의 프로세스나 쓰레드를 갖는 객체를 파생하는 클래스 기술.
§ 표기법
- Class 표기와 비슷하지만, 양 옆에 세로 라인이 추가됨
|
Event Manager |
|
| ||
suspend flush |
그림 18 Active Class
2.1.1.8. Component
: 시스템을 구성하는 물리적인 단위로 독립적인 실행단위 혹은 배포단위
( Android에서는 Module단위로 보면 된다. )
§ Deployment component (배치 컴포넌트)
- DLL, 실행파일 등과 같이 실행 가능한 시스템 구성요소
- 동적 웹페이지, DB 테이블 등도 포함됨
§ Word product component (작업 결과물 컴포넌트)
- 시스템의 실행에 직접적으로 참여하지는 않지만, 개발 작업에서 만들어지는 결과물들이며 실행 시스템을 생성 하는데 사용됨
- 분석/설계 문서, 소스코드 파일, 데이터 파일
§ Execution component (실행 컴포넌트)
- 실행 시스템의 수행 결과로 생성되는 컴포넌트
- 메모리상에 존재하는 객체, 실행 결과로 생성된 dB레코드 도는 파일 등
§ 표기법
그림 19 Component
2.1.1.9. Node
: 물리적인 요소로서 시스템이 실행될 때 존재하며 어느 정도의 메모리와 처리 능력을 갖는 전산 자원을 의미한다.
§ 육면체로 표현하며 이름을 표기하고 필요에 따라 탑재되는 컴포넌트를 표기한다.
§ 표기법
그림 20 Node
2.1.2. Behavioral Things (행위사물)
2.1.2.1. Interaction (교류)
: 지정된 목적을 완성하기 위하여 특정 문맥에 속한 객체들 사이에 주고 받는 메시지.
n 표기법
그림 21 Interaction
2.1.2.2. State Machine (상태머신)
: 객체의 상태를 순서대로 명시한 것. 이벤트에 대한 객체의 응답과 반응.
n 표기법
그림 22 State Machine
2.1.3.1. Package
: UML요소를 그룹으로 묶어놓은 것
n 표기법
그림 23 Package
2.1.4. Annotation Things (주해사물)
2.1.4.1. Note
: UML 모델을 설명하는 부분이며, 모델 요소를 설명하고, 명확히 하는 표현.
n 표기법
- 모서리가 접힌 직사각형으로 표현된다.
그림 24 Note
|
'UML' 카테고리의 다른 글
UML v1.1 개념-Development Process (0) | 2013.05.19 |
---|---|
UML v1.1 개념-UML의 기본-Diagrams (0) | 2013.05.19 |
UML v1.1 개념-UML의 기본-Extensibility mechanism (0) | 2013.05.19 |
UML v1.1 개념-UML의 기본-관계(Relationships) (0) | 2013.05.19 |
UML v1.1 개념-UML의 의미 (0) | 2013.05.19 |