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