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

Similar documents
UML

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

슬라이드 1

UML의 구성과 도구

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

uml.hwp

슬라이드 1

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 - 06_ClassDiagram(2010).ppt [호환 모드]

Microsoft PowerPoint _UML

1. 파일 명명규칙

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

<4D F736F F F696E74202D205B34C0E55D20BFE4B1B8BBE7C7D720B0B3B9DF20B9D720B0FCB8AE2E BC8A3C8AF20B8F0B5E55D>

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

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

소프트웨어개발방법론

Rose교육.ppt

게임 기획서 표준양식 연구보고서

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

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

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

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

슬라이드 1

PowerPoint Presentation

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

Convenience Timetable Design

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

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

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

Microsoft PowerPoint _04

Something that can be seen, touched or otherwise sensed

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - [StarUML]Manual.ppt

소프트웨어개발방법론

MVVM 패턴의 이해

C++ Programming

쉽게 풀어쓴 C 프로그래밍

윈도우시스템프로그래밍

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

PowerPoint Presentation

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

PowerPoint Presentation

Introduction to OOAD using UML tools.hwp

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

협력 다이어그램

JAVA PROGRAMMING 실습 08.다형성

PowerPoint Presentation

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

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

Microsoft PowerPoint - TimeTable System.pptx

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

RVC Robot Vaccum Cleaner

제11장 프로세스와 쓰레드

PowerPoint Presentation

PowerPoint Template

제목

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - 2강

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

Endpoint Protector - Active Directory Deployment Guide

설계란 무엇인가?

Studuino소프트웨어 설치

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

3D MAX + WEEK 9 Hansung Univ. Interior Design

06.AnalysisModeling.key

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

4임금연구겨울-지상토론

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

Microsoft PowerPoint - 06-Chapter09-Event.ppt

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim();

PowerPoint Presentation

PowerPoint Presentation

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

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

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

Microsoft PowerPoint 장강의노트.ppt

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

제목

쉽게 풀어쓴 C 프로그래밍

CATIA-Assembly Design

PowerPoint 프레젠테이션

슬라이드 1

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

<4D F736F F F696E74202D B3E25F32C7D0B1E25FB0D4C0D35FBCD2C7C1C6AEBFFEBEEE5FB0B3B9DFB7D05FC1A63038B0AD5F554D4C5F >

윈도우시스템프로그래밍

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

Microsoft PowerPoint - Chapter 6.ppt

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

Microsoft PowerPoint - Java7.pptx

Design Issues

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

PowerPoint 프레젠테이션

Network Programming

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - Lect04.pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - 04_OOConcepts(2010).pptx

Transcription:

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

UML 의역사 UML 은 'Unified Modeling Language' 의약자입니다. 무엇을통합했기에 'Unified' 라는말이붙게된것일까요? 먼저, UML 의역사를간단히살펴보면아래그림과같습니다. 객체지향적분석과디자인에대해다양한방면으로실험적인접근을하던방법론자들에의해서다양한객체지향모델링방법이등장하게됩니다. 그중에서도 Booch 의 Booch 방법론, Rumbaugh 의 OMT(Object Modeling Technique) 와 Jacobson 의 OOSE(Object-Oriented Software Engineering) 방법론이유명했습니다. 이렇게많은방법론이존재하다보니, 서로다른방법론을사용하는조직간에모델정보를공유하기위해선각조직에서사용하는방법론의표현기호를익히고이해해야했습니다. 상황이이렇다보니모델을표현하기위한동일한표현기호, 동일한모델링언어를사용하는것에대한필요성을느끼게됩니다. UML 개발은 1994 년후반에 Rational 사의 Grady Booch 와 Jim Rumbaught 에의해그들의방법론인 Booch 와 OMT 의통합으로시작되었습니다. 1995 년가을 Ivar Jachobson 이소속된회사 Objectory 와 Rational 이합병되면서통합의노력이있었고이에 Jacobson 의 OOSE 방법론이통합되었습니다.

