Contents

1 UML(Unified Modeling Language)이란
2 UML의 가치
3 UML의 구성
3.1 모델링 요소
3.2 관계
3.3 확장성 메커니즘
3.4 다이어그램
3.4.1 정적 다이어그램
3.4.2 동적 다이어그램

1 UML(Unified Modeling Language)이란 #

  • 소프트웨어 시스템의 산출물들을
    • 시각화(visualizing)
    • 명세화(specifying)
    • 구축(constructing)
    • 문서화(documenting)
  • 하기 위한 언어임
  • UML은 Grady Booch, Jim Rumbaugh, Ivar Jacobson의 방법론을 통합한 객체지향 개발을 위한 위한 통합 모델링 언어

2 UML의 가치 #

  • 개방형 표준임
  • 전체 소프트웨어 개발 라이프사이클을 지원함
  • 다양한 어플리케이션 분야를 지원
  • 사용자들의 경험과 요구에 기반함
  • 지원 도구가 많음

3 UML의 구성 #

3.1 모델링 요소 #

  • 구조적 요소 : UML모델의 명사형으로써 모델의 정적인 부분이며 개념적이거나 물리적인 요소들을 표현
    • Class, Interface, Use Case, Collaboration, Component, Node
  • 행위요소 : UML 모델의 동사형으로써 모델의 동적인 부분이며 시간과 공간에 따른 행동요소들을 표현
    • Interaction, State Machine
  • 그룹핑 요소 : UML 모델을 조직하는 부분이며 모델을 분해하여 재 구성화 할 수 있는 단위 상자
    • Package
  • 기타 요소 : Note(주석)

3.2 관계 #

  • Association : 구조적 관계로써 Link의 집합을 나타냄
  • Dependency : 두 사물간의 의미적인 관계로써 종속성을 나타냄
  • Generalization : Inheritance
  • Realization : Implements

3.3 확장성 메커니즘 #

  • Stereotypen : UML 어휘를 확장하여 새로운 종류의 구성 요소를 생성
  • Tagged Value : UML 구성요소가 갖는 Property를 확장
  • Constraint : UML 구성요소가 갖는 의미를 확장하여 새로운 규칙의 추가 및 기존 규칙 변경

3.4 다이어그램 #

  • 뷰를 반영한 모델
    • 특정이해관계자의 관점에서 나타낸 것
    • 시스템의 일부를 표현한 것
    • 다른 관점의 다이어그램과 의미적으로 일관성이 있음

3.4.1 정적 다이어그램 #

  • Use Case Diagram : 사용자 관점에서 시스템 기능을 나타냄
    • 개발 초기 단계에 작성
    • 목적
      • 시스템 상황(Context)를 구체화
      • 시스템 요건의 파악
      • 시스템 아키텍쳐의 검증
      • 구현 추진 및 테스트 케이스 생성
  • Class Diagram : 시스템의 어휘(vocabulary)를 나타냄
    • 개발기간 전체에 걸쳐 작성 및 보완
    • 목적
      • 시스템 내의 개념을 명명하고 모델링
      • Collaboration을 구체화
      • 논리적 DB구조 구체화
  • Object Diagram : Instance와 link를 나타냄
    • 분석 및 설계 기간에 작성
    • 목적
      • 데이터/객체 구조 묘사
      • Snapshot의 구체화
  • Component Diagram : 물리적 구현 구조를 나타냄
    • 아키텍쳐 사양의 일부로 작성됨
    • 목적
      • 소스코드 작성
      • 실행 가능한 release의 구축
      • 물리적 DB 구체화
  • Deployment Diagram : 시스템의 하드웨어 topology(위상)을 나타냄
    • 아키텍쳐 사양의 일부로 작성됨
    • 목적
      • 컴포넌트 분포의 구체화
      • 성능상의 bottleneck 파악

3.4.2 동적 다이어그램 #

  • Sequence Diagram : 동적 행동을 나타냄(시간중심)
    • 목적
      • Control의 Flow를 모델화
      • 전형적 시나리오의 묘사
  • Collaboration Diagram : 동적 행동을 나타냄(메시지 중심)
    • 목적
      • Control의 Flow를 모델화
      • 객체 구조와 Control의 코디네이션 묘사
  • Statechart Diagram : 동적 행동을 나타냄(이벤트 중심)
    • 목적
      • 객체 라이프 사이클 모델링
      • reactive 객체의 모델화
  • Activity Diagram : 동적 행동을 나타냄(행동 중심)
    • 목적
      • 비지니스 workflow 모델링
      • 운영(operations)을 모델링

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-11-06 09:04:22
Processing time 0.2069 sec