• 검색 결과가 없습니다.

객체지향 분석 설계의 기본 개념

N/A
N/A
Protected

Academic year: 2022

Share "객체지향 분석 설계의 기본 개념 "

Copied!
22
0
0

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

전체 글

(1)

객체지향 분석 설계의 기본 개념

(2)

 구조적 분석법과의 차이점

 객체지향분석설계의 접근방법의 차이점

 주요 객체지향 모델링 방법

 방법론의 공통점과 차이점

2

(3)

 구조적 분석 설계에서는 프로세스의 호출과 그 사이의 데이터흐름을 중심으로 분석을 한 후

 실제 구현하기 위하여 모듈구조설계, 모듈사양서를 작성

 객체지향 분석 설계는 구조적 분석 설계와 달리, 기본 데이터로 객 체(object)를 중심으로 하여 똑같은 관점으로 분석 설계를 수행

 객체지향 분석 설계에서는 일단 시스템에서 취급해야 될 객체를 추 출하게 되면 그것을 가지고 객체를 구조, 기능, 동작의 3가지 측면으 로 다루어 나선형(spiral)적으로 그들의 내용을 반복해서 구체화

구조적 분석법과의 차이점

(4)

분석설계의 작업순서와 분석과 설계 사이에 시점의 변환

이벤트추적도 Petri-Net

데이터흐름도 프로세스사양서

데이터구조도

ER도

모듈구조도

모듈사양도

상태천이도 구조적분석의 다큐먼트류 관점의 변환구조적설계의 다큐먼트

데이터사전 동작설계

(5)

 객체지향분석설계의 작업순서

객체지향분석설계의 접근방법의 차이점

객체사이의 상호작용 (메시지 교환등)

객체 a

객체 r

객체 s 객체 p

배후에 있는 객체의 정적인 클래스구조 객체 내부의 행동

(메시지 도착등에 의하여 기동되는 독자의 내부동작열)

클래스 A

클래스C 클래스 B

(6)

 정적인 클래스구조, 객체사이의 상호작용, 객체내부의 행동 (behavior)들을 표시

 이와 같은 특징 때문에 객체지향 분석 설계에서는 명확히 분석 작업 과 설계 작업을 분리하는 것이 어려움

 구조적 분석과 객체지향 분석 설계에서는 분석의 출발점이 전자는 프로세스의 도출을 중심으로 한 데이터흐름도이며

 후자는 클래스구조도(class structure diagram)라는 차이는 있으나 작성하는 다큐먼트류에 대해서는 유사함

(7)

구조적분석과 객체지향분석의 대응관계

데이터흐름도

상호작용도 행동도 클래스구조도

상태천이도 ER도

구조적분석의 다큐먼트류 객체지향 분석설계의 다큐먼트류

• 객체지향 분석 설계에 있어서 클래스구조도는 ER(entity-relationship)다이어그램을 확장한 표기법을 사용하여 기술되며

• 행동도(behavior diagrams)는 통상적으로 상태천이도(state transition diagram)를 사용하여 기술

(8)

구조적분석 접근방법 개념

각각의 모듈의 자세한 동작을 결정한다.

데이터3 데이터n 프로세스n

데이터n

데이터3

데이터2 데이터1

프로세스2

프로세스1 프로세스n

프로세스3 프로세스와 데이터 추출

데이터2 데이터1

프로세스1 프로세스3

프로세스1

프로세스n

프로세스n 데이터구조를 결정한다.

새로운 프로세스를 추가하면, 직접 모듈까지 영향을 준다.

1

2

4

모듈구조를 결정한다.

3

(9)

객체지향분석설계 접근방법의 개념

속성c 객체1

객체2

객체n

객체m 객체3

속성a 속성b

1 객체와 속성의 추출

새로운 조작을 추가하여도 클래스내에서 변 경을 흡수하는 것이 많다. 단, 추가에 따라서 클래스구조의 변경이 있는 경우에는 영향이 커지게 된다.(따라서, 클래스구조를 어떻게 결정할까가 커다란 의미를 갖는다.)

클래스1

클래스2 클래스p

2 클래스구조를 결정한다

객체 독자의 내부조작의 추가 객체사이에서의 메시지 교환의 추가 3

4 조작1

조작2 조작3

조작p

(10)

① Coad/Yourdon법

 소프트웨어 개발방법론으로 유명한 Yourdon에 의해여 고안된 설계 방법론

 사고법, 표기방법이 가장 간결하며 초보자 지향형이라 할 수 있다.

② Booch법

 Booch에 의해 고안된 설계방법론으로, 다큐먼트 작성에 있어서 관 점을 자세하게 규정하고 있으며 객체지향의 특징을 어떻게 설계공정 에 반영시킬까를 일관된 생각으로 관철

 단 C++등의 프로그래밍언어에의 구현을 너무 의식한 면도 있으나 객체지향의 초보자에게는 적합하지 않음

주요 객체지향 모델링 방법

(11)

③ OMT법

 Rumbaugh에 의하여 고안된 설계방법론으로, 설계의 관점이 객체 모델(object model : 객체, 클래스, 계층 그리고 관계들을 표현), 동 적모델(dynamic model : 객체와 시스템 행위의 표현), 기능모델 (functional model : 시스템에서의 정보의 흐름에 대한 고수준의 DFD와 비슷한 표현)의 3가지로 표현

 초보자로부터 베테랑까지 이용할 수 있는 방법론

 해설서의 수나 방법론의 컨설팅서비스, CASE와의 연동도 충실하며 가장 형평성이 좋은 방법론

(12)

