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

Size: px
Start display at page:

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

Transcription

1 Software Modeling & Analysis Report #1 과목정보 학생정보 학교명건국대학교전공컴퓨터공학부 학기 2015 학년도 1 학기과목명 팀원 김민재 이규진 이종찬

2 Contents 1. UML 에대하여 1-1. UML 설명 UML 정의 UML 역사 UML 장, 단점 UML 목적 1-2. UML 의특징 1-3. UML 의구성요소 Things( 사물 ) Relationship( 관계 ) Diagram( 다이어그램 ) 2. UML 도구소개 2-1. Amateras UML 2-2. Star UML 2-3. Omnigraffle 2-4. Object Aid 2-5. MS Visio 3. UML 과모델링 3-1. 구조모델링 3-2. 행동모델링 3-3. 설계모델링 2

3 1. UML 에대하여 1-1. UML 설명 UML 정의 UML이란, unified modeling language의약어로객체지향분석과설계를위한모델링언어이다. UML을사용해서개발자들은시스템에대한사전모델을만들수있게되었다. 다양한프로그래밍작업을하게되면, 사람과사람사이의전체시스템에대한의사소통의불일치가있을수있는데이것을시각적이고직관적으로이해하기쉽게보여주는것이바로 UML이다. 따라서개발자간의의사소통이쉬워진다. UML 은프로그래밍언어가아니지만존재하는몇가지의추가도구를사용하여여러가지다른프 로그래밍언어로변환이가능하다. 그러므로 UML 은도식화된언어이며소프트웨어를만드는데긍정 적효과를제공한다 UML 역사 UML 의역사를표현한그림이다. UML 은 1980 년대후반에서 1990 년대초반에개발된객체지향 개발방법에뿌리를두고있으며, 1990 년대중. 후반이후로빠른속도로발전하고있다 UML 장단점 UML의장점은셀수없이많지만, 그장점중에큰범위로 3개를표현한다. 첫째, 팀구성원의의사소통효율의향상을이끌어낼수있다. 실제로프로젝트또는어떤일을진행하다보면, 의사소통으로소비되는시간이매우많다는것을알수있다. 특히조직또는팀구성원이많을수록의사소통시간이급격하게증가할것이다. UML은설계와디자인을겸비한도구이다. 모델링의장점은이해하기쉽고, 서로약속된표현법을활용하므로오해의소지가줄어든다. 이처럼 UML을활용하면, 의사소통시간을줄일수있고데이터모델을활용하면더욱좋다. 둘째, UML 은국제표준이다. 최근에는객체지향개발방법뿐만아니라다양한개발방법에서활용 3

4 하고있고, 설명서를 UML에기반을두어작성하고있다. 소프트웨어아키텍처패턴이나디자인패턴을소개하는문서를살펴볼때 UML을이해하지못하면해당패턴을이해하기가매우어려울수있다. 그러나 UML을정확히알고있다면, UML로작성된방대한정보에쉽게접근할수있고, 이정보를기반으로다양한아이디어를만들어낼수있을것이다. 마지막으로문서화가쉽다. 프로젝트를진행하다보면, 프로젝트일정과비용등으로문서화를진 행하는데어려움을느낄때가있을것이다. 하지만 UML 을사용하면모델링정보를쉽게접근할수 있고프로젝트를문서화할때훌륭한매개체가될수있다. 이처럼여러가지 UML의장점도있지만 UML을사용할때생각해야할고려사항도몇가지가있다. 첫째, UML을사용하는이유가명확해야한다. 프로젝트와관련된내용을고려한후, UML의도입방향을제시해야한다. 굳이사용하지도않을 UML을작성하면, 쓸데없이시간과비용을소비하게된다. 둘째, UML 다이어그램작성이쉽지않다. UML 다이어그램은모델링과정이므로다양한경험과숙련도가필요하다. UML을이해하고있는것과보는것그리고작성하는것은서로부분이라고볼수있다. 또한소비자들이요구하는요구사항을분석하여 UML에서제시하는다이어그램을모두효과적으로작성할수있는사람이드물다. 마지막으로 UML 활용방안의문제이다. 매우잘작성된 UML 다이어그램이라도프로젝트구성원이 UML 다이어그램을이해하지못하면빛좋은개살구일뿐이다. 기본적으로도구를활용하는데에는추가적으로비용이소비되는데어떤도구든지비용대비효율성을고려하여합당하다고인정될때사용하는것이합리적이다 UML 의목적 UML 의최우선목적은아래와같다. l 사용자에게즉시사용가능하고표현력이강한시각적모델링언어를제공함으로써사용자는의미있는모델들을개발하고서로교환할수있다. l 핵심적인개념을확장할수있는확장성과특수화방법을제공한다. l 특정개발프로세스와언어에종속되지않는다. l 모델링언어를이해하기위한공식적인기초를제공한다. l 객체지향툴시장의성장을장려한다. UML은소프트웨어를모델링하기위한언어이다. 그렇지만반드시소프트웨어에국한되는것만은아니다. UML은시스템의모든분야를모델링할수있어야한다는목적으로탄생하였다. UML은소프트웨어뿐만아니라비즈니스모델링의영역도포함을한다. 그리고객체모델링에대한개념뿐만아니라데이터모델링 지도가능하게한다. 지금은 UML 스펙이발전하면서비즈니스모델링부분이 Business Process Modeling Notation 이라는별도의영역으로분할이되었고 UML은 Model Driven Architecture 사상으로더심화된모습으로전개되고있다. 비즈니스모델링부분은 CBD(Component Based Development), MDA(Model Driven Architecture), EA(Enterprise Architecture), SOA(Service Oriented Architecture) 등의트랜드가자리잡으면서비즈니스모델링의중요성이부각되어 UML을비즈니스모델링에적용하는것이활발해지면서그영역이점점넓어지고있다. 4

5 5

6 1-2. UML 의특징 UML의특징은크게 4가지로구분할수있다. l 가시화언어 l 명세화언어 l 구축언어 l 문서화언어 덧붙여설명하자면소프트웨어의개념모델을시각적인그래픽형태로작성, 표기법에있어서는 Symbol에명확한정의가존재하므로개발자사이에서원활한의사소통이가능하게해주는것이가시화언어이고, 명세화언어란정확하고명백하며, 완전한모델을만드는것을의미한다. UML은소프트웨어개발과정인분석, 설계, 구현단계의각과정에서필욯ㄴ모델을명세화할수있는언어이고, 구축언어는 UML로명세화된설계모델은 JAVA, C++, VB 등다양한언어의소스코드로변환하여구축할수있다. 반대로구축되어있는소스코드를 UML로변환하여분석하는 Reverse도가능하다. 문서화언어는시스템아키텍처와이에대한모든상세내역에대한문서화를다루며, 요구사항을표현하고시스템을테스트하는언어도제공한다. 6

