달력

122025  이전 다음

  • 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
  • 31

'UML'에 해당되는 글 6건

  1. 2014.03.18 상속과 일반화
  2. 2014.03.17 UML 관계(연관 )
  3. 2014.03.17 객체 지향 개념 적용 II
  4. 2014.03.17 객체지향 개념 적용 I
  5. 2014.03.16 객체지향을 이루는 몇가지 개념
  6. 2014.03.16 다이어그램

상속과 일반화

UML 2014. 3. 18. 10:44


*상속(일반화)

객체지향에서의 상속 개념을 UML에서는 일반화 라고 한다.


*추상클래스


-Player와 Colock은 모델상에서 구체적인 인스턴스를 만들기 위해 낸 클래스는 아니다. Player에서 만든 객체는 아무런 목적이 없기 때문에 쓸모없다. Player와 Clock 같은 클래스(객체를 제공하지 않는)는 추상 클래스라고 한다.

*의존관계

-한 클래스가 다른 클래스를 사용하는 관계이다.


'UML' 카테고리의 다른 글

UML 관계(연관 )  (0) 2014.03.17
객체 지향 개념 적용 II  (0) 2014.03.17
객체지향 개념 적용 I  (0) 2014.03.17
객체지향을 이루는 몇가지 개념  (0) 2014.03.16
다이어그램  (0) 2014.03.16
Posted by 레이드리안
|

UML 관계(연관 )

UML 2014. 3. 17. 12:04


*연관

-한 클래스가 다른 클래스와 연관되면, 각각은 해당 연관 관계 내에서 역할을 가진다.

클래스 옆(연결선)에다가 원하는 역할을 써줌으로써 연관 관계 내에서의 역활을 표시할 수 있다.

-하나의 연관 관계에서 각각의 클래스는 역할을 가지고 있다. 이 역할을 다이어그램에             나타낼 수 있다.

-같은 다이어그램에서 클래스 사이에 두 개의 연관이 나타나 있을 수도 있다.

-여러 개의 클래스가 하나의 클래스와 연관될수 있다.


*연관에 대한 제약

-두 클래스 사이의 연관 관계가 어떠한 규칙을 따라야 할 경우가 있다. 이 규칙을 덧붙일 수 있는데, 제약을 연결선 부근에 쓰면 된다.

은행업무에서 은행원은 고객의 업무를 도와주지만, 창구에서 뽑은 순서에 따라서 은행업무를 도와준다.

⊙두개의 연관이 가지는 or 관계도 제약이다.

*연관 클래스

-연관은 클래스와 같이 속성과 오퍼레이션을 가질 수 있다. 속성과 오퍼레이션을 가진 연관은 연관 클래스 로 부른다.

연관 클래스는 Contract이며, 이 연관 클래스는 General Manager 클래스와도 연관 되어있다.

*링크

-객체가 클래스의 인스턴스인 것처럼 연관도 자신의 인스턴스를 가질수 있다.

어떤 특정한 선수가 특정한 팀에 소속되어 있는 관계를 생각하면, 이때의 Play On 연관 관계를 링크(LINK)라고 부른다.

*다중성

지금까지 Player와 Team은 1:1 관계 였다. 상식적으로 생각해볼때 농구팀이라 한다면, 다섯명의 선수가 한팀이기 때문에 선수 입장에서 보면 한개의 팀에 연관되어 있지만, 팀의 입장에서는 다섯 명의 선수와 연관되어 있다.




'UML' 카테고리의 다른 글

상속과 일반화  (0) 2014.03.18
객체 지향 개념 적용 II  (0) 2014.03.17
객체지향 개념 적용 I  (0) 2014.03.17
객체지향을 이루는 몇가지 개념  (0) 2014.03.16
다이어그램  (0) 2014.03.16
Posted by 레이드리안
|

객체 지향 개념 적용 II

UML 2014. 3. 17. 07:27

* 실용적인 클래스 표기

한번에 두개 이상의 클래스를 사용할 경우가 많기 때문에 속성과 오퍼레이션을 일일이 적기에는 상당히 번거롭고 유용하지않다. 그대신 클래스 이름만 적고 속성 영역 또는 오퍼레이션 영역을 비워 두어도 지장이 없다면 그래도 상관없다.

