Presentation is loading. Please wait.

Presentation is loading. Please wait.

The UML (Unified Modeling Language) 2011.10.31 Software Engineering Laboratory.

Similar presentations


Presentation on theme: "The UML (Unified Modeling Language) 2011.10.31 Software Engineering Laboratory."— Presentation transcript:

1 The UML (Unified Modeling Language) 2011.10.31 Software Engineering Laboratory

2 Contents UML 이란 ? History 모델링과 모델 UML 의 구조 UML Diagram 설계 예제 2

3 UML (Unified Modeling Language) Unified Modeling Language  2.3 version – 2010 년 5 월에 공개  Infrastructure, superstructure 에 대한 스펙 공개 표준 비주얼 모델링 언어  Object Management Group 에서 재정 소프트웨어 시스템의 구성 요소들을 비주얼화 객체 지향 시스템을 지향 방법론이 아닌, 시각적인 syntax 를 제공 3

4 History 4

5 모델링과 모델 5 실체 (reality) 시스템 실체 (reality) 시스템 모델링 (modeling) 모델링 (modeling) 구현 (implementation) 구현 (implementation) 모델 (model) 요구사항 모델 분석 모델 설계 모델 모델 (model) 요구사항 모델 분석 모델 설계 모델

6 UML 의 구조 소프트웨어 시스템을 5 가지 관점에서 바라본 구조 아키텍처 프레임워크 Phillippe Kruchten 이 제시  현재 아키텍처 모델 가운데 고전 중의 고전 5 가지 관점을 통해서 아키텍처 설계 UML 을 이용하여 각 관점을 설명할 수 있음 6 Logical View Deployment View Implementation View Process View Usecase View

7 UML 의 구조 7

8 UML Diagram 8

9 Structure Diagram - Class Diagram 시스템을 구성하는 클래스 구조를 표현하는 다이어그램 클래스와 클래스들 간의 관계를 구성하는 relationship 으로 구성 클래스  name, attribute, operation 클래스 다이어그램이야 말로 객체지향 모델링의 가장 기본이 되는 요소 9 Class

10 Structure Diagram - Class Diagram (Cont.) Association  두 클래스간 일반적인 협력관계가 있을 경우 Aggregation  두 클래스간에 ‘ 전체 - 부분 ’ 의 관계가 있을 경우  클래스 각각이 독립적인 생명주기를 가짐 10 Association Aggregation

11 Structure Diagram - Class Diagram (Cont.) Composition  두 클래스간에 ‘ 부분 - 전체 ’ 의 관계가 있을 경우  클래스들의 생명주기가 서로 같은 관계 Generalization  상속 (inheritance) 특성을 가짐 11 Composition Generalization

12 Structure Diagram - Class Diagram (Cont.) 12

13 Structure Diagram - Class Diagram (Cont.) 예제 13 - 고객은 개인고객과 법인고객으로 분류된다. - 고객은 여러 개의 주문정보를 생성할 수 있다. - 하나의 주문정보는 하나의 결제정보, 하나의 물품정보를 포함한다. - 주문정보의 소멸 시 결제정보는 같이 소멸되나 물품정보는 소멸되지 않는다.

14 Structure Diagram - Component Diagram 소프트웨어를 구성하는 컴포넌트들의 관계를 나타낸 다이어그램 컴포넌트  소프트웨어 상에서 재사용, 교체 가능한 부분  Building block  몇몇 클래스로 구성되거나, 큰 서브시스템으로 구성 각각의 컴포넌트는 개별적으로 interface 를 가짐  Provided, Required Provided – 외부로 기능을 제공하는 interface Required – 외부로 기능을 요청하는 interface 14

15 Structure Diagram - Component Diagram (Cont.) 15

16 Structure Diagram - Deployment Diagram 시스템과 관계된 물리적 요소들을 표현하는 다이어그램  소프트웨어 파일 혹은 하드웨어 등 하나의 Node 는 Device 와 Artifact 로 구성 Node 는 동작하는 환경인 Execution environment 를 가짐  Node – Server, Desktop, Disk 등  Execution Environment – OS, J2EE, Web server 등 16

17 Structure Diagram - Deployment Diagram (Cont.) 17