7 1-3. UML 의구성요소 UML 의구성요소는위의그림과같으며 UML 의구성요소를 Thing( 사물 ), Relation( 관계 ), Diagram ( 다이어그램 ) 3 가지로크게나눌수있다 Things( 사물 ) Thing( 사물 ) 에는 4 가지가있다. l l l l 구조사물 (Structural) 행동사물 (Behavioral) 그룹사물 (Grouping) 주해사물 (Annotational) 구조사물 (Structural) 은모델의정적인부분들을정의, 물리적, 개념적요소를표현한다. 하위요소 로클래스, 인터페이스, 통신, 유스케이스, 활성클래스, 컴포넌트, 노드 7 개의구조사물이있다. 구조사물형태정의 클래스 (Class) 이름, 속성, 오퍼레이션을 가지고있으며 직사각형으로표현한다. 7

8 인터페이스 (Interface) 클래스의외부적으로가시화되는요소의행동을표현, 특정클래스나컴포넌트의전체또는일부분만의행동 통신 (Communication) 유스케이스 (Use Case) 활성클래스 (Active Class) 컴포넌트 (Component) 노드 (Node) 객체들간에주고받는메시지시스템이수행하는순차적활동을기술해준다. 특정어플리케이션프로그램의상위메뉴구분과비슷하다. 하나이상의프로세스나쓰레드를갖는객체를파생하는클래스기술시스템의물리적이고대체가능한부분으로, DLL이나 EXE와같은물리적단위에해당함실행시에존재하는실제전산자원을의미하며, 대부분의경우자체적인메모리와처리능력을가진시스템을말한다. 행동사물 (Behavioral) 은 UML 모델의 동적인 부분으로 구성되어 있다. 하위 항목으로는 교류 (Interaction), 상태머신 (State Machine) 이있다. 행동사물 형태 정의 교류 (Interaction) 객체들간의주고받는메시지 상태머신 (State Machine) 상태의순서를지정하는 행동 그룹사물 (Grouping) 은 UML 모델의요소들을그룹화시켜준다. 하위요소로패키지 (Package) 가있 는데 UML 모델의요소들을그룹화메커니즘으로정의한것을말한다. 8

9 주해사물 (Annotation) 은모델을설명하는부분이다. 하위요소로는노트 (Note) 가있으며 UML 모델 의주석에해당하는것으로, 점선으로노트와설명할대상을연결한다. 9

10 Relationship( 관계 ) Relation( 관계 ) 에는 4 가지가존재한다. l l l l 의존 (Dependency) 연관 (Association) 일반화 (Generalization) 실체화 (realization) 관계형태정의 두사물간의의미적관계, 의존 (Dependency) 한쪽사물의변화가다른 사물에영향을주는관계 구조적관게로서객체간의 연결을나타냄, 집합 연관 (Association) 일반화 (Generalization) 연관관계는전체와부분간의구조적관계를표현하는특별한연관관계주로클래스간상속관계를표현하기위해사용 객체들사이의의미적관계, 인터페이스와인터페이스에 실체화 (realization) 오퍼레이션이나서비스를제공하는클래스나컴포넌트사이의관계를지정하기위해서사용 Diagram( 다이어그램 ) UML 의다이어그램은두가지유형이있다. 구성요소를표현하기위한구조적다이어그램 (Structural Diagram) 과행위를표현하기위한행위다 이어그램 (Behavioral Diagram) 이있다. UML 다이어그램 정의 모델의조립부품의집합. 클래스다이어그램클래스와관계에의해서구조적다이어그램 (Class Diagram) 구조와관계를표현한다. (Structural Diagram) 객체다이어그램 시스템을구성하는객체, (Object Diagram) 객체간의관계를표현 10

11 행위다이어그램 (Behavioral Diagram) 컴포넌트다이어그램 (Component Digram) 배치다이어그램 (Deployment Diagram) 유스케이스다이어그램 (Use Case Diagram) 순서다이어그램 (Sequence Diagram) 상호작용다이어그램 (Interaction overview Diagram) 상태다이어그램 (State Diagram) 액티비티다이어그램 (Activity Diagram) 소프트웨어-유닛간의의존관계를나타내는것으로, 소프트웨어모듈구성이나버전관리도표현할수있다. 객체나패키지, 파일등을실제플랫폼이나네트워크노드상의어디에배치할것인지, 그리고어느프로세스상에서실행할것이라는물리적인관점에서시스템구성을표현한다. 시스템의문맥과외부기능의설정상호작용하는객체의시간순서즉, 객체의집단메시지송신에대한시계열표현이다. 객체집단에서의상호작용에대한직접적표현이나객체집단의접속망의형태와메시지, 스레드의순서표현 1개의객체생성에서소멸까지상태. 즉어떤클래스에속하는객체의싸이클표현을제공한다. 1개의 Interaction 전체에서의순서제어플로우. 상태다이어그램의상대적표현으로서워크플로우에초점을맞춘다이어그램 이중에서중요하게생각되는 2 가지다이어그램을조금더자세하게서술한다. l l 클래스다이어그램 (Class Diagram) 순서다이어그램 (Sequence Diagram) 클래스다이어그램 (Class Diagram) 클래스다이어그램은시스템의정적인상태인논리적인구조를표현한다. Class, Interface, Collaboration 간의관계를나타내며, 객체지향개발에서가장공통적으로많이사용한다. 클래스다이어그램을구성하는것은클래스와관계이다. 11

12 클래스다이어그램은다음과같은특징을가진다. 가. 시스템의요구사항에표현된작업즉, 시스템이처리해야하는작업에대한책임을분할한다. 나. 모델은점점증가되며관련된클래스들끼리패키지화시킨다다. 클래스가너무작게쪼개거나기능을너무많이포함하면안되며적절한방법으로구현한다. 클래스다이어그램은시스템의정적설계도인 Class Diagram과시스템의프로세스도인 Active Class Diagram으로구분할수있다. 클래스를구성하는것은클래스명, 속성, 메소드이다. 모든클래스는다른클래스들과구별되는유 일한이름을갖는다. 클래스명은단순명과경로명두가지중하나를선택할수있다. 단순명은클래 스이름만표기하는방법이며, 경로명은패키지명을포함하여표기하는방식이다. 순서다이어그램 (Sequence Diagram) 순서다이어그램은인스턴스들이어떻게상호작용을하는지를묘사한다. 하나의협동-인스턴스집합에포함된인스턴스들상호간에주고받는자극들의집합인상호작용-인스턴스집합을직접적으로표현한다. 순서역할다이어그램은역할중심의관점을반영한반면, 순서다이어그램은인스턴스중심의관점을반영한것이다. 12

13 2. UML 도구소개 2-1. Amateras UML Amateras UML 은일본에서만든오픈소스 UML 도구로서 JAVA Eclipse 에서직접 Plug-in 으로 연결하여사용할수있는프로그램이다. Amateras Download Link : < Amateras UML Plug-in 실행모습 > Amateras UML 의장점은 Eclipse 에직접연동되어이클립스내에서 UML 을그린후해당 UML 을 토대로기본코드를자동으로생성할수있는기능이다. 이는실제로개발시편리함을제공할뿐만 아니라디자인한대로코드를작성하도록길라잡이역할을해준다. 13

14 Amateras UML 을이용하여 Elipse 내에서 Class Diagram 을그린모습, Amateras 는 Class Diagram, Activity Diagram, Sequence Diagram, Use-Case Diagram 기능을제공한다. 하지만직접사용해본결과 Amateras는안정성에문제가존재하였다. 저장시에문제가발생하면어떤경고도없이통째로 Diagram이날아가버리거나 Diagram 수정시에하나를고치면다른변수명이나자료형이마음대로바뀌는버그도존재하였다. 물론프리웨어이므로완벽함을바랄수없는것이사실이므로어느정도는감안할수있는사항이다. < Amateras UML 의 Use-case Diagram > 14

