Presentation is loading. Please wait.

Presentation is loading. Please wait.

UML (Unified Modeling Language)

Similar presentations


Presentation on theme: "UML (Unified Modeling Language)"— Presentation transcript:

1 UML (Unified Modeling Language)
DPNM Lab., POSTECH

2 Contents Introduction Notation of Diagram Case Study
Process of Diagram Summary

3 Introduction What is the UML? History of the UML Scope of the UML

4 What is the UML? Language for specifying, constructing, visualizing, and documenting the artifacts of a software-intensive system The successor to the wave of OOA&D methods that appeared in the late ’80s and early ’90s Unification of the methods of Booch, Rumbaugh(OMT), and Jacobson(OOSE) The standard of OMG (Object Management Group) Unified Modeling Language (UML)은 소프트웨어 시스템, 더 나아가 업무 모델링, 기타 소프트웨어가 아닌 시스템의 산출물을 규정하고 시각화하며 구현하고 문서화하는 언어이다 (The UML is a language for specifying, visualizing, constructing, and documenting the artifacts of a software systems, as well as for business modeling and other non-software systems). UML은 복잡한 대형 시스템을 모델링하는데 성공적으로 증명된 공학적 기법들을 모아 제시한 것이다. UML은 80년대 후반에서 90년대에 이르는 기간 동안 나타난 객체지향 분석 설계 방법론의 흐름을 이어받은 객체지향 모델링 언어이다. 가장 영향력이 있던 Booch와 Rumbaugh, Jacobson의 방법론을 직접적으로 통합하였으며 이외 방법론의 장점들을 모아서 표준화시킨 것이다. 99년 3월 현재 UML은 OMG(Object Management Group)에 의해서 표준으로 확정되었으며 개정된 1.1판이 제시된 상태이고 1.3판의 개정 작업이 이루어지고 있다. UML은 모델링 언어로서 방법론의 일부이다. 방법론의 다른 부분인 공정(process)은 표준화되어 있지 않으나 어떠한 방법론을 사용하든지간에 통일된 표기법을 제시하는 것이 UML의 역할이다.

5 History of the UML(1/2) UML Motivation UML을 설계시의 목표
모든 도메인에 걸쳐 객체지향적 방법으로 시스템을 설계할 수 있도록 하기 위하여 제안됨 UML을 설계시의 목표 사용자들이 의미 있는 모델을 만들고 교환할 수 있도록 사용하기 쉽고 표현이 풍부한 시각적 모형화 언어를 제공 특정 프로그래밍 언어나 개발 공정에 종속되지 않음 모델링 언어를 이해하기 위한 공식적 기준을 제공 UML은 모든 도메인에 걸쳐 객체지향적 방법으로 시스템을 설계할 수 있도록 하기 위하여 제안되었다. 객체지향 방법론은 크게 Booch, OMT(Rumbaugh), OOSE(Jacobson)로 그룹지을 수 있는데 이들 세가지 방법의 공통점과 차이점을 묶어 notation 등을 통일한 후 하나의 방법론으로 제안한 것이 UML이다. UML의 저자들이 UML을 설계하면서 주안점을 두었던 목표는 다음과 같다. 1.          사용자들이 의미있는 모델을 만들고 교환할 수 있도록 사용하기 쉽고 표현이 풍부한 시각적 모형화 언어를 제공한다. 2.          핵심 개념을 확장하기 위한 메커니즘을 제공한다. 3.          특정 프로그래밍 언어나 개발 공정에 종속되지 않아야 한다. 4.          모델링 언어를 이해하기 위한 공식적 기준을 제공한다. 5.          객체지향 도구 시장의 성장을 장려해야 한다. 6.          고수준의 개발 개념들, 예를 들어 협동(collaboration), 프레임웍, 패턴, 컴포넌트 등의 개념들을 지원한다. 산업계의 검증된 최상의 경험들을 통합한다.

6 History of the UML(2/2) 객체지향 방법론은 Booch와 OMT를 기반으로 Unified Method가 제안되었고, 1996년 OOSE를 합하여 UML이 제안되었다. 특히 이 세 사람은 상용 프로그램인 Rational Rose에 들어가 객체지향 방법론에 대한 통일을 이룬 것 뿐만 아니라 상업적인 성공도 이룩하였다. 즉 이 방법론은 객체지향 방법론의 표준으로 인정 받았을 뿐만 아니라 실제 툴의 지원으로 실제 사용 가능한 툴이 되었던 것이다.

