• 검색 결과가 없습니다.

객체지향 상세 모델링

N/A
N/A
Protected

Academic year: 2022

Share "객체지향 상세 모델링 "

Copied!
21
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

객체지향 상세 모델링

(2)

UML:객체도

UML:관련

관련의 역할

집중화

다형성

Modeling

(3)

객체도에서 「사각형은 객체」, 「선은 객체사이에 존재하는 링크 (link)」를 표시

객체를 표시하는 사각형의 내부에는, 「객체명:클래스명」과 「속성명 :“속성값”」을 표현

링크란 객체사이의 안면이 있는 관계

선으로 연결되지 않은 객체사이에는 링크는 없음

객체로부터 클래스가 정의 될 수 있는 것처럼, 링크로부터 클래스사 이의 관련을 정의

UML:객체도

(4)

중앙도서관 : 도서관

이름 = “중앙도서관”

소재지 = “…"

COMPONENT SOFTWARE : 책

저자 = “M.Shaw”

도서명 = “COMPONENT SOFTWARE”

출판사 = “Addison.Wesley”

출판년도 = “1998”

Analysis Patterns : 책

저자 = “M.Flowler”

도서명 = “Analysis Patterns”

출판사 = “Addison-Wesley”

출판년도 = “1997”

객체

객체

객체 링크

(5)

클래스도에 있어서, 삼각형이 붙지 않은 선은 관련(association)을 표시

관련에는 그 관련의 링크의 의미가 분명하게 되도록 명명

「관리한다」, 「고용한다」등과 같은 동사형의 이름

그 동사의 주어와 목적어의 방향이 ▶(쐐기형)으로 표시

도서관이 책을 「관리한다」는 성립해도, 책이 도서관을 「관리한다」

라는 일은 없으므로 그림에서는 「책」쪽으로 ▶가 표현

UML:관련

(6)

관련명의 표현

매니저 1..* 종업원

1..*

관리된다

평가한다 관리한다

(7)

관련에 이름을 붙이는 것이 곤란한 경우

뒤부터 설명하는데, 객체지향 모델링에서는 관련을 클래스로서 정 의

그 관련클래스의 원래의 두개의 클래스 사이에 정의된 관련에 어떤 이름을 붙일 수 있을까?

두개의 클래스 사이의 관련을 식별하는 방법으로서는 역할(role)을 정의하는 방법

관련명을 붙이는 것이 곤란한 경우에는, 이 방법으로 클래스도내의 개개의 관련을 식별

(8)

계약과 인격에 두개의 관련이 정의

인격클래스에 「계약명의자」와 「이용자」라는 두 종류의 역할

이 두개의 역할을 하나의 인격객체가 담당하는 경우도 있고, 두개의 인격객체가 각 역할을 맡는 경우도 있음

관련에는 다중도(multiplicity)가 표현

다중도는 객체 사이에 결합되는 링크의 수를 표현한 것으로, 관련을 표시하는 선의 양쪽에 「m..n」(단, m,n은 정수값 또는 *)이라는 문 자열, 또는 「3,4」등의 수치의 열거로 표현

(9)

관련의 역할

규 약

계 약 전화국

서비스 0..*

제공자

계약명의자 0..*

0..* 이용자

0..*

관련의 역할 관련의

역할

인격

(10)

클래스A와 클래스B를 묶는 관련의 클래스B측에 「0..*」이라는 다중 도의 정의

이것은 클래스A의 하나의 객체에서 보면, 클래스B의 객체가 링크되 어 있지 않는 경우도 있고, 여러개가 링크되는 경우도 있음을 표현

클래스A측에는 표기가 없으므로 다중도는 디폴트 값인 1

클래스B의 객체에서 보면 반드시 하나의 클래스A객체가 링크

클래스A의 하나의 객체는 하나 이상의 클래스B의 객체와 링크

(11)

A B A B

(a) (b)

a

b a b

a b

b a b

b b b a

b b a

b a

만일 B클래스의 객체가 존재한다면

가능한 최소값

가능한 최대값

? .

? .

? .

0..* 0..* 1..*

(12)

「자동차와 타이어」, 「분자와 원자」등의 부분 전체를 표현하는 특별 한 관련은 집중화(aggregation)

두종류의 집중화

하나는, 집중화객체(예를 들면, 자동차)가 소멸되어도 집중화되어 있는 개개의 객체(예를 들면, 타이어)가 소멸되지 않음

자동차의 경우에는, 페차가 되어도 타이어를 재이용하는 것이 가능

다른 집중화는, 집중화 객체가 소멸되면 집중화되어 있는 객체도 모 두 소멸되는 것

집중화

(13)

나비는 종류에 따라 서식지가 다르기 때문에 좋아하는 꽃도 다르지 만, 어떤 나비이든 「꿀을 빤다」라고 하는 조작

객체지향에서는 이와 같은 특징을 표현하기 위하여 다형성(多形性, polymorphism)이라는 개념을 사용

다형성이란 「동일한 이름으로 지시된 조작(operation)이 개개의 객 체에 의하여 여러 모양을 가지고 있음을 표시」

다형성

(14)
(15)

Modeling

(16)
(17)
(18)
(19)
(20)
(21)

UML의 객체도 표현 방법을 설명하시오.

UML의 관련은 무엇이며 어떤 기능을 하는지 설명하시오.

관련의 역할에 대하여 설명하시오.

집중화란 무엇인가?

다형성에 대한 예를 들어 설명하시오.

연습문제

참조

관련 문서

좌석, 짐칸 등 위치에 따라 타고 있는 사람들 또는 화물에 작용하는 외력이 전혀 다르기 때문이다. 또한 주행하는 노면에 따라

이와 같은 프로세스를 통하여 최상위계층과 하위계층과의 격차가 증대. 이와 같은 프로세스를 통하여 최상위계층과

프레지 상세 둘러보기...

트리(일반 트리) 중에서 자식 노드의 수가 2개 이하인 것을 이진 트리(binary tree)라고 한다.. 일반 트리는 앞에서 보았듯이 컴퓨터에

§ 즉, 작품 안에서, 인물이 각각의 상황에 따라 어떤 반응을 하는 지 또는 어떻게 말하는 지에 따라 보여짐. 인간의 행동은

Ÿ 지역별: 지역별로 서로 다르기 때문에 경제재개 시기와 정책이 차별화 될 수 있음을 보여주는 동시에, 일부정책의 경우 지역을 넘어서 연계되어 있기 때문에

특히 오토마타의 갖가지 독창적인 움직임을 표현하기 위해서는 캠, 크랭크, 기어와 같은 기계요소를 어떤 모양과 순서로 만드는지에 따라 다양한 오토마타를 완성할

3학년 때 동물에 대 하여 특징을 구체적으로 학습하기 때문에, 이 특징을 이용하여 동물 관련 보드게임을 간단하게 제작해봄으로써