Booch, Rumbaugh, Jacobson 되었습니다. 은다음의세가지이유로통합된모델링언어를만들게 1. 각각의방법론들이이미각자독립적인발전을하고있었다. 각방법론에서사용자에게 혼란을일으킬불필요한부분을제거하고통합하여같이발전시키는것이이치에맞았다. 2. 완벽한의미와표기의통일로써안정된객체지향시장을형성할수있다. 또한프로젝트에완벽한모델링언어를제공하고모델링언어를지원하는툴들에게더나은특징을제공할수 있게된다. 3. 각자의방법론이서로보완하여더나은발전을이룰수있고각자의방법론이해결할수없는문제를해결할수있도록도와준다. 이들세사람은모델링언어를통합하기위해다음의목표를두고노력을기울였습니다. 1. 객체지향개념을이용하여소프트웨어영역뿐만아니라시스템영역도모델링할수있게한다. 2. 실행가능하거나개념적인산출물들을명확하게결합할수있게한다. 3. 사람과기계에모두유용한모델링언어를만든다. 세사람의노력으로 1996 년 6 월에 UML0.9 문서가공개되었으며, UML 협의회를설립하여강력하고완전한 UML 을정의하기위한행보를진행하게됩니다. UML 1.0 을정의하는일에기여한협력업체로는 HP, I-Logix, Intelicop, IBM, Oracle, Microsoft 등등이있습니다. UML1.0 문서는 1997 년 1 월 OMG 에표준안으로제출되게되고, UML1.1 로개정하여 1997 년 9 월 OMG 에서표준안으로채택되게됩니다.

UML 소개 1. 소개 UML(Unified Modeling Language) - 설계를위한모델링언어. ( 프로그래밍언어는실제구현을위한언어 ) 모델을표현하기위한도구와기법의집합. 개발설계물을이해하기쉽고, 표준적으로나타내어다른사람과효율적으로공유할수있다. 2. 주요 ' 다이어그램 ' 의종류 1) Class Diagram ( 클래스다이어그램 ) : 시스템의논리적및물리적설계를나타내는데주로이용된다. 시스템과그구조에대해나타내고그사이에존재하는정적인것을나타냄 2) Object diagram ( 개체다이어그램 ) : 시스템내의객체들의관계를보여주며특정시점의시스템의스냅샷을나타냄 3) Use-case Diagram ( 유스케이스다이어그램 ) : 시스템이구현할업무 ( 쓰임새 ) 프로세스, 시스템의동작방법을나타냄. 4) Statechart Diagram ( 상태다이어그램 ) : 개체의상태와상태들사이의전이, 이벤트등을나타냄. 5) Sequence Diagram ( 시퀀스다이어그램 ) : 시스템의서로다른개체들사이의전달되는메시지들에대한시간순서를나타냄. 6) Activity Diagram ( 활동다이어그램 ) : 시스템내업무프로세스들의활동흐름을표현 7) Collaboration Diagram ( 협력다이어그램 ) : 시스템의서로다른개체들이어떻게협력하고정보를교류하는지를나타냄. 8) Component Diagram ( 컴포넌트다이어그램 ) : 구현되는시스템과시스템내부의구성원들간의의존관계를나타냄. 9) Deployment Diagram ( 배치다이어그램 ) : 특정한실행시점의물리적시스템의아키텍쳐를표현.

3. UML 표기 (UML 요소 ) 1) 클래스 2) 관계

4. 클래스다이어그램만들기 1) 클래스만들기 StarUML 을실행하면왼쪽에다음과같은 Toolbox 가나타난다. 클래스를만들고자할때는빨간색동그라미부분을클릭후오른쪽의빈화면을클릭해주면그림에서와같이노란색박스가생기는데이것이클래스다. 2) 클래스편집클래스를더블클릭하면다음과같이된다. 1 번은 public, private 등을설정할수있는부분이고, 2 번은 Class 이름을변경할수있는부분이다. 3 번은클래스내의변수를만드는부분이다. 4 번은클래스내의함수를만드는부분이다.

3) 상속 Person Student Professor Person 클래스는 Student, Professor 클래스의부모클래스이다. 상속표현을나타내기위해위와같은화살표를사용하는데왼쪽 Toolbox 에있는빨간색동그라미부분을클릭하여 Student 또는 Professor 에서 Person 클래스로드래그해주면된다. 4) 제휴관계 Flight +assinged filght +assigned plane Plane 0..* 0..1 제휴는두클래스간의연결이다. 양방향제휴와일방향제휴가있다. 먼저양방향제휴를나타낼때는 Toolbox 에서빨간색동그라미에서 Association 을클릭후드래그하면된다. 일방향제휴의경우두클래스가관계가있지만한쪽에서만인식이되는경우로밑에있는 DirectedAssociation 을클릭후인식이되는부분쪽으로드래그하면된다. 연결선의양쪽끝을더블클릭하면다음과같은창이나온다. 0..1, 0..* 이러한값들이나오는데이것을 Multiplicity 값이라고 한다. 그뜻은오른쪽에있는표에정리되어있다.

