Contents UML UML UML l l l Things

  • Slides: 45
Download presentation

Contents ¡ ¡ ¡ UML 이란? UML 역사와 역할 UML 구성요소 l l l

Contents ¡ ¡ ¡ UML 이란? UML 역사와 역할 UML 구성요소 l l l ¡ ¡ Things Relationships Diagrams UML 확장 Summary 2

UML 역사 • 3 amigos Booch, Rumbaugh, Jarcobson • 97년11월 UML 1. 1을 OMG

UML 역사 • 3 amigos Booch, Rumbaugh, Jarcobson • 97년11월 UML 1. 1을 OMG 1) 표준 으로 승인 • 2001. 5월. UML 1. 4 발표 • 2004년 12월. UML 2. 0 표준안으 로 채택 http: //www. omg. org/uml 1) Object Management Group 4

UML 역할 시스템의 경계와 주요 기능 추 출 (Use Case, Actor) Use Case 설명

UML 역할 시스템의 경계와 주요 기능 추 출 (Use Case, Actor) Use Case 설명 (Interaction Diagram) 시스템의 정적인 구조 표 현 (Class Diagram) UML Model 객체들의 행동 표현 (Statechart Diagram) 시스템의 물리적인 구조 표 현 (Component Diagram, Deployment Diagram) 다양한 형태의 확장 지 원 (Stereotype) 5

UML 구성요소 ¡ Things l l ¡ Structural: Actor, Use case, Class, Interface, Collaboration,

UML 구성요소 ¡ Things l l ¡ Structural: Actor, Use case, Class, Interface, Collaboration, Active class, Component, Node Behavioral: Interaction, State Machine Grouping: Package Annotation: Note 관계(Relationships) l l Dependency, Association, Generalization, Realization 6

사용사례 관계 <<extend>> Edit Customer Profile Clerk Sell Videos <<include>> Parental authorization Pay Late

사용사례 관계 <<extend>> Edit Customer Profile Clerk Sell Videos <<include>> Parental authorization Pay Late Fees <<include>> Return Videos <<include>> Get Video ID Rent Videos <<include>> Add Videos <<include>> Manager Scan Barcode Type ID Retire Videos 17

클래스( Class) - 필요에 따라 attribute부분과 method부분을 생략하게 그릴 수 있음 Class Name Attribute

클래스( Class) - 필요에 따라 attribute부분과 method부분을 생략하게 그릴 수 있음 Class Name Attribute 1 Attribute 2 … Method 1 Method 2 ¡…동일한 ¡ ¡ 객체들의 속성을 기술한 자료형(type) [Rational Rose에서의 모습] Class 구성요소: Name, Attributes, Methods UML 표기 18

Relationships ¡ Dependency l ¡ or 어떤 모델링 element에서의 한 변화가 다른 것에 영

Relationships ¡ Dependency l ¡ or 어떤 모델링 element에서의 한 변화가 다른 것에 영 향을 주는 관계(역은 성립할 필요 없음) Generalization l l l superclass(parent)와 subclass(child) “is-a-kind-of” 관계, 상속(Inheritance) 관계 parent가 사용되는 곳이면 어디든 child도 사용가능 24

Relationships -3 l Aggregation “has-a” relationship (“whole/part”) special kind of association l Realization l

Relationships -3 l Aggregation “has-a” relationship (“whole/part”) special kind of association l Realization l 하나의 Class(or Component)가 특정 Interface의 operation들을 실현시키는 관계 26

The 4+1 View 모델 End user - Functionality - Vocabulary Logical view Programmers -

The 4+1 View 모델 End user - Functionality - Vocabulary Logical view Programmers - Software management Component view Implementation View Analysts/Testers Use case - Behavior view Process (Task), Thread Process view System integrators - Performance - Scalability - Throughput Deployment view System engineers - System topology - Delivery and installation - Communication 27

The 4+1 View 모델 -2 ¡ Logical view l l l ¡ includes subsystems

The 4+1 View 모델 -2 ¡ Logical view l l l ¡ includes subsystems and classes. Related Area ¡ functional requirements Static aspects ¡ class diagram, object diagram Implementation view l l l includes components and files. Related Area ¡ configuration management Static aspects ¡ component diagram 28

The 4+1 View 모델 -3 ¡ Process view l l l ¡ include tasks,

The 4+1 View 모델 -3 ¡ Process view l l l ¡ include tasks, threads and processes. Related Area ¡ performance, scalability, throughput Static aspects ¡ class diagram, object diagram Deployment view l l l includes executable and computing node Related Area ¡ distribution, delivery, installation Static aspects ¡ deployment diagram 29

