uml 소개

28
UML 소소

Upload: jersey

Post on 08-Jan-2016

53 views

Category:

Documents


1 download

DESCRIPTION

UML 소개. 이번 시간의 학습목표. 이번 시간을 정상적으로 이수하면 우리들은 … UML(Unified Modeling Language) 의 개념을 설명할 수 있다 . UML 의 구성요소를 설명할 수 있다. 컴퓨터의 발전 (1). 컴퓨터의 여명기 BC 2000 년경 : 주판 ( 중국 ) 1642 년 : 톱니바퀴식 계산기 ( 프랑스 Pascal) 1672 년 : 가감승제 계산기 ( 독일 Liebnitz) - PowerPoint PPT Presentation

TRANSCRIPT

UML 소개

2

이번 시간의 학습목표

이번 시간을 정상적으로 이수하면 우리들은…UML(Unified Modeling Language) 의 개념을 설명할 수 있다 .

UML 의 구성요소를 설명할 수 있다 .

3

컴퓨터의 발전 (1)

컴퓨터의 여명기

BC 2000 년경 : 주판 ( 중국 )

1642 년 : 톱니바퀴식 계산기 ( 프랑스 Pascal)

1672 년 : 가감승제 계산기 ( 독일 Liebnitz)

1834 년 : 해석기관 (Difference Engine, 영국 Barbage)

컴퓨터와 유사 ( 입출력 , 기억 , 연산 및 제어 장치 )

1890 년 : 천공카드시스템 (PCS ; Punch Card System,

미국 , Hollerith)

제 1 세대 컴퓨터 (1950~1957)

진공관

배선방식 내장 프로그램 방식 (Von Newmann)

기계어 , 어셈블리어

4

컴퓨터의 발전 (2)

제 2 세대 컴퓨터 (1958~1964)

트랜지스터

프로그래밍 언어 (COBOL, FORTRAN) 탄생

운영체제 등장

온라인 (On Line) 작업

제 3 세대 컴퓨터 (1965~1974)

집적회로 (IC)

시분할 방식

다중처리

경영정보시스템 (MIS : Management Information

System)

5

컴퓨터의 발전 (3)

제 4 세대 컴퓨터 (1975~1984)

LSI, VLSI

마이크로프로세서 등장

PC 개념 등장

제 5 세대 컴퓨터 (1985~ )

VHSI, GSI, 초전도체

추론기구 등장

순차처리로 부터의 탈피

멀티미디어

인공지능

6

컴퓨팅 환경 변화

하드웨어 (Hardware)메인프레임 : 중앙컴퓨터에 예속 (80 년도 후반까지 )

클라이언트 /서버 컴퓨팅 : 오픈 시스템 (80 년도 후반 ~90년도 초반 )

네트워크 컴퓨팅 : 분산시스템 (90 년도 초반 이후 )

소프트웨어 (Software)하드웨어 예속 : C, COBOL, FORTRAN

하드웨어 독립 , 분산처리 소프트웨어 : Visual BASIC, Power Builder, Delphi, Middleware

하드웨어 독립 , 분산처리 , 컴포넌트 , 프레임웍 소프트웨어 : Java, EJB, CORBA, ActiveX, DOOM, .NET)

7

정보시스템 구축방법론 (1)

구조적 방법론 : 업무 프로세스 중심 (DFD)

정보공학 방법론 : 데이터 중심 (ERD)

객체지향 방법론 : 객체중심

프로세스지향

방법론

데이터지향

방법론

객체지향

방법론

8

정보시스템 구축방법론 (2)

구조적 방법론 예 : 구매관리 DFD

1.공급자

관리

1.공급자

관리

3.제품수요

산정

2.제품주문

관리

4.납품제품

관리

5.대금관리

주 문

주 문

공급자 선정

주문품목 정보

주문 정보

주문 내역 창고재고

주문서 수요예측보고서

주별기대제품수요

주문제품할당재고수량

납품명세서

반품명세서납품명세서

송장

대금

9

정보시스템 구축방법론 (3)

정보공학 방법론 예 : 학원관리 ERD

강좌

코드강좌명수업료수업일수

강사

성명전화번호

학생

성명전화번호

강의된다

강의한다

수강된다

수강한다

10

객체지향 기술 (1)

객체 (Object) 란 ?실세계 ( 현실 ) 에 존재하는 사물 ( 물체 ) 이나 개념‘ 개체’라 부르기도 함

탄생 배경사용자 모델과 개발자 모델의 불일치낙후된 생산성수정 및 유지보수 시간과 비용 과다분산처리 환경에서의 프로그래밍멀티미디어 정보처리프로그램의 규모 증가에 따른 프로그래머간 의사소통 증가

11

객체지향 기술 (2)

객체지향의 장점인간의 자연스러운 사고방식과 일치업무 전문가와 개발자 사이의 상호이해 증진크고 복잡한 시스템의 이해 용이변화에 강함생산성 증가 ( 재사용 )

12

객체지향 기술 (3)

객체지향의 기본 사상생물체의 구조원리와 유사 ( 세포 = 객체 , 세포핵 = 속성 )

인간의 사고방식을 소프트웨어 기술에 그대로 도입객체는 일종의 블랙박스 ( 속성 + 메서드 ) 에 비유3 대 핵심요소 : 객체 , 클래스 , 메시지3 대 핵심 원리 : 추상화 , 캡슐화 , 상속성

속성(Attribute)

메소드(Method)

객체

속성(Attribute)

메소드(Method)

객체

< 객체의 동작 원리 >

메세지

13

복잡한 세상 바로잡기