18 Structure Diagram - Package Diagram 패키지들 사이의 관계를 표현하는 다이어그램 패키지  모듈 혹은 클래스들의 묶음  각 모듈이나 클래스는 유즈케이스, 혹은 더 작은 모듈이나 클래스로 구 성될 수 있음 주로 각 패키지 간의 dependency 로 표현 Import, access 두 가지로 표현 18

19 Structure Diagram - Package Diagram (Cont.) 19 A 는 C 의 public 요소를 참조 가능하지만, D 의 것 은 할 수 없음

20 Behavior Diagram - Activity Diagram 시스템의 기능이 수행될 때, 그 흐름을 표현하는 다이어그램 다양한 Action 과 그들 간의 관계를 묶어서 Activity 로 표현 Action 외에도 데이터의 흐름, 외부 시그널 입출력도 표현 Fork, Join 을 활용하여 Concurrent 한 수행흐름도 표현 할 수 있음 20

21 Behavior Diagram - Activity Diagram (Cont.) Action  Activity 호출, Object 에 있는 Operation 을 호출, Object 에 Signal 을 전송, Object 의 생성, 소멸을 시키는 일 Initial Node  처리 흐름이 시작하는 곳을 의미 Activity Final Node  처리 흐름이 종료하는 곳을 의미 21 Action Initial Node Activity Final Node

22 Behavior Diagram - Activity Diagram (Cont.) Decision Node, Merge Node  흐름 사이의 선택을 제어 Send Signal Node  신호가 보내어지면 그 신호를 받은 쪽은 활동을 개시 22 Decision Node Merge Node Send Signal Node

23 Behavior Diagram - Activity Diagram (Cont.) Fork Node, Join Node  동시에 실행되었다가 하나로 모이는 두 개의 처리 경로로 활동 전이를 분리해야 할 경우 병렬 처리절차 23 Fork NodeJoin Node

24 Behavior Diagram - Activity Diagram (Cont.) Activity Partition (Swimlane)  각 노드들의 view 와 flow 를 구분하여 표시 24 Swimlane

25 Behavior Diagram - Activity Diagram (Cont.) 예제 25 고객은 물품구매를 요청하면 시스템은 본인확인을 수행한다. 본인확인이 성공한 경우 고객은 결제정보를 입력하여 결제처리를 요청하고 본인확인이 실패한 경우 물품구매는 종료된다. 결제처리 요청 후 결제수단 이 신용카드인 경우 카드승인 시스템에게 카드승인을 요청하고 계좌이체인 경우 계좌이체 시스템에게 계 좌이체를 요청한다. 결제 후에는 배송요청을 수행한 후 물품구매는 종료된다.

26 Behavior Diagram - Use Case Diagram 시스템의 기능을 설명하는 다이어그램 구성요소  Actor, Usecase, Relation  System Boundary 26

27 Behavior Diagram - Use Case Diagram (Cont.) Actor  시스템의 외부에 존재하면서 시스템과 교류 혹은 interaction 하는 것  자신에 대해 시스템이 서비스를 해 주기를 요청하는 존재들  시스템이 정보를 제공하는 대상  시스템의 일부가 아니라 외부에 독립적으로 존재 Usecase  시스템이 제공하는 서비스 혹은 기능  시스템이 액터에게 제공하는 사용자 관점의 기능단위  액터의 요청에 반응하여 원하는 처리를 수행하거나 원하는 정보를 제공  액터와 한 번 이상의 상호작용을 통한 한 의미 있는 묶음의 시스템행위  사용자의 관점으로 정의 27 Actor Usecase

28 Behavior Diagram - Use Case Diagram (Cont.) Include  한 유즈케이스가 자신의 서비스 수행 도중에 다른 유즈케이스의 서비스 를 사용할 필요가 있을 때 정의  수행의뢰를 받은 유즈케이스는 공통 서비스를 가진 존재 Extend  수행을 의뢰하는 유즈케이스는 조건에 따라 수행을 의뢰 할 수도 있고 의뢰하지 않을 수도 있다.  수행을 의뢰할 조건을 extension point 라고 한다. 28 Include Extend & Extension Points

