StarUML NS Guide - Uml overview

2,014 views

Published on

StarUML NS Guide - Uml overview

Published in: Education
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,014
On SlideShare
0
From Embeds
0
Number of Embeds
48
Actions
Shares
0
Downloads
81
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

StarUML NS Guide - Uml overview

  1. 1. UML Overview Sections 1. Basic Object-Orientation Concepts 2. UML Fundamentals 3. Structural Modeling 4. Behavioral Modeling 5. Model Management
  2. 2. UML Overview Lecture Objectives  객체지향의 기본 개념 이해  UML의 핵심 구조 파악  UML 다이어그램의 구성 요소와 목적 이해
  3. 3. UML Overview Section 1. Basic Object-Orientation Concepts
  4. 4. UML Overview fdsfd Contents        What Is Object-Orientation? Why Object-Orientation? Class and Object Encapsulation Inheritance Polymorphism High Cohesion and Low Coupling
  5. 5. UML Overview What Is Object-Orientation?  “현실 세계의 개념을 이용하여 소프트웨어를 조직화하는 기 법”  Everything Is Object.
  6. 6. UML Overview Why Object-Orientation?  고급 추상화(Higher-level Abstraction)  확장성(Extensibility)  재사용성(Reusability)
  7. 7. UML Overview Object  하나의 개념이 적용되는 어떤 것  데이터와 서비스의 집합체
  8. 8. UML Overview Class  특정 개념을 구체적으로 구현한 것  객체 생성을 위한 템플릿
  9. 9. UML Overview Encapsulation  객체(Object) = 데이터(Data) + 서비스(Service)  정보은닉(Information Hiding) • 객체 내부의 구체적인 사항은 숨김 • 객체들은 인터페이스(Interface)만을 통해 커뮤니케이션을 수행
  10. 10. UML Overview Inheritance  하위 클래스(Subclass)가 상위클래스(Superclass)의 특성 을 물려 받는다는 코드 재사용 메커니즘  Single Inheritance vs. Multiple Inheritance
  11. 11. UML Overview Polymorphism  동일한 이름의 서비스를 객체에 따라 서로 다르게 수행할 수 있 도록 하는 메커니즘  “Draw” service • Rectangle object’s draw • Circle object’s draw • Line object’s draw
  12. 12. UML Overview High Cohesion and Low Coupling  High Cohesion • 객체에 전문성을 부여하여 재사용성을 높임 • 높은 응집력의 객체들을 구성  Low Coupling • 객체들간의 독립성을 높여 재사용성을 높임 • 객체들간에는 낮은 결합도를 유지
  13. 13. UML Overview Section 2. UML Fundamentals
  14. 14. UML Overview Contents       What Is UML? History of UML UML Diagrams Model, View and Diagram UML Trichotomy UML Extensibility Mechanisms
  15. 15. UML Overview What Is UML?  UML은 소프트웨어 시스템의 산출물들을 • • • •  시각화(Visualize), 명세화(Specify), 구축(Construct), 문서화(Documenting) 하기 위한 표준 언어이다.
  16. 16. UML Overview History of UML
  17. 17. UML Overview UML Diagrams
  18. 18. UML Overview Model, View and Diagram  Model element • 소프트웨어 모델의 실제 정보를 가지는 요소  View element • 모델 요소를 시각적으로 표현하는 요소  Diagram • 뷰 요소들의 집합으로써 소프트웨어 모델의 한 단면(projection)을 보여 줌
  19. 19. UML Overview UML Trichotomy
  20. 20. UML Overview UML Extensibility Mechanisms  Stereotypes • UML 요소들을 분류하기 위한 방법을 제공 • “<<stereotype>>” 으로 표현  Tagged Values • UML 요소에 추가적인 속성 값을 부여 • “{ name = value }” 으로 표현  Constraints • UML 요소에 부가적인 제약사항을 부여 • “{ constraints }” 으로 표현
  21. 21. UML Overview UML Extensibility Mechanisms (cont.)  UML Profile • UML 확장 요소들(Stereotype, Constraint, TagDefinition, …)을 주제에 따 라 그룹화한 패키지.  Examples of UML Profile • • • • UML Profile for CORBA UML Profile for Data Modeling UML Profile for EAI (Enterprise Application Integration) UML Profile for …
  22. 22. UML Overview Section 3. Structural Modeling
  23. 23. UML Overview Contents  Class Diagram  Component Diagram  Deployment Diagram
  24. 24. UML Overview Structural Modeling
  25. 25. UML Overview Class Diagram  What Is Class Diagram? • 클래스, 인터페이스 등의 요소들과 그들과의 관계를 보여준다.  Applications • 시스템의 정적인 설계뷰(design view)를 표현 • 논리적 데이터베이스 스키마를 표현 • 기타 개념적 관계도 등을 표현
  26. 26. UML Overview Key Elements: Class Diagram
  27. 27. UML Overview Example: Class Diagram
  28. 28. UML Overview Component Diagram  What Is Component Diagram? • 시스템의 물리적 관점을 표현하는 다이어그램 중 하나 • 시스템을 구성하는 컴포넌트들의 구성과 의존관계를 나타낸다.  Applications • 시스템의 정적인 구현뷰(implementation view)를 표현. • 컴포넌트 시스템의 컴포넌트 아키텍처를 표현.
  29. 29. UML Overview Key Elements: Component Diagram
  30. 30. UML Overview Example: Component Diagram
  31. 31. UML Overview Deployment Diagram  What Is Deployment Diagram? • 시스템의 물리적 관점을 표현하는 다이어그램 중 하나 • 컴퓨팅 능력을 갖는 노드와 그 노드에 존재하는 컴포넌트 등을 표현한다.  Applications • 시스템의 정적인 배치뷰(deployment view)를 표현
  32. 32. UML Overview Key Elements: Deployment Diagram
  33. 33. UML Overview Example: Deployment Diagram
  34. 34. UML Overview Section 4. Behavioral Modeling
  35. 35. UML Overview Contents  Use Case Diagram  Interaction Diagrams • Sequence Diagram • Collaboration Diagram  Statechart Diagram  Activity Diagram
  36. 36. UML Overview Behavioral Modeling
  37. 37. UML Overview Use Case Diagram  What Is Use Case Diagram? • 시스템 혹은 서브시스템의 행동을 표현하기 위해 사용  Applications • 시스템에 대한 유스케이스뷰(use case view)를 표현
  38. 38. UML Overview Key Elements: Use Case Diagram
  39. 39. UML Overview Example: Use Case Diagram
  40. 40. UML Overview Interaction Diagrams  What Is Interaction Diagram? • 시스템의 동적 측면을 모델링하기 위해 사용 • 객체와 그들간의 연결 그리고 상호작용을 표현함  Interaction Diagrams • Sequence Diagram • 객체들간의 주고 받는 메시지의 시간적 순서를 강조 • Collaboration Diagram • 메시지를 주고 받는 객체조직의 구조를 강조
  41. 41. UML Overview Key Elements: Interaction Diagrams
  42. 42. UML Overview Example: Sequence Diagram
  43. 43. UML Overview Example: Collaboration Diagram
  44. 44. UML Overview Statechart Diagram  What Is Statechart Diagram? • 특정 개체에 대한 상태 전이를 체계적으로 표현 • 일반적으로 하나의 상태머신(state machine)을 표현 • 시스템의 동적 측면의 모델을 표현  Applications • 클래스, 컴포넌트, 유스케이스 혹은 전체시스템 등의 상태 전이를 표현하 기 위해 사용
  45. 45. UML Overview Key Elements: Statechart Diagram
  46. 46. UML Overview Example: Statechart Diagram
  47. 47. UML Overview Activity Diagram  What Is Activity Diagram? • 일반적으로 프로세스의 활동의 흐름을 표현 • 시스템의 동적 측면의 모델을 표현  Applications • 비즈니스의 워크플로(workflow)를 표현 • 유스케이스를 구성하는 활동의 흐름을 표현
  48. 48. UML Overview Key Elements: Activity Diagram
  49. 49. UML Overview Example: Activity Diagram
  50. 50. UML Overview Section 5. Model Management
  51. 51. UML Overview Contents  Package  Model  Subsystem
  52. 52. UML Overview Package  요소들을 그룹화하기 위한 요소
  53. 53. UML Overview Package (cont.)  Package Relationships • Dependency • <<access>> • <<import>>
  54. 54. UML Overview Model  시스템에 대한 특정 목적 혹은 관점(perspective)을 반영한 하나의 투영(projection)  패키지(Package)의 특수화된 요소  모델의 예 • • • • 분석 모델(Analysis Model) 설계 모델(Design Model) 구현 모델(Implementation Model) …
  55. 55. UML Overview Model (cont.)
  56. 56. UML Overview Model (cont.)  Trace • 서로 다른 모델 내에서 동일한 개념을 표현하는 요소들의 관계를 표현
  57. 57. UML Overview Subsystem  하나의 시스템 혹은 그보다 작은 하위 시스템을 추상화한 요소  패키지(Package)의 특수화된 요소
  58. 58. UML Overview Subsystem (cont.)  인터페이스 구현을 통한 시스템 행동 정의  전체를 몇 개의 서브시스템으로 나눔  외부시스템 및 하드웨어 표현
  59. 59. UML Overview Lecture Summary  객체지향 개념은 소프트웨어 분야에서 매우 광범위하게 적 용되고 있으며 UML이 기반하는 기초 개념이기도 하다.  UML은 시스템의 구조적 측면, 행위적 측면을 모델링하기 위한 다양한 요소와 다이어그램들을 제공하고 있다.

×