티스토리 뷰

ooad

UML Analysis Model

dictee 2019. 5. 4. 22:09

※ tutorialspoint의 OOAD 요약 (https://www.tutorialspoints.com/object_oriented_analysis_design/)

UML (Unified Modeling Language) 은 소프트웨어 시스템 구성을 작성하기 위한 OOAD용 그래픽 언어. object-oriented system을 시각화, 지정, 구성, 문서화에 효율적. 복잡한 시스템의 구조, 관계 묘사에 사용.

1. Systems and Models in UML

  • System: 특정 목적을 위해 구성된 요소들로 형성. subsystem으로 종종 분할되며, 일련의 model로 기술.
  • Model: 시스템을 더 잘 이해하기 위해 만들어진 단순하고, 완전하며, 일관된 abstraction system.
  • View: 특정 관점에서 시스템 모델의 projection

2. Conceptual Model of UML

3가지 주요 요소

Basic Building Blocks

Things: 4가지 종류,

  • Structural Things: class, interface, collaboration, use case, active class, components, node. 물리적 / 개념적 정적 element 표현 (nouns of UML model)

  • Behavioral Things: 시간과 공간에 걸친 dynamic behavior 표현. interaction, state machine의 2가지 type 존재. (verbs of UML model)

  • Grouping Things: package라는 단 1가지 grouping thing (organizational part in UML model)
  • Annotational Things: element 설명을 위한 주석 (explanations in UML model)

Relationships: things 간의 connection. 4가지 종류,

  • Dependency: thing의 변화가 다른 thing의 변화에 영향. 전자는 independent thing, 후자는 depdent thing (semantic relationship)

  • Association: 공통의 structure / behavior를 갖는 link들의 group 표현 (structural relationship)

  • Generalization: subclass가 super class의 structure / behavior를 상속받는 관계 (generalization/specialization relationship)

  • Realization: classifer가 다른 classifier가 따르는 rule을 명시하는 2개 이상의 classifier간의 관계 (semantic relationship)

Diagrams: 시스템의 그래픽 표현. 9개의 diagram,

  • Class Diagram
  • Object Diagram
  • Use Case Diagram
  • Sequence Diagram
  • Collaboration Diagram
  • State Chart Diagram
  • Activity Diagram
  • Component Diagram
  • Deployment Diagram

Rules

UML은 self-consistent한 모델이 시스템의 다른 모델들과 조화롭게 구성되기 위한 rule 존재. 

  • Names
  • Scope
  • Visibility
  • Integrity
  • Execution

Common Mechanisms

Specifications: 그래픽 표기 뒤에는, syntax, semantic을 기술하는 텍스트 존재. 시스템의 모든 부분과 각기 다른 경로들의 관계를 포함하는 semantic backplane.

 

Adornments: 각 element는 고유의 그래픽 표기법 존재. name, scope, visibility 등의 중요 element 표기법 존재.

 

Common Divisions: Object-oriented 시스템은 여러 방법으로 분할 가능. 2가지 공통 분할 방법은,

  • Division of classes and objects: class는 비슷한 object의 그룹의 abstraction. object는 시스템에 실제 존재하는 구체적인 instance.

  • Division of Interface and Implementation: interface는 interaction rule 정의. implementation은 rule의 구체적인 실현.

Extensibility Mechanisms: 시스템 요구 사양에 맞도록 UML capability 확장 가능. 그 메커니즘은,

  • Stereotypes: UML vocabulary 확장. 새로운 building block 생성 가능.

  • Tagged Values: UML building block property 확장

  • Constraints: UML building block semantic 확장

댓글