uml.hwp

Similar documents
슬라이드 1

UML

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

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

Microsoft PowerPoint _UML

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

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

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

슬라이드 1

PowerPoint 프레젠테이션

UML의 구성과 도구

PowerPoint Presentation

JVM 메모리구조

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

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

PowerPoint Presentation

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

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

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

소프트웨어개발방법론

Something that can be seen, touched or otherwise sensed

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

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

유니티 변수-함수.key

1. 파일 명명규칙

13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3

Microsoft PowerPoint - Lect04.pptx

제목

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

thesis

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

PowerPoint 프레젠테이션

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 - [StarUML]Manual.ppt

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

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

C# Programming Guide - Types

Microsoft Word - SE_Team Report.docx

PowerPoint Presentation

Architectural Design

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

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

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

PowerPoint Presentation

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

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

Microsoft PowerPoint App Fundamentals[Part1].pptx

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - e pptx

PowerPoint Presentation

Microsoft PowerPoint - 13_UMLCoding(2010).pptx

Interstage5 SOAP서비스 설정 가이드

Windows Server 2012

설계란 무엇인가?

PowerPoint 프레젠테이션

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

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

Intro to Servlet, EJB, JSP, WS

협력 다이어그램

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

2. 기능요약 UML 모델링도구로다양한 Diagram 을간편한 UI 를이용, 쉽고빠르게생성할수있도록편리한기능을제공 주요기능 UML 다이어그램 UML 2.0 Forward Engineering (Source code Generation) Reverse Engineerin

Contents 1. Introduction What is UML? What are UML Components? 소프트웨어개발방법론 모델 (Model) 클래스다이어그램

Convenience Timetable Design


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

슬라이드 1

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

Microsoft PowerPoint - additional03.ppt [호환 모드]

JAVA PROGRAMMING 실습 05. 객체의 활용

제11장 프로세스와 쓰레드

Introduction to OOAD using UML tools.hwp

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

PowerPoint Template

JAVA PROGRAMMING 실습 08.다형성

쉽게 풀어쓴 C 프로그래밍

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오.

Design Issues

Network Programming

Service-Oriented Architecture Copyright Tmax Soft 2005

슬라이드 1

Microsoft PowerPoint - Chap12-OOP.ppt

PowerPoint 프레젠테이션

Microsoft PowerPoint - Chapter 6.ppt

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - additional06.ppt [호환 모드]

Microsoft PowerPoint - 04_OOConcepts(2010).pptx

17장 클래스와 메소드

Microsoft PowerPoint _04

<4D F736F F F696E74202D B3E25F32C7D0B1E25FB0D4C0D35FBCD2C7C1C6AEBFFEBEEE5FB0B3B9DFB7D05FC1A63038B0AD5F554D4C5F >

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

Microsoft Word - [2017SMA][T8]OOPT_Stage_1000_ docx

Microsoft Word - [2017SMA][T8]OOPT_Stage_1000 ver2.docx

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

PowerPoint 프레젠테이션

Rose교육.ppt

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

Transcription:

Project Team T3 Date 2013-03-21 Team Information 양승민 200911400 정세진 200911418 한종철 200911429 1

1. Basic concept of UML - UML이란 UML은소프트웨어시스템이나업무모델링그리고기타비소프트웨어시스템등을나타내는가공물을구체화하고, 시각화하고, 구축하고, 문서화하기위해만들어진언어이다. - UML의개발필요성 UML은 Rational Software와그협력회사에의해개발되었다. 업무처리과정에서그업무의범위와규모가커짐에따른시스템의복잡성을처리할필요성을느끼게되었는데, 특히물리적인시스템의분산, 동시성, 반복성, 보안, 결점보완, 시스템들의부하에대한균등화와같은반복해서발생하는구조적문제에대한프로세스가필요하게되었다. 또한웹의발전에따라시스템을만들기는쉬워졌으나이러한구조적문제는더욱악화되었기에이러한모든필요성에의해 UML이만들어졌다. - UML의목적. 사용자에게즉시사용가능하고직관적인시각적모델링언어를제공함으로써사용자는의미있는모델들을개발하고서로교환할수있어야한다.. 핵심적인개념을확장할수있는확장성과특수화방법을제공한다.. 특정개발프로세스와언어에종속되지않아야한다.. 모델링언어를이해하기위한공식적인기초를제공한다.. 협동 (Collaboration), 프레임워크, 패턴, 컴포넌트같은고수준의개발개념을제공한다. 2. Kinds of UML Tool 모델링을하기위해사용하는여러가지 uml 도구들이있다. -IBM RSA(Rational Software Modeler/Architect) -Together Architect/Designer/Developer (Borland) -MagicDraw (No Magic) -Visual Paradigm for UML (Visual Paradigm) -EA(Enterprise Architect) -Power Designer -Visio 등의상용 UML도구와 -StarUML -ArgoUML -JUDE/Community -TOPCASED-UML2 (TOPCASED Modeling Framework Open Source Project) -MDT-UML2Tools 등의비상용 UML도구들이있다. 이중에서 staruml을사용할것이므로 staruml 의사용법을설명하도록하겠다. 2

