UML 정의 필요성 ,구성요소, 모델링 방법론 종류, 이해
myPPT
2013. 2. 7. 11:37
2장. UML 기본 개념
2.1 UML 이해
모델이란?
◦ 현실의 단순화, 기사화를 통해 개발할 시스템에 대한
◦ 계획/구상에 대한 내용을 나타낸 것
모델링 방법론
◦ OMT ; 시스템이 요구하는 객체를 완벽하기 기술
객체 모델링 : 시스템에서 필요한 객체를 찾아내고 객체의 속성과 객체들 사이의 관계 규명
동적 모델링 : 객체 모델링에서 나타낸 객체들의 행위와 상태를 포함하는 라이프 사이클
기능 모델링 : 각 객체의 변화로 인해 다른 상태로 전이 되었을 때 수행되는 동작들을 기술
◦ 부치방법론 ; “시스템은 몇 개의 View로 분석된다.”
뷰는 모델 다이어그램으로 나타냄.
거시적/미시적 개발 프로세스를 모두 포함, 단계적 접근과 자동화 도구를 지원
분석보다는 설계에 중점. 객체지향 방법론에 대한 광범위한 이론적 배경 제시
◦ OOSE ; Usecase를 강조
Usecase는 외부액터와 상호 작용하는 시스템의 요구사항을 정의
개발, 시스템 테스트, 시스템 검증 단계에서 사용
대 규모 시스템 개발에 이점.
2.1 UML 이해
◦ UP ; 현재 가장 많이 쓰이는 객체지향 방법론 중의 하나
객체지향적 소프트웨어를 개발하는 프로세스를 정의한 방법론
소프트웨어를 개발하기 위한 일련의 활동과 작업, 산출물들을 작성하는 방법 제시
Usecase 중심적 방법을 사용
요구사항 식별로부터 분석, 설계 , 구현, 테스트 등의 개발단계를 반복,점진적으로 사용
아키텍처 중심적 설계
◦ MDA ; OMA와 UML이 조함되어 만들어진 방법론
비즈니스 로직과 데이터로 정의로 구성된 플랫폼 독립적 모델 PIM을 만듦.
PIM은 특정 미들웨어 플랫폼에 특화된 플랫폼 의존적 모델 PSM으로 변환
PSM을 이용하여 최종 어플리케이션 코드를 생성
PIM을 이용하여 플랫폼과 상관없이 모델링 가능
PSM을 사용하여 특정 플랫폼에 맞는 시스템을 개발 가능
◦ XP ; 애자일 방법론 중의 하나
단순성, 소통, 피드백, 용기의 추구를 통해 고객의 비즈니스 가치 실현을 최고의 목표로 하는
실천적인 개발 방법론
일정 주기마다 주기 계획을 세우고 주기별 개발을 하여 최단시간 내에 요구사항이 수렴
요구사항 등의 변화가 잦거나, 개발자가 소규모이고 같은 공간을 사용하는 경우 높은 효과
2.1 UML 이해
UML 정의
◦ 소프트웨어 청사진을 작성하는 표준언어
◦ 소프트웨어 중심 시스템의 산출물을 가시화하고, 명세화하고,
구축하고, 문서화하는데 사용
Ø 가시화 언어 : UML은 소프트웨어의 개념모델을 가시적인 그래픽 형태로
작성하여 참여자들의 오류없고 원활한 의사소통이 이루어지게 하는 언어
Ø 명세화 언어 : UML은 소프트웨어 개발과정인, 분석, 설계, 구현 단계의
각 과정에서 필요한 모델을 정확하고 완전하게 명세할 수 있게하는 언어
Ø 구축 언어 : UML 언어는 다양한 객체지향 프로그래밍 언어로 변환 가능
UML로 명세된 설계 모델은 구축하려는 프로그램 코드로 순변환하여
(순공학) 구축에 사용
기 구축된 코드를 UML모델로 역변환(역공학) 하여 분석하게 할 수도 있다.
Ø 문서화 언어 : UML은 여러 개발자들 간의 통제, 평가 및 의사소통에 필요한 문서화를 할 수 있는 언어
2.1 UML 이해
UML 필요성
◦ 소프트웨어 시스템을 만들기 위해서 어휘와 규칙을 두어
시스템을 개념적/물리적으로 표현하는 모델이 필요
◦ 시스템의 구조적 문제와 프로젝트 팀내의 의사 소통,
소프트웨어 구조의 재사용 문제를 해결
UML 구성요소
◦ 사물 : 추상적 개념으로써 모델 구성의 기본 요소
시스템의 구조, 행위를 표현하고 개념들을 그룹화 하는 것
부가적인 설명을 위한 것들이 있다.
◦ 관계 : 사물들 간의 연결 관계를 추상화 한 것
◦ 다이어그램 : 관련성이 있는 사물들 간의 상호관계를 도형 형태로 표현
2.1 UML 이해
사물
◦ 구조사물
Class : 동일한 속성, 오퍼레이션, 관계, 의미를 공유하는 객체 표현
Interface : 외부적으로 가시화되는 요소의 행동 표현
Object : 클래스의 인스턴스
Usecase : 시스템이 행위자에게 제공하는 기능 표현
Active Class : 쓰레드나 프로세스를 갖는 클래스를 표현
Component : 물리적으로 관리되는 요소들의 패키지를 표현
Node : 실행시 나타나는 컴퓨터나 주변기기 등을 표현
◦ 행동사물
Interaction : 객체 사이의 메시지, 활동순서, 연결을 표현
State machine : 객체의 상태와 변화순서 표현
◦ 그룹사물
Package : 요소를 그룹으로 묶어 표현
◦ 주해사물
Note : 주석 및 제약을 표현
2.1 UML 이해
관계
◦ 연관관계 : 구조적 관점에서이 사물들의 연결 표현
◦ 포함관계 : 사물 사이의 포함관계를 표현
◦ 일반화관계 : 사물간의 특수화, 일반화 관계 표현
◦ 의존관계 : 사물간의 영향을 미치는 관계 표현
◦ 실체화관계 : 사물의 수행하기로 되어있는 계약을 명세화
2.1 UML 이해
다이어그램
◦ 요구모델링에 사용되는 다이어그램
유스케이스 다이어그램 : 외부 행위자, 즉 액터와 시스템을 사용하는 다양한 경우
즉, 유스케이스의 관계를 구조적으로 표현
◦ 구조모델링에 사용되는 다이어그램
클래스 다이어그램 : 시스템을 구성하는 클래스, 인터페이스 사이의 구조적 연관 관계를 표현
객체 다이어그램 : 특정 시점의 객체들의 구조적 상태를 표현
컴포넌트 다이어그램 : 소프트웨어의 물리적 단위의 구성과 의존 관계를 표현
배치 다이어그램 : 노드에 존재하는 컴포넌트의 물리적 구성을 표현
◦ 행위모델링에 사용되는 다이어그램
시퀀스 다이어그램 : 시스템 외부 이벤트를 처리하기 위하여 시스템 내부 객체 간에 주고 받는 동적 메시지를 시간의 흐름에 따라 표현
콜레보레이션 다이어그램 : 시퀀스 다이어그램과 동일한 내용을 객체 상화 관계의 관점에서 표현
액티비티 다이어그램 : 시스템 내부의 활동 흐름을 표현
스테이트차트 다이어그램 : 시스템 내부의 상태 전이를 표현
2.1 UML 이해
UML 메커니즘
◦ 명세 : 모든 UML 구성요소의 표준화된 명세법
◦ 장식 : UML의 각 요소들으니 요소의 중요한 특징을 표현하기 위해 고유한 그래픽 표기를 가지고 있다.
◦ 공통분할 : 클래스와 객체, 인터페이스와 구현과 같은 공통 분할
◦ 확장메커니즘 : 소프트웨어 모델을 표현하기 위한 표준화된 언어 표현 방법을 제공
스테레오타입 : 기본적인 요소 외에 새로운 요소를 만들기 위함.
꼬리표값 : 구성 요소가 갖는 속성을 확장하여 구성요소의 명세서에 새로운 정보를 추가
제약 : 구성 요소에 있는 이전의 규칙을 수정하거나 새롭게 생성하기 위함.
2.1 UML 이해
UML 아키텍처
2.1 UML 이해
UseCase View
◦ 외부 액터에 의해 인식되는 시스템의 기능 요구사항을 보여주는 뷰
◦ 정적인 모습 표현 - 유스케이스 다이어그램
◦ 동적인 모습 표현 - 인터랙션, 스테이트차트, 액티비티 다이어그램
Logical View
◦ 시스템의 내부가 어떻게 설계되었는지 보여주는 뷰
◦ 정적인 모습 표현 – 클래스, 객체 다이어그램
◦ 동적인 모습 표현 – 인터랙션, 스테이트차트, 액티비티 다이어그램
Process View
◦ 시스템의 효율성 및 처리량 향상을 위해 쓰레드나 프로세스를 사용하는 경우 발생하는 통신 및 동기화 등의 문제 등을 다루는 뷰
◦ 정적/동적인 모습 – 논리뷰에서와 같은 종류
◦ 쓰레드와 프로세스를 표현하기 위해서는 액티브 클래스를 사용
2.1 UML 이해
Implementation View
◦ 시스템의 구현 형태를 나타내기 위하여 컴포넌트와 같은 구현모듈과 그들 사이의 관계를 보여주는 뷰
◦ 정적인 부분 – 컴포넌트 다이어그램
◦ 동적인 부분 – 인터랙션, 스테이트차트, 액티비티 다이어그램
Deployment View
◦ 물리적 시스템의 구성을 노드와 그들 사이의 관계를 표현한 뷰
◦ 정적인 부분 – 배치 다이어그램
◦ 동적인 부분 – 인터랙션, 스테이트차트, 액티비티 다이어그램
2.2 UML 구성요소
구조 사물
◦ 클래스 : 동일한 속성, 오퍼레이션, 관계, 의미를 공유하는 객체의 집합으로써 객체지향에서 의미하는 클래스. 동일 클래스에서 생성되는 객체들은 동일한 속성, 오퍼레이션을 갖는다.
클래스명 : 클래스명에는 단순명과 경로명이 있다.
단순명 : 클래스 자체 이름만 표현
경로명 : 클래스가 속한 패키지명까지 표현
속성 : 클래스가 지녀야 할 정보를 표현
+(public) : 외부 객체로부터 속성에 대한 직접적인 접근을 허용.
-(private) : 외부 객체로부터 속성에 대한 직접적인 접근을 허용하지 않음.
#(protected) : 같은 패키지 내의 객체와 속성이 #로 선언된 클래스를 상속받은 하위 클래스로 부터 속성에 대한 직접적인 접근을 허용
~(package) : 같은 패키지 내의 객체로부터 속성에 대한 접근을 허용
오퍼레이션(메소드) : 클래스가 지니고 있는 속성을 가지고 뭔가 작업을 수행하는 행위
+(public) , -(private), #(protected)
추상클래스
추상 클래스의 오퍼레이션들 가운데 구현이 없는 가상 함수는 함수명을 이탤릭체로 표현하게 되며, 이를 상속 받아서 구현한 하위 클래스들에서는 이 함수를 보통체로 표현
2.2 UML 구성요소
◦ 객체 : 클래스의 인스턴스. 추상적인 개념의 클래스를 실제 프로그램에서 사용할 수 있는 형태로 구체화 시킨 것
◦ 인터페이스 : 클래스나 컴포넌트가 제공하는 서비스들을 나타내는 오퍼레이션들의 집합을 나타내는 클래스의 일종. 함수들의 Signature만 명세할 뿐 함수 구현은 존재하지 않는다. 구현은 인터페이스를 실현할 클래스에서 한다. 객체를 생성할 수 없으며, 속성이나 함수 구현도 가질 수 없다. 클래스와 인터페이스 간에는 Realization 관계로 표현한다.
◦ 유스케이스 : 시스템이 액터에게 제공하는 기능을 표현
◦ 액티브 클래스 : 객체가 하나 또는 그 이상의 프로세스나 쓰레드를 갖는 클래스를 표현.
◦ 컴포넌트 : 시스템에서 물리적으로 관리되는 클래스, 인터페이스 콜레보레이션 등의 요소를 패키지화 한 것
◦ 노드 : 실행 시에 존재하는 물리적 요소
2.2 UML 구성요소
행동사물
◦ 인터랙션 : 지정된 목적을 완성하기 위하여 특정 문맥에 속한 객체들 사이에 주고 받는 메시지들로 구성
객체 사이의 메시지, 활동 순서, 객체 사이의 연결 등을 표현
◦ 상태머신 : 객체 혹은 인터랙션에 발생하는 이벤트에 대한 객체의 상태와 상태의 변화 순서
그룹사물
◦ 패키지 : 요소를 그룹으로 묶는 기능.
주해사물
◦ 노트 : 첨부되는 주석 또는 제약을 기술하는 기호
2.2 UML 구성요소
관계
◦ 연관관계 : 일회성이 아닌 지속적으로 유지되는 구조적 관계.
사물 객체들 간의 연결 관계를 나타냄.
2.2 UML 구성요소
◦ 포함관계 : 연관관계의 특수형태로 사물 사이의 포함관계를 나타냄
집합연관 – 한 사물이 또 다른 사물을 포함하는 전체와 부분간의 구조적 관계
합성연관 – 사물간의 포함관계를 표현하나, 집합연관보다 더 강한 포함 관계를 지닌다.
2.2 UML 구성요소
◦ 일반화관계 : 특수화, 일반화된 사물간의 관계를 표현.
클래스와 클래스, 유스케이스와 유스케이스 사이의 상속 관계 표현
2.2 UML 구성요소
◦ 의존관계 : 두 사물간의 의미적 관계. 한쪽 사물의 명세의 변화가 다른 사물에 영향을 주는 관계를 표현
2.2 UML 구성요소
◦ 실체화관계 : 분류자간의 의미적 관계.
2.2 UML 구성요소
클래스 다이어그램
2.2 UML 구성요소
객체 다이어그램
2.2 UML 구성요소
유스케이스 다이어그램
2.2 UML 구성요소
시퀀스 다이어그램
2.2 UML 구성요소
콜레보레이션 다이어그램
2.2 UML 구성요소
스테이트차트 다이어그램
2.2 UML 구성요소
액티비티 다이어그램
2.2 UML 구성요소
컴포넌트 다이어그램
2.2 UML 구성요소
배치 다이어그램
2.2 UML 구성요소
패키지 다이어그램
'myPPT' 카테고리의 다른 글
RFID / USN 보안 정보보호 기술 (0) | 2013.02.08 |
---|---|
합성섬유(역사,종류,구조):나일론(nylon)폴리에스테르(polyester)아크릴(acrylic)스판덱스 (0) | 2013.02.07 |
관계 데이터베이스(Database)의 함수적 종속성과 정규화 (0) | 2013.02.06 |
타이레놀TYLENOL 기업역사제품소개연혁외부내부분석경쟁사제품분석위기극복swot분석Segmentation & Targeting(STP) (0) | 2013.02.06 |
RFID개념(무선통신 접속작동원리),특징,장점,단점,미래,정의,구성요소(Tag분류(Transponder)안테나,리더기,호스트) (0) | 2013.02.06 |