5) 인터페이스 인터페이스를만들때는빨간색동그라미부분을선택후오른쪽에클릭하면된다. 이때마우스우클릭후 Format->Stereotype Display 를선택하면클래스모양과동일한 Textual, 동그란모양의 Iconic 등을선택할수있다. 변수를추가하고함수를추가하는기능은앞서설명한클래스에서와동일하다. 다음과같은클래스다이어그램이있다. <<interface>> Vehicle +startup +ChangeGear +Foward() +Left() +Right() +Stop() 3 2 1 Driver Car Wheel

Interface 와클래스를생성후 Toolbox 의빨간색사각박스가그려진부분을이용해드래그하여만들면된다. 위예제를살펴보면 1 번은 Realization 으로현실화이다. 즉 Car 클래스가 Vehicle Interface 를구현한다라는뜻이다. 2 번은 Dependency. Driver 클래스는 Vehicle Interface 를사용하기때문에의존적이라는뜻이다. 3 번은 Aggregation 과 Composition 이다. 빈마름모와검은색마름모인데두가지의차이점은그 클래스가릴리즈되는시점이다. Composition 의경우소유하는클래스가죽을때소유당하는 클래스가같이죽지만 Aggregaton 의경우에는소유하는클래스가죽을때소유당하는녀석들이 같이죽지않는다는차이점이있다. 5. Use case 다어이그램이란? - 시스템이제공하는기능및그와관련한외부요소 ( 유저나외부시스템 ) 를표시한다. 일반적으로시스템개발초기에유저가 [ -- 기능을원한다 ] 고하는요구를표현할때에사용한다. 1) 유스케이스 (usecase) 유스케이스유저등시스템외부에서본시스템의기능을표시한다. 표기법타원으로표시하고, 그안쪽혹은아래쪽에유스케이스이름을기술한다. 유스케이스이름은 [ 예약한다 ] 혹은 [ 등록한다 ] 와같이동사로기술한다. 샘플 2) 액터 (Actor) 액터란 어떤시스템을중심으로보았을때, 거기에관련한모든외부요소를표현한다. 구체적으로는그시스템의유저나연계되어있는외부시스템이여기에해당한다. 표기볍 원과선을조합하여그린사람모양으표현하고, 그밑에액터의이름을기술한다. 사람을액터로표시하는경우, 유저의본명이아니라그유저의역활을액터명으로정의한다.

샘플 3) 유스케이스와액터사이의관계 유스케이스와액터사이의관계란 시스템이제공하는기능과외부요소 ( 유저나외부시스템 ) 의관계를나타낸다. 표기법관련한액터와유스케이스사이에실선을그어표기한다. 샘플 4) 유스케이스사이의포함관계 (include)

유스케이스사이의포함관계란 시스템기능이별도의기능을포함한다고하는관계를표시한다. 표기법 포함하는쪽에서포함되는쪽으로점선으로된화살표를그리고, 스테레오타입 <<include>> 를함께표시한다. 샘플 5) 유스케이스사이의확장관계 (extend) 유스케이스사이의확장관계란 이미존재하는시스템기능에별도의기능이추가될수있는관계를나타낸다. 표기법 확장기능의유스케이스에서확장대상이되는베이스유스케이스쪽으로점선화살표를그어 관계를구분하고스테레오타입 <<extend>> 를함께표시한다. 확장하는유스케이스에는 확장포인트를기술할수있다. 확장포인트란확장한기능을사용하는특정포인트를가리킨다.

샘플 : 비디오테입을대여하는과정에서손님이회원이아니라면회원가입하는작업으로 extend 될수있다. 6) 유스케이스사이의일반화관계 (generalization) 유스케이스사이의일반화관계란 시스템기능사이에추상화혹은구체화관계가존재함을나타낸다. 표기법 구체적인유스케이스로부터추상적인유스케이스쪽으로머리모양이하얀색삼각형으로된 실선화살표를그어표기한다. 샘플

7) 액터사이의일반화관계 (generalization) 액터사이의일반화관게란 시스템외부요소 ( 유저, 외부시스템 ) 사이에추상화또는구체화의관계가존재함을 표시한다. 표기법 구체적인액터에서추상적인엑터쪽으로머리모양이흰색삼각형으로된실선화살표를 그어표기한다. 샘플

샘플. 유스케이스다이어그램을사용한간단한모델링 출처 : http://nell.springnote.com/pages http://blog.empas.com/mcm27xx/read.html?a=4052477