3. Use of UML(starUML) 새다이어그램생성하기 StarUML 은모두 11가지의 UML 다이어그램을지원한다. 사용자는필요에따라원하는다이어그램을생성하여작성할수있다. 다이어그램종류 설명 Class Diagram 클래스다이어그램 (Class Diagram) 은클래스관련요소들의여러가지정적인관계를시각적으로표현한것이다. 클래스다이어그램은클래스 (Class) 뿐만아니라인터페이스 (Interface), 열거형 (Enumeration), 패키지 (Package) 및여러가지관계들뿐만아니라인스턴스 (Instance) 와그것들의연결 (Link) 등도포함할수있다. Use Case Diagram 유스케이스다이어그램 (Use Case Diagram) 은특정시스템혹은개체내의유스케이스 (Use Case) 들과그외부의액터 (Actor) 들간의관계를표현한것이다. 유스케이스는해당시스템의기능을표현하며그것들이어떤외부액터들과상호작용하는지를나타낸다. Sequence Diagram 시퀀스다이어그램 (Sequence Diagram) 은인스턴스들이어떻게상호작용을하는지를묘사한다. 하나의협동 - 인스턴스집합 (CollaborationInstanceSet) 에포함된인스턴스 (Instance) 들상호간에주고받는자극 (Stimulus) 들의집합인상호작용 - 인스턴스집합 (InteractionInstanceSet) 을직접적으로표현한다. 시퀀스역할다이어그램 (Sequence Role Diagram) 은역할 (ClassifierRole) 중심의관점을반영한반면, 시퀀스다이어그램 (Sequence Diagram) 은인스턴스 (Instance) 중심의관점을반영한것이다. Sequence Diagram (Role) Collaboration Diagram Collaboration Diagram (Role) Statechart Diagram 시퀀스역할다이어그램 (Sequence Role Diagram) 은역할개념들이어떻게상호작용을하는지를묘사한다. 하나의협동 (Collaboration) 에포함된역할 (ClassifierRole) 들상호간에주고받는메시지 (Message) 들의집합인상호작용 (Interaction) 을직접적으로표현한다. 시퀀스다이어그램 (Sequence Diagram) 은인스턴스 (Instance) 중심의관점을반영한반면, 시퀀스역할다이어그램 (Sequence Role Diagram) 은역할 (ClassifierRole) 중심의관점을반영한것이다. 협동다이어그램 (Collaboration Diagram) 은인스턴스들이어떻게협동하는지를묘사한다. 하나의협동 - 인스턴스집합 (CollaborationInstanceSet) 에포함된인스턴스 (Instance) 들의협동모델을직접적으로표현한다. 협동역할다이어그램 (Collaboration Role Diagram) 은역할 (ClassifierRole) 중심의관점을반영한반면, 협동다이어그램 (Collaboration Diagram) 은인스턴스 (Instance) 중심의관점을반영한것이다. 협동역할다이어그램 (Collaboration Role Diagram) 은역할개념들이어떻게협동하는지를묘사한다. 하나의협동 (Collaboration) 에포함된역할 (ClassifierRole) 들의협동모델을직접적으로표현한다. 협동다이어그램 (Collaboration Diagram) 은인스턴스 (Instance) 중심의관점을반영한반면, 협동역할다이어그램 (Collaboration Role Diagram) 은역할 (ClassifierRole) 중심의관점을반영한것이다. 상태다이어그램 (Statechart Diagram) 은특정개체의동적인행위를상태 (State) 와그것들간의전이 (Transition) 를통해묘사한다. 3

일반적으로클래스의인스턴스에대한행위를묘사하는데사용되지만그밖의요소들에대해서도얼마든지사용될수있다. Activity Diagram 액티비티다이어그램 (Activity Diagram) 은상태다이어그램의특별한형태로써, 활동들의수행흐름을묘사하는데적합하다. 일반적으로작업흐름 (Workflow) 을표현하기위해많이사용되며, 클래스, 패키지혹은연산등의개체에대해주로사용된다. Component Diagram 컴포넌트다이어그램 (Component Diagram) 은소프트웨어컴포넌트사이의의존관계를묘사한다. 소프트웨어컴포넌트를구성하는요소들과그것들을구현하는요소들도모두표현될수있다. Deployment Diagram Composite Structure Diagram 디플로이먼트다이어그램 (Deployment Diagram) 은물리적인컴퓨터및장비등의하드웨어요소들과그것에들이배치되는소프트웨어컴포넌트, 프로세스및객체들의형상을묘사한다. 복합구조다이어그램 (Composite Structure Diagram) 은분류자 (Classifier) 의내부구조를표현하는다이어그램이다. 여기에는 Classifier 가시스템의다른부분들과의상호작용하는지점등을포함한다. 이렇게 11 가지의 UML diagram 이존재한다. - diagram1. Class Diagram Class Diagram 은문제영역을구성하는모델요소간의관계를나타내는다이어그램 이다. 위그림과같이 class를사각형의형태로그리며, class 안에는 class의멤버변수들과멤버메소드들의이름이들어가게된다. 멤버메소드들의리턴타입들을설정해줄수있다. 또한각 class의관계들을다양한화살표로나타낼수있다. 4