초창기의 프로그래머분석 없는 프로그램은 잊어야 할 무용담누더기 프로그램은 거추장스럽고 , 까다로우며 , 사용하기 불편

현대의 컴퓨팅 환경여러 대의 하드웨어는 기본여러 개의 소프트웨어도 기본네트워크와 데이터베이스도 필요

치밀한 사고와 기획만이살아 남는다 .

14

UML 이란 ?

UML(Unified Modeling Language)

개발에 참여하는 모든 이들이 이해하고 동의할 수 있는 방법으로

설계과정을 조직화하는 도구

소프트웨어를 사용할 고객에게 보여주는 설계도

디자인 표기 (Design Notation)

UML 의 탄생

1990 년대 중반 : Grady Booch, James Rumbaugh,

Ivar Jacobson

1997 년 OMG 의 표준 모델링언어 (UML 1.1) 로 채택

15

UML 의 구성요소 (1)

클래스 다이어그램

비슷한 속성과 공통적인 행동수단을 지닌 것들의 범주 / 그룹

속성 (attribute) 과 행동 (behavior) 으로 정의

주변 사물을 속성과 행동으로 생각하는 버릇

예 ) 세탁기 클래스 Washing Machine

brand namemodel nameserial namecapacity

add clothes()add detergent()remove clothes()

16

UML 의 구성요소 (2)

객체 다이어그램클래스의 인스턴스 값이 매겨진 속성과 행동을 갖고 있는 개별적인 개체

클래스의 한 인스턴스

인스턴스 이름은 콜론 (:) 좌측에 , 클래스 이름은 우측에 기술

인스턴스 이름엔 밑 줄

예 ) 세탁기 객체

My Washer : Washing Machine

17

UML 의 구성요소 (3)

유스 케이스 (use case) 다이어그램사용자의 입장에서 바라본 시스템의 행동

사용자가 원하는 시스템의 요구사항을 얻어내는데 유용

타원으로 표현

예 ) 세탁기 쓰임새 다이어그램

Wash clothes

Washing Machine User

18

UML 의 구성요소 (5)

상태 다이어그램시간에 따라 변화하는 객체의 상태 표현

시작상태와 종료상태를 가짐

동적인 다이어그램

예 ) 세탁기 상태 다이어그램Soaking

Washing

Rinsing

Spinning

19

UML 의 구성요소 (6)

시퀀스 다이어그램객체들 간의 메시지 순서를 시간의 흐름에 따라 표현

세탁기 ( 입수관 , 드럼 , 배수관 ) 의 use case 행동 단계

예 ) 세탁기 시퀀스 다이어그램

Water Pipe Drum Drain

Send fresh water

Stop

Send fresh water

Stop

Remain stationary

Rotate back and forthSend soapy water

Rotate back and forthSend rinse water

Rotate unidirectionally

Stop

20

UML 의 구성요소 (7)

활동 다이어그램활동간의 제어 흐름을 보여주는 일종의 플로우차트

프로세스의 순차적인 단계 혹은 병행적인 단계에 대한 모델링

동적인 다이어그램으로 대개 시퀀스 내에서 발견

예 ) 세탁기 활동 다이어그램

Rotate drum back and forth 15 minutes

Empty soapy water

Restart water input

21

UML 의 구성요소 (8)

협력 다이어그램시스템 구성요소 간의 협력관계를 표현

구조적 요소와 행위적 요소를 포함

예 ) 세탁기 협력 다이어그램

Water Pipe

Drum

Internal Timer 1 : Stop

2 : Rotate back and forth

22

UML 의 구성요소 (9)

컴포넌트 다이어그램현대 소프트웨어 개발 추세는 컴포넌트 중심

특히 팀 단위의 프로젝트에서 매우 중요

예 ) 컴포넌트 다이어그램

A component

23

UML 의 구성요소 (10)

배치 다이어그램컴퓨터를 기반으로 하는 시스템의 물리적 구조

예 ) 배치 다이어그램

<<Processor>>Cobalt Networks Qube Microserver 2700WG

<<Processor>>Vectra VL Series 7

<<Processor>>Dell Dimension XPS R450

24

UML 의 구성요소 (10)

패키지 서브 시스템을 구성하는 다이어그램들의 그룹

예 ) 패키지

Package 1

Class 1

Class 2 Class 3

25

UML 의 구성요소 (11)

노트다이어그램에 대한 보충 설명

예 ) 노트

Class 1

Comments for Class 1

26

UML 의 구성요소 (12)

스테레오타입기존의 UML 요소를 기본으로 하여 다른 새로운 요소를 만들게 하는 장치

일종의 변형

거듭 인용표 (<< >>) 로 표시

인터페이스 (interface) 는 오퍼레이션만 갖고 속성을 갖지 않는 클래스

예 ) 스테레오타입

<<interface>>Class 1

27

그리고 …

왜 이렇게 다이어그램이 많을까 ?

UML 은 시스템을 여러 가지 관점 (view) 에서 점검하고 관찰하는 도구

대개 많은 참여자들이 각자의 관심에 맞추어 시스템을 바라봄 ( 예 : 세탁기 )

모든 참여자를 만족시키기 위해서는 가능한 모든 관점에 필요한 다이어그램을 포함하여야 함

28

이번 시간의 학습 내용 요약

UML 은 시스템 개발 세계에서 세계 표준으로 인정 받은 표기 시스템

부치 , 럼버 , 야콥슨 등이 개발

개발 과정에 참여한 모든 사람들이 각자의 관점에서 이해할 수 있는 다방면의 설계도를 그리는 표준 도구

디자인 표기 (design notation)