7 Scope of the UML Use Case Diagram Class Diagram
Interaction diagram: Sequence Diagram and Collaboration Diagram State Diagram Activity Diagram Component Diagram Deployment Diagram 객체지향 방법론은 크게 OOA와 OOD로 나눌 수 있는데 각각을 UML에서 지원하고 있다. OOA는 분석을 위한 도구를 제시하고 있으며 사용자의 요구사항을 반영하기 위하여 요구 분석 다이어그램인 Use Case에서 실제 디자인에 필요한 클래스 다이어그램까지 여러 다이어그램을 지원한다. OOD는 이러한 분석을 통한 결과를 디자인하기 위한 것으로 아키텍쳐나 성능 개선 반영 및 시스템의 배치와 같은 것을 디자인 할 수 있다. 사용사례 다이어그램 use case diagram : 사용사례와 사용자의 관계를 표현하는 다이어그램 클래스 다이어그램 class diagram : 클래스의 관계를 표현하는 다이어그램 행위 다이어그램 behavior diagrams 상태차트 다이어그램 statechart diagram : 객체의 생명주기를 나타내며, 이벤트에 의해 변화하는 객체의 상태를 표현하는 다이어그램 활동 다이어그램 activity diagram : 객체에 작용하는 활동의 흐름을 표현하는 다이어그램 상호작용 다이어그램 interaction diagrams 순차 다이어그램 sequence diagram : 객체들간의 상호작용을 시간적 순서를 강조하여 표현하는 다이어그램 협동 다이어그램 collaboration diagram : 객체들간의 상호작용을 공간적 협조 체계를 강조하여 표현하는 다이어그램 구현 다이어그램 implementation diagrams 컴포넌트 다이어그램 component diagram : 컴포넌트들의 관계를 표현하는 다이어그램 배치 다이어그램 deployment diagram : 시스템을 구성하는 물리적 객체나 장치들의 관계를 표현하는 다이어그램

8 Use Case Diagram 시스템의 요구사항을 Actor와 Use Case의 관계로 표현
Use Case는 시스템 내에서 혹은 외부 시스템과의 상호작용(Interaction)하는 행위들의 집합을 나타냄 Actor는 Use Case와의 Interaction시에 Use Case를 사용하는 사용자의 역할들의 집합을 말함 Actor는 사람뿐만 아니라 하드웨어 디바이스, 다른 외부 시스템 등이 될 수 있음 Use case diagram은 시스템의 요구사항을 actor와 use case의 관계로서 시각적으로 표현한 것이다. 이 diagram에는 4개의 actor가 있다. 사람 모양으로 나타낸 것이 actor이고 타원 모양이 use case이다. 한 actor는 여러 use case와 연관을 가질 수 있고, 한 use case는 여러 actor와 연관을 맺을 수 있다. 컴퓨터 시스템의 주 기능을 생각해 볼 때, 수강 신청, 가르칠 강의 선택, 교과과정 관리, 학생정보 관리, 교수정보 관리 등의 유스 케이스를 발견할 수 있을 것이다. 이외에 관리자 확인이라는 유스 케이스는 원래 교과과정 관리, 학생정보 관리, 교수정보 관리 유스 케이스 각각에 공통으로 포함되어 있는 기능을 추출하여 모듈화시킨 것이다. 액터는 시스템에서 정보를 얻는 사람으로는 학생, 교수가 있고, 정보를 입력하는 사람으로는 관리자가 있을 수 있다. 여기서 주목할 점은 요금 부과 시스템은 사람이 아니지만 시스템으로부터 정보를 얻기 때문에 액터로 식별되어 있다는 점이다

9 Notation of Use Case Diagram
Use Case Name을 포함한 타원으로 표시 Actor “Stick Man”으로 표시 Stereotype이 “actor”인 클래스의 사각형으로도 표시 가능 Use case diagram은 시스템의 요구사항을 actor와 use case의 관계로서 시각적으로 표현한 것이다. 이 diagram에는 4개의 actor가 있다. 사람 모양으로 나타낸 것이 actor이고 타원 모양이 use case이다. 한 actor는 여러 use case와 연관을 가질 수 있고, 한 use case는 여러 actor와 연관을 맺을 수 있다. 컴퓨터 시스템의 주 기능을 생각해 볼 때, 수강 신청, 가르칠 강의 선택, 교과과정 관리, 학생정보 관리, 교수정보 관리 등의 유스 케이스를 발견할 수 있을 것이다. 이외에 관리자 확인이라는 유스 케이스는 원래 교과과정 관리, 학생정보 관리, 교수정보 관리 유스 케이스 각각에 공통으로 포함되어 있는 기능을 추출하여 모듈화시킨 것이다. 액터는 시스템에서 정보를 얻는 사람으로는 학생, 교수가 있고, 정보를 입력하는 사람으로는 관리자가 있을 수 있다. 여기서 주목할 점은 요금 부과 시스템은 사람이 아니지만 시스템으로부터 정보를 얻기 때문에 액터로 식별되어 있다는 점이다

