Vorsprung durch Technik

블로그 이미지

MSNU

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
Posted by MSNU






favicon

Vorsprung durch Technik

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (993)
    • myPPT (813)
    • 시리즈 (164)
      • 연소 (14)
      • 경제 (5)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바