15 2-2. Star UML (ver 2.0) Star UML 은한국개발자들이만든 UML 도구이며부분프리웨어이다. ( 실행시구입을권장하는 문구가뜨지만구입하지않아도무기한사용가능하다 ) Star UML 은그전에도좋은평가를받아왔지 만 2014 년 Star UML 2 를개발하면서더깔끔한인터페이스와강력한기능들이추가되었다. < Star UML 2 로 Class Diagram 을그린모습 > Star UML 2는 Amateras UML과달리이클립스의플러그인으로직접탑재되어지지는않지만 Extension Manager라는기능을통해서 PHP, XML, JAVA, C#, C++ 과연동하여사용할수있다. 예를들어 JAVA의경우, UML을코드로 Generate하는기능을이용하면작성한 Class들의기본코드가생성되어쉽게사용할수있다. 같은프리웨어툴인아마테라스와비교했을때 Code Generate 기능에깔끔하고편리한 UI까지얹은 Star UML이한수위라고표현할수있다. 하지만한가지의문점은 Interface 와 Interface Realization 표기방법이기존 UML 툴들과다르다 는것이다. 이렇게하도록한이유는잘모르겠지만, Star UML 로작성한 Class Diagram 을처음접 하는제 3 자가보았을때혼돈을줄수있을것으로생각된다. 15

16 < Star UML 에서 Generate 한코드를이클립스에서실행한모습 > 2-3. Omnigraffle Omnigraffle은매킨토시와 ios를위한프로그램으로유료프로그램이다. 따라서직접사용해보진못했지만전문 UML Tool이라기보다는회의나여러가지도형을이용한시각화를필요로할때사용하는 Tool이다. 따라서전문적인 UML Tool은아니므로실제 Class Diagram을작성할때에는불편함이있을수있다. ( 실제로옴니그라플을사용하여 UML을그릴때불편하다는리뷰를어렵지않게찾을수있었다 ) 하지만사용하기편리하고직관적인인터페이스는옴니그라플의큰장점이다. < Omigraffle 실행화면 > 16

17 2-4. Object Aid ( Object Aid는 Amateras UML과마찬가지로이클립스의플러그인중하나이다. 하지만기능은아주다르다. Amateras UML의경우직접 Diagram들을편집한후코드화하는용도로쓰이지만, Object Aid는반대로진행중이거나완성된프로젝트의코드를가지고거꾸로 UML Diagram으로만들어주는역할을한다. 다른도구들과역할이다르므로장단점을비교할수는없지만다른오픈소스프로젝트들의설계를참고하거나 UML에관하여공부할때많은도움을줄수있는도구이다. Class 파일를드래그앤드롭하면 Class Diagram 으로변환하여보여준다. 17

18 2-5. MS Visio ( Microsoft에서제작한다이어그램전용유료프로그램이다. 다양한다이어그램템플릿과편리한기능들을제공하고있으며벡터그래픽을사용하여그림을확대해도깨지거나손상되지않는다. UML 작성외에도여러가지정보를빠르게시각화할수있다는점에서비즈니스도구로써매우활용도가높다. < MS Visio 를통해그린 Class Diagram > 18

19 3. UML 과모델링방법론 모델링이란, 모델을만드는일 ( 추상화 ) 로써품질이좋은소프트웨어를개발및배치할수있게하는모든 활동의중심이다. 모델구축을통해개발대상시스템에대한이해를증진시킬수있다. UML 에서모델간의구분을하는것은굉장히중요하다. 서로다른 UML 모델타입은서로다른다이어그 램을사용하기때문이다. UML 모델링은다음과같은주요요소들이있다 구조모델링 (Structural Modeling) 구조모델링은시스템의전반적인구성뼈대를잡아주는역할을한다. 구조모델링은다음과같은다이어그램 들로이루어진다 Class Diagram 클래스다이어그램 (Class Diagram) 은시스템의정적인상태인논리적인구조 ( 클래스 ) 를표현한다. Class, Interface, Collaboration 간의관계를나타내며, 객체지향개발에서널리사용되고있다. 클래스 다이어그램은클래스와관계로이루어진다. * 특징및주의점 1) 시스템요구사항에명시된작업, 즉시스템이처리해야하는작업에대한클래스간의역할을명시해준다. 2) 시스템의규모에따라점점커지게되며, 클래스들을묶어패키지화할수있다. 3) 클래스를너무작게표현하거나기능을너무많이포함하면효율적이지않으므로적절하게나누어야한다. * 클래스다이어그램의구성요소 1) 클래스 (Class) 클래스를구성하는것은클래스명, 속성, 메소드이다. 모든클래스는다른클래스들과구별되는유일한이름을갖는다. 클래스명은단순명과경로명두가지중하나를선택할수있다. 단순명은클래스의이름만표기하는방식이며, 경로명은패키지명까지포함하여표기하는방식이다. 속성은의미있는명사형으로표현한다. Visibility Name: Type= Default Value + variablename: byte Visibility 는접근제한자를나타내며표기법은다음과같다. 표기법접근제한자 + public - private # protection 메소드는의미있는동사형으로표현하며표기법은다음과같다. 19

20 Visibility Name(Parameter-List): Return-Type expression 예 )+ methodname (int param): int 클래스표기법에는스테레오타입 (Stereo-Type) 을붙일수있는데, 스테레오타입이란 UML 의한 정된모델요소를가지고새로운어휘를표현하기위한방법이다. 메소드명위에아래의예처럼스테레 오타입을붙이면해당메소드는생성자라는것을표기하는것이다. << constructor >> 이런방법으로클래스명위에인터페이스나추상클래스임을나타낼수있다. 2) 관계 (Relationship) 관계는모델요소간의논리적또는물리적인연결을의미하며, 여러객체의유기적인관계를통 해시스템이실행된다. 1. 의존관계 (Dependency) 'Using' 관계를나타내며, 하나의모델요소가다른모델요소를사용하는관계를말한다. 사용되는모델요소가변경되면사용하는요소가영향을받지만, 역은성립되지않는다. UML 표기법은점선으로된화살표로표현합니다. 화살표의방향은사용하는쪽에서사용되는쪽으로향한다. 예제는프로그래머클래스가사용하는쪽이고컴퓨터클래스가사용되는쪽이다. 사용되는클래스 가사용하는클래스의메소드파라미터로사용되는경우, 사용되는클래스가사용하는클래스의메소드 로컬변수로사용되는경우, 사용되는클래스가사용하는클래스의전역변수로사용되는경우이다. 의존관계는 has a 관계를가지는클래스들간에변수나, 메소드의파라미터의사용을가지는클 래스의관계를표시한다. 2, 일반화 (Generalization) 여러클래스가가진공통적인특징을추출하여공통적인클래스를일반화시키는것을의미하며, 반드시클래스간의 'is a' 관계이어야합니다. 객체지향의상속관계를의미한다. 20