-속성과 오퍼레이션을 전부 쓰지않는것을 클래스를 생략한다라고 한다(리스트를 전체 표시하지 않은것으로 ...(세개의 점)을 찍는다.

-클래스가 가진 속성과 오퍼레이션의 리스트 길이가 길 경우, 스테레오타입을 사용하여 리스트를 쉬운형태로 구분지어도 된다.

* 책임과 제약

-클래스 아이코네서 오퍼레이션이 위치한 영역의 아래에다가 클래스의 책임을 적어준다. 책임을 적어주는 목적은 클래스에 대한 정보를 명확하게 하기 위해서이다.

- 제약은 중괄호({}) 안에 자유 형식의 텍스트가 들어가 있는 형태로, 클래스가 따라야하는 규칙을 붙여줄때 사용.

*노트 붙이기

-속성, 오퍼레이션, 책임, 제약 이외에도 클래스에 추가적인 정보를 덧붙일 수 있는 수단이 노트 이다. 대게 노트는 속성 이나 오퍼레이션에 붙인다.

'UML' 카테고리의 다른 글

상속과 일반화  (0) 2014.03.18
UML 관계(연관 )  (0) 2014.03.17
객체지향 개념 적용 I  (0) 2014.03.17
객체지향을 이루는 몇가지 개념  (0) 2014.03.16
다이어그램  (0) 2014.03.16
Posted by 레이드리안
|

객체지향 개념 적용 I

UML 2014. 3. 17. 01:55

* UML 클래스 아이콘


클래스를 UML로 나타낼때는 사각형 안에 이름을 적어 넣는다.

이때 클래스의 이름은 첫자를 대문자로 두고, 사각형의 상단에 두는 것이 상례이다.

클래스 이름이 두 단어로 되어 있다면 두 단어를 붙여쓰고 둘째단어의 첫자도 대문자로 쓴다.


* UML패키지

패키지는 UML에서 다이어그램 요소를 그룹으로 묶을 때 사용하는 것이며, 탭이 달린 폴더안에 텍스트 이름을 적어 넣는 것으로 나타낸다.


*경로 이름(Path Name)을 가진 클래스

ComputerGame 클래스가 Game이라는 패키지에 속해있다면, Game::ComputerGame을 붙여준다. :: 을 중심으로 왼쪽은 패키지이름 오른쪽은 클래스 이름 으로적어준다.


*클래스 이름과 속성

속성이란 '클래스'에 속한 특성에 이름을 붙인 것으로 이것이 가질수 있는 값의 범위를 설정한다. 클래스는 0개이상의 속성을 가질수 있다. 속성 이름은 소문자를 쓰는게 보통이며, 두단어 이상으로 되어있을 경우, 둘째 단어부터 첫문자를 대문자로 쓴다.

클래스 아이콘에 속성을 적을경우 클래스 이름에 한줄을 그어 구분 지은후 그줄의 아래부터 시작한다.

속성의 값이 될수 있는 타입을 같이 써 줌으로써 속성에 추가적인 정보를 붙있수 있다.


*오퍼레이션

-오퍼레이션이란 객체에 요청할 수 있는 행동을 말한다.  오퍼레이션 리스트는 속성  리스트가 위치한 구역의 아랫부분에 위치시킨다.

*오퍼레이션 시그너처

-속성에 정보를 붙여줄 수 있는 것처럼, 오퍼레이션에도 추가적인 정보를 붙여줄 수 있다. 오퍼레이션 이름 뒤에 따라오는 괄호 안에 매개변수 리스트를 넣어줄수 있는데, 하나의 매개변수는 "이름:타입" 형태를 가진다.

클래스 아이콘 에서 함수를 나타내려면 오퍼레이션 괄호 뒤에다가 콜론을 찍고 반환값과 타입을 적으면 된다.



'UML' 카테고리의 다른 글

상속과 일반화  (0) 2014.03.18
UML 관계(연관 )  (0) 2014.03.17
객체 지향 개념 적용 II  (0) 2014.03.17
객체지향을 이루는 몇가지 개념  (0) 2014.03.16
다이어그램  (0) 2014.03.16
Posted by 레이드리안
|

*추상화 (Abstraction)

-실세계에 존재하는 객체들을 프로그램으로 변환하기 위해 객체들의 공통된 특성을  파악하고 불필요한 특성들은 제거하는 과정을 거치는것.




*상속(Inheritance)

-하나의 객체는 클래스의 인스턴스로 그 클래스의 모든 특성을 이어 받는것.


-상속은 항상 IS A 관계가 성립한다.

   Dog is a Animal.

기존의 작성되어있는 클래스를 상속해주는 클래스를 슈퍼클래스(Super Class), 부모클래스(Parent Class), 베이스클래스(Base Class)라고 부르며, 이 클래스를 의 기능을 가져다 쓰는 클래스를 서브클래스(Sub Class), 자식클래스(Child Class), 파생클래스(Derived Class)라고 부른다.


*다형성(Polymorphism)

-Poly란 많다는걸 의미하고, morph는 형태를 의미한다. 객체지향에서 다형성은 크게 오버라이딩(Overriding)과 오버로딩(Overloading)를 말한다

오버라이딩은 상속과 연관되어 있는 부모 클래스에서 정의된 메소드릐 기능을 확장, 재정의 하는것

오벌딩은 같은 이름의 다양한 파라메터 리스트를 가진 메소드들을 정의하여 여러 형태의 메세지를 단일 행위 처리 할수 있도록 하는것

구  분

오버 로딩 

오버 라이딩 

의  미 

다중 정의 

재 정의 

정의 규칙 

-같은 메소드명

-다른 파라메터형식

-같은 메소드명

-같은 파라메터형식 

적  용 

 여러 형태의 메시지 처리를 위한 

단일 행위 구현

부모 클래스의 메소드를 재정의 


*캡슐화(Encapsulation)

-캡슐화를 통해 블랙박스 함수를 구현할 수 있다.

-블랙박스 함수 란 사용하는 사람이 코드가 어떻게 동작되는지 알필요가 없고, 단지 함수를 어떻게 호출하고 어떤 결과를 얻게 되는지만 알면됨.


-사용자는 TV를 보기 위해 리모컨으로 TV를켜고 TV에서는 어떻게 영상이 어떤 방식으로 구동되는지 몰라도 시청이가능하다.


'UML' 카테고리의 다른 글

상속과 일반화  (0) 2014.03.18
UML 관계(연관 )  (0) 2014.03.17
객체 지향 개념 적용 II  (0) 2014.03.17
객체지향 개념 적용 I  (0) 2014.03.17
다이어그램  (0) 2014.03.16
Posted by 레이드리안
|

다이어그램

UML 2014. 3. 16. 05:53

*클래스 다이어그램

-속성(Attribute) 와  오퍼레이션(Operation)의 집합.

             <UML 클래스 아이콘>

*객체 다이어그램

             <UML 객체 아이콘>


*유스 케이스 다이어그램


         <UML 유스 케이스 다이어그램>


*상태 다이어그램 

<UML 상태 다이어그램>

*UML 시퀀스 다이어 그램



1. 물 입수관을 통해 드럼으로 들어간다.

2. 드럼은 5분 동안 정지된 상태를 유지한다.

3. 물이 들어가다 멈춘다

4. 드럼이 앞뒤로 5분간 회전한다.

5. 세제와 때가 섞인 물이 배수관을 통해 나온다

6. 물이 다시 들어간다.

7. 드럼은 계속 앞뒤로 회전한다

8. 물이 들어가다 멈춘다

9. 헹굼 물이 배수관을 통해 나온다.

10. 드럼이 한방향으로 회전하기 시작하면서 5분간 가속한다.

11.드럼의 회전이 멈추고, 세탁이 종료된다.

*활동 다이어그램

-유스 케이스 내부 혹은 객체의 동작 중에 발생하는 활동(Activity)은 대게 시퀀스 내에서 발견 할수 있다. 위의 활동다이어그램은 앞의 시퀀스 11단계중 4-6단계를 활동다이어 그램으로   바꾼것.

*협력 다이어 그램

-하나의 시스템을 구성하는 요소들은 다른 요소들과 손발을 맞추며 시스템 전체의 목적을 이루어 나간다. 위의 협력 다이어그램에서와 같이 세탁기를 구성하는 클래스에 내부 타이머를 부착하여, 일정시간이 흐르고 나면 타이머에 의해 물의 흐름을 중지시키고 드럼을 앞뒤로 회전하게 한다.

*컴포넌트 다이어그램 

<UML 컴포넌트 다이어그램>


*배치 다이어그램


-배치(deployment) 다이어그램은 컴퓨터를 기반으로 하는 시스템의 물리 구조를 나타낸 그림이다. 이 다이어그램은 컴퓨터와 부가장치, 그리고 각각의 연결 관계 뿐만 아니라 각각의 기계에 설치된 소프트 웨어까지 표시한다.

*패키지

-다이어그램을 하나의 그룹으로 묶을때 사용


*노트

다이어 그램의 용도(작동) 설명







'UML' 카테고리의 다른 글

상속과 일반화  (0) 2014.03.18
UML 관계(연관 )  (0) 2014.03.17
객체 지향 개념 적용 II  (0) 2014.03.17
객체지향 개념 적용 I  (0) 2014.03.17
객체지향을 이루는 몇가지 개념  (0) 2014.03.16
Posted by 레이드리안
|