I. 개발자와 사용자간에 표준화된 의사소통 방식 UML의 개요
가. UML(Unified Modeling Language)의 정의
- 객체지향 시스템 개발 전 과정(Life Cycle)에서 개발자와 사용자간에 표준화된 의사소통 방식 객체지향 모델링 언어.(표기법)
- 소프트웨어 시스템 아키텍처를 정의하여 가시화(Visualization) 및 문서화(Documentation) 하기 위한 그래픽적 표기법
나. UML의 등장배경 및 필요성
- 객체지향 모델링을 위해 학자들마다 중복되고 일부 다른 방식으로
표현
- 보다 체계적인 모델링 방법을 표준화하기 위해 3명의 학자가 주장하는
표기법의 통일이 필요하게 됨
- 객체지향 시스템 개발 전 과정(Life Cycle)에서 개발자와 사용자간에
표준화된 의사소통 방식 필요
다. UML의 특징
1) 단순 표기법이 아닌 각각의 표기에 의미를 가진 언어
2) 이용 시 개발자간 의사소통 원활, 객체프로세스(반복적 점진적 과정)
3) 개발규모, 개발 프로세스, 언어에 관계없이 적용가능
II. UML의 구성도와 구성 요소(4+1 View를 기반으로 설명)
가. UML의 구성요소(4+1View관점)
View |
내 용 |
Use Case View |
- 시스템의 요구분석 단계에서 사용되는 관점 - 시스템을 사용하는 이벤트와 기능 위주로 표현(Use Case Diagram) |
Logical View |
- 객체 모델을 의미하며 클래스 다이어그램으로 나타냄 - 시스템 내부의 클래스와 컴포넌트를 파악하고 기술(Class |
|
Diagram, Object Diagram) |
Process View |
- 동적 모델을 의미하며 시스템의 내부구조 즉 클래스와 클래스의 관계 및 상호작용에 초점 (Sequence Diagram, Collaboration Diagram) |
Component View |
- 대규모 시스템을 서브시스템으로 나눌 때 사용 - 물리적인 시스템을 조립, 배포하는데 사용 되는 컴포넌트와 파일들로 구성 (Component Diagram) |
Deployment View |
- S/W가 H/W의 어떤 부분에 배치될 것인지를 표현 (Deployment Diagram) |
Diagram의 종류
구분 |
분류 |
내용 |
요구 사항 |
Use Case |
- 사용자의 입장에서 본 시스템의 행동을 표현 - Use Case들은 시스템의 기능적인 요구를 정의함. |
정적 모델링 |
Class |
- 시스템 내 클래스들의 정적 구조를 표현 - 클래스는 객체들의 집합으로 속성(Attribute)과 동작(Behavior)으로 구성됨. |
Object |
- 클래스의 여러 Object 인스턴스(Instance)를 나타내는 대신에 실제 클래스를 사용함 - 클래스다이어그램에서 2가지 예외를 제외하고 동일 표기법을 사용함 - 관계 있는 모든 인스턴스를 표현함. | |
State |
- 클래스의 객체가 가질 수 있는 모든 가능한 상태와 상태간의 전이를 표현 - 진입 조건, 탈출 조건, 상태전이에 필요한 사건 등 자세한 사항이 기술 - 설계 단계에서 클래스 객체의 동적인 행동 방식을 표현하는 데 사용 | |
동적 모델링 |
Sequence |
- 객체와 객체간의 상호작용을 메시지 흐름으로 표시한다 - 오브젝트(Object) 사이에 메시지를 보내는 시간 또는 순서를 보여주기 위해 사용함. |
Collaboration |
- 오브젝트(Object)간의 연관성을 표현하며, 내용이 중요한 경우에 이용함. | |
Activity |
- 행위(Activity)의 순서적 흐름을 표시함. - 순서도나 병렬적인 처리를 요하는 행위를 표현할 때 사용 | |
Component |
- 코드 컴포넌트(Code component)에 바탕을 둔 코드의 물리적 구조를 표현 - 컴포넌트(component)는 논리적 클래스 혹은 클래스 자신의 구현에 대한 정보를 포함함. - 실질적인 프로그래밍 작업에 사용함. | |
Deployment |
- 시스템 하드웨어와 소프트웨어간의 물리적 구조를 표현하며, 실질적인 컴퓨터와 Device간의 관계를 표현하는데 이용함. - 컴포넌트(Component) 사이의 종속성을 표현함. |
UML 구성요소
구성 |
내용 |
view |
모델화된 시스템의 서로 다른 모형 제공 |
Diagram |
View의 내용을 나타내기 위한 9가지 다이어그램 제공 |
모델요소 Model Element |
객체지향 개념을 표현하기 위해 사용되는 요소 클래스, 속성, 오퍼레이션으로 구성 |
General Mechanism |
모델 요소에 대하여 여분의 주석 정보와 의미를 제공함 |
'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글
5-Force (0) | 2014.03.17 |
---|---|
디자인 패턴(Design Patten) (0) | 2014.03.15 |
SW 분할발주 (0) | 2014.03.09 |
제안서(Proposal) (0) | 2014.03.08 |
SW 분리 발주 (0) | 2014.03.07 |