21 추상클래스 (Abstract) 는이탤릭체나스테레오타입으로표시한다. 3. 연관관계 (Association) 클래스로부터생성된인스턴스들간의관계를표현한다. 의존관계와일반화관계는단순히클래스들간의관계를나타내며, Classifire로부터생성된인스턴스사이의관계를나타낸다. 상대방의인스턴스를가리킬수있는속성을가지며, 참조할수있는속성은 UML 상에서표현하지않는다. 표현하고자할경우 Role name을사용한다. 연관관계가가리킬수있는방향의종류는양방향과단방향이있다. 4. 집합연관관계 (Aggregation) 전체와부분을나타내는모델요소 (whole-part) 로전체를나타내는클래스와이를이루고있 는부분클래스의관계를나타낸다. 'has a' 관계를나타내며집합연관관계는전체와부분은서로 독립적인관계를나타낸다. 5. 복합연관관계 (Composition) 전체와부분을나타내며 (Whole-part), 젠체를나타내는클래스와이를이루고있는부분클 래스관계를나타낸다. 연관관계를맺고있는클래스는생명주기기같다. 'has a' 관계이다. 21

22 6. 실체화, 권력화 (Realization) 인터페이스는컴포넌트간의결합력을느슨하게한다.(Loose Coupling) 인터페이스는프로그 램의수정없이쉽게소프트웨어를확장할수있다. 클래스다이어그램 UML 작성시주의점 1. 클래스다이어그램은 'is a' 관계를나타냅니다. 2. 일반화관계는균형있게유지해야합니다. 3. 선들이교차하지않도록주의해야합니다. 4. 이해하기쉬운정도로간략하게표시합니다. 5. 관련있는클래스들은가까운곳에배치합니다 Objects Diagram 객체다이어그램은객체를대상으로한그램이다. 모델의 어느일부분 을파악하여해당시점의 객체구조를나타낸다. 객체지향시스템에존재하는클래스, 클래스안의필드, 메소드, 서로협력하거나 상속하는클래스사이의연결관계를표현하는다이어그램이다 Deployment Diagram 시스템을구성하는소프트웨어와하드웨어와의관계를표현한다. 물리적인시스템의구조를 표현하며네트워크를사용하는분산컴퓨팅환경을모델링할때사용하면유용한다. Deployment 다이어그램은물리적인표현은노드 (Node) 를이용하며, 노드의종류는프로세 스 (Processor) 와장치 (Device) 로구성된다. 프로세스는컴포넌트실행기능을말하며, 장치는시스템 22

23 과외부장치와의연결에사용한다 Package Diagram 시스템을이해하기위한목적으로추상적인개념들을모은하나의그룹을패키지라고한다. 패키지는요소들을그룹으로조직하기위한범용메커니즘으로모델의요소들을조직하고이해할수있도록해준다. 패키지에담기는것은비단클래스에만국한되는것은아니며, Use Case, 활동다이어그램등과같은것들도담을수있고, 다른패키지들도담을수있다. 패키지내부의모든클래스들은개념적, 기능적, 변화적, 관리적측면에서유사한면을가지며, 하 나의패키지는적절한수의클래스를포함한다. 또한하나의패키지내부의클래스들은밀접한관련성을 가진다. ( 높은응집도 ) 다른패키지의클래스들과는약한의존관계가있다. ( 낮은결합도 - : 서로독립적이다 ) 그리고패 키지는순환의존관계는올바르지않는구조를가지지않아야하며, 패키지다이어그램은패키지와관계 라는두가지요소로표현한다. 패키지는탭이달린폴더모양으로표현한다. 단순표기법은패키지안에이름만을표기하며, 확장 표기법은내부에클래스까지표현한다. 있다. 패키지는클래스를직접포함하거나, 이름만명시하거나, 경로를표시하거나, 패키지를포함할수 Composite Structure Diagram 복합구조다이어그램은컴포넌트의내부구조를표현하는데사용한다. 파트, 포트, 연결자동의 개념을이용하여컴포넌트가실현, 이용하는인터페이스와내부구성요소간의관계를표현한다 Component Diagram 시스템의논리적인요소를물리적인요소로표현한다. 한개이상의클래스를구현하여하나의컴 포넌트를만들수있다. 컴파일될소스코드파일의관계등을표현한다. 실행파일, 동적링크라이브러 리 (DLL), 문서들을표현한다. 작성된컴포넌트를언제든지재사용할목적, 문서작업을원할하게하기위해, 개발자에게작업 구조를구체적으로이해시키기위해사용한다. 구조모델링은시스템을위한뼈대를나타내며, 그뼈대에서각구성요소들이어느곳에위치하는지를보 여준다. 그래서 Class 다이어그램, Component 다이어그램, Deployment 다이어그램은구조모델링의일부 분에속한다. 이다이어그램들은구성요소들과메커니즘이어떻게관련되는지를보여준다. 하지만구조모델링은시스템이어떻게작동하는지에대해서는보여줄수없다. 보통은 Class Diagram 이 구조모델링에서많이쓰인다. 23

24 2) 행동모델링 (Behavioral Modeling) 행동모델링은시스템에서어떤상호작용이일어나는지를보여준다. 행동모델링은구조모델링에서보여줄수없는, 각구성요소들이서로간에어떤상호작용이일어나는지를나타낸다. 즉, 시스템의전체적흐름을보여주는것이다. 행동모델링은다음과같은다이어그램들로이루어진다. 2-1) Activity Diagram 많은프로젝트에서요구사항분석의일부로서사용자들의작업흐름을모델화하고분석하는작업이필요하다. 우리가원하는것은동시에일어나도되는것은어떤것이고, 엄격한순서에따라일어나야하는것은어떤것인지찾아내는것이다. UML 활동다이어그램같은표기법을사용해서사용자들이기술해준작업흐름을기록하는것이한방법이다. 활동 (Activity) 다이어그램은논리적인처리과정이있는모든대상을상대로그려질수있다. 특히비즈니스를돕는소프트웨어일경우비즈니스도메인에대한이해가무엇보다도중요하다. 시퀀스에서는객체간의메시지를이용한상호연동 ( 교류 ) 을시간의흐름에따라상세히기술하는반면활동다이어그램에서는객체간의교류는관심이없다. 처리과정 ( 활동 ) 이중요할뿐이다. 이다이어그램에서는처리과정에포함되어질소시지모양의 ' 활동 ' 과마름모모양의 ' 조건 ' 둥근모양의 ' 시작점 ', ' 종료점 ' 그리고긴얇은직사각형모양의 ' 동시경로 ' 로구성되어있다. 아래로향하는화살표는 진행과정 ( 방향 ) 을나타낸다. 24

25 * 구성요소 1 Things * Activity : 행위나작업 ( 내부적으로구조를가지는단위 ) ex) 상품조회, 구매결정, 결재내용입력, 결재자지정... * Initial State : * Final State : * Decision(Branch) : * Synchronization bar : 병렬처리절차가시작되거나모이는지점 25

26 ex) 2 Relationship * Transition( 전이 ) : 하나의액티비티가행위를완료하고다른액티비티로처리순서가옮겨 지는제어흐름표현 3 Swim lane : 하나의처리를구분지음. 26