④ UML법

 Booch법과 OMT법을 하나로 합한 방법론으로 분산객체(distributed objects)의 표준화와 유통단체인 CORBA(Common Object

Request Broker Architecture)의 표준 분석설계방법으로서 채용

(13)

 객체지향분석설계에서는 구조, 기능, 동작의 3가지 측면에 대응하는 클래스구조도(class structure diagram), 상호작용도(interaction

diagrams), 행위도(behavior diagrams)

 클래스 구조도를 제외한 상호작용도와 행동도에 대해서는 어느 것을 먼저 기술하여도 됨

 어떻게 하든 우선 객체지향 분석에서는 클래스를 기술하는 작업이 출발점

 이것은 클래스구조가 정해지지 않는 한 여러 클래스에 속하는 객체 사이에서의 상호작용이나 객체 내에서의 상태천이(state transition) 를 정하는 것은 의미가 없기 때문임

방법론의 공통점과 차이점

(14)

객체지향분석설계의 일반적인 순서

상호작용도(객체도) 클래스구조도

행동도(상태천이도)

(15)

방 법 론 명 주요 다큐먼트 기 술 내 용

Coad/Yourdon 클래스도 상태천이도

ER다이어그램을 확장한 클래스구조 클래스사이, 클래스 내에서의 상태천이도

OMT

객체모델도 기능모델도 동적모델도

클래스와 클래스 사이의 관련 데이터흐름도(DFD)

상태천이도(STD)(그리고 이벤트 추적도)

UML

클래스도 객체도 시퀀스도 협조도 상태도 액티비티도

클래스 및 클래스 사이의 관련 어느 시점에서의 인스턴스 열거도 메시지의 이벤트 추적도

객체사이의 메시지 교신도 상태천이도

데이터흐름도

(16)

 ER모델을 확장하여 클래스도와 상태천이도를 사용하여 시스템의 구 조와 동작을 표현

 방법론으로서는 가장 빨리 개발된 것으로, 클래스도는 ER다이어그 램의 생각과 공통된 점이 많음

 또한 분석 작업에서 작성하는 다큐먼트

Coad/Yourdon 표기

다 큐 먼 트 기 술 내 용

①클래스도

②상태천이도

ER도를 확장한 클래스구조

클래스사이, 클래스 내에서의 상태천이도

(17)

 객체를 네 귀퉁이가 둥그스레한 점선으로 된 사각형으로, 클래스를 실선으로 표현

 인스턴스(instance)로서의 객체를 생성할 수 있으므로 인스턴스를 생성할 수 있는 클래스 기술

 클래스가 가지는 속성명과 메소드는 기술영역을 나누어 사각 내에 함께 기입

 Coad/Yourdon법에서는 객체가 가지는 메소드를 서비스라 함

클래스의 표기규칙

(18)

 Coad/Yourdon법에 의한 클래스와 객체의 표기

(19)

 일반화(generalization)-특수화(specification)관련(association),전 체(whole)-부분(part)관련 구조표현

 일반화-특수화관련은 개념적으로 상위-하위의 관련을, 또 전체-부 분관련은 부분(서브)클래스에서 표시하는 객체가 전체클래스에서 표시하는 객체의 구성요소임을 의미

 전체클래스와 부분클래스의 관련도에서는 ER다이어그램과 똑같이 결합도가 기입

(20)

 Coad/Yourdon법에 의한 관련의 표기규칙

일반화클래스 전체클래스

특수화클래스2

특수화클래스1 부분클래스1 부분클래스2

<<일반화-특수화관련>> <<전체-부분관련>>

0, m 0, m

1 1

(21)

 클래스와 객체사이의 관련 및 결합도를 표시하는 “인스턴스결합”

 클래스A의 객체 하나에 대하여 클래스B의 객체가 반드시 하나가 결 합되고, 거꾸로 클래스B의 객체 하나에 대하여 클래스A의 객체가 최저 0개, 최대 n개 결합됨을 표시

클래스B 클래스A

<<인스턴스 결합>>

1 0, m

관련과 결합도

(22)

분석 설계는 개발과정에서 어떠한 의미를 갖는가?

객체지향분석설계의 접근방법의 차이점은 무엇인가?

주요 객체지향 모델링 방법을 자세히 설명하시오.

방법론의 공통점과 차이점을 설명하시오.

연습문제

참조

관련 문서

 다음은 객체를 생성하고 동적메모리를 객 체에 할당하며 할당된 메모리를 지우는 프

 클래스계층 공유어프로치에서는, 부모(parent)클래스에 정의되어 있는 정보의 조작은 자식(child)클래스에서 정의되지 않고, 정의되지 않은 나머지 것만을

프로토타이핑 시범적으로 시스템을 구현 요구에 대한 빠른 피드백 사용사례 분석 시스템 외부 기능 파악 체계적 요구 구성. 사용사례 분석

현재 실행되는 멤버 함수는 paint -&gt; paint를 소유하는 객체는 theApp -&gt; this는 theApp 객체를 포인팅. theRectangle-&gt;draw(this);

Q ) 2학년 지리통계 시간에 배운 다변량 분석기법을 말해보시오.. Q) 다음은 SPSS 통계프로그램을 통해 얻은 상관분석의 결과표이다. ■ 하나의 변수가 증가하면 다른

사회지향적 마케팅 개념 (social marketing concept).. 시장

구조주의 의식적 경험 정신의 구조 분석 분석적 내성법 기능주의 의식적 경험 정신의 기능 연구 내성법, 행동을 측정. 행동주의 관찰

 Topology는 네트워크의 물리적 혹은 논리적인 네 트워크 배치 방식 – Mesh, Star, Tree, Bus, Ring.  Transmission mode는 연결된 두 장치간의 정보흐 름의