일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- jquery
- Random
- 자바 야구게임
- while
- 형변환
- 전체
- 상속
- Login with OAuth Authentication
- 스프링
- 추상클래스
- 25가지 효율적인 sql작성법
- 상속예제
- 전체텍스트
- 다형성
- 다운캐스팅
- 전자정부
- 야구게임
- Full text
- 로또
- Validations
- full text indexing
- 페이징
- 자바
- angular2
- 단축키
- 가변인자
- 업캐스팅
- IBatis procedure
- 이클립스
- Today
- Total
nalaolla
2. Class 다이어그램 모델링하기 본문
2. Class 다이어그램 모델링하기
클래스 다이어그램에서 편집할 수 있는 요소들은 다음과 같습니다.
- Subsytem
- Package
- Class
- Interface
- Enumeration
- Signal
- Exception
- Port
- Part
- Association
- DirectedAssociation
- Aggregation
- Composition
- Generalization
- Dependency
- Realization
- AssociationClass
- Connector
- Object
- Link
Subsystem
의미:
서브시스템(Subsystem)">서브시스템(Subsystem)은 물리적인 시스템의 부분 혹은 전체를 명세화하기 위해 요소들을 그룹화하는 요소입니다.
Subsystem 생성하는 방법:
Subsystem을 생성하려면,
- [Toolbox] -> [Class] -> [Subsystem] 버튼을 클릭하고
- Main 윈도우창에서 Subsystem가 위치할 곳을 클릭하고 원하는 크기만큼 드래그합니다.
- 그러면 subsystem이 class diagram상에 생성되고 퀵다이얼로그가 나타납니다.
- 퀵다이얼로그에서 subsystem의 이름을 입력하고 [Enter] 키를 누릅니다.
Subsystem이 제공하는 Interface 생성하는 방법:
Subsystem은 Interface를 제공합니다. Subsystem가 제공하는 Interface를 표현하려면,
- interface와 susbystem을 생성하고
- [Toolbox] -> [Realization] 버튼을 클릭하고
- Subsystem에서 Interface까지 마우스를 드래그합니다.
- 그러면 interface와 subsystem 사이에 providing interface 관계가 생성됩니다.
만약 Interface와 Realization을 동시에 생성하려면,
- Subsystem을 더블클릭하여 Quick Dialog가 나타나면
- 다음과 같이 단축 생성 구문을 입력합니다.
- [Enter]키를 누르면 Subsystem과 연결된 인터페이스를 생성됩니다.
Subsystem이 요구하는 Interface 생성하는 방법:
Subsystem이 Requiring Interface를 표현하려면 다음과 같이 단축 생성 구문을 입력합니다.
- subsystem을 더블클릭하면 퀵다이얼로그가 나타납니다. 그러면 다음과 같이 "-(" 문자열 다음에 interface 이름을 입력하고 [Enter] 키를 누릅니다.
그러면 Subsystem이 Interface에 대해서 Requirement를 갖는 관계를 생성합니다.
Subsystem이 Providing Operation 추가하는 방법:
Subsystem은 Operation을 가질 수 있습니다. Subsystem이 갖는 Operation을 추가하려면,
- Subsystem의 [Collection Editor...] 팝업 메뉴를 클릭해서
- Collection Editor의 Operations 탭에서 Operation을 추가합니다.
- 또는 Subsystem의 Quick Dialog에서 버튼을 클릭하여 Subsystem에 Operation을 추가합니다.
- 그러면 새로운 operation이 추가됩니다.
Class
의미:
클래스(Class)">클래스(Class)는 객체의 구조과 행위를 묘사하는 속성(Attribute)과 연산(Operation)의 집합을 선언하는 요소입니다. 그리고 클래스는 템플릿 파라미터(Template Parameter)를 가질 수 있습니다.
Class 생성하는 방법:
Class를 생성하려면,
- [Toolbox] -> [Class] -> [Class] 버튼을 클릭하고
- Main 윈도우창에서 Class가 위치할 곳을 클릭합니다.
- 새로운 class가 다이어그램상에 생성되고, 퀵다이얼로그가 나타납니다.
- 퀵다이얼로그에서 class의 이름을 입력하고 [Enter] 키를 누릅니다.
Attribute 추가하는 방법:
Class에 attribute를 추가하는 방법은 다음과 같이 3가지 방법이 있습니다.
- Quick Dialog를 이용
- Class 또는 Model Explorer의 팝업 메뉴 이용
- Collection Editor 이용
Quick Dialog를 이용하는 경우
- class를 더블클릭합니다.
- [Add Attribute] 버튼을 누릅니다.
Class 또는 Model Explorer의 팝업 메뉴 이용하는 경우
- main window 또는 model explorer에서 class를 선택합니다.
- 그리고 마우스 오른쪽 클릭을 통해서 [Add] -> [Attribute] 팝업 메뉴를 선택하여 attribute를 추가합니다.
Collection Editor 이용하는 경우에는
- Class의 [Collection Editor...] 팝업 메뉴를 선택합니다.
- 또는 Properties 윈도우의 Attributes의 편집 버튼을 통해서 Collection Editor를 열어서
Attributes 탭에서 버튼을 이용하여 Attribute를 입력할 수 있습니다.
Operation 추가하는 방법:
Class에 Operation를 추가하는 방법은 다음과 같이 3가지 방법이 있습니다.
- Quick Dialog를 이용
- Class 또는 Model Explorer의 팝업 메뉴 이용
- Collection Editor 이용
Quick Dialog를 이용하는 경우
- class를 더블클릭하면 퀵다이얼로그가 나타납니다.
- 퀵다이얼로그에서 [Add Operation] 버튼을 누르면 operation이 추가됩니다.
Class 또는 Model Explorer의 팝업 메뉴 이용하는 경우에는 Main 윈도우 또는 Model Explorer에서 Class를 선택하고 오른쪽 마우스 버튼을 눌러서 [Add] -> [Operation] 팝업 메뉴를 선택하여 Operation를 입력할 수 있습니다.
Collection Editor를 이용하는 경우에는,
- Class의 [Collection Editor...] 팝업 메뉴 또는 Properties 윈도우의 Operations의 콜랙션 편집 버튼을 통해서 Collection Editor를 열어서
- Operations탭에서 버튼을 이용하여 Operation를 입력할 수 있습니다.
Operation Parameter 추가하는 방법:
operation에 parameter를 추가하기 위해서는
- model explorer에서 operation을 선택하고 [Add] -> [Parameter] 팝업 메뉴를 선택합니다. 그러면 parameter가 추가됩니다.
- 또는 model explorer에서 [Collection Editor...] 팝업 메뉴를 선택하거나
- properties window에서 parameters의 버튼을 클릭합니다.
- 그리고 collection editor의 parameters 탭에서 버튼을 이용해서 operation parameter를 추가할 수 있습니다.
Operation에 Exception 추가하는 방법:
Class에 Operation Exception을 추가하려면 (이 과정을 수행하기 전에 signal이 반드시 존재해야합니다)
- properties window에서 raised signals 속성의 버튼을 클릭합니다.
- collection editor의 raised signal 탭에서 버튼을 클릭합니다.
- [Select a Signal] 다이얼로그가 나타나면 할당할 signal 또는 exception을 선택하고 [OK] 버튼을 누릅니다.
- 그러면 다음과 같이 operation에 exception이 추가됩니다.
Class간의 Attribute/Operation 이동하는 방법:
class의 attribute와 operation을 다른 class로 이동하려면,
- model explorer에서 attribute(또는 operation)을 클릭합니다.
- 선택된 요소를 다른 class로 드래그/드롭합니다.
- 그러면 다음과 같이 선택된 요소가 이동됩니다.
Class에 TemplateParameter 추가하는 방법:
Class에 TemplateParameter를 추가하는 방법은 다음과 같이 2가지 방법이 있습니다.
- Class 또는 Model Explorer의 팝업 메뉴 이용
- Collection Editor 이용
Main 윈도우 또는 Model Explorer에서 Class를 선택하고 오른쪽 마우스 버튼을 눌러서 [Add] -> [TemplateParameter] 팝업 메뉴를 선택하여 TemplateParameter를 입력할 수 있습니다.
Class의 [Collection Editor...] 팝업 메뉴 또는 Properties 윈도우의 TemplateParameters의 편집 버튼을 통해서 Collection Editor를 열어서 TemplateParameters 탭에서 버튼을 이용하여 TemplateParameter를 입력할 수 있습니다.
그러면 class에 새로운 template parameter가 추가되고 다음과 같이 class가 보여집니다.
Port 생성 방법:
Class에 Port를 생성하려면,
- [Toolbox] -> [Class] -> [Port] 버튼을 클릭하고 .
- Main 윈도우에서 Port가 위치할 Class를 클릭합니다.
Port 드래그를 통한 뷰 생성 방법:
Model Explorer로부터 드래그를 통하여 Port를 생성할 수 있습니다.
- model explorer에서 port를 드래그합니다.
- 그리고 diagram상의 class로 드롭합니다. 만약 Class가 아닌 Diagram 위로 드롭하면 Port와 함께 Class의 뷰가 생성됩니다.
- 그러면 다음과 같이 class가 port를 포함하게 됩니다.
Part 생성 방법:
Class에 Part를 생성하려면,
- [Toolbox] -> [Class] -> [Part] 버튼을 클릭하고
- Main 윈도우에서 Part가 위치할 Class를 클릭합니다.
Connector 생성 방법:
Connector를 생성하려면,
- [Toolbox] -> [Class] -> [Connector] 버튼을 클릭하고
- Main 윈도우에서 Part에서 연결할 Part로 마우스를 누르고 드래그하면 됩니다.
- 그러면 두개의 part 사이에 다음과 같이 connector가 생성됩니다.
Active Class로 설정하는 방법:
Active Class로 설정하려면,
- Properties의 IsActive 속성을 true로 설정합니다.
- active class로 변경되면 다음과 같이 class가 보여집니다.
Interface
의미:
인터페이스(Interface)">인터페이스(Interface)는 클래스에 의해 제공되는 서비스를 구성하는 연산들을 포함하는 요소입니다. 또한 연산들을 효과적인 그룹으로 나누고 그것들을 특징지을 수 있는 방법을 제공합니다. 인터페이스에서부터 객체가 생성될 수 없습니다.
Interface을 생성하는 방법:
Interface를 생성하려면,
- [Toolbox] -> [Class] -> [Interface] 버튼을 클릭하고
- Main 윈도우창에서 Interface가 위치할 곳을 클릭하면 퀵다이얼로그가 나타납니다.
- 퀵다이얼로그에서 interface의 이름을 입력하고 [Enter] 키를 누르면 다음과 같이 interface가 생성됩니다.
Interface Providing 관계 생성 방법:
Interface Providing 관계를 설정하려면,
- [Toolbox] -> [Class] -> [Realization] 버튼을 클릭하고
- Main 윈도우창에서 요소(Class, Port, Part, Package, Subsystem)를 선택하고 Interface로 마우스를 누르고 드래그하면 됩니다.
- 그러면 providing interface 관계가 다음과 같이 생성됩니다.
Interface Requiring 관계 생성 방법:
Interface Requiring 관계를 설정하려면,
- [Toolbox] -> [Class] -> [Dependency] 버튼을 클릭하고
- Main 윈도우창에서 요소(Class, Port, Part, Package, Subsystem)를 선택하고 Interface로 마우스를 누르고 드래그하면 됩니다.
- 그러면 requiring interface 관계가 다음과 같이 생성됩니다.
Enumeration
의미:
열거형(Enumeration)">열거형(Enumeration)은 미리 정의된 값들을 리스트로 가지는 데이터타입의 일종입니다. 열거형이 가지는 값들을 열거형 리터럴(Enumeration Literal)이라 부릅니다.
Enumeration 생성 방법:
Enumeration를 생성하려면,
- [Toolbox] -> [Class] -> [Enumeration] 버튼을 클릭하고
- Main 윈도우창에서 Enumeration이 위치할 곳을 클릭합니다.
Signal
의미:
시그널(Signal)은 객체간의 비동기적(asynchronous) 통신 신호에 대한 명세(specification) 입니다.
Signal 생성 방법:
Signal을 생성하려면,
- [Toolbox] -> [Class] -> [Signal] 버튼을 클릭하고
- Main 윈도우창에서 Signal이 위치할 곳을 클릭합니다.
Exception
의미:
예외(Exception)">예외(Exception)는 실행 오류시에 연산(Operation)에 의해 발생하는 시그널(Signal)입니다.</
Exception 생성 방법:
Procedure for creating exception
Exception을 생성하려면,
- [Toolbox] -> [Class] -> [Exception] 버튼을 클릭하고
- Main 윈도우창에서 Exception이 위치할 곳을 클릭합니다.
Association
의미:
연관(Association)">연관(Association)은 클래스류(Class, Interface, Enumeration, Signal, Exception, Component, Node, UseCase, Actor) 사이의 의미적 관계를 정의합니다.현재의 연관-끝(AssociationEnd) 방향의 포함관계를 의미합니다. (- NONE: 집합이 아님을 나타냄, - AGGREGATE: 집합을 나타냄, - COMPOSITE: 합성을 나타냄)
Association 생성 방법:
Procedure for creating association
Association를 생성하려면,
- [Toolbox] -> [Class] -> [Association] 버튼을 클릭하고
- Main 윈도우창에서 요소에서 연관할 요소로 마우스를 누르고 드래그하면 됩니다.
- 두개의 class사이에 새로운 association이 다음과 같이 생성됩니다.
Qualifier 추가하는 방법:
Association에 Qualifier를 추가하려면,
- association의 [Collection Editor...] 팝업 메뉴를 선택합니다.
- properties window에서 End.Qualifiers 속성의 버튼을 클릭합니다.
- collection editor의 qualifiers 탭에서 버튼을 클릭하여 qualifier를 추가합니다.
- 결과는 다음과 같습니다.
Class로부터 연관하는 여러개의 Class를 한꺼번에 생성하는 방법:
현재 class와 연관된 여러개의 class를 한꺼번에 생성하려면,
- class를 더블클릭하고, 다음과 같이 "--" 문자열 다음에 연관할 class의 이름을 입력하고 [Enter] 키를 누릅니다.
- 그러면 다음과 같이 연관된 class들이 생성되고 자동으로 정렬됩니다.
DirectedAssociation
DirectedAssociation 생성 방법:
Association 생성방법과 동일합니다.
- [Toolbox] -> [Class] -> [DirectedAssociation] 버튼을 클릭합니다.
- 두개의 요소사이에 화살표 방향으로 드래그합니다.
- 결과는 다음과 같습니다.
Association으로부터 DirectedAssocation으로 변경 방법: Procedure for changing association to directed association
Association을 생성하고 화살표 반대편쪽 assocation의 끝을 클릭하고 Quick Dialog의 Navigable의 체크를 취소하면 DirectedAssociation으로 변합니다.
Class로부터 DirectedAssociation 관계를 갖는 또다른 클래스 생성 방법:
현재 선택된 Class로부터 DirectedAssociation 관계를 갖는 요소를 만들려면 요소의 단축 생성 구문을 사용합니다.
- 요소를 더블 클릭해서 Quick Dialog가 나타나면, Quick Dialog에서 "->" 문자열 다음에 DirectedAssociation 관계를 갖는 다른 요소의 이름을 입력합니다. 여러개의 요소와 관계를 맺기 위해서는 각 요소 이름은 "," 문자로 구분해서 입력합니다.
- 그리고 [Enter]키를 누르면 선택된 클래스와 DirectedAssociation 연관 관계를 가지는 여러 요소들이 생성되고 자동 배열되어 생성됩니다.
Aggregation
Aggregation 생성 방법:
Aggregation를 생성하려면,
- [Toolbox] -> [Class] -> [Aggregation] 버튼을 클릭하고
- Main 윈도우창에서 포함되어지는 요소에서 포함하는 요소로 마우스를 누르고 드래그하면 됩니다.
- 결과는 다음과 같습니다.
선택된 Class에 Aggregate되어지는 Class들을 생성하는 방법:
현재 선택된 Class로부터 Aggregated 관계를 갖는 Class를 만들려면 단축 생성 구문을 사용합니다.
- Class를 더블 클릭해서 Quick Dialog가 나타나면, Quick Dialog에서 "<>-" 문자열 다음에 Aggregated 관계를 갖는 다른 Class의 이름을 입력합니다. 여러개의 요소와 관계를 맺기 위해서는 각 Class 이름은 "," 문자로 구분해서 입력합니다.
- 그리고 [Enter]키를 누르면 선택된 Class와 Aggregation 관계를 가지는 여러 Class들이 생성되고 자동 배열되어 생성됩니다.
Composition
Composition 생성 방법:
Procedure for creating composition
Composition를 생성하려면,
- [Toolbox] -> [Class] -> [Composition] 버튼을 클릭하고
- Main 윈도우창에서 포함되어지는 요소에서 포함하는 요소로 마우스를 누르고 드래그하면 됩니다.
- 그러면 두개의 class 사이에 새로운 composition 관계가 다음과 같이 생성됩니다.
선택된 Class에 Composed Class들을 생성하는 방법:
현재 선택된 Class로부터 Composed 관계를 갖는 Class를 만들려면 단축 생성 구문을 사용합니다.
- Class를 더블 클릭해서 Quick Dialog가 나타나면, Quick Dialog에서 "<*>-" 문자열 다음에 포함되는 다른 Class의 이름을 입력합니다. 여러 개의 Class를 포함하기 위해서 각 Class 이름은 "," 문자로 구분해서 입력합니다.
그리고 [Enter]키를 누르면 선택된 Class와 Composition 관계를 가지는 여러 Class들이 생성되고 자동 배열되어 생성됩니다.
Generalization
의미:
일반화(Generalization)">일반화(Generalization)는 더 일반적인 요소와 더 구체적인 요소를 연결하는 분류학적 관계입니다.
Generalization 생성 방법:
Generalization를 생성하려면,
- [Toolbox] -> [Class] -> [Generalization] 버튼을 클릭하고
- Main 윈도우창에서 자식 요소에서 부모 요소로 마우스를 누르고 드래그하면 됩니다.
- 그러면 새로운 generalization이 다음과 같이 생성되어집니다.
Class를 상속하는 여러개의 자식 Class 생성 방법:
현재 선택된 class로부터 한꺼번에 여러개의 자식 Class를 생성하려면,
- class를 더블클릭해서 퀵다이얼로그가 나타나면 다음과 같이 "<=" 문자열 다음에 하위 class 이름을 입력합니다. 각 class들은 ","로 구분합니다.
- 자식 class들이 선택된 class 아래에 생성되고 정렬됩니다.
여러개의 부모 Class를 한꺼번에 생성하는 방법:
한꺼번에 여러개의 부모 Class를 생성하기 위해서는 단축생성 구문을 사용합니다.
- 퀵다이얼로그에서 다음과 같이 입력합니다.
- 그러면 선택된 class 위에 부모 class들이 생성되고 자동으로 정렬됩니다.
Dependency
의미:
의존관계(Dependency)">의존관계(Dependency)는 어떤 요소의 구현이나 기능을 위해 다른 요소의 존재가 요구 되어지는 의존적인 관계를 의미합니다.
Dependency 생성 방법:
Dependency를 생성하려면,
- [Toolbox] -> [Class] -> [Dependency] 버튼을 클릭하고
- Main 윈도우창에서 요소가 의존하는 다른 요소 방향으로 마우스를 누르고 드래그하면 됩니다.
- 그러면 두개의 요소사이에 dependency가 생성됩니다.
요소로부터 의존하는 다른 요소 생성 방법:
그리고 [Enter]키를 누르면 선택된 요소가 의존 관계를 가지는 여러 요소들이 생성되고 자동 배열되어 생성됩니다.
- 요소를 더블 클릭해서 Quick Dialog가 나타나면, Quick Dialog에서 "-->" 문자열 다음에 의존하는 다른 요소의 이름을 입력합니다. 여러개의 요소에 대해서 의존한다면 각 요소 이름은 "," 문자로 구분해서 입력합니다.
- 현재 선택된 요소로부터 의존 관계를 갖는 다른 요소를 만들려면 단축 생성 구문을 사용합니다.
Realization
의미:
실체화(Realization)">실체화(Realization)는 명세(specification) 요소와 그것을 구현하는(implementation) 요소의 실체화 관계를 정의합니다. 주로 인터페이스(Interface)와 그것을 구현하는 요소(클래스, 컴포넌트 등)를 연결하는데 사용합니다.
Realization 생성 방법:
Realization를 생성하려면,
- [Toolbox] -> [Class] -> [Realization] 버튼을 클릭하고
- Main 윈도우창에서 요소가 Realize의 부모 요소 방향으로 마우스를 누르고 드래그하면 됩니다.
- 결과는 다음과 같습니다.
요소로부터 실체화할 다른 요소 생성 방법:
현재 선택된 요소로부터 Realization 관계를 갖는 다른 요소를 만들려면 단축 생성 구문을 사용합니다.
- 요소를 더블 클릭해서 Quick Dialog가 나타나면, Quick Dialog에서 "-@" 문자열 다음에 Realization 대상이 되는 요소의 이름을 입력합니다. 여러개의 요소에 대해서 의존한다면 각 요소 이름은 "," 문자로 구분해서 입력합니다.
- 그리고 [Enter]키를 누르면 선택된 요소가 Realization 관계를 가지는 여러 요소들이 생성되고 자동 배열되어 생성됩니다.
AssociationClass
의미:
연관클래스(AssociationClass)">연관클래스(AssociationClass)는 클래스(Class)와 연관(Association)을 연결하여 연관자체가 클래스의 의미도 가질 수 있도록 하는 연결 고리 역할을 합니다.
AssociationClass 생성 방법:
AssociationClass를 생성하려면,
- [Toolbox] -> [Class] -> [AssociationClass] 버튼을 클릭하고
- Main 윈도우에서 Association에서 AssociationClass가 되는 Class 방향으로 마우스를 누르고 드래그하면 됩니다.
- 결과는 다음과 같습니다.
Object
의미:
객체(Object)는 특정 클래스의 인스턴스(instance) 입니다.
Object 생성 방법:
Procedure for creating object
Object를 생성하려면,
- [Toolbox] -> [Class] -> [Object] 버튼을 클릭하고
- Main 윈도우창에서 Object가 위치할 곳을 클릭합니다.
Object에 AttributeLink 추가 방법:
Object에 AttributeLink를 추가하는 방법은 다음과 같이 2가지 방법이 있습니다.
- Object 또는 Model Explorer의 팝업 메뉴 이용
- Collection Editor 이용
Object 또는 Model Explorer의 팝업 메뉴 이용하는 경우에는 Main 윈도우 또는 Model Explorer에서 Object를 선택하고 오른쪽 마우스 버튼을 눌러서 [Add] -> [Attribute Link] 팝업 메뉴를 선택하여 Attribute Link를 추가할 수 있습니다.
Collection Editor 이용하는 경우에는 Object의 [Collection Editor...] 팝업 메뉴 또는 Properties 윈도우의 Slots의 편집 버튼을 통해서 Collection Editor를 열어서 Slots 탭에서 버튼을 이용하여 Attribute Link를 입력할 수 있습니다.
Link
의미:
링크(Link)는 객체사이의 연결(connection)입니다.
Link 생성 방법:
Link를 생성하려면,
- [Toolbox] -> [Class] -> [Link] 버튼을 클릭하고
- Main 윈도우창에서 Link할 Object에서 다른 Object 방향으로 마우스를 누르고 드래그하면 됩니다.
- 결과는 다음과 같습니다.
Relationship
연결 끝을 변경하는 방법:
관계들이 연결된 요소를 다른 요소로 연결하려면
- 관계의 끝점을 드래그합니다.
- 그리고 연결하려는 다른 요소로 드롭합니다.
- 그러면 연결의 끝이 변경됩니다.
'UML' 카테고리의 다른 글
6. Activity 다이어그램 모델링 (0) | 2016.07.11 |
---|---|
5. Statechart 다이어그램 모델링하기 (0) | 2016.07.11 |
4. Collaboration 다이어그램 모델링하기 (0) | 2016.07.11 |
3. Sequence 다이어그램 모델링하기 (0) | 2016.07.11 |
1. UseCase 다이어그램 모델링하기 (0) | 2016.07.11 |