27 * 사례 1 SCM 시스템의일반정보에대한 Role 액티비티다이어그램 모든사용자에게일반정보를제공했던것을등록여부와거래품목등록여부확인후 등록된사용자에게만일반정보제공. 27

28 2 프리즘에서유지보수절차프로세스를정의한액티비티다이어그램 2-2) Interaction Diagram 상호작용다이어그램은오브젝트간에주고받는메시지의교환을모델화하는것이다. 이러한상호작용다이어그램은 2개의다이어그램을포함하는데, 시퀀스다이어그램과협력다이어그램이다. 2개의다이어그램의외형은다르나기본적인기술방법은같다. 실제로몇몇 UML툴에서는상호다이어그램이컨버팅가능하도록기능을제공한다. < 시퀀스다이어그램 > 28

29 < 협력다이어그램 > * 구성요소 오브젝트 " 오브젝트 : 클래스명 " 이라고표기하며오브젝트다이어그램에서사용되는표기와동일하다, 메시지 어떤오브젝트가갖고있는메소드의실행명령을의미합니다. 메세지포맷은아래와같다. 시퀀스번호 [ 가드조건 ]*[ 반복조건 ] : 리턴값리스트 := 메시지명 ( 파라미터리스트 ) 메시지예 : [a==b] method("hello", 5) 메시지는화살표로표현하며, 화살표끝부분이꽉차있으면동기통신, 화살표끝부분이비어있는 단순선으로그려져있으면비동기통신을의미한다. 시퀀스번호 메세지의순서를나타내는번호 가드조건 메시지를송신하기위한조건. 즉가드조건이성립할때메세지가송신된다. 링크 메시지가교환되는오브젝트들을연결하는것으로협력다이어그램만그린다. 리턴 메시지가종료한것을나타내며시퀀스다이어그램만그린다. 필수표기는아니며리턴값을명시 하고싶을때사용한다. 라이프라인 오브젝트의생존기간을나타낸다. 즉라이프라인이설정되어있으면오브젝트는메모리에존재 하는것이다. 29

30 활성구간 " 제어포커스 " 라고부르며오브젝트가활동하고있는것을나타낸다. 활성구간은겹칠수있다. 상호작용다이어그램의사용처오브젝트를추출할때구조를나타내는모델이없을경우상호작용다이어그램을만든다는것은오브젝트를자유롭게만들어나간다는의미한다. 이러한상호작용다이어그램을구현하고자하는모든시나리오에적용하면필요한오브젝트를모두열거할수있다. 이런경우상호작용다이어그램중에서협력다이어그램을사용하는것이좋다. 로직확인할때 상호작용다이어그램을사용하면 1 개의시나리오의구현과로직을한눈에보기에좋다. 클래스다이어그램을확인할때 이미구조적모델, 특히클래스다이어그램이있을경우상호작용다이어그램을통해해당클래스 다이어그램이시스템의요구사항을제대로만족시키는지확인할수있다. 책무밸런스를확인할때클래스다이어그램에서도알수있지만보다알기쉬운것은상호작용다이어그램을사용하여확인하는것이다. 혹시책무가특정클래스에집중되는지를확인하여균형있게배치되도록수정할수있도록도와준다. * 주의사항 시나리오를분명히한다. 시나리오없이머릿속의생각만으로그리면무엇을만족하는다이어그램이완성되는지명확하지 않다. 그래서반드시시나리오를준비해야한다. 1 다이어그램 1 시나리오 상호작용다이어그램은 1 개의다이어그램이 1 개의시나리오에대응하는것이기본이다. 긴시나리오는다이어그램을분할한다. 시나리오가길경우시퀀스다이어그램을분할해서그리는편이이해가기쉽다. 메시지명은받는측의관점에서붙인다. 메시지명은받는측의관점에서붙이는것을권장한다. 사실그다지이상할것은없으나클래스 다이어그램을만들어보면어느쪽이나은지는알수있다. 모르는오브젝트에메시지를보내지않는다. 오브젝트간의상호작용을구현할때메시지를보내려면메시지를보내기전에보내는측오브젝트 는받는측오브젝트를어떠한방법으로든알고있어야한다. 생성과소멸을의식한다. 오브젝트의생성 / 소멸을의식하지않고그리면실제코드구현시메시지를보냈는데오브젝트가미생성이든가혹은이미소멸했거나또는소멸해야하는오브젝트가남아메모리부족이일어나는등문제가발생할수있다. 30

31 상호작용에참가하지않는오브젝트는그리지않는다. 협력다이어그램을그리기전에오브젝트다이어그램을만들었다면자기도모르는사이에상호작 용에참여하지않는오브젝트를그리게되는경우가있다. 오브젝트명을붙인다. 오브젝트에제대로이름을붙이는습관을갖는것이중요하다. 오브젝트명으로역할명을붙이거나 리턴값명과오브젝트명을붙이면식별하기가쉽다. 파라미터도쓴다. 메시지명만쓰고파라미터쓰는것을잊어버리기쉽다. 파라미터를제대로써놓으면데이터가어떻게전달되는지알수있고, 메시지의의미도보다알기쉽기때문에가능하면메시지에파라미터도추가하는것이좋다. 레이아웃을고안한다. 협력다이어그램을그릴때주의사항이다. 클래스다이어그램과비교할경우가많기때문에클래 스다이어그램의레이아웃과비슷하게배치하면비교하기가쉽다. 상세함에주의한다. 상호작용다이어그램은아주상세하게그릴수있는다이어그램이다. 따라서작성자가어디까지 요구하고있는지를이해하고있어야한다. 3) 설계모델링 (Architectural Modeling) 설계모델링은시스템구조에대한전반적인형태를표현한다. 설계모델링은구조모델링과행동모델링을 모두포함하고있다. 즉, 전체시스템의윤곽을정의한다. 31

슬라이드 1

슬라이드 1 201111339 김민우 201111344 김재엽 201211386 최하나 1 UML 이란 2 UML 특징 3 UML 의구성요소 3.1 UML Building Blocks 구성요소 사물 (Things) 관계 (Relationship) 다이어그램 (Diagram) 4 UML 모델링 Tools : CASE UML(Unified Modeling Language)

More information

슬라이드 1

슬라이드 1 2 장 UML 의구성 UML 아키텍처 UML 메커니즘 한빛미디어 ( 주 ) 학습목표 UML 의구성요소를학습한다. UML 의관계를이해한다. 다이어그램의개념을이해한다. 2 UML 의구성요소 UML은기본요소를구성하는 사물 (Things) 사물간의관계를나타내는 관계 (Relationship) 사물과관계를도형으로표현하는 다이어그램 (Diagram) [ 그림 2-1]

More information

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

Microsoft PowerPoint - 1주차 UML의 구성과 도구 UML의 구성과 도구 v UML(Unified Modeling Language) v UML의 구성 요소 v UML의 관계 v UML의 다이어그램 v UML 도구 UML(Unified Modeling Language) l 모델링 과정(modeling process)과 모델링 언어(modeling language)를 제안 모델링 과정 : 객체지향으로 분석하고 설계하는

More information

uml.hwp

