UML

개념
방법론을 통합한 것으로 표준화된 모델링 기법 제공

1. UML의 특징

 -방법론을 통합한 것으로 표준화된 모델링 기법 제공

 -사용자들에게 사용하기 쉽고 표현이 풍부한 시각적 모형화 언어 제공<->메타포와 대비

 -특정 프로그래밍 언어나 개발 공정에 종속되지 않음

 -개발하려는 시스템 규모에 관계없이 제공 가능

 

2.  가구명문 으로 암기

특징

설명

가시화 언어

-개념 모델 작성시 오류가 적고 의사소통을 용이하게 함

구축 언어

-다양한 프로그래밍 언어와 연결 왕복 공학 가능(순공학/역공학)

-실행 시스템 예측 가능

문서화 언어

-시스템에 대한 평가,통제, 의사소통의 문서 (요구사항, 아키텍처, 설계, 소스, 코드, 프로젝트, 계획)

명세화 언어

-정확한 모델 제시,완전한 모델 작성,분석,설계의 표현

 

3. UML 구성요소와 분류

구성요소

내용

사물(Things)

(구행그주)

구조(Structural) 사물 : Use Case, Collaboration, Interface, Class, Object,

행위(Behavioral) 사물 : Interaction, Activity, State Machine

그룹(Grouping) 사물 : package

주해(Annotation) 사물 : Note

관계

(RalationShips)

(의연일실)

의존(Dependency) 관계,

연관(Associatoin) 관계,

일반화(Generaliztion) 관계,

실제화(Realization) 관계

도해

(Diagrams)

 

기능모델 : 유스케이스(Use Case) 다이어그램,

 

정적모델 : 객체(Object) 다이어그램

클래스(Class) 다이어그램,

컴포넌트(Component) 다이어그램,

배치(Deployment) 다이어그램,

패키지(Package) 다이아그램

합성구조(Composite structure) 다이아그램

 

동적 모델 : 시퀀스(Sequence)다이어그램

액티비티(Activity) 다이어그램,

Interaction Overview 다이아그램

상태(State)다이어그램,

State Machine 다이아그램

Communication 다이아그램

Timing 다이아그램

 

 

 

8. UML 메커니즘

- 명세(Specification): 모든 UML 구성요소의 그래픽 표기에는 표준화된 명세법이 있어서 정확한 구문과 의미를 전달 할 수 있다.

- 장식(Adornment): UML 의 각 요소들은 요소의 중요한 특징을 표현하기 위해 고유한 그래픽 표기를 가지고 있다

- 공통분할(Common division): UML 에서는 클래스/객체 형태의 공통 분할을 지원한다. 클래스에 대하여 클래스 인스턴스인 객체가 존재하고, 유스케이스에 대하여 유스케이스 인스턴스가, 컴포넌트에 대응하여 컴포넌트 인스턴스가 노드에 대한 노드 인스턴스가 인터페이스/구현과 같은 형태의 공통분할도 지원한다.

- 확장 메커니즘(Extensibility mechanism)

스테레오 타입(Stereotypes):

UML 의 기본적인 요소 이외의 새로운 요소 만들어 내기 위한 확장 메

커니즘이다. 형태는 기존의 UML 의 요소를 그대로 사용하나 내부의미는 다른 목적으로 사용하도록 확

장한다. 스테레오 타입 객체는 << >> 기호를 사용하여 표현한다.

꼬리표값(Tagged values):

UML 구성 요소가 갖는 속성을 확장하여 구성요소의 명세서에 새로운 정

보를 추가하기 위한 메커니즘이다. {tag=value} 기호를 사용하여 표현한다.

 

제약(Constraints):

UML 구성 요소에 있는 이전의 규칙을 수정하거나 새롭게 생성하기 위한 메커니

즘이다. {} 기호를 사용하여 표현한다.

 

 

 

9. UML 4+1 View와 UML 4-계층구조

  가. UML 4+1 View

  -하나의 소프트웨어 개발 프로젝트에는 많은 이해당사자가 존재한다.각 당사자는 자신만의 관점에서 프로젝트를 바라보고 자신에게 해당하는 요구사항을 제시한다.따라서 이해당사자마다 소프트웨어를 바라보는 관점이 다르다.따라서 UML에서는 시스템을 바라보는 관점에 따라 5개의 View를 제공

구분

설명

내용

Use-Case

View

-이해당사자:End-User

-요구사항:Functionality

-요구 사항을 분석해 시스템의 기능(Functionality)을 명세화

-Use Case Diagram이 사용, Sequence Diagram, Collaboration Diagram, Activity  Diagram을 사용하여 시스템의 동적인 부분도 명세화

Logical

View

-이해당사자:Analysts/

Designers

-요구사항:Structure

-Use Case View에 표현된 요구사항들을 시스템의 구조와 행동으로 명세화

-모델요소:Class,Interface,Object,Collaboration

-Class Diagram,Object Diagram,Sequence Diagram,

Collaboration Diagram,Activity Diagram,StateChart Diagram

Process

View

-이해당사자:System

 Integrators

-요구사항:Performance,

 Scalability,Throughput

-Thread와 Process에 의한 동작을 중점적으로 표현

-동시성,분산처리,시스템 통합,오류 허용들을 표현

 

Implementaion

View

(Development)

-이해당사자:Programmer

-요구사항:Sofeware

 Management

-Logical View와 Process View에서 설계한 UML 모델요소(Class와 Interface)들을 물리적인 소프트웨어 모듈로 표현하는데 사용

-모델요소:Component,Interface –Class Diagram을 사용

Deployment

View

(Physical)

-이해당사자:System

 Engineer

-요구사항:System- topology,Delivery,

Installatoin -

communication

-Implementaion View에서 정의한 UML 모델요소(Component,

 Interface)를 배치할 하드웨어를 표현

-Deployment Diagram이 사용

 

 

 

 

   나.UML 4-계층 구조

 1)M3(Meta-Metamodel): M2 수준에 속한 메타 모델을 정의하는 메타 메타모델, MOF지원

 2)M2(Metamodel): UML 기반 설계를 가능케 하는 모델 요소를 정의하는 메타 모델.즉, 모델을 설정하는

언어를 정의하는 역할

 3)M1(User Model):사용자 모델을 도식화하는  모델 계층

 4)M0(Run-Time Instances):모델이 코드를 만들고,그것을 실행하는 단계

 

  다.UML에서 클래스 관계(Relation) 표현 방법

명칭

표현방식

설명

Associate

(연관)

-클래스가 개념적으로 서로 연관되어 있는 경우 사용

-두 클래스간 서로 어떠한 연관을 가지고 있는지 의미(has a)

Dependency

(의존)

-클래스가 개념적으로 서로 연관되어 있으나 일시적인 관계

-클래스가 변경되면 그것을 사용하는 다른 곳도 같이 변경하는 관계

Aggregation

(집합연관)

-Associate 관계이면서 전체와 부분의 관계(part of)

-생명 주기를 같이 하지 않는다.

Composition

(복합연관)

-전체와 부분의 관계,전체가 소멸 시 부분도 소멸(contains a)

-생명 주기를 같이 한다.

Inheritance

(상속)

-일반화된 개념적 사물과 구체화된 특수 사물의 관계

-부모 자식 간의 상속 개념,자식은 부모의 속성과 행동을 공유

댓글