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

Slides:



Advertisements
Similar presentations
KS Cinema 팀 명 : KS 팀 원 : 강상욱 김건우 원찬석 이수경.
Advertisements

StarUML UOS, SELab. Jinhan Kim.. University of Seoul, Software Engineering Laboratory 1. StarUML 특징  StarUML™ 은 UML(Unified Modeling Language)
4. 디자인패턴. 학습목표 디자인패턴의 이해  크리스토퍼 알렉산더  Each pattern describes a problem which occurs over and over again in our environment, and then describes.
Cinema Manager System 최종 발표 조 team05 발표자 : 임 창목 1.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
제 2 장 UML. 2 Contents  UML 이란 ?  UML 역사와 역할  UML 구성요소 Things Relationships Diagrams  UML 확장  Summary.
© Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models 배재대학교 멀티미디어 정보공학 연구실 발표자 : 이 상 조
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
Use Cases Fashion Network System. 2 Overall Use-Case Outline: User 에게 Clothing Parsing System 의 기능들을 제공해준다. Use-Case Diagram.
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
교재: J. Schmuller 저/곽용재 역, 초보자를 위한 UML 객체지향설계, 제3판, 정보문화사, 2006
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Power Java 제3장 이클립스 사용하기.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
최윤정 Java 프로그래밍 클래스 상속 최윤정
Entity Relationship Diagram
㈜디아이씨 SSLVPN 협력사 접속방법 2017년 4월.
제 2 장 객체지향의 이해.
제 4 장 관계 학기 소프트웨어설계.
UML (Unified Modeling Language)
소프트웨어공학 UML 학기.
2장. UML 기본 개념.
시스템집적반도체 설계 검증 환경과 기법 Ch 7.
연구장비 공동활용 지원사업 연구장비예약 매뉴얼(참여기업)
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
소프트웨어설계 UML 학기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
WAA: J2EE 설계 및 UML 2008.봄학기 E-비즈니스학과 이영곤.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
D / K / I / T / E / C / H / N / O / L / O / G / Y
KHS JDBC Programming 4 KHS
전자정부 표준프레임워크 호환성 가이드 전자정부 표준프레임워크 사업단 실행환경 개발팀.
활동 다이어그램(Activity Diagram)
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
소프트웨어 공학 (Software Engineering)
소프트웨어공학 윤일노 STARuml Guide 소프트웨어공학 윤일노
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
제 5 장 집합연관, 복합연관, 인터페이스, 실체화 (교재: J. Schmuller 저/곽용재 역, 초보자를 위한 UML 객체지향설계, 제3판, 정보문화사, 2006) 학기 소프트웨어설계.
Chapter 03. 관계 데이터베이스 설계.
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
Power Java 제11장 상속.
컴포넌트 다이어그램 컴포넌트 정의 컴포넌트 다이어그램의 UML 표기법 컴포넌트와 클래스 컴포넌트 다이어그램의 간단한 예
JA A V W. 06.
객체기반 SW설계 팀활동지 4.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
충남대학교 Software Engineering Lab 김 대 엽
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
3. 모듈 (5장. 모듈).
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
Map Designer Solution 소개자료
MIDP 네트워크 프로그래밍 ps lab 김윤경.
유스케이스 다이어그램 유스케이스 모델링과 UML 표기법 유스케이스와 유스케이스 관계 액터 사이의 일반화관계
08. 소프트웨어 아키텍처 설계 전략 명지대학교 융합소프트웨어학부 김정호 교수.
Component Diagram 1.
.Net FrameWork for Web2.0 한석수
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
전자수입인지 회원가입 및 구매절차 세무팀.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
추상 테스트 케이스 성숙도 모델 기반의 테스트 케이스 추적성 연구
7 생성자 함수.
6 객체.
Deployment Diagram (배치 다이어그램)
Presentation transcript:

The UML (Unified Modeling Language) Software Engineering Laboratory

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

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

History 4

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

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

UML 의 구조 7

UML Diagram 8

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

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

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

Structure Diagram - Class Diagram (Cont.) 12

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

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

Structure Diagram - Component Diagram (Cont.) 15

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

Structure Diagram - Deployment Diagram (Cont.) 17

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

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

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

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

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

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

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

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

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

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

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

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

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

Behavior Diagram - State Machine Diagram (Cont.) 31

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

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

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

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

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

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

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

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

설계 예제 Usecase Diagram 40

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

설계 예제 Activity Diagram 42

설계 예제 Package Diagram 43

설계 예제 Deployment Diagram 44

Reference Figure  Visual Paradigm – UML 2 Diagrams Script  UML 2.1 Specification  UML2 and the Unified Process, Second Edition [Addison-Wesley] 45

46