• 검색 결과가 없습니다.

OMT 와 UML

N/A
N/A
Protected

Academic year: 2022

Share "OMT 와 UML"

Copied!
20
0
0

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

전체 글

(1)

OMT와 UML

(2)

OMT 개요

객체모델도의 기본적인 표기

객체모델도와 프로그램구조

UML 개요

시스템과 그 모델링 뷰

UML에서의 분석 다큐먼트

(3)

Rumbaugh외 3인이 제안한 객체지향개발의 방법론

OMT법의 기본 사상은, 시스템을 3가지 관점으로 기술하는 것을 기 본으로 하고 있으며, 각각의 측면을 다큐먼트를 사용하여 기술

OMT

다 큐 먼 트 기 술 내 용

①객체모델도

②기능모델도

③동적모델도

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

상태천이도 및 사건추적도

(4)

①객체의 구조 측면

시스템내의 객체, 객체사이의 관계, 그리고 객체의 각 클래스의 특 징을 나타내는 속성이나 조작을 표시함에 의하여 시스템의 정적구조 를 얻음

Coad/Yourdon법과 마찬가지로 ER다이어그램을 확장하여 사용하 고 있음

②동적인 측면

시간과 변화는 시스템의 동적인 측면에 초점

(5)

사건의 발생은 보통 메시지의 착신이나 예외 처리 등에 의하여 일어 남

이들을 위해 사건의 개념 및 사건을 바꿔주는 객체는 모두 시나리오 를 확장시킨 사건추적도(event trace diagram)라고 부르는 형태로 표현

또한 사건과 상태를 관련짓는 상태도(state diagram)를 사용하여 표 현

(6)

③기능적인 측면

각각의 객체사이에서 어떤 메시지(또는 데이터)가 흐르는가, 또한 객체가 어떤 프로세스(처리)를 수행할까를 기술하는 측면

여러 개의 데이터흐름도(DFD)를 사용

(7)

클래스는 사각형으로 표시하고, 클래스가 가지는 속성명 리스트나 조작명 리스트는 사각형 내에 영역을 나누어 기술

인스턴스(instance)는 네 귀퉁이가 둥그스레한 사각형으로 표시

객체모델도의 기본적인 표기

(클래스명) 속성명1=값

속성명2=값 클래스명

속성명1 : 데이터유형1

속성명2 : 데이터유형2 = 초기치

조작명1 : (파라미터리스트1):반환값유형1 조작명2 : (파라미터리스트2):반환값유형2

<<인스턴스>>

점선화살표는 생성관련을 표시함

(8)

일반화(generalization) 및 집중화(aggregation)의 표시

일반화관련은 개념적인 상위와 하위클래스 관련을 의미하며, 서브 클래스1, 서브클래스2로 구성되는 클래스(이를 super class라 함)가 클래스1로부터 속성명(attribute name)과 조작명(operation name) 을 계승(inheritance)함을 표시하며, 삼각형을 사용하여 표시

집중화 관련은 클래스명1의 클래스가 클래스명2로 표시되는 클래스 의 인스턴스집합을 구성요소로서 포함됨을 의미하며, 다이아몬드를 사용하여 표시

(9)

OMT법에서의 클래스의 일반화와 집중화관련의 표기

서브클래스명1

<<일반화 관련>>

클래스명1

서브클래스명2

클래스명1

클래스명2

<<집중화 관련>>

(10)

클래스의 인스턴스 집합 사이에 의존관계가 있을 때 ER다이어그램 과 마찬가지로 실선으로 연결하고 실선위에 관련명(association name)을 기입

선의 양끝에 둥근 원으로 표시하며 one-to-one, one-to-many.

many-to-many의 결합도를 표시

클래스A 관련명 1+ 클래스B

(11)

고객에 대하여 주문의 명세와 제품을 발송하는 관련을 OMT법으로 기술한 것을 표시한 예

고객

이름 주소 전화번호

법인고객 개인고객

자본금 여신한도액

연수입 거주연수

주문

주문번호 주문날짜 납기 합계금액

발송한다 명세번호

주문명세

수량 할인율

제품 제품명 단가

(12)

객체모델도와 구현하는 프로그램언어(예를들면 C++)의 구조와는 다 음 그림에서 표시하는 것과 같이 대응

객체모델도가 정확히 기술되면 프로그램의 골격구조가 결정

객체모델도와 프로그램구조

(13)