uml.hwp Project Team T3 Date 2013-03-21 Team Information 양승민 200911400 정세진 200911418 한종철 200911429 1 1. Basic concept of UML - UML이란 UML은소프트웨어시스템이나업무모델링그리고기타비소프트웨어시스템등을나타내는가공물을구체화하고, 시각화하고, 구축하고, 문서화하기위해만들어진언어이다.

More information

UML의 구성과 도구

UML의 구성과 도구 UML 의구성과도구 UML(Unified Modeling Language) UML 의구성요소 UML 의관계 UML 의다이어그램 UML 도구 UML(Unified Modeling Language) 모델링과정 (modeling process) 과모델링언어 (modeling language) 를제안 모델링과정 : 객체지향으로분석하고설계하는프로세스 모델링언어 : 설계를표현할때사용하는그래픽심볼

More information

UML

UML Introduction to UML Team. 5 2014/03/14 원스타 200611494 김성원 200810047 허태경 200811466 - Index - 1. UML이란? - 3 2. UML Diagram - 4 3. UML 표기법 - 17 4. GRAPPLE에 따른 UML 작성 과정 - 21 5. UML Tool Star UML - 32 6. 참조문헌

More information

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

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi 소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

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

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

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

Microsoft PowerPoint - 06_ClassDiagram(2010).ppt [호환 모드] LECTURE 6 UML 클래스다이어그램 클래스다이어그램은 UML 의중심 최은만, CSE 4039 소프트웨어공학 목차 UML 이란? UML 의역사 UML 클래스다이어그램 Exercise 클래스다이어그램설계 최은만, CSE 4039 소프트웨어공학 2 UML 분석, 설계를비주얼화, 문서화하기위한그래픽언어 Unified 이전의 OO 방법들의통합 Modeling 객체지향분석설계를위한비주얼모델링

More information

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

Introduction to UML 소프트웨어모델링 유준범교수님 황정아 김성민 이한빈 Introduction to UML 소프트웨어모델링 유준범교수님 201111397 황정아 201111341 김성민 201111379 이한빈 1. Subject : UML ( Unified Modeling Language ) and UML Tools 2. Outline 1. Subject 2. Outline 3. What is UML? A. 정의 B. 배경 C.

More information

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

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

Microsoft PowerPoint _UML

Microsoft PowerPoint _UML GRID 소프트웨어공학 UML 작성자 : 서경석정보처리기술사 2005 년하반기 [ 이원석기술사 (wslee@skcc.com) ] 1 UML(Unified Modeling Language) 1. UML 의개요 1) UML 의정의 - 객체기술에관한국제표준화기구 (OMG:Object Management Group) 에서인정한 객체지향분석, 설계를위한통합모델링언어

More information

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

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

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

소프트웨어공학개론 강의 7: 시퀀스다이어그램 최은만동국대학교컴퓨터공학과 소프트웨어공학개론 강의 7: 시퀀스다이어그램 최은만동국대학교컴퓨터공학과 UML 시퀀스다이어그램 l 시퀀스다이어그램 (Sequence Diagram) l 사용사례가어떻게수행되는지어떤메시지가언제보내지는지나타낸그림 l 시스템의동적인측면을캡처한것 l 동적뷰 (dynamic view) l 시간의흐름에따라정리해놓은것 l 페이지내려갈수록시간이흐름 l 객체는왼쪽에서오른쪽으로나열

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 20 장패키지 이번장에서학습할내용 패키지의개념 패키지로묶는방법 패키지사용 기본패키지 유틸리티패키지 패키지는연관된클래스들을묶는기법입니다. 패키지란? 패키지 (package) : 클래스들을묶은것 자바라이브러리도패키지로구성 ( 예 ) java.net 패키지 네트워크관련라이브러리 그림 20-1. 패키지의개념 예제 패키지생성하기 Q: 만약패키지문을사용하지않은경우에는어떻게되는가?

More information

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

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

More information

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