The 4+1 View 모델 -4 ¡ Use case view l l l ¡ includes

The 4+1 View 모델 -4 ¡ Use case view l l l ¡ includes use cases and actors Related Area ¡ requirements Static aspects ¡ use case diagram Dynamic aspects of all views l represented by interaction diagram, statechart diagram and activity diagram. 30

UML 구성요소 -2 ¡ 다이어그램(Diagrams) l l l l Use case diagram Class diagram

UML 구성요소 -2 ¡ 다이어그램(Diagrams) l l l l Use case diagram Class diagram Sequence diagram Collaboration diagram Statechart diagram Activity diagram Component diagram Deployment diagram Interaction diagram 31

Diagrams: Use Case diagram ¡ Actor와 Use Case의 관계를 도식화 Request Course Roster Student

Diagrams: Use Case diagram ¡ Actor와 Use Case의 관계를 도식화 Request Course Roster Student Professor Maintain Schedule Billing System Maintain Curriculum Registrar 33

Diagrams: Class diagram ¡ ¡ Class diagram은 시스템의 논리적인 관점에서 Class 들과 Class들 간의

Diagrams: Class diagram ¡ ¡ Class diagram은 시스템의 논리적인 관점에서 Class 들과 Class들 간의 관계를 표시 Class diagram의 요소 l l 클래스와 그들의 구조 및 행위 클래스들 간의 관계 ¡ ¡ l l Association Aggregation Dependency Inheritance 개수와 상호 참조 표시자(Multiplicity and navigation indicators) 역할 이름(Role names) 36

Diagrams: Class diagram -2 Registration. Form 0. . * Schedule. Algorithm 1 Registration. Manager

Diagrams: Class diagram -2 Registration. Form 0. . * Schedule. Algorithm 1 Registration. Manager add. Student(Course, Student. Info) 1 Course 0. . * Registration. User name Student name number. Credits open() add. Student(Student. Info) major 3. . 10 4 Professor tenure. Status 1 0. . 4 1 1. . * Course. Offering location open() add. Student(Student. Info) 37

Diagrams: State chart diagram -2 ¡ COURSE 객체의 State chart diagram Add student[ count

Diagrams: State chart diagram -2 ¡ COURSE 객체의 State chart diagram Add student[ count < 10 ] Initialization Add Student / Set count = 0 do: Initialize course Open entry: Register student exit: Increment count Cancel [ count = 10 ] Canceled do: Notify registered students Cancel Closed do: Finalize course 39

Diagrams: Activity diagram ¡ 한 시스템(or Class)내에서의 활동의 흐름 기술 l l Flowchart와 유사

Diagrams: Activity diagram ¡ 한 시스템(or Class)내에서의 활동의 흐름 기술 l l Flowchart와 유사 Statechart는 State중심으로 기술, Activity diagram은 Activity를 중심으로 기술 40

Diagrams: Component diagram ¡ ¡ 소프트웨어의 물리적인 구조와 Component사이의 의존 관계를 표시 Component의 형태

Diagrams: Component diagram ¡ ¡ 소프트웨어의 물리적인 구조와 Component사이의 의존 관계를 표시 Component의 형태 l l l Source code(. h, . cpp, …) Run-time library(. dll) 실행 파일(Executable file) (. exe) component interface dependency compilation dependency 41

Diagrams: Component diagram -2 Register. exe Billing System People. dll User Course. dll Course

Diagrams: Component diagram -2 Register. exe Billing System People. dll User Course. dll Course Student Course Professor Course Offering 42

Diagrams: Deployment diagram -2 Registration System Registration manager node University DB interface component Main

Diagrams: Deployment diagram -2 Registration System Registration manager node University DB interface component Main Building Library dependency Dorm Registration interface 44

UML 확장 ¡ ¡ ¡ Stereotype을 사용하여 사용자 정의 타입이나 아이템 을 생성하여 UML을

UML 확장 ¡ ¡ ¡ Stereotype을 사용하여 사용자 정의 타입이나 아이템 을 생성하여 UML을 확장 Stereotype은 주로 Relationship, Class, Component 를 확장하는데 이용 Example (built-in stereotypes) l l l Class Stereotypes: boundary, control, entity, utility, exception, … ( 표기도 따라 변하는 경우도 있음) Relationship Stereotypes: uses, extends, … Component Stereotypes: subsystem, … 45