10 Notation of Relationship (1)
Generalization Relationship Generalization은 상속의 의미 Communicates Relationship Actor와 Use Cases사이의 관계를 나타낼 때 Communicates Relationship을 사용 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

11 Notation of Relationship (2)
Extends Relationship Extends된 Use Case의 모든 행위가 Extends한 Use Case의 행위의 일부로 포함됨 Uses Relationship 상속의 개념과 유사한 것으로 Uses한 Use Case의 모든 행위는 uses된 Use Case의 모든 행위를 상속한다는 의미임 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

12 Example of Use Case < 보험처리 프로그램> 구조화가 좋은 Use Case Diagram
System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현 < 보험처리 프로그램>

13 Class Diagram Package: 관련 있는 여러 클래스들을 묶어서 표현 시스템의 정적인 구조를 나타냄
시스템을 구성하는 클래스와 이들 클래스들 간의 관계를 표현 Package: 관련 있는 여러 클래스들을 묶어서 표현 하나의 클래스는 하나의 package 내에서 유일한 이름을 가져야 함 다른 클래스를 가리킬 때 만약 package가 다르다면 그 reference의 이름은 Package-name::class-name으로 표기 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

14 Notation of Class Diagram (1)
Name: StrereoType + Class Name + Property Attribute: Visibility name:type-expression=initial- value{property-string} Operation: Visibility name (parameter-list): return-type-expressoin=initial-value{property-string} Visibility + public # protected - private name attributes operations (methods) 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

15 Notation of Class Diagram (2)
Windows Windows {abstract, author = Joe} +size: Area=(100,100) #visible: Boolean=invisible +default-size: Rectangle #maximum-size: Rectangle -xptr: Xwindow* class name Windows attributes size: Area visibility: Boolean operations (methods) 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현 +display ( ) +hide ( ) +create ( ) -attachXWindow(xwin:Xwin*) display ( ) hide ( )

16 Notation of Relationships (1)
Association Aggregation Composition Dependency Works-for 1..* Company * Person employer employee 1 Company * Department 1 Window * Frame 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현 FilmClip name playOn(c:channel) start() stop() reset() Channel

17 Notation of Relationships (2)
Shape origin move() resize() display() Generalization Notes Circle radius: Float Rectangle corner: Point Polygon points: List display() 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현 Comments Square

18 Example of Class Diagram
구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

19 Interaction Diagram Collaboration Diagram Sequence Diagram
시스템의 동적인 면을 표현하는 다이어그램 역할(Role)들간의 상호작용(Interaction)을 표현하는 다이어그램 Collaboration Diagram Role들간의 관계(Relationship)에 중심을 두고 다이어그램을 표현. Sequence Diagram 상호작용(Interaction)의 시간적인 순서에 중심을 두고 다이어그램을 표현. 시간의 진행은 수직선상에서 위에서 아래로 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

20 Notation of Sequence Diagram (1)
객체 & Life line & Activation Flat flow of control 메시지 일반적인 메시지의 호출 (asynchronous 메시지를 나타냄) 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

21 Notation of Sequence Diagram (2)
Nested flow of control 메시지 일반적으로 procedure 호출 (Synchronous 메시지를 나타냄) Asynchronous flow of control 메시지 명시적으로 Asynchronous 메시지를 나타냄 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

22 Example of Sequence Diagram
구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

23 Notation of Collaboration Dig. (1)
링크 (Link): Association 관계 링크로 연결된 객체들 사이에서 interaction 발생 message: (ex) 1: [초기화되지 않았다] 준비 Creation/Destruction Marker 객체나 링크는 상호작용 중에 생성 & 소멸될 수 있음 { new } : 생성, {transient} : 일시적,{destroyed} : 소멸 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

24 Example of Collaboration Dig.
구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

