Transcript UML 소개

UML 소개
이번 시간의 학습목표
이번 시간을 정상적으로 이수하면 우리들은…
UML(Unified Modeling Language) 의 개념을 설명할 수 있다.
UML의 구성요소를 설명할 수 있다.
2
컴퓨터의 발전 (1)
컴퓨터의 여명기
BC 2000년경 : 주판 (중국)
1642년 : 톱니바퀴식 계산기 (프랑스 Pascal)
1672년 : 가감승제 계산기 (독일 Liebnitz)
1834년 : 해석기관 (Difference Engine, 영국 Barbage)
 컴퓨터와 유사(입출력, 기억, 연산 및 제어 장치)
1890년 : 천공카드시스템(PCS ; Punch Card System,
미국, Hollerith)
제1세대 컴퓨터(1950~1957)
진공관
배선방식  내장 프로그램 방식(Von Newmann)
기계어, 어셈블리어
3
컴퓨터의 발전 (2)
제2세대 컴퓨터 (1958~1964)
트랜지스터
프로그래밍 언어 (COBOL, FORTRAN) 탄생
운영체제 등장
온라인(On Line) 작업
제3세대 컴퓨터(1965~1974)
집적회로(IC)
시분할 방식
다중처리
경영정보시스템(MIS : Management Information System)
4
컴퓨터의 발전 (3)
제4세대 컴퓨터 (1975~1984)
LSI, VLSI
마이크로프로세서 등장
PC 개념 등장
제5세대 컴퓨터(1985~ )
VHSI, GSI, 초전도체
추론기구 등장
순차처리로 부터의 탈피
멀티미디어
인공지능
5
컴퓨팅 환경 변화
하드웨어(Hardware)
메인프레임 : 중앙컴퓨터에 예속 (80년도 후반까지)
클라이언트/서버 컴퓨팅 : 오픈 시스템 (80년도 후반~90년도 초
반)
네트워크 컴퓨팅 : 분산시스템 (90년도 초반 이후)
소프트웨어(Software)
하드웨어 예속 : C, COBOL, FORTRAN
하드웨어 독립, 분산처리 소프트웨어 : Visual BASIC, Power
Builder, Delphi, Middleware
하드웨어 독립, 분산처리, 컴포넌트, 프레임웍 소프트웨어 : Java,
EJB, CORBA, ActiveX, DOOM, .NET)
6
정보시스템 구축방법론 (1)
구조적 방법론 : 업무 프로세스 중심 (DFD)
정보공학 방법론 : 데이터 중심 (ERD)
객체지향 방법론 : 객체중심
프로세스
지향
방법론
데이터
지향
방법론
객체
지향
방법론
7
정보시스템 구축방법론 (2)
구조적 방법론 예 : 구매관리 DFD
주문서
공급자 선정
1.
공급자
관리
주문품목 정보
2.
1.
제품주문
공급자
관리
수요예측보고서
주별
기대제품수요
3.
제품수요
산정
주문 정보
주 문
재고수량
주문제품할당
주 문
주문 내역
대금
5.
대금관리
납품명세서
납품명세서
창고재고
4.
납품제품
관리
반품명세서
송장
8
정보시스템 구축방법론 (3)
정보공학 방법론 예 : 학원관리 ERD
강좌
강사
강의된다
코드
강좌명
수업료
수업일수
강의한다
성명
전화번호
수강된다
수강한다
학생
성명
전화번호
9
객체지향 기술(1)
객체(Object)란?
실세계(현실)에 존재하는 사물(물체)이나 개념
‘개체’라 부르기도 함
탄생 배경
사용자 모델과 개발자 모델의 불일치
낙후된 생산성
수정 및 유지보수 시간과 비용 과다
분산처리 환경에서의 프로그래밍
멀티미디어 정보처리
프로그램의 규모 증가에 따른 프로그래머간 의사소통 증가
10
객체지향 기술(2)
객체지향의 장점
인간의 자연스러운 사고방식과 일치
업무 전문가와 개발자 사이의 상호이해 증진
크고 복잡한 시스템의 이해 용이
변화에 강함
생산성 증가 (재사용)
11
객체지향 기술(3)
객체지향의 기본 사상
생물체의 구조원리와 유사(세포=객체, 세포핵=속성)
인간의 사고방식을 소프트웨어 기술에 그대로 도입
객체는 일종의 블랙박스(속성+메서드)에 비유
3대 핵심요소 : 객체, 클래스, 메시지
3대 핵심 원리 : 추상화, 캡슐화, 상속성
객체
속성
(Attribute)
메소드
(Method)
객체
메세지
<객체의 동작 원리>
속성
(Attribute)
메소드
(Method)
12
복잡한 세상 바로잡기
초창기의 프로그래머
분석 없는 프로그램은 잊어야 할 무용담
누더기 프로그램은 거추장스럽고, 까다로우며, 사용하기 불편
현대의 컴퓨팅 환경
여러 대의 하드웨어는 기본
여러 개의 소프트웨어도 기본
네트워크와 데이터베이스도 필요
치밀한 사고와 기획만이
살아 남는다.
13
UML이란?
UML(Unified Modeling Language)
개발에 참여하는 모든 이들이 이해하고 동의할 수 있는 방법으로
설계과정을 조직화하는 도구
소프트웨어를 사용할 고객에게 보여주는 설계도
디자인 표기(Design Notation)
UML의 탄생
1990년대 중반 : Grady Booch, James Rumbaugh, Ivar
Jacobson
1997년 OMG의 표준 모델링언어(UML 1.1)로 채택
14
UML의 구성요소 (1)
클래스 다이어그램
비슷한 속성과 공통적인 행동수단을 지닌 것들의 범주 / 그룹
속성(attribute)과 행동(behavior)으로 정의
주변 사물을 속성과 행동으로 생각하는 버릇
예) 세탁기 클래스
Washing Machine
brand name
model name
serial name
capacity
add clothes()
add detergent()
remove clothes()
15
UML의 구성요소 (2)
객체 다이어그램
클래스의 인스턴스 값이 매겨진 속성과 행동을 갖고 있는 개별적
인 개체
클래스의 한 인스턴스
인스턴스 이름은 콜론(:) 좌측에, 클래스 이름은 우측에 기술
인스턴스 이름엔 밑 줄
예) 세탁기 객체
My Washer : Washing Machine
16
UML의 구성요소 (3)
유스 케이스(use case) 다이어그램
사용자의 입장에서 바라본 시스템의 행동
사용자가 원하는 시스템의 요구사항을 얻어내는데 유용
타원으로 표현
예) 세탁기 쓰임새 다이어그램
Wash clothes
Washing Machine User
17
UML의 구성요소 (5)
상태 다이어그램
시간에 따라 변화하는 객체의 상태 표현
시작상태와 종료상태를 가짐
동적인 다이어그램
예) 세탁기 상태 다이어그램
Soaking
Washing
Rinsing
Spinning
18
UML의 구성요소 (6)
시퀀스 다이어그램
객체들 간의 메시지 순서를 시간의 흐름에 따라 표현
세탁기(입수관, 드럼, 배수관)의 use case 행동 단계
예) 세탁기 시퀀스 다이어그램
Water Pipe
Drum
Send fresh water
Stop
Drain
Remain stationary
Rotate back and forth
Send soapy water
Send fresh water
Stop
Rotate back and forth
Send rinse water
Rotate unidirectionally
Stop
19
UML의 구성요소 (7)
활동 다이어그램
활동간의 제어 흐름을 보여주는 일종의 플로우차트
프로세스의 순차적인 단계 혹은 병행적인 단계에 대한 모델링
동적인 다이어그램으로 대개 시퀀스 내에서 발견
예) 세탁기 활동 다이어그램
Rotate drum back and forth 15 minutes
Empty soapy water
Restart water input
20
UML의 구성요소 (8)
협력 다이어그램
시스템 구성요소 간의 협력관계를 표현
구조적 요소와 행위적 요소를 포함
예) 세탁기 협력 다이어그램
Internal Timer
1 : Stop
Water Pipe
2 : Rotate back and forth
Drum
21
UML의 구성요소 (9)
컴포넌트 다이어그램
현대 소프트웨어 개발 추세는 컴포넌트 중심
특히 팀 단위의 프로젝트에서 매우 중요
예) 컴포넌트 다이어그램
A component
22
UML의 구성요소 (10)
배치 다이어그램
컴퓨터를 기반으로 하는 시스템의 물리적 구조
예) 배치 다이어그램
<<Processor>>
Cobalt Networks Qube Microserver 2700WG
<<Processor>>
Vectra VL Series 7
<<Processor>>
Dell Dimension XPS R450
23
UML의 구성요소 (10)
패키지
서브 시스템을 구성하는 다이어그램들의 그룹
예) 패키지
Package 1
Class 1
Class 2
Class 3
24
UML의 구성요소 (11)
노트
다이어그램에 대한 보충 설명
예) 노트
Comments
for Class 1
Class 1
25
UML의 구성요소 (12)
스테레오타입
기존의 UML 요소를 기본으로 하여 다른 새로운 요소를 만들게 하
는 장치
일종의 변형
거듭 인용표(<< >>)로 표시
인터페이스(interface)는 오퍼레이션만 갖고 속성을 갖지 않는 클
래스
예) 스테레오타입
<<interface>>
Class 1
26
그리고 …
왜 이렇게 다이어그램이 많을까?
UML은 시스템을 여러 가지 관점(view)에서 점검하고 관찰하는
도구
대개 많은 참여자들이 각자의 관심에 맞추어 시스템을 바라봄
(예 : 세탁기)
모든 참여자를 만족시키기 위해서는 가능한 모든 관점에 필요한
다이어그램을 포함하여야 함
27
이번 시간의 학습 내용 요약
UML은
시스템 개발 세계에서 세계 표준으로 인정 받은 표기 시스템
부치, 럼버, 야콥슨 등이 개발
개발 과정에 참여한 모든 사람들이 각자의 관점에서 이해할 수 있
는 다방면의 설계도를 그리는 표준 도구
디자인 표기(design notation)
28