소프트웨어공학개론 강의 11: UML 코드매핑 최은만동국대학교컴퓨터공학과 소프트웨어공학개론 강의 11: UML 코드매핑 최은만동국대학교컴퓨터공학과 구현작업 l 작업이후본격적으로시스템을구축하는단계 l 프로그램, 즉코드모듈을구축하는과정 2 2 StarUML 코드생성 l Tools->Java->Generate Code 3 정적모델의구현 l 설계를프로그램으로매핑 l 클래스다이어그램과패키지다이어그램이프로그램과밀접 l 추상수준에따라구현에도움이되는정도가다름

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 public class Person{ public String name; public int age; } public Person(){ } public Person(String s, int a){ name = s; age = a; } public String getname(){ return name; } @ 객체의선언 public static void main(string

More information

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

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

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

목차 1. 개요 소개... 3 A. 배경... 3 B. 목적... 3 C. 특징... 4 D. 용도 구성요소... 6 A. 사물 (Element)... 6 B. 관계 (Relationship)...10 C. 다이어그램 (Diagram)... Software Modeling & Analysis 소프트웨어모델링및분석 보고서 #1 Team. T1 201111388 조연호 201211374 이창오 201211379 장종훈 201314196 양동혁 목차 1. 개요... 3 2. 소개... 3 A. 배경... 3 B. 목적... 3 C. 특징... 4 D. 용도... 4 3. 구성요소... 6 A. 사물

More information

유니티 변수-함수.key

유니티 변수-함수.key C# 1 or 16 (Binary or Hex) 1:1 C# C# (Java, Python, Go ) (0101010 ). (Variable) : (Value) (Variable) : (Value) ( ) (Variable) : (Value) ( ) ; (Variable) : (Value) ( ) ; = ; (Variable) : (Value) (Variable)

More information

슬라이드 1

슬라이드 1 4 장클래스다이어그램 구성요소 객체와클래스 클래스추출 한빛미디어 ( 주 ) 학습목표 클래스의개념과구성요소를이해한다. 클래스추출과관계를학습한다. 관계를코드로이해한다. 2 학습목표 클래스의구성요소 클래스이름 (class name) 공통의속성, 메서드 ( 오퍼레이션 ), 관계, 의미를공유하는객체들의집합에대한기술이다. 속성 (attributes) 클래스의구조적특성에이름을붙인것으로구조적특성에해당하는인스턴스가보유할수있는값의범위를기술한다.

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

Microsoft PowerPoint - 13_UMLCoding(2010).pptx

Microsoft PowerPoint - 13_UMLCoding(2010).pptx LECTURE 13 설계와코딩 최은만, CSE 4039 소프트웨어공학 설계구현매핑 UML 설계도로부터 Java 프로그래밍언어로의매핑과정설명 정적다이어그램의구현 동적다이어그램의구현 최은만, CSE 4039 소프트웨어공학 2 속성과오퍼레이션의구현 Student - name : String #d department t: String Sti packageattribute

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법

More information

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Architectural Design

Architectural Design 본장에서는아키텍처설계단계에대한전반적인내용을다룬다. 아키텍처설계단계에서해야할활동들과산출물들에대해서소개하고, 소프트웨어아키텍처에대한기초이론과개념그리고어떻게시스템의아키텍처를묘사하고그것을문서화하는지를상세하게설명한다. 1 본장에서는다음을달성할수있도록하는것에목적을둔다. 1. 소프트웨어아키텍처에관한기본개념들을이해한다. 2. 소프트웨어아키텍처를표현하기위한 UML 의요소및다이어그램들을살펴보고이것을직접활용할수있다.

More information

1. 파일 명명규칙

1. 파일 명명규칙 소프트웨어 공학 UML 과제 [UseCase Diagram] Use Case Diagram [ 목 차 ] 2.1.Use Case Diagram 개요 2.2.Use Case 구성요소 2.3.Relationship 2.4.작성방법 2.5.참고문헌 1. Use Case Diagram 1.1 Use Case 모델링 개요 - Use Case 는 개발자가 아닌 사용자

More information

MVVM 패턴의 이해

MVVM 패턴의 이해 Seo Hero 요약 joshua227.tistory. 2014 년 5 월 13 일 이문서는 WPF 어플리케이션개발에필요한 MVVM 패턴에대한내용을담고있다. 1. Model-View-ViewModel 1.1 기본개념 MVVM 모델은 MVC(Model-View-Contorl) 패턴에서출발했다. MVC 패턴은전체 project 를 model, view 로나누어

More information

Microsoft PowerPoint - 2강

Microsoft PowerPoint - 2강 컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074> 객체지향프로그램밍 (Object-Oriented Programming) 1 C++ popular C 객체지향 (object oriented) C++ C : 상위계층언어특징 + 어셈블리언어특징 C++ : 소프트웨어개발플랫폼에객체지향개념제공 객체지향 : 자료와이들자료를어떻게다룰것인지따로생각하지않고단지하나의사물로생각 형 변수가사용하는메모리크기 변수가가질수있는정보

More information

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

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 언어 변환 1.4. 기대 효과 4.4. 프로그램 Restructuring 4.5. 소스 모듈 관리 2. SeeMAGMA 적용 전략 2.1. SeeMAGMA

More information

PowerPoint Template

PowerPoint Template 16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현

More information

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå 기초통계프로그래밍 클래스, 객체, 변수, 메소드 hmkang@hallym.ac.kr 금융정보통계학과 강희모 ( 금융정보통계학과 ) 기초통계프로그래밍 1 / 26 자바구성파일 소스파일 소스파일 : 사용자가직접에디터에입력하는파일로자바프로그램언어가제공하는형식으로제작 소스파일의확장자는.java 임 컴파일 : javac 명령어를이용하여프로그래머가만든소스파일을컴파일하여실행파일.class

More information

Something that can be seen, touched or otherwise sensed

Something that can be seen, touched or otherwise sensed Something that can be seen, touched or otherwise sensed Things about an object Weight Height Material Things an object does Pen writes Book stores words Water have Fresh water Rivers Oceans have

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

Microsoft PowerPoint - 26.pptx

Microsoft PowerPoint - 26.pptx 이산수학 () 관계와그특성 (Relations and Its Properties) 2011년봄학기 강원대학교컴퓨터과학전공문양세 Binary Relations ( 이진관계 ) Let A, B be any two sets. A binary relation R from A to B, written R:A B, is a subset of A B. (A 에서 B 로의이진관계

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Software Modeling & Analysis - UML Report T6 200811425 김평석 200811435 신성호 200811449 이찬희 200811454 전인서 200811462 최현빈 Contents History of UML & Rational Unified Process Construction of UML & Diagram Use Case,

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

Service-Oriented Architecture Copyright Tmax Soft 2005

Service-Oriented Architecture Copyright Tmax Soft 2005 Service-Oriented Architecture Copyright Tmax Soft 2005 Service-Oriented Architecture Copyright Tmax Soft 2005 Monolithic Architecture Reusable Services New Service Service Consumer Wrapped Service Composite

More information

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

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++, Level 1은객관식사지선다형으로출제예정 1. 다음은 POST(Post of Sales Terminal) 시스템의한콜레보레이션다이어그램이다. POST 객체의 enteritem(upc, qty) 와 Sale 객체의 makellineitem(spec,qty) 를 Java 또는 C ++, C # 언어로구현하시오. 각메소드구현과관련하여각객체내에필요한선언이있으면선언하시오.

More information

PowerPoint Presentation

PowerPoint Presentation 데이터처리프로그래밍 Data Processing Programming 08 객체와클래스 목차 1. 객체와클래스 2. 인스턴스변수, 클래스변수 3. 클래스매직메소드 4. 클래스의상속 데이터처리프로그래밍 (Data Processing Programming) - 08 객체와클래스 3 1. 객체와클래스 객체 Object 객체란존재하는모든것들을의미 현실세계는객체로이루어져있고,

More information

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

< 소프트웨어모델링및분석 > - UML 보고서 조원 : 홍준택 신재용 정재호 김철웅 < 소프트웨어모델링및분석 > - UML 보고서 조원 : 200611525 홍준택 200711441 신재용 200711470 정재호 200710115 김철웅 UML 의역사 UML 은 'Unified Modeling Language' 의약자입니다. 무엇을통합했기에 'Unified' 라는말이붙게된것일까요? 먼저, UML 의역사를간단히살펴보면아래그림과같습니다. 객체지향적분석과디자인에대해다양한방면으로실험적인접근을하던방법론자들에의해서다양한객체지향모델링방법이등장하게됩니다.

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

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

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 - 1 - Software Engineering Team9 Introduction to OOAD using UML tools 200911385 박기남 200911425 조서경 200911426 조성완 200911427 조아라 - 2-0. Index Chapter Page 1. What about OOAD 1) Definition & History 3 2) Terms

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

Microsoft PowerPoint _04

Microsoft PowerPoint _04 Module 1-1. 신개념 PM SPEAKER: 고형석정보관리기술사정보시스템감리사 KT 차장 light211@paran.com 1 > 프로젝트관리 ( 신개념 PM) Ⅰ. 소프트웨어개발 프로세스이해 1. 소프트웨어개발방법론 2. 전통적개발방법론 3. 객체지향프레임웍방법론 Ⅱ. 프로젝트준비실무 1. 프로젝트준비개괄 2. 정보요청단계 3. 제안요청단계

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

협력 다이어그램

협력 다이어그램 1 목차 1. 협력다이어그램이란? 2. 협력다이어그램표기법 3. 다이어그램유사점, 차이점 4. 협력다이어그램적용 2 1. 협력다이어그램이란? 1. 상호작용다이어그램 Interaction Diagram - 오브젝트갂에주고받는메시지의교환 ( 메시지파싱 ) 을모델화하는것입니다. - 상호작용다이어그램안에시퀀스다이어그램과협력다이어그램이라고하는 2 개의다이어그램을포함하고있습니다.

More information

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

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 UI 이벤트 Event listener Touch mode Focus handling Notification Basic toast notification Customized toast notification Status bar notification 2 사용자가인터랙션하는특정 View

More information

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

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 애플리케이션기초 애플리케이션컴포넌트 액티비티와태스크 Part 1 프로세스와쓰레드 컴포넌트생명주기 Part 2 2 Library Java (classes) aapk.apk (android package) identifiers Resource & Configuration aapk: android

More information

Microsoft PowerPoint - Lect04.pptx