25 State Diagram 객체들의 상태의 전이를 나타냄 시스템의 동작 상태를 표현하기 위한 것임
객체의 state 변화를 start 시점부터 표현한 것임 event에 따른 상태 변화를 그림 한 클래스의 객체의 lifetime 동안의 행동을 그림 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

26 Notation of State Diagram
Start & Stop Transition transition : event[guard(logical condition)]/action State: State Name Activity: entry, do, exit dial digit(n)[valid]/connect 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현 State entry/ do/ exit/

27 Example of State Diagram
구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

28 Activity Diagram 객체들의 행위의 전이를 나타냄 state diagram의 한 종류
각각의 상태는 특정 action을 수행 상태의 전이는 action이 끝났을 경우 발생 병렬로 수행되는 asynchronous 이벤트도 표현 가능 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

29 Notation of Activity Diagram
Start & Stop Condition Activity Decision Activity Synchronization Line [condition] Activity 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현 Decision Activity

30 Example of Activity Diagram
구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

31 Component & Deployment Dig.
Deployment Diagram Runtime system의 구조를 표현한 것임 시스템을 구성하는 물리적 객체나 장치들의 관계를 표현하는 다이어그램 즉, 하드웨어의 구성을 나타냄 Component Diagram 물리적인 패키지의 구성을 나타냄 시스템을 구성하는 실제 소프트웨어 Component 간의 구성체계를 기술하므로 아키텍처를 표현하기에 좋음 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

32 Notation of Component & Deployment Diagram
Component Diagram: Component & Interface Deployment Diagram: Processing Element Scheduler reservations 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현 AdminServer:HostMachine <<database>> meetingsDB Scheduler reservations

33 Example of Com. & Dep.Diagram
구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

34 Case Study: 수강 등록 요구 명세서 (순차적)
수강 등록 관리자는 교수들의 정보와 학생들의 정보를 수강등록시스템에 모두 저장 교수는 개설 강좌에 대한 계획서를 작성하여, 조교에게 제출 조교는 모아진 개설 과목 계획서를 수강등록관리자에게 넘겨줌 수강등록관리자는 개설 과목에 대한 정보를 수강등록 시스템에 저장 종합된 개설 과목에 대한 정보는 종합시간표로 작성되어 학생들에게 배부됨 학생들은 종합시간표를 보고 수강신청서를 작성 작성된 수강신청서는 조교에 의해 모아지고, 모아진 수강신청서는 수강등록관리자에게 넘겨짐 수강등록관리자는 각각의 작성된 수강신청서에 대한 내용을 기존의 수강 등록을 처리할 수 있는 정보 시스템을 이용하여 작성 수강신청 기간이 완료되면, 수강등록 시스템은 수강 내용을 처리하고 수강결과를 프린트 프린터 된 결과들은 조교를 통해 각각의 학생들에게 전해지고, 재 수강신청 기간동안 학생들은 수강신청을 변경 수강변경기간이 완료되면, 수강등록처리 시스템은 지불시스템에 학생들의 등록내용을 전송 전송을 받은 지불시스템은 해당 학생들에게 수강신청에 대한 등록금 고지서를 보냄 등록금 고지서를 받은 학생들은 정해진 기간 안에 등록금을 납부해야 함 납부한 학생에 한하여 등록 처리되어 진다. 해당 교수의 과목에 등록한 학생들에 대한 출석부가 교수에게 전달되어짐 구조화가 좋은 Use Case Diagram System의 정적인 Use Case 관점에서 한 부분의 대화에만 초점을 맞춤 해당 부분을 이해하는데 필수적인 Use Case와 Actor만을 포함 추상화 수준별로 일관성 있게 상세 사항을 추가 중요한 의미는 적절한 정도의 크기로 분해 Use Case Diagram 작성법 목적을 알 수 있는 명칭의 사용 교차되는 Line이 가능하면 최소화 되도록 요소를 배치 행동, 역할, 의미가 연관이 있는 것은 인접하여 배치 Note 등의 활용으로 가시적 효과를 이용하여 중요한 특성을 부각 시킴 관계는 너무 많이 표현하지 않고 반드시 필요한 것 만을 표현

35 Process of Drawing Diagram
Requirements Analysis Use Case Diagram Activity Diagram Analysis Class Diagram Sequence or Collaboration Diagram State Diagram Design Component Diagram Deployment Diagram Recursive

36 Summary UML is a standard for OOA&D Software Development
Requirement Analysis Object-Oriented Analysis Object-Oriented Design Code Test


Download ppt "UML (Unified Modeling Language)"

Similar presentations


Ads by Google