Microsoft PowerPoint - 1주차 UML의 구성과 도구



Similar documents
UML의 구성과 도구

슬라이드 1

슬라이드 1

UML

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

1. 파일 명명규칙

uml.hwp

PowerPoint 프레젠테이션

제8장 자바 GUI 프로그래밍 II

목차 1. 개요 소개... 3 A. 배경... 3 B. 목적... 3 C. 특징... 4 D. 용도 구성요소... 6 A. 사물 (Element)... 6 B. 관계 (Relationship)...10 C. 다이어그램 (Diagram)...

Microsoft PowerPoint _UML

Index Chapter Page 1. What about OOAD 1) Definition & History 3 2) Terms 4 3) Modeling 8 4) OOA & OOD 11 5) Summary of OOAD What about UM

Microsoft PowerPoint - 06_ClassDiagram(2010).ppt [호환 모드]

Something that can be seen, touched or otherwise sensed

< 소프트웨어모델링및분석 > - UML 보고서 조원 : 홍준택 신재용 정재호 김철웅

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

제목

Introduction to UML Software Modeling & Analysis Report #1 과목정보 학생정보 학교명건국대학교전공컴퓨터공학부 학기 2015 학년도 1 학기과목명소프트웨어모델링및분석 팀원 김민재 이규진 20

JAVA PROGRAMMING 실습 08.다형성


Introduction to UML 소프트웨어모델링 유준범교수님 황정아 김성민 이한빈

MVVM 패턴의 이해

제2장객체지향분석과설계

소프트웨어개발방법론

와플-4년-2호-본문-15.ps

¿À¸®ÄÞ40

Microsoft PowerPoint _04

gnu-lee-oop-kor-lec06-3-chap7

슬라이드 제목 없음

슬라이드 1

¿À¸®ÄÞ38

PowerPoint Presentation

소프트웨어공학개론 강의 7: 시퀀스다이어그램 최은만동국대학교컴퓨터공학과

2Q SWG Teleweb Business Plan & 1Q Recovery Plan April 2, 2003

PowerPoint 프레젠테이션

PowerPoint Presentation

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

JVM 메모리구조

PowerPoint 프레젠테이션

Architectural Design

PowerPoint 프레젠테이션

Inclusion Polymorphism과 UML 클래스 다이어그램 구조에 의거한 디자인패턴 해석

슬라이드 1

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

협력 다이어그램

쉽게 풀어쓴 C 프로그래밍

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

PowerPoint Presentation

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

Microsoft PowerPoint - Lect04.pptx

PowerPoint Presentation

설계란 무엇인가?

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

An introduction to UML 과목명 : 소프트웨어모델링및분석 교수명 : 유준범교수님 제출일 : ( 수 ) 팀 원 : 김태현 고수창 이상규

제11장 프로세스와 쓰레드

P a g e 2 Context A. Brief Information : 전반적인정보 1. Introduction 3 2. UML 의정의와간략한역사, 그리고특징 3 3. UML 구조에대한간략한기술 5 B. Digging Deeper : UML 의각구성요소에대한설명 4.

Software Modeling < < OOAD Stage 김정태 최정명 이낙원 송준현

menu_10p_all_161020_cs6

RHEV 2.2 인증서 만료 확인 및 갱신

Introduction to OOAD using UML tools.hwp

소프트웨어공학개론 강의 5: 객체지향개념 최은만동국대학교컴퓨터공학과

<4D F736F F F696E74202D205B34C0E55D20BFE4B1B8BBE7C7D720B0B3B9DF20B9D720B0FCB8AE2E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 04_OOConcepts(2010).pptx

PowerPoint Presentation

PowerPoint Presentation

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

<B3EDB9AEC0DBBCBAB9FD2E687770>

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

부록 a - UML a.1 UML (Unified Modeling Language) 계획 (planning)-분석(analysis)- 설계 (design)-구현(implement)- 테스트 (test)-유지보수 (maintenance) 로시스템개발절차가수행되는시스템개발


= " (2014), `` ,'' .." " (2011), `` ,'' (.)"

Introduction to OOAD using UML tools Software Engineering Team Report #1 Team 김영승 성두훈 원스타 조민경

유니티 변수-함수.key

* pb61۲õðÀÚÀ̳ʸ

C++ Programming

쉽게 풀어쓴 C 프로그래밍

문제지 제시문 2 보이지 않는 영역에 대한 정보를 얻기 위하여 관측된 다른 정보를 분석하여 역으로 미 관측 영역 에 대한 정보를 얻을 수 있다. 가령 주어진 영역에 장애물이 있는 경우 한 끝 점에서 출발하여 다른 끝 점에 도달하는 최단 경로의 개수를 분석하여 장애물의

Design Issues

C++ Programming

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

PowerPoint Template

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

PowerPoint Presentation

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

소프트웨어 개발의 성공 열쇠 - 오브젝트 디자인

소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기


Microsoft PowerPoint - 2강

소프트웨어공학개론 강의 11: UML 코드매핑 최은만동국대학교컴퓨터공학과

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

UML 사용보고서 소프트웨어모델링및분석레포트 박진성 송병우 근량 1

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

제목

14 ( ).hwp

06.AnalysisModeling.key


Network Programming

Transcription:

UML의 구성과 도구

v UML(Unified Modeling Language) v UML의 구성 요소 v UML의 관계 v UML의 다이어그램 v UML 도구

UML(Unified Modeling Language) l 모델링 과정(modeling process)과 모델링 언어(modeling language)를 제안 모델링 과정 : 객체지향으로 분석하고 설계하는 프로세스 모델링 언어 : 설계를 표현할 때 사용하는 그래픽 심볼 l UML탄생 OMT(Object Modeling Technique와, Booch, OOSE(Object l Oriented Software Engineering) 방법의 통합 Shlare/Mellor, Coad/Yourdon, Wirfs-Brock, Martin/Odell 방법의 영 향 광범위 응용 분야에서 사용 데이터베이스 설계 표현, 실시간 시스템 등 3

UML의 구성 요소 l UML의 기본 구성요소 사물(Things) : UML은 기본 요소를 구성 관계(Relationship) : 사물 간의 관계를 나타냄 다이어그램(Diagram) : 사물과 관계를 도형으로 표현 UML Use Case Diagram Class Diargam Object Diagram Interaction Diagram Package Diagram State Diagram Activity Diagram Deployment Diagram Sequence Diagram Collaboration Diagram

l 사물(Things) 사물은 추상적 개념으로서 모델에서 가장 중요 ① ② ③ ④ Structural Things : 시스템의 구조를 표현하는 사물 Behavioral Things : 시스템의 행위를 표현하는 사물 Grouping Things : 개념을 그룹화하는 사물 Annotation Things : 부가적으로 개념을 설명하는 사물

l 구조사물 UML 모델의 명사형 모델의 정적인 부분이며, 개념적 물리적 요소 표현 클래스(Class) 동일한 속성, 오퍼레이션, 관계, 그리고 의미를 공유하는 객체를 기술한 것 클래스는 직사각형으로 표현 사각형 안에 이름, 속성, 오퍼레이션을 넣는다.

인터페이스(Interface) 클래스 또는 컴포넌트의 서비스를 명세화하는 오퍼레이션을 모아놓은 것 외부적으로 가시화되는 요소의 행동을 표현 인터페이스는 특정 클래스나 컴포넌트의 전체 또는 일부분만의 행동을 나타냄 인터페이스는 원으로 표현하고 인터페이스명을 아래에 표시하거나 클래스 형식 으로 표현하고 스테레오 타입으로 <<interface>>를 사용 인터페이스는 단독으로 나타나는 경우가 거의 없고, 인터페이스를 구현하는 클 래스나 컴포넌트와 함께 나타냄

통신(Communication) 교류(Interaction)를 정의하며, 서로 다른 요소와 역할들이 모여 있는 것 행동적이고 구조적인 중요성을 가지며 하나의 클래스는 다수의 통신에 참여 실선으로 된 사각형으로 표현하고 보통 이름을 안에 넣는다. 유스케이스(Use Case) 유스케이스는 시스템이 수행하는 활동들을 순차적으로 기술 액터(Actor, 행위자)에게 의미 있는 결과를 제공 유스케이스는 모델에서 행동사물을 구조화하기 위해 사용되고 통신으로 실현 유스케이스는 실선으로 된 타원으로 표현하고 보통 이름을 안에 넣는다.

활성 클래스(Active Class) 활성의 2가지 형태 : 동작상태, 활동상태 동작상태는 객체에 있는 Operation을 호출하거나, 객체에 Signal을 전송하고, 객체가 생성되고 소멸될 때 사용되며 보통 순간적으로 작업이 실행 동작상태의 경우 더 이상 분할되지 않는다. 활동상태는 하나의 Activity에 다른 제어 흐름을 가지는 활동 또는 동작상태로서 더 작은 활동상태나 동작상태로 분해 가능하다.

컴포넌트(Component) 컴포넌트는 시스템의 물리적(눈에 보이는)이고 대체 가능한 부분 컴포넌트는 일반적으로 클래스, 인터페이스, 그리고 통신과 같이 서로 다른 논리 요소를 물리적으로 패키지화한 것 컴포넌트는 탭이 달린 직사각형으로 표시하며 이름을 안에 넣는다. 노드(Node) 노드는 실행할 때에 존재하는 물리적 요소이다. 컴포넌트가 노드에 존재할 수 있으며 노드에서 노드로 이동 노드는 육면체로 표시하고 이름을 안에 넣는다.

l 행동사물 행동사물은 UML 모델의 동적 부분 모델의 동사로서, 시간과 공간에 따른 행동을 나타낸다. 교류(Interaction) 교류는 행동이며, 목적을 위해 객체들간에 주고받는 메시지로 구성 객체로 이루어진 공동체의 행동, 또는 개별 오퍼레이션의 행동을 교류로 명세화 교류의 다양한 요소 : 메시지, 활동 순서(메시지에 의해 호출되는 행동), 링크 메시지는 직선으로 나타내고, 항상 오퍼레이션 이름을 포함

상태 머신(State Machine) 상태 머신은 상태의 순서를 지정하는 행동 개별 클래스의 행동이나 여러 클래스들로 된 특정 행동을 하나의 상태로 지정 상태 머신의 서로 다른 요소 : 상태 전이(상태에서 다른 상태로의 흐름), 사건(전 이를 유발시키는 것), 활동(전이에 따른 응답) 상태는 둥근 직사각형으로 표현하며 안에 이름을 넣고, 필요시 하위 상태를 포함

l 그룹사물 그룹사물 : UML 모델을 조직화 하며, 모델을 분해하고 담을 수 있는 상자를 의미 그룹사물 : 패키지 패키지(Package) 패키지는 요소를 그룹으로 묶는다. 구조사물, 행동사물, 그리고 다른 그룹사물까지도 하나의 패키지 내에 들어감 컴포넌트가 물리적인 것에 반해 패키지는 개념적(개발시에만 존재한다는 의미) 패키지는 탭이 달린 폴더로 표현하며 보통 이름만 쓰는데, 때때로 그 안에 있는 내용을 표현하기도 한다.

l 주해사물 주해사물은 UML 모델을 설명하는 부분 주석으로서 모델에 있는 어떠한 요소에 대해서 설명하고, 비고를 표시할 때 사용 노트(Note) 노트는 하나의 요소 또는 공동체에 첨부되는 제약과 주석을 나타내기 위해 사용 노트는 접힌 직사각형으로 표현되며, 문자와 그래픽을 함께 나타낼 수 있다.

UML의 관계 l 관계(Relationship) 의존(Dependency) 연관(Association) 일반화(Generalization) 실체화(Realization)

의존 의존은 두 사물간의 의미적 관계 한 사물의 명세서가 바뀌면 그것을 사용하는 다른 사물에게 영향을 끼치는 것 (그 반대도 반드시 성립하는 것은 아니다. ) 의존은 점선으로 된 직선을 사용하고, 의존하고 있는 사물을 향하고 있다. 의존은 한 클래스가 다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우에 주로 나타난다.

연관 연관은 구조적 관계로서 어느 한 사물 객체가 다른 사물 객체와 연결을 의미 두 클래스가 서로 연결되어 연관이 있다면, 한 쪽 객체에서 다른 객체로 옮겨갈 수 있으며 그 반대도 가능 한 연관의 양쪽 끝이 같은 클래스를 향해 원을 그리며 순환하는 것도 가능 한 클래스의 객체가 있을 때 같은 클래스의 다른 객체에게 연결할 수 있다는 의미 쌍방연관 : 정확하게 두 클래스를 연결하는 연관 다수연관 : 2개 이상의 클래스를 연결하는 연관 연관은 클래스들을 연결하는 실선으로 표현 기본 형태에 연관의 이름, 역할, 다중성, 그리고 집합연관 등을 추가

① 이름 연관은 이름을 가질 수 있다. 관계의 의미를 설명하기 위해 이름을 사 용 의미의 모호함을 없애기 위해 이름에 방향성을 추가할 수 있는데, 이름이 읽히기를 원하는 방향으로 방향 삼각형을 표기 ② 역할 클래스가 연관에 참여하면 그것이 수행해야 하는 특별한 역할을 가진 다. 클래스가 수행하는 역할을 명시적으로 이름 지을 수 있다. 클래스 옆에 원하는 역할을 써줌으로써 연관관계 내에서의 역할을 표 시

③ 다중성 연관은 객체간 구조적 관계를 표현 한 연관에 참여하는 하나의 객체에 대해 상대 쪽에는 몇 개의 객체가 연결되어 있는지를 밝히는 것이 중요한 때가 있다. 몇 개 를 일컬어 연관 역할에 대한 다중성이라 한다. 다중성은 하나(1), 제로 혹은 하나(0..1), 다수(0..*), 하나이상(1..*) 등으로 표현

④ 집합연관 순수한 연관은 두 동료 클래스 사이의 구조적 관계를 표현하는 데, 두 클래스는 개념적으로 같은 수준에 위치 전체/부분 관계를 모델링하려고 할 때가 있다. 한 클래스는 더 큰 것( 전체 )을 대표하고 그것은 더 작은 것들( 부 분 )로 구성 이러한 관계를 집합연관 ( has-a 관계 ) 전체 쪽 한 객체가 부분 쪽 객체들을 소유 연관에 속이 빈 다이아몬드를 전체 쪽에 추가하여 표현

일반화 일반화는 일반화된 사물과 좀 더 특수화된 사물 사이의 관계( is-a-kind-of 관계 ) 일반화는 자식 객체가 부모 객체가 사용되는 어느 곳에서나 사용될 수 있다는 것 을 의미( 그 반대는 성립하지 않는다.) 자식 객체는 부모 객체를 대신할 수 있다는 것 일반화는 실선으로서 속이 빈 큰 화살표로 부모를 향해 그린다. 부모/자식 관계를 표현하려면 일반화를 사용 일반화는 주로 클래스와 인터페이스 사이에서 상속관계를 보여주기 위해 사용 UML에서는 다양한 사물들 사이에서도 일반화를 사용 (패키지)

실체화 실체화 객체들 사이의 의미적 관계로서 한 객체가 다른 객체의 계약을 지정 의존과 일반화의 혼합이며, 그 표기법도 의존과 일반화에서 가져왔다. 인터페이스와 인터페이스에 오퍼레이션이나 서비스를 제공하는 클래스나 컴포넌트 사이의 관계를 지정하기 위해서 사용 인터페이스 오퍼레이션의 모음으로서 클래스나 컴포넌트의 서비스를 명세화하기 위해 사용 속성을 갖지 않음 인터페이스의 모델링 방법은 클래스의 모델링 방법과 비슷 인터페이스는 오퍼레이션의 집합이기 때문에 속성을 가지지 않는다 클래스를 나타낼 때 속성 생략 가능 속성을 생략한 클래스와 인터페이스는 모양과 형태가 같다. 구분하는 방법» 키워드를 사용 : 인터페이스의 이름 위에다가 <<interface>>라고 써주면 된다.» 인터페이스의 이름 첫머리에 I 를 붙여서 클래스와 구분

UML의 다이어그램 l 다이어그램(Diagram) ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ 11 Class Diagram Object Diagram Component Diagram Deployment Diagram Usecase Diagram Sequence Diagram Communication Diagram State Diagram Activity Diagram Robustness Diagram Composite Structure Diagram

클래스 다이어그램 클래스, 인터페이스, 통신, 그리고 이들의 관계들을 나타내며, 객체지향 시스템 모델링에서 가장 공통적으로 쓰이는 다이어그램 시스템의 정적 설계 뷰를 다루며, 활성 클래스를 갖는 클래스 다이어그램은 시스 템의 정적 프로세스 뷰를 다룬다. 객체 다이어그램 객체와 객체들 사이의 관계를 나타낸다. 특정 시점의 객체들의 구조적 상태를 표현 클래스 다이어그램처럼 시스템의 정적 설계 뷰와 정적 프로세스 뷰를 다루지만 실제 사례나 프로토타입 사례의 시각에서 표현 컴포넌트 다이어그램 컴포넌트 사이의 구성과 의존을 나타내며, 시스템의 정적 구현 뷰를 다룬다. 클래스 다이어그램과 관련이 있는데, 일반적으로 하나의 컴포넌트는 클래스 다 이어그램에 있는 하나 또는 그 이상의 클래스, 인터페이스, 통신들과 대응

배치 다이어그램 실행 시 처리하는 노드와 그 노드에 있는 컴포넌트들의 구성을 나타내며, 시스템 의 정적 배치 뷰를 나타낸다. 컴포넌트 다이어그램과 관련이 있는데, 일반적으로 하나의 노드는 컴포넌트 다 이어그램 안에 있는 하나 또는 그 이상의 컴포넌트를 수용하기 때문 유스케이스 다이어그램 유스케이스(시스템을 사용하는 다양한 경우)와 행위자(외부 행위자)의 관계를 구 조적으로 나타낸다. 시스템의 정적 유스케이스 뷰를 다룬다. 시스템 행동을 조직화하고 모델링하는 데 특히 중요 상태 다이어그램 상태 머신을 나타내며, 시스템의 내부 전이를 표현 상태 머신은 상태(State), 전이(Transition), 이벤트(Event), 활동(Activity)으로 구성 시스템의 동적 뷰를 다룬다. 인터페이스, 클래스, 또는 통신의 행동을 모델링하는 데 중요 이벤트에 따라 순차적으로 일어나는 객체 행동에 중점을 두기 때문에 빠른 반응 이 필요한 시스템을 모델링할 때 유용

순차 다이어그램과 통신 다이어그램 순차 다이어그램과 통신 다이어그램은 교류도(Interaction Diagram)의 한 종류 교류도는 객체와 관계, 그리고 이들 사이에 보낼 수 있는 메시지로 구성되는 교류 교류도는 시스템의 동적 뷰를 다룬다. 순차 다이어그램은 메시지의 시간적 순서를 강조하는 교류도이며, 통신 다이어그램은 메시지를 주고받는 객체의 구조적 구성을 강조하는 교류도 시스템 외부 이벤트를 처리하기 위하여 시스템 내부 객체간에 주고받는 동적 메시지를 시간의 흐름에 따라 표현한 것 통신 다이어그램은 순차 다이어그램과 동일한 내용을 객체 상호관계의 관점에서 표현한 것 순차와 통신 다이어그램은 동일한 구조로 되어 있어서 서로 변환이 가능 활동 다이어그램 시스템 내부에 있는 활동의 흐름 시스템의 동적 뷰를 다루며, 시스템 기능을 모델링 할 때 중요하고, 객체간의 제 어흐름에 중점을 둔다.

l UML 뷰 큰 규모의 건축물을 만들 때는 설계라는 과정이 반드시 필요 소프트웨어도 매우 복잡하기 때문에 몇 가지 관점에서 기술할 필요가 있다. 객체지향 전문가들은 5가지 중요한 관점(View)을 정의 소프트웨어의 5가지 관점을 표현하기 위하여UML 다이어그램을 이용 ① ② ③ ④ ⑤ 유스케이스 뷰(Use Case View) 설계 뷰(Design View) 프로세스 뷰(Process View) 구현 뷰(Implementation View) 배치 뷰(Development View)

UML 도구

Rational Rose 구성 Menu Menu Toolbar Browser Diagram Toolbar Diagram Window Documentation Window Log window

클래스 다이어그램-예제소개