OMT모델과 C++ 프로그램 구조

(14)

모델의 표기법에 대해서는 S.Shlaer와 S.J.Mellor, P.Coad와 E.Yourdon부터 시작하여 수많은 제안이 있음

분석 및 설계방법뿐만 아니라 표기법과 개발프로세스도 다수 제안되 어서 서로 다른 표기방법을 채용에 시스템구조의 영향과 통합 논의

OMG(Object Management Croup : http://www.omg.org)는 1997 년에 여러 표기법을 통합하여 발전시킨 UML(Unified Modeling Language)을 발표

UML 개요

(15)

객체지향 분석/설계방법이라 부르는 대부분은 모델링하기 위한 표 기규칙과 개발프로세스로 구성

UML에는 개발 프로세스의 제안은 포함되어 있지 않음

UML은 Unified Modeling Language 명칭처럼 단지 모델링을 위한 언어임을 표시

UML을 사용하면 소프트웨어시스템의 사양화, 설계뿐만 아니라 현 실세계에 있어서 시스템의 모델링

(16)

시스템과 그 모델링 뷰

시스템의 행위

시스템의 구성논리요소 의 거동과 요소사이의 상호작용에 의하여 시 스템의 서비스가 제공 된다.

유즈케이스

제공되는 서비스로 부터 시스템을 얻는 다.

배치

시스템을 구성하는 논리요소와 물리요 소의 관계로 부터 시스템을 얻는다.

정적구조

시스템을 구성하는 논 리요소와 그 요소 사 이의 관계로 부터 시 스템을 얻는다.

시스템

(17)

소프트웨어시스템의 개발에서는 여러 종류의 요소들을 고찰

예를 들면, 기능적인 측면, 하드웨어적 측면, 데이터구조, 알고리즘, 병렬성의 고려 등

UML은 4가지 측면으로부터 대상이 되는 시스템이나 현실세계(real world)를 표현하는 다이어그램을 제공

그들의 다이어그램을 총괄하므로서 하나의 시스템의 모델링을 가능

(18)

다큐먼트유형 다큐먼트종류 기 술 내 용

①유즈케이스도 (use case diagram)

사용자가 시스템과 대화 할 때의 일련의 처리

②정적구조도

(static structure diagrams)

•클래스도 (class diagram)

•객체도

(object diagram)

클래스와 클래스사이의 관련

특정한 시점에서의 인스턴스의 집합

③행동도

(behavior diagrams)

•상태도

(statechart diagram)

•액티비티도 (activity diagram)

특정 클래스에 속하는 객체의 상태천이도

내부처리의 제어흐름을 표시하는 작업흐름

④상호작용도

(interaction diagrams)

•시퀀스도

(sequence diagram)

•협력도

(collaboration diagram )

객체사이의 이벤트 추적도

객체사이의 메시지 교환도

•컴포넌트도

UML에서의 분석 다큐먼트

(19)

UML에서는 시스템 서비스의 실현을 이들 3종류의 다이어그램으로 표현

소프트웨어의 하드웨어로의 배치를 기술하기 위한 다이어그램도 준 비

다이어그램의 기술방법이나 기술되는 요소의 의미 정의

특정한 프로그래밍언어에 의존하지 않는 것도 UML의 중요한 특징

(20)

OMT의 객체모델도 표기에 대하여 설명하시오.

객체모델도는 프로그램구조와 어떤 관계인가?

UML 의 특징에 대하여 설명하시오.

시스템과 그 모델링 뷰에 대하여 설명하시오.

UML에서의 분석 다큐먼트에는 어떤것이 있는가?

연습문제

참조

관련 문서

질의와 객체의 색인(특징)이 유사하면 유사한 객체.. 특징 feature: 작고, 매체 식별하고,

성적인 욕구를 상호 만족시키는 특정인과 지속적인 관계 를

the association name, common when drawing a domain model, is often excluded (though still legal) when using class diagrams for a software.. perspective

 to create a conceptual schema and external schemas in the data model of the selected DBMS.

더버 더버서 더웁다 더와 더와서 더우니 더우다 더워.

 ms가 소유하고 있는 객체의 마방짂 차수가 유효하면 TRUE, 아니면 FALSE를 얻는다..

 Class는 스스로 객체 생성 방법을 가지고 있어야 한다... 더 이상

 평균 이상의 학생 수와 평균 이하의 학생수를 얻 어내어 출력한다..  학생들의