Microsoft PowerPoint - Lect04.pptx OBJECT ORIENTED PROGRAMMING Object Oriented Programming 이강의록은 Power Java 저자의강의록을사용했거나재편집된것입니다. Class 와 object Class 와객체 클래스의일생 메소드 필드 String Object Class 와객체 3 클래스 클래스의구성 클래스 (l (class): 객체를만드는설계도 클래스로부터만들어지는각각의객체를특별히그클래스의인스턴스

More information

오버라이딩 (Overriding)

오버라이딩 (Overriding) WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener

More information

Microsoft PowerPoint App Fundamentals[Part1].pptx

Microsoft PowerPoint App Fundamentals[Part1].pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 2 HangulKeyboard.apkapk 파일을다운로드 안드로이드 SDK 의 tools 경로아래에복사한후, 도스상에서다음과같이 adb 명령어수행 adb install HangulKeyboard.apk 이클립스에서에뮬레이터를구동 에뮬레이터메인화면에서다음과같이이동 메뉴버튼 설정 언어및키보드

More information

열거형 교차형 전개형 상승형 외주형 회전형 도해패턴 계층형 구분형 확산형 합류형 대비형 상관형 (C) 2010, BENESO All Rights Reserved 2

열거형 교차형 전개형 상승형 외주형 회전형 도해패턴 계층형 구분형 확산형 합류형 대비형 상관형 (C) 2010, BENESO All Rights Reserved 2 c 2010, BENESO All rights reserved 1 열거형 교차형 전개형 상승형 외주형 회전형 도해패턴 계층형 구분형 확산형 합류형 대비형 상관형 (C) 2010, BENESO All Rights Reserved 2 u 열거형 : 대소, 위치등의관계에대해설명 u 교차형 : 중복, 합동, 복합, 공동등의관계에대해설명 설명도, 대소관계도, 제휴관계도,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lab 4 ADT Design 클래스로정의됨. 모든객체들은힙영역에할당됨. 캡슐화 (Encapsulation) : Data representation + Operation 정보은닉 (Information Hiding) : Opertion부분은가려져있고, 사용자가 operation으로만사용가능해야함. 클래스정의의형태 public class Person { private

More information

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

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

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

Introduction to OOAD using UML tools Software Engineering Team Report #1 Team 김영승 성두훈 원스타 조민경 Introduction to OOAD using UML tools Software Engineering Team Report #1 Team 8 200611458 김영승 200611478 성두훈 200611494 원스타 200611518 조민경 개요 OOAD란무엇일까? 그리고또 UML이란것은무엇일까? 소프트웨어공학을하는사람이라면한번쯤은접해볼수밖에없는단어들이고,

More information

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

More information

제목

제목 Object-Oriented Design Agile for Software Development Story 7. 작 성 자 : 고형호 메 일 : hyungho.ko@gmail.com 홈페이지 : 최초작성일 : 2007.08.10 최종작성일 : 2007.09.05 1 Goal A Set of Contained Responsibilities 2 Content 1.

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

소프트웨어개발방법론

소프트웨어개발방법론 사용사례 (Use Case) Objectives 2 소개? (story) vs. 3 UC 와 UP 산출물과의관계 Sample UP Artifact Relationships Domain Model Business Modeling date... Sale 1 1..* Sales... LineItem... quantity Use-Case Model objects,

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 # 왜생겼나요..? : 절차지향언어가가진단점을보완하고다음의목적을달성하기위해..! 1. 소프트웨어생산성향상 객체지향소프트웨어를새로만드는경우이미만든개체지향소프트웨어를상속받거나객체를 가져다재사용할수있어부분수정을통해소프트웨어를다시만드는부담줄임. 2. 실세계에대한쉬운모델링 실세계의일은절차나과정보다는일과관련된많은물체들의상호작용으로묘사. 캡슐화 메소드와데이터를클래스내에선언하고구현

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

제목

제목 Object-Oriented Design Agile for Software Development Story 4. 작 성 자 : 고형호 메 일 : hyungho.ko@gmail.com 홈페이지 : 최초작성일 : 2007.06.12 최종작성일 : 2007.08.31 1 2 Goal Flexibility & Reusability Content 1. Flexibility

More information

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

Microsoft PowerPoint Relations.pptx

Microsoft PowerPoint Relations.pptx 이산수학 () 관계와그특성 (Relations and Its Properties) 2010년봄학기강원대학교컴퓨터과학전공문양세 Binary Relations ( 이진관계 ) Let A, B be any two sets. A binary relation R from A to B, written R:A B, is a subset of A B. (A 에서 B 로의이진관계

More information

PowerPoint Template

PowerPoint Template 9. 객체지향프로그래밍 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 9.1 개요 9.2 객체지향프로그래밍언어 9.3 추상자료형 9.4 상속 9.5 동적바인딩 9.1 객체지향의개념 (1) 3 객체지향의등장배경 소프트웨어와하드웨어의발전불균형 소프트웨어모듈의재사용과독립성을강조 객체 (object) 란? 우리가다루는모든사물을일컫는말 예 ) 하나의점, 사각형,

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

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

Inclusion Polymorphism과 UML 클래스 다이어그램 구조에 의거한 디자인패턴 해석 Inclusion Polymorphism 과 UML 클래스다이어그램구조에의거한디자인패턴해석 이랑혁, 이현우, 고석하 rang2guru@gmail.com, westminstor@naver.com, shkoh@cbnu.ac.kr 충북대학교경영정보학과 충북청주시흥덕구개신동 12 번지충북대학교학연산공동기술연구원 843 호 Tel:043-272-4034 55 Keyword

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

Flowchart 작성법

Flowchart 작성법 Flowchart 작성법 Flowchart 란? Algorithm 어떤문제를해결하기위해수행할작업을순서대로파악해서, 그순서에따라해결방법을결정하는방법 수학의문제해결방법으로사용할뿐만이아니라일상생활과일의경우에도무의식적으로사용 Flowchart Algorithm 을정해진기호를이용한그림으로표시하여시각적으로표현한것 2 Flowchart 란? Program Flowchart

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Microsoft PowerPoint 장강의노트.ppt

Microsoft PowerPoint 장강의노트.ppt 클래스와객체 클래스와객체 객체 : 우리주변의어떤대상의모델 - 예 : 사람, 차, TV, 개 객체 = 상태 (state) + 행동 (behavior) - 예 : 개의상태 - 종자, 이름, 색개의행동 - 짖다, 가져오다 상태는변수로행동은메소드로나타냄 객체는클래스에의해정의된다. 클래스는객체가생성되는틀혹은청사진이다. 2 예 : 클래스와객체 질문 : 클래스와객체의다른예는?

More information

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout <<  양수입력 : ; cin >> *p; if (*p <= 0) cout <<  양수를입력해야합니다  << endl; return; 동적할 15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p

More information

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

ThisJava ..

ThisJava .. 자바언어에정확한타입을추가한 ThisJava 소개 나현익, 류석영 프로그래밍언어연구실 KAIST 2014 년 1 월 14 일 나현익, 류석영 자바언어에정확한타입을추가한 ThisJava 소개 1/29 APLAS 2013 나현익, 류석영 자바 언어에 정확한 타입을 추가한 ThisJava 소개 2/29 실제로부딪힌문제 자바스크립트프로그램분석을위한요약도메인 나현익,

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

쉽게

쉽게 Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information