29 Behavior Diagram - Use Case Diagram (Cont.) 예제 29 - 고객은 회원등록을 통해 회원가입이 가능하며, 이를 통해 로그인을 수행한다. 로그인을 수행할 때에는 본인확인 기 능을 통해 본인확인을 수행한다. - 고객은 물품구매를 수행할 수 있는데, 물품구매 시에도 마찬가지로 본인확인을 하여야 한다. - 물품구매 시 결재수단은 신용카드와 계좌이체가 있으며 신용카드의 경우 신용카드지불이 요청된다. - 고객은 자신이 주문한 건에 대해 배송조회를 수행하며, 직원은 고객이 요청한 주문 건에 대하여 배송조회를 할 수 있다. 배송 조회 정보는 외부 배송 업체 시스템으로부 터 획득한다.

30 Behavior Diagram - State Machine Diagram 하나의 객체를 대상으로 생존 기간 동안 가질 수 잇는 객체 상태의 변화를 분석한 다이어그램  객체의 상태변화를 상세히 분석  event 에 의한 객체의 반응을 분석  객체의 속성이나 오퍼레이션을 검증 30

31 Behavior Diagram - State Machine Diagram (Cont.) 31

32 Interaction Diagram - Sequence Diagram 시스템이 기능을 수행할 때, ‘ 어떻게 ’ 수행할 것인지 보여주는 다이어 그램 주로 클래스 간의 순차적인 기능 수행흐름을 표현 순서 표현이 가장 중요함 메시지의 호출과 그 응답, 개별 클래스간의 lifetime 으로 구성 32

33 Interaction Diagram - Sequence Diagram (Cont.) Frame, Lifeline, Message 33

34 Interaction Diagram - Sequence Diagram (Cont.) Execution Specification  Lifeline 내에서 발생하는 행동이나 행동의 단위 Interaction Use  다른 다이어그램에서 쉽고 빠르게 재사용하기 위함 34 Execution SpecificationInteraction Use

35 Interaction Diagram - Sequence Diagram (Cont.) Combined Fragment  alt: 특정 조건을 만족하는 한 곳만 처리  par: 서로 방해하지 않으면서 동시에 발생 35

36 Interaction Diagram - Sequence Diagram (Cont.) 예제 36 - 회원 정보 조회에 대한 클래스 다이어그램

37 Interaction Diagram - Communication Diagram 클래스간의 상호작용을 표현하는 다이어그램 Sequence diagram 과 유사하지만 초점이 다름  Sequence – 순차적인 흐름을 표현하는 데 중점을 둠  Communication – 흐름보다 상호작용하는 클래스간 관계에 중점을 둠 37

38 Interaction Diagram - Timing Diagram 시간이 지남에 따라 인스턴스 또는 역할의 상태 또는 조건의 변경을 표현 일반적으로 외부 이벤트에 대한 응답 시간이 지남에 따라 객체의 상 태변화를 표시하는데 사용 38

39 설계 예제 약국 관리 시스템  요구사항 약사는 시스템을 이용하여 고객과 현재 약품, 세금, 고객 요청 처리, 처방전, 약국 관리를 수행 할 수 있다. 고객은 등록된 자신의 정보를 관리할 수 있고, 약국에 필요한 것을 요청 할 수 있다. 관할 세무서는 이 시스템을 이용하여 세금을 적절하게 관리할 수 있다. 이 시스템은 동시 여러 사람의 접속을 처리할 수 있다. 39

40 설계 예제 Usecase Diagram 40

41 설계 예제 Sequence Diagram  고객 정보 관리 부분 41

42 설계 예제 Activity Diagram 42

43 설계 예제 Package Diagram 43

44 설계 예제 Deployment Diagram 44

45 Reference Figure  Visual Paradigm – UML 2 Diagrams http://www.visual-paradigm.com/VPGallery/diagrams/index.html Script  UML 2.1 Specification http://www.uml.org/#UML2.0  UML2 and the Unified Process, Second Edition [Addison-Wesley] 45

46 46


Download ppt "The UML (Unified Modeling Language) 2011.10.31 Software Engineering Laboratory."

Similar presentations


Ads by Google