위그림은 direct association 관계로 setter 의관계처럼일방적으로이용하는경우에 연결하는화살표이다. 위그림은일반적인 association 관계로각클래스가서로각자의멤버메소드나멤버 변수에대해서필요로할때일반적으로연결하는선이다. 5

위그림은 aggregation 의관계를나타내는그림이다. 하위 class 가상위 class 의한 부분 ( 집합 ) 이될경우사용하는화살표이다. 위그림은 composition 의관계를나타내는그림이다. aggregation 과비슷한개념이 지만 aggregation 에비해서상위 class 와하위 class 간이연결이더밀접한경우에사 용하는화살표이다. 6

위그림은 generalization 의관계를나타낸다. generalization 은일반화로보통 is-a 의관계에사용하는화살표이다. (ex) 초식동물은동물이다.( 초식동물 is a 동물 ) ) Jung, Yoontae is a Bae, Rankyoung 위그림은 dependency 를나타낸다. 이는의존의관계로화살표를보내는쪽이받는 쪽의멤버변수나멤버메소드들을이용할경우에사용한다. 7

실제로자체를사용하지않고클래스로부터만들어진사용하는건다들알고계실거에요그런자신이하게되는일을구현상에서는함수또는메소드 (Function or Method) 하는데, 의인화시킨다면객체가다른객체에게메시지 " 를전달거라고보면되요. - diagram2. Use Case Diagram 유스케이스 (UseCase) 는시스템의행위 (behavior) 를정의하기위해사용하는요소이 다. 일반적으로유스케이스는액터와상호작용한다. 그림과같이왼쪽의사람모양 actor와 system boundary를그려서 association관계를설정해줄수있다. 또한오른쪽그림처럼각 use case 간의 extend와 include를설정하여그려줄수있다. - diagram3. Sequence Diagram 시간에따라위에서아래로수행되고, 옆으로오브젝트간에메시지가왕래한다. Collaboration Diagram 과는다르게시간의흐름을표현한다. 8

방금생성된객체를선택후속성창 (Properties) 를보게되면, Name 과 Classifier 가있는 데, 이들은위에표기한대로변수명과클래스명을의미한다. 9

10

자가메시지전송 (SelfStimulus) 은아래와같이삽입할수있다. 11

모델탐색기 (Model Explorer) 에서해당시퀀스다이어그램의요소를선택한후, 속성창 (Properties) 을보게되면아래와같은속성을볼수있다. 12

"CAMERA" 객체는 "DISPLAY" 객체로부터 "UpdateScene" 메시지를받게된다. 해당함 수 (Operation) 는 "CAMERA" 객체가가지고있는것이고, 이부분은스스로호출하는것이 아니다. 거의비슷한방법으로 Stimulus( 메시지전송 ) 는드래그하는방식으로만들어진다. 메시지전송 (Stimulus) 를역으로만들어주면아래와같은모양이다. 13

아래그림은 return 을나타낸다. display 에가서별다른작업을하지않을테니까 Activation 이필요없으므로아래와같이한다.. UpdateScene 이호출되면, 내부적으로 "CAMERA" 객체는 UpdateProjection 을호출하게 되고 UpdateProjection 은 UpdateScene 의함수 (Operation) 내에서이루어지는것이기때문 에표현하면아래와같이된다. 14

- diagram4. Deployment Diagram 각시스템의하드웨어, 소프트웨어컴포넌트들의관계를나타낸다. Node라는 notation으로 computational unit( 대부분하드웨어적인부분 ) 을나타낸다. - diagram5. Collaboration Diagram Sequence Diagram과의차이점을살펴보면, Sequence Diagram이시간에따른행위의흐름에역점을두고표현하지만 Collaboration Diagram의경우객체들사이의정적인구조에더중점을둔다. 객체상호간의관계에역점을두었기때문에객체하나의행위를정확하게표현하기에는부적절하다. 15

- diagram6. Activity Diagram 순서도나병렬적인처리를요하는행위를표현할때사용하면유용하다. 순서에따른 activity를나타내는것으로모델링하고있는 diagram에서의 activity의의미를파악하는것이중요하다. - diagram7. Package Diagram class 라는개념의등장으로 class 들이상위개념으로의그룹화방법으로제시된다. package 란하나의 class 가아닌 system 에서의하나의 modeling element 이다. - diagram8. State Chart Diagram Object 가가질수있는모든상태와어떠한 event 를받았을때어떠한상태로변화 하는지를나타낸다. 16

4. Code generation and Conclusion UML tool을사용해 Class Diagram을생성할경우 Code generation하면생성한 Class Diagram 관계대로코드가생성되어코딩할수있는환경을만들어준다. UML tool의사용은 GUI로되어있어서마우스클릭과드래그로편하게그릴수있다. 17