Introduction to OOAD using UML tools.hwp

Size: px
Start display at page:

Download "Introduction to OOAD using UML tools.hwp"

Transcription

1 Introduction to OOAD using UML tools 강세용 김규수 Valentin

2 이제부터 OOA/D 에관하여, UML을사용한소프트웨어의개발이어떻게이 루어지는지를알아보도록하겠습니다. 서와각각의산출물에대해서언급하고, 일단은전반적인소프트웨어개발순 마지막에각각의다이어그램별로 그다이어그램들을어떻게사용하는지에대하여설명하겠습니다. 지금소개해드릴것은 GRAPPLE 이라는 "Guidelines for Rapid APPLication Engineering 흡사한 이라는것이며이것은 RUP의아이디어와많이 UML 을소프트웨어개발사례에적용하는지침중의하나입니다. GRAPPLE GRAPPLE 은다섯개의진행영역(Segment) 으로이루어져있다. 각진행영역은순서대로여러개의동작(action) 으로구성되어있으며각각의동작에서작 업결과물(Work-product) 가만들어지며, 각동작에대한담당자가구분되어있다. 대부분 의경우, 이렇게만들어진작업결과물은프로젝트관리자에의해서종합되어의뢰인에게 보여지지지만, 사실작업결과물은단지의뢰인에게보이기위해서만드는것이아니라, 불 필요한문서화를따로하지않고작업과정의진척을유지하고관리하기위해서만든다. GRAPPLE 은객체지향시스템을기준으로고안되었으며, 각진행영역을이루고있는동작들은객체지향적성격에맞는작업결과물을만들어내도록조정되었다. 다음이다섯개의진행영역이다. 1. 요구사항수집 (Requirement Gathering) 2. 분석 (Analysis) 3. 설계 (Design) 4. 개발 (Development) 5. 배포 (Deployment)

3 위의앞머리를하나씩따면 RADDD 가되는데, 이것을줄여서 이라고부른다. 1. 요구사항수집 (Requirement Gathering) 다섯개의영역중에가장중요한것은바로요구사항수집이다. stackholder가무엇을원하 는지도모르는데, 제대로된시스템을만들수는없다. 제대로된요구사항을이해하기위해서 는도메인의핵심을이해해야한다. 1.1 업무과정파악 훌륭한개발작업은의뢰인의업무가어떻게진행되는지를이해하는것부터시작된다. 분석가는의뢰인(stakholder) 혹은의뢰인이인정한 관계자 를만나서해당업무가어 떤단계로진행되는지에대한이야기를나눈다. 이곳에서도메인영영의용어들을얻을 수있으며, 분석가는차후에이어휘를사용해의뢰인과이야기를한다. 이때만들어지는작업결과물은해당업무과정에서단계와결정위치를정리하여나타낸활동다이어그램(Activity Diagram) 이된다. 1.2 도메인분석이동작은의뢰인(stackholder) 나의뢰인이인정한관계자와이야기를나눌때수행되며, 의뢰인의도메인을가능한더욱탄탄하게파악하가위함이목적이다. 이동작은앞의업무과정파악과비슷한개념적인성격을가지고, 구축하고자하는구체적인시스템사항은아직나타나지않는다. 분석과는이과정에서도메인에관련된최대한많은것을알아내고분석해야한다. 객체모델러는대화중의명사를정리하여클래스를만들기시작하며, 어떤명사는속성, 어떤동사는오퍼레이션등으로분류할수있을것이다. 이작업은모델링도구를사용 하는것이능률적이며, 이문서의 UML 도구는 staruml 을사용하여, 대부분의다이어그 램모형과관계도를작성하였다. 이동작에서만들어지는작업결과물은추상적인수준(high-level) 의클래스다이어그램과대화내용을정리한노트가되겠다. 1.3 연동시스템확인이동작의초기에개발팀은자신들이만든새로운시스템이의존할시스템과이시스템과잘맞물리는시스템을찾는다. 시스템엔지니어는이동작의진행과정을예의주시한다음, 배포다이어그램을작업결과물로만들어낸다.

4 1.4 시스템요구사항확인이동작에서개발팀은처음으로공동어플리케이션개발 (Joint Application Development)JAD 를가지게될것이며이모임에는의뢰인(stackholder) 이속한그룹의의사결정권자와잠재사용자, 개발팀맴버들등이참여한다. 이곳에서개발팀은의견을조율하고, 객체모델러는앞서그려진( 도메인분석) 클래스다이어그램을손질한다. 여기서만들어지는작업결과물은패키지다이어그램이며, 이곳에추상적인수준의시스템기능이담겨있다. 그리고각각의패키지에는그룹화된유스케이스들도포함될것이다. 2. 분석 (Analysis) 이진행영역은 요구사항수집 등의결과를가지고더욱자세히작업하여문제의이해도 를높인다. 이영역은독립적으로시행되는게아니라전단계인요구사항분석단계중에시 작되는데, 보통은 JAD 모임의클래스다이어그램을손질할때이영역이같이시작된다. 2.1 시스템사용법의이해 이동작은추상수준의유스케이스분석작업이며개발팀은각유스케이스를시작하게되 는행위자와그유스케이스의결과를얻는행위자를알아낸다. 행위자는사람이될수도 시스템이될수도있다. 또한유스케이스를새로만들어내고, 추상유스케이스도만든다. 이동작에서만들어지는작업결과물은행위자와유스케이스간의스테레오타입을가진 의존관계를나타내는유스케이스다이어그램이다. 2.2 클래스다이어그램손질 JAD 모임이진행되는동안객체모델러는회의내용을종합하여다시클래스다이어그램 을계속하여고쳐나간다. 이때, 객체모델러는연관, 추상클래스, 다중성, 일반화, 집합 연관등의내용을모두적어나가며여기서만들어지는작업물은정형화된클래스다이어 그램이다. 2.3 객체의상태변화분석객체모델러는상태변화를나타냄으로써모델을더자세하게만든다. 다이어그램이다. 작업결과는상태 2.4 객체간교류정의 개발팀은유스케이스다이어그램과정형화된클래스다이어그램들을가지고, 객체들이 어떻게교류하는지를정의해야한다. 객체모델러는시퀸스다이어그램과협력다이어그램 을만든다. 작업겨로가물은시퀸스다이어그램, 협력다이어그램이다.

5 3. 설계 (Design) 이진행영역은 분석 진행영역에서얻어낸결과를가지고솔루션을설계한다. 분석 과 설계 도서로완전한독립적인진행영역이아닌, 설계가완료될때까지서로의영역을자유 롭게넘나들수있다. 3.1 객체다이어그램의개발과손질 프로그래머는클래스다이어그램을가지고필요한객체다이어그램을그린다. 각각의오 퍼레이션을체크하고여기에맞는활동다이어그램을그림으로써, 완전한객체다이어그 림을그린다. 활동다이어그램은 개발 진행영역의대부분의코딩작업기반을제공하며, 이영역의작업결과물은객체다이어그램과활동다이어그램이다. 3.2 컴포넌트다이어그램의개발프로그래머가재대로된활동을할수있는단계가이부분이다. 여기서할일은컴포넌트를시각화하고각각의의존관계를나타내는것이다. 작업결과물은컴포넌트다이어그램이다. 3.3 배포계획컴포넌트다이어그램이만들어지고나면, 시스템엔지니어는시스템배포와연동시스템의통합을계획한다. 시스템엔지니어는배포다이어그램에컴포넌트를적적히배포해그려넣는다. 여기서만들어지는결과물은이전에그린배포다이어그램의일부가될부분다이어그램이다. 3.4 사용자인터페이스의설계와원형정의 사용자인터페이스는모든유스케이스를고려하여만들어져야한다. GUI분석가느ㄴ사 용자와함께각각의유스케이스에맞는화면프로토타입을그리고, 사용자는화면컴포 넌트를원하는위치에붙인다. 각컴포넌트의위치에만족하면, 개발자는사용자인터페 이스의원형을정의할수있게된다. 여기서작업결과물은화면원형을잡은스크린샷이 다. 3.5 시험설계유스케이스는소프트웨어를시험하는데설계의용도로쓰인다. 개발된소프트웨어가유스케이스에서설정한대로잘동작하는지평가하기위해서이다. 이과정에서유스케이스다이어그램을사용하여시험용스크립트나자동화된시험도구를개발한다. 결과물은시험스크립트가된다. 3.6 문서화시작최종사용자나시스템관리자를위한시스템설명서를작성하기시작한다. 문서화는시스템설계자와함께스토리보드를작성하기시작하고문서의골격을만든다. 결과물은문서의골격이다.

6 4. 개발 (Development) 개발은프로그래머가직접적으로나서며, 이미충분한분석, 설계작업을거쳤기때문에개 발작업은빠르고부드럽게진행한다. 4.1 코드작성 프로그래머는완성된클래스다이어그램, 객체다이어그램, 활동다이어그램, 컴포넌트 다이어그램을가지고시스템에필요한코딩을시작한다. 작업결과물은코드이다. 4.2 코드시험 완성된코드가원하는대로작도앟는지시험스크립트를사용하여평가한다. 해당코드 가모든시험을통과할때까지 코드작성 단계에반영하여피드백으로사용할수있으 며, 그반대도가능하다. 4.3 사용자인터페이스의구축과코드의연결및시험사용자의확인을거친사용자인터페이스를직접구현한다. 4.5 문서화완료프로그래머의작업과동시에진행하며소프트웨어개발완료와동시에끝난다. 시스템에관련된설명서이다. 결과물은 5. 배포 (Deployment) 배포의영역은 개발 진행이시작하기전에이루어진다. 이영역에서소프트웨어는다른 시스템과연동되며, 백업복구에관한계획등시스템설치시험으로모든영역이종료된다. 여기까지가 Grapple 에대한전반적인진행과정이며, 대부분의소프트웨어 는이와비슷하게만들어집니다. 특히분석과설계에진행되는각각의다이 어그램들과유스케이스같은문서산출물들은객체지향분석과설계를더 욱확실하게만들어주며이것들은반복되어진행될수록더정확하게요구사 항에맞춰시스템을구현할수있습니다. 이제부터각각단계중, 분석과설계단계에쓰인다양한다이어그램들은상세하게사용하는방법을설명하겠습니다. 또한이것들에의해어떻게시스템이객체화되고모델링되는지도알아보겠습니다.

7 UML Diagram

8 클래스 / 객체다이어그램 (Class/Object Diagram) 1. 클래스표현의기본 클래스를 UML 로나타낼때는사각형안에다가클래스이름을적어넣는다. 이때클래 스이름은첫자를대문자로적고, 사각형의상단에가깝게두는것이보통이다. 클래스 이름이두단어로되어있다면두단어를붙여쓰고, 둘째단어의첫자도대문자로쓴 다. WachingMachine 만약클래스가다른패키지안에속해있다면, 패키지이름:: 클래스이름 이런식으로표현한다. 이렇게쓴클래스를경로이름(pathName) 이라고부른다 속성(Attribute) 클래스에속한특성에이름을붙인것이다. 클래스는 0 개이상의속성을가질수있으며, 한단어로된속성의이름은소문자로쓰는 것이보통이며, 속성이름이두단어이상으로되어있다면, 두단어를붙여쓰되, 두번째 단어의첫문자를대문자를쓴다 오퍼레이션(operation) 객체에게요청할수있는행동을말한다. 속성이름과마찬가지로소문자시작하며, 둘째 단어부터는첫자를대문자로시작한다. 속성(Attribute) 밑에구분선을그어그밑에위

9 WachingMachine +brandname +modelname +serialnumber +capacity 치시킨다. 또한매개변수(parameter) 리스트를넣어줄수있으며매개변수는 이름: 타입" 의형태를가진다. 반환값은괄호뒤에콜론을찍고, 값과타입을적으면된다. 이러한오퍼레이션의정보를오퍼레이션의시그니처(signature) 라고한다. WashingMachien +brandname +modelname +serialnumber +capacity +acceptclothes() +acceptdetergent(c: String) +turnon(): Boolean +turnoff(): Boolean WashingMachine brandname modelname serialnumber capacity acceptilothes(c:string) turnon():boolean turnoff():boolean 1.3. 책임(Responsibility) 및제약(Constraints) 클래스아이콘에는위의표기법외에도책임(responsibility) 를부여할수있다. 책임이 란, 특정한타입혹은클래스가 해야하는 일을설명해둔것이다. WashingMachine brandname modelname serialnumber capacity acceptilothes(c:string) turnon():boolean turnoff():boolean Take dirtyclothes as input and produce {capacity = 16 or 18 or 20 lb}

10 표기법은위와같다. 또한오른쪽의대괄호는속성이가지는제약(constraints) 다. 즉위 wasingmachine의 capacity는 16,18,20 세가지값중하나만가질수있다 노트(Node) 속성, 오퍼레이션, 책임, 제약이외에도클래스에추가적인정보를덧붙일수있는수단 이하나더있는데, 노트(note) 라고불리는것이다. WashingMachine brandname modelname serialnumber capacity acceptilothes(c:string) turnon():boolean turnoff():boolean 일련번호를생성 하는방법을알고싶으면 정부표준 참조하라 EV5-2241을 노트는텍스트와그림을동시에사용할수있다. 2. 클래스모델링의시작 클래스는지식도메인에기반한어휘와용어로부터만들어진다. 시스템분석가는의뢰인과상담하여그들이가지고있는지식도메인을파악하여정리하고, 그도메인에서발생되는무제를해결할컴퓨터시스템을설계해나가면서, UML에사용할용어를선정하고이것을클래스로모델링하는것이다. 2.1 클래스관계

11 연관(Association) 클래스가개념적으로연결되어있을때, 이관계를연관이라고부른다. 그리고이것을표 시하기위해선. 두클래스를선으로잇고, 선위에연관이름을붙인다. 둘사이의관계 를방향을지정해줄수있는데, 채워진화살표머리를붙여주면된다. 이것은팀에속한선수의연관을그림으로나타낸것이다. Player play on Team 또한한클래스가다른클래스와연관이되면, 각각은해당연관관계내에서역할을가 진다. 클래스옆에다가원하는역할을써줌으로써연관관계내에서의여고할을표시할 수있다. 즉아래그림처럼, Player와 Team 간의고용주, 피고용주역할이성립할수있 는것이다. Player Plays on Team Employee Employer 연관은하나의클래스가다른클래스에연결된것이상으로복잡해질수도있다. 아래그림처럼여러개의클래스가하나의클래스에연결되는것도가능하며, 문어발처럼, 하나의클래스에서여러클래스로연결되는것도가능하다. Forward Team Guard

12 연관에대한제약 두클래스사이의연관관계가어떠한규칙을따라야할경우가있다. 이규칙을덧붙일 수있는데, 앞의클래스에서알아본제약(constraint) 을연결선부근에다가쓰면된다. 예를들어, 은행원(Bankteller) 은고객(Customer) 의은행업무를도와주지만(Serves), 각고객들이창구에서나온순서(Order) 대로은행업무를도와준다. 이상황을모델링하 면아래처럼그릴수있다. ordered 란, 텍스트가담긴중괄호( 제약) 를 Customer클래스 가까이붙이는것이다. BankTell er Serves {ordered} Custome 또한가지의제약ㅇ은두개의연관선사이를점선으로잇고이위에 {or} 로표기하는 Or 관계이다. 아래그림은고등학생들이진로를정하는데(choose) 있어서학문적인 (academic) 코스또는상업적인(commercial) 길을선택할수있다는상황을모델링한것 이다. HighSchoolStudent Chooses Academic {or} Chooses Commercial 연관클래스 연관은클래스와같이속성과오퍼레이션을가질수있다. 사실, 속성과오퍼레이션을 가진연관은연관클래스(Association class) 라는이름으로따ㅓ로구분한다. 연관클래스 를그리는방법은클래스를그리는방법과동이랗며, 연관선과이으려면점선을사용한 다. 연관클래스도다른클래스에대하여연관을가질수있다.

13 Player Team General Manager Negotiates Contract 위그림은 Player와 Team 사이의 plays on 연관에대한연관클래스를보이고있다. 여 기서연관클래스는 Contract 이며, 이연관클래스는 GeneraManager 와도연관이있다 링크(Link) 객체가클래스의인스턴스인것처럼, 연관도자신의인스턴스를가질수있다. 어떤특 정한선수가특정한팀에소속되어있는관계를생각하면, 이때의 Plays on 연관관계 를링크(link) 라고부른다. 링크는두객체( 인스턴스) 를선으로이어서나타내며, 객체에 밑줄을긋듯이링크에도밑줄을긋는다. Player Plays on Team 다중성(Multiplicity) Player와 Team 이가지고있던지금까지의연관관계는일대일관계였다. 즉하나의 클래스에하나의클래스가연관되어있는상태다. 하지만클래스간의관계는일대다수 또는다수대하나일수있으며이런모든것을고려할수있어야한다. 이것을다중성 (Multiplicity) 이고한다. StartingPlayer play on Team 5 1

14 위그림이 5개의 StartingPlayer를하나의 Team 에관련시키는방법이다. 다중성은일대일( one-to-one ), 일대다 ( one-to-many ), 일대일또는그이 상(one-to-one or more), 일대 0 또는 1( one-to-zero or one), 일대일정범위 (one-to-a bounded interval) 등등다양하게표현할수있다. UML 은 more" many" 를표현하는기호로써 * 를사용한다 수식연관 일대다 ( one-to-many ) 의다중성을가지ㄴ연관관계에서는한객체가특정한객체 를가려내어야하는상황이발생한다.(lookup) 한쪽클래스의객체가다른쪽클래스의 객체를선택하여연관관계내에서의역할을만족시켜야할때첫째클래스는자신이원하 는객체를찾끼위해특정한속성에의존할수밖에없는데, 대개특정한속성은 ID 번 호같은식별자에해당한다. ReservationList 1 * Reservation 위그림과같이예약리스트와연결된다수의예약들중특정한확인번호를사용해예 약을찾고싶을대, UML 에서이런특정한확인번호를수식자(qualifier) 라고하여작은 사각형으로나타내고일대다수의다중성에서는 "1" 을의미하는클래스의옆에붙는다. ReservationList Reservation +ConfirmNumber 1 * 그래서위그림처럼수식자- confirmationnumber 와 Reservation 클래스사이는일 대일의관계가성립한다.

15 반사연관(Reflexive association) 클래스는자신과연관관계를가질수도있으며이것을반사연관이라고한다. 여러가지 역할을맡을수있는객체를가지고있을대, 이런경우가발생하며, 예를들어탑승자 (CarOccupant) 는운전자(Driver) 도될수있고, 승객(Passenger) 도될수있다. 이것을 UML 로나타내려면연관선이자신의클래스사각형을가리키도록긋고, 각각의역할과연관의이름, 연관의방향그리고다중성관계를표시해주면된다. 연관선에다가 Drivers +Driver 1 CarOccupant 1 CarOccupant passanger Drives driver 0..4 passenger 위그림은사각형두개가곂쳐있는것이아니라, CarOccupant클래스에서출발한연관선 이자기자신에게로다시돌아오는것이다. 연관은 Drives 오연결되어있으며, 한명의 driver는 0에서 4까지의 passenger 와관계를가질수있다 상속과일반화(Inheritance and Generalization) 객체지향은 일상생활의보편적인특징을멋지게표현해낼수있다는 점에서우수하 다. 어떤사물이속한범주를알고있으면, 이범주에속해있는다른사물의특성을알 수있다. 객체지향개념에서는이것을상속(Inheritance) 라고하며 UML에서는일반화 (Generalization) 이라고한다. 한클래스는다른클래스로부터속성과오퍼레이션을물려 받을수있으며, 슈퍼클래스는서브클래스보다일반적인특성을가진다. UML 에서클래스의상속관계를나타낼때에는서브클래스에서슈퍼클래스로선을그은

16 다음, 슈퍼클래스쪽에다가속이빈화살표머리를붙여준다. 이런타입의연결관계를... 의일종 이라고부른다. Animal Amphidian Malmmal Reptile Horse 위그림처럼하얀색빈삼각형의방향으로상속성을결정한다. 서브클래스는슈퍼클래스 로부터상속받은속성과오퍼레이션이외에자신만의것을더추가할수도있다. 슈퍼클 래스를가지지않는클래스는기본클래스(Base Class) 또는루트클래스(root class) 라고 하며비슷하게서브클래스를가지지않는클래스를리프클래스(leaf class) 라고한다. 한편클래스가하나의슈퍼클래스를가지면단일상속(single inheritance) 라고하며두개 이상의슈퍼클래스를가지는상속은다중상속(multiple inheritance) 라고부른다 상속관계의정의 시스템분석가는고객과의상담과정에서여러가지상속관계를발견해낸다. 시스템분석가는한클래스에속해있는속성과오퍼레이션의일반성을찾아내어다른클 래스에적용할수있는지를재빨리간파해야한다.

17 추상클래스 또한클래스중에는인스턴스를지원하지않는클래스가있을수도있다. 추상클래스라고하며이탤릭체로쓴다. 이런클래스를 의존관계(dependency) 한클래스가다른클래스를사용하는 관계가하나더있다. 이것을의존관계 (dependency) 라고한다. 의존관계가가장흔하게드러난예는다른클래스를사용하는 오퍼레이션의시그니쳐를보일때이다. 예를들어직원들이써넣을수있는 Form 을표시해주는시스템을설계한다고할때, 직 원들은서식을선택하고, 이서식에내용을적는다. 만약이서식에관련된내용을출력 한다고한다면, System의출력은사용자가어떤서식을선택했냐에따라전적으로의존 할수밖에없다. 이상황을 UML 로표시하려면아래와같다. System displayform() Form System의 displayform() 은 Form 과의존관계를갖는다 클래스다이어그램과객체다이어그램 클래스다이어그램은일반적인정의성(definitional) 정보를알려준다. 반면에, 객체다 이어그램은클래스의특정한인스턴스정보와어떠한상황에처해있는지의정보를보여 준다. 시간의개념(instants) 과인스턴스(instances) 는객체다이어그램의개념을잘설명 할수있는단어가되겠다. 아래그림은체스게임을클래스다이어그램으로나타낸것이 다.

18 ChessPiece height uppershape color startinglocation currentlocation Knight height = "medium" uppershape = "horsehead" Queen height = "tall" uppershape = "tiara" Pawn height = "short" uppershape = "sphere" 그리고이그림이객체다이어그램이다. thiswhitequeen:queen Is being attacked by thisblackknight:knight Is defending Is strategically positioned against thiswhitepawn:pawn

19 클래스다이어그램으로는부족한, 위치정보, 말의공격대상등을객체다이어그램으로 해결할수있다. 집합연관, 복합연관, 인터페이스그리고실체화 2.4. 집합연관(aggregation) 하나의클래스가여러개의컴포넌트클래스로구성되어있는경우, 이러한경우를집합 연관이라고한다. 컴포넌트클래스와전체클래스는부분- 전체(part-whole) 연관관계를 가진다. 집합연관은계층도로나타내며 전체(whole)" 클래스는윗부분에위치하며, 컴포넌트클 래스는아랫부분에위치한다. 전체클래스와컴포넌트클래스는선으로연결되며, 전체 클래스쪽에빈마름모꼴이붙는다. 집합연관의컴포넌트들은 Or관계에놓일때도있으며이것을모델링하려면사이에제 약을두면된다. 두개의집합연관선사이를점선으로이은다음에 {or} 를써준다. 식사 1 {or} 수프셀러드메인코스디저트 2.5. 복합연관 복합체(Composite) 는강한집합연관에의해만들어진클래스이다. 복합체에서각컴포 너트클래스는오직하나의전체클래스에만소할수있다. 커피테이블이복합체의예 인데, 몸체와다리로구성되어있다. 복합연관의표기는집합연관을나타내는방법과동 일하며, 단지마름모에색깔만칠하면된다.

20 커커커커커 손손커다다몸몸다다다다다 2.6. 인터페이스와실체화 인터페이스(Interface) 는클래스의일정한행동(behavior) 을나타내는오퍼레이션의집 합으로써, 다른클래스에서사용될수있다. UML 에서는이런것을실체화(Realization) 관계라고한다. 인터페이스의모델링방법은클래스의모델링방법과비슷하며, 차이가있다면, 인터페 이스는오퍼레이션의집합이기때문에속성(attribute) 를갖지않는다. 그리고인터페이 스의이름위에 <<interface>> 라고써주면해결된다. 세세세세 <<interface>> 조조손손커 그리고클래스와인터페이스사이의실체화관계는다음과같이간단하게나타낼수있 다. 세세세 사사사 조조손손커

21 인터페이스와포트 UML2.0 에서는클래스와인터페이스의연결단자를그릴수있어서인터페이스의개념을 좀더자세히표현할수있다. Computer Mouseport Mouse 그것을 다. Port라고하며인터페이스와클래스의연결단자를좀더자세하게나타낼수있 2.7. 가시성(Visibility) 가시성은속성과오퍼레이션에적용되는것으로, 해당클래스의속성과오퍼레이션을들 여다볼수있는범위를말한다. 가시성을나타내는세가지 protected, public, private 의개념을들어보면알기쉽다. Public 속성과오퍼레이션은다른클래스가마음껏사용할수있다. Protected 속성과어퍼레이션은원래클래스와여기서상속받은클래스만이사용할수 있다. Private 속성과오퍼레이션은원래의클래스만사용할수있다. 인터페이스를실체화하기위해서는인터페이스안에설정된오퍼레이션들이모두 public 가시성을가지고있어야한다. protected나 private로막힌오퍼레이션은아무런 의미가없다. 왜냐면인터페이스는많은클래스들에의해실체화되기위한용도로고안되 었기때문이다. UML 에서속성이나오퍼레이션의가시성을설정하는기호는 +,#,-로서속성이나오퍼레이션이름앞에붙여준다. 위와같이해당하는속성이름앞에 오퍼레이션들도마찮가지로같은표시법을쓴다. public, private, protected 가표시되어있다.

22 WachingMachine +brandname -modelname #serialnumber +capacity WachingMachine +brandname -modelname #serialnumber +capacity +TurnOn() #TurnOff() 2.8. 스코프 속성과오퍼레이션이가지고있는또하나의특성으로써스코프(scope) 가있다. 스코프 에는두가지종류가있다. 인스턴스스코프(instance scope) 에서는각각의인스턴스에 속한속성과오퍼레이션들이각자의값을가지도록되어있다. 클래스스코프(classifier cope) 에서는해당클래스에대해유일한속성값과오퍼레이션값을가진다. 클래스스코 프가설정된속성과오퍼레이션은이름에밑줄이그어져있다. 클래스스코핑은특정한 그룹의인스턴스들이그클래스에고유한속성을 다. 인스턴스스코핑은일반적으로사용되는스코핑이다. 공유해야할필요가있을때사용한 유스케이스 (USE-CASE) 1. Use Case Diagram 정의 Use Case Diagram은 UML 을이용한새로운시스템설계의시발점이된다. 시스템에 연루된모든사람들이이해할수있는방법으로시스템비즈니스요구사항들을열거하는 데이용된다. Use Case Diagram 은시스템세부사항에대한최상위수준의형태화모형이며, 관리자, 고객들, 그리고다른비개발자들사이에개발완료후시스템작동내역에대하여원활한 의사소통방법을제공한다. Use Case Diagram은시스템작동에관한세부사항은보여 주지않으며, 누가시스템을사용하는지와시스템을통하여할수있는일이무엇인지를 묘사한다. 2. Use Case Diagram 작성시기 - 소프트웨어프로젝트의개발범위를정의하는단계

23 - 소프트웨어에대한요구사항을정의하는단계 - 소프트웨어의세부기능을분석하는단계 - 소프트웨어가아닌업무영역을이해하고분석하는단계 3. Use Case Diagram - 요소 : Actor, Usecase 구성요소 - 관계 Communication, Include, Extend, Generalization 1) Actor 시스템이외부에존재하면서시스템과교류혹은상호작용하는것 시스템이서비스를해주기를요청하는존재 시스템에게정보를제공하는대상 2) Usecase - 시스템이제공하는서비스혹은기능 - 시스템이 Actor에게제공하는사용자관점의기능단뒤 - Actor의요청에반응하여원하는처리를수행하거나정보를제공 - Actor와한번이상의상호작용을통한의미있는묶음의시스템행위 - 의미있는자기완결형의서비스단위 - 사용자관점에서의정의가필요 3) Communication - Actor와 Usecase 사이에정의되는관계 - 일반상호작용관계가존재하는것을의미 - Actor는정보를통보받거나요구 - Usecase는정보를제공

24 4) Generalization - Actor와 Actor, Usecase와 Usecase 사이에정의 - 두개체가일반화관계에있음을의미 - 보다보편적인것과보다구체적인것사이의관계 (is-a 관계) - 상속의특성을지님 5) Include - Usecase와 Usecase 사이에정의되는관계 - 한 Usecase가다른 Usecase의서비스수행을요청하는관계 - 즉, 한 Usecase가자신의서비스수행도중에다른 Usecase의서비스사용이필요 할 때정의( 서비스는반드시사용이되어야함) - 포함되는 Usecase는공통서비스를가진존재 6) Extend

25 - Usecase와Usecase 사이에정의되는관계 - Include와동일하게서비스수행을요청하는관계 - Include와달리서비스가수행되지않을경우도있음 - 수행요청조건을 Extention Point라고함 4. Use Case Diagram 작성단계 1 Actor 식별모든사용자역할식별상호작용하는타시스템식별정보를주고받는하드웨어및지능형장치식별 2 Usecase 식별 Actor가요구하는서비스식별 Actor가요구하는정보식별 Actor가시스템과상호작용하는행위를식별 3 관계정의 Actor와Actor 관계분석정의 Actor와 Usecase 관계분석정의 Usecase와 Usecase 관계분석정의 4 Usecase 구조화 두개이상의 추출된서비스를 Usecase에존재하는공통서비스 Usecase 정의 조건에따른서비스수행부분분석하여추출 추출된서비스를 Usecase로정의 추출된서비스를사용하는 usecase와관계정의

26 협력다이어그램 (Collaboration Diagram) 1. Collaboration Diagram 정의 Collaboration Diagram은 Class Diagram과 Sequence Diagram의교차적개념으로생 각할수있다. Collaboration Diagram 은객체, 역할, 이들간의순차적의사소통을모형 화한다. - 하나의 Usecase 를실현하기위해서어떤객체가참여하고, 객체간에어떤순서로상 호협력해야하는지를정의한모델 - 해결해야할문제가주어진상황에서그문제를해결하기위해필요한객체를정의하 고, 객체간의동적인상호관계를순서에따라정의함으로써주어진문제를해결하는모 델 - 모델링하는공간이자유롭기때문에같은유형의객체를모아놓을수있고, 구조적인 측면을중시하여모델링 2. Collaboration Diagram 작성목적 - 객체간동적상호작용을구조적측면을중시하여모델링 어떤객체가참여하고어떻게상호작용하는지를정의하고, 객체간상호작용을구 조적인관점에서정의 - 객체간상호작용을정의하는과정에서객체를더욱상세하게정의 객체간상호작용을정밀하게정의함으로써객체간에분담해야하는책임이더욱 상세하게정의 객체의책임은오퍼레이션으로구현 행위를위해필요한객체의속성도정의 - Usecase 실현 Usecase별로 Collaboration Diagram이작성 Usecase 에필요한객체가주인공으로등장하고, 객체간의메시지를통해서 Usecase 의기능이실현 - 프로그래밍사양정의 상세화된 그램사양정의 Collaboration Diagram은곧바로프로그래밍될수있는수준으로프로 3. Collaboration Diagram 작성시기

27 - Usecase Diagram 이정의부터프로그램코딩을하기전 (Sequence Diagram 과동일) - 다른 Diagram처럼여러번에걸쳐정제되는과정 - 단계별다른관점의객체등장 분석단계 : 비즈니스관점 설계단계 : 구현관점 - 작성하기위한준비물및선행과정 유스케이스다이어그램이작성 4. Collaboration Diagram 구성요소 1 Things - Actor Sequence Diagram과동일 - Object Sequence Diagram과동일 2 Relationship - Message Flat Flow of Control * 모형에서알려지지않거나중요하지않은메시지유형임을표시할경우에사용 Nested Flow of Control * 모형에서알려지지않거나중요하지않은메시지유형임을표시할경우에사용 Asynchronous Flow of Control * 병렬처리로의사소통을할경우에사용

28 Return Flow - Link 객체와객체간연관관계. * 메시지는링크를따라움직이므로객체가통신하려면링크되어있어야함. 5. Collaboration Diagram 작성순서 1 작성대상선정한다. 2 Actor를 Diagram 에위치시킨다. 3 Class를 Diagram 에위치시킨다. 4 객체간메시지를정의한다. 5 객체를추가로정의한다.

29 시퀸스다이어그램 (Sequence Diagram) 1. Sequence Diagram 정의 Sequence Diagram 은시간의순서화된순차를이용해서객체간의교류를모형화는데 이용되며, Usecase 행위를클래스에분배하는데이용된다. Sequence Diagram은통합 프로세스에서기술된소프트웨어개발 Life Cycle 전반에걸쳐서이용된다. 2. Sequence Diagram 작성목적 - 객체간동적상호작용을시간적개념을중시하여모델링 - 객체의오퍼레이션과속성을상세히정의 - Usecase를실현 - 프로그래밍사양정의 3. Sequence Diagram 작성시기 Usecase Diagram 정의후부터프로그램코딩전 4. Sequence Diagram 구성요소 1 Things - Actor Usecase 에서의 actor. - Object 클래스의인스턴스. 클래스타입으로선언된변수형태로존재

30 2 Relationship - Message 메시지(Message) 는 Sequence Diagram의서로다른객체간의의사소통을묘사하는 데이용된다. 객체가다른객체의처리를유도할필요가있을때나다른객체에게정보 를전달하고싶을때메시지가사용됨. 메시지는호출활성화객체의생명선으로부터피호출객체의생명선까지화살표로그려 진다. 화살표위에는보내지는메시지가위치함. * Flat Flow of Control 가장일반적메시지 Nested Flow of Control * 메시지가중첩시메시지가모두돌아와야다음처리진행 Asynchronous Flow of control * 메시지의결과를기다리지않고다음처리진행

31 Return Flow * 메시지를처리한결과. 필요한경우에만사용. 3 etc - Life Line 객체의생존기간. 점선에 X표시가객체가소멸하는시점 - Activation 객체가활성화되어있는기간. ( 점선표기) 객체가외부메시지를받고보낸메시지를기다리는기간. ( 좁고긴사각형) 5. Sequence Diagram 작성순서 작성대상선정 : Usecase를선정하고 Usecase 정의서분석 Actor 위치시킴 클래스위치시킴 4 객체간메시지정의 : : Actor는좌측부터위치 : Usecase에참여하는클래스위치 시간순서대로객체간메시지정의

32 5 객체추가정의 : 의. 요구사항처리를위해필요한객체가정의되지않았으면추가정 활동다이어그램 (Activity Diagram) 1. Activity Diagram 정의 Activity Diagram은시스템분석시 Usecase Diagram의다음단계로써시스템에필요 한여러표기법들을제공한다. Activity Diagram은사용자에게시스템실행의예측과여러조건과자극에대하여시스템이어떻게반응하는지를보여준다. Activity Diagram은모형화단계의시스템설계시복잡한객체행위를모형화하는데이용될수있다. 2. Activity Diagram 작성목적 - 처리순서표현 - 비즈니스프로세스정의 - 프로그램로직정의 : 처리흐름의도식화로프로그램로직정의가능 - Usecase 실현 3. Activity Diagram 작성시기 - 업무프로세스정의시점 비즈니스프로세스를정의하는용도로 - Usecase 정의서작성시, 처리절차기술할때 - - 오퍼레이션사양정의시 Class 기타 오퍼레이션의사양을 Activity Diagram을작성가능 Activity Diagram을적용하여작성가능 기타처리흐름이나처리절차가필요한시점이면언제나 Activity Diagram 작성가능 4. Activity Diagram 구성요소 1 Things

33 - Activity 행위나작업 ( 내부적으로구조를가지는단위) Activiy 의크기는작성대상에따라유동적이며, 한 Activity Diagram에서는 Activity 의크기균일한것이바람직 기 Activity 는최소단위가아니며내부적으로구조를가질수있는단위 Activity 는해당작업의종료시점을명확히정의하기가힘듬 ex) 상품조회, 구매결정, 결재내용입력, 결재자지정 표기법 : Acitivity 는모서리가둥근사각형으로표기하며, 이름은 Symbol 내에표 - Initial State 처리흐름이시작하는곳을의미 모든처리흐름은시작점으로부터개시되어전개 표기법 : 속이꽉채워진원 - Final State : 처리흐름이종료하는곳을의미 모든처리흐름은종료점에서처리흐름을완료 표기법 : 속이채워진원에바깥의또다른원이둘 러싸고있는모양 - Decision(Branch) Decision 은분기가일어나는곳 논리식의결과값에따라두곳이상의흐름으로분기가일어남 처리흐름은논리식의결과에따라처리흐름이나누어져전개되는것은매우흔하 게일어나는일 표기법 : 속이빈마름모꼴로표기하며, 명칭이나기타장식이붙지않음

34 - Synchronization Bar 병렬처리절차가시작되거나모이는곳 종종둘이상의처리절차가그수행순서에상관없이병렬로진행될경우있음 Synchronization Bar로부터분기해서다음 처리절차는병렬로수행 Synchronization Bar로모일때까지의 Synchronization Bar에이어진 Activity가수행되기위해서는병렬로수행되는 Synchronization Bar 상의모든처리절차가끝나야함 표기법 : 두꺼운실선으로표기, 대부분수평선으로표기되나, 수직선으로표기할 수도있음 2 Relationship - Transition 표현 하나의 Activity가행위를완료하고다른 Activity로처리순서가옮겨지는제어흐름 하나의 Activity에서여러개의 Transition 이나가기도하고, 들어오기도함. 표기법 : 화살표가달린실선으로표기하며, Activity의배치에따라수평선이나 수직선으로표기 3 Swim lane Swim lane은여러가지용도로쓰일수있음

35 * 업무조직의구분일수있고, 개인의역할에따른구분 가짐 Swim lane의영역내에정의된 Activity는그 Swim lane이관장하고 Ownership을 가능 Swim lane 을표현함으로써누가(Swim lane) 무엇을한다(Activity) 라는식의표현이 표기법 : Swim lane 은영역으로표현을하며, Activity Diagram의제일위쪽에서 아래쪽까지수직방향으로공간을구분하는방식으로표현. 모양이마치실내수영장의 트랙같다고해서명명. 5. Activity Diagram 작성순서 1 작성대상선정 : 업무프로세스모델링, 오퍼레이션사양정의 2 Swim lane 정의 : 대상영역에명확한역할을정의해야할때.

36 3 처리절차모델링 : 시작점, 끝점반드시표현. 상태다이어그램 (Statechart Diagram) 1. Statechart Diagram 정의 Statechart Diagram 은객체가상태를변화시키는방법을모형화하는데쓰인다. 상태는특정시점에서객체행위의이정표가되거나객체의단적인표현으로정의되기도한다. 2. Statechart Diagram 작성목적 - 객체의상태변화를상세히분석 - event에의한객체의반응을분석 - 객체의속성이나오퍼레이션을검증 3. Statechart Diagram 작성시기 한정해서정하기어려우나, 보통 Class 가정의된후, 즉 Class Diagram과 Sequence Diagram 이작성된후에작성. 4. Statechart Diagram 구성요소

37 - State State 란객체가가질수있는조건이나상황 생명주기동안객체의 State 는변화하며, State는객체의특정한속성의값으로표현 예) 자동차객체의 State : 주차, 주행, 정차, 수리 표기법 진입동작 (Entry Action) 상태에들어올때수행되는동작을정의 탈출동작 (Exit Action) 상태에나갈때수행되는동작을표기 내부전이 (Internal Transition)

38 현재상태에서처리할수있는이벤트가발생할경우상태를떠나지않고해당사건을 처리하는경우 활동 (Activity/Action) 현상태에서수행할동작을표현 지연사건 (Deferred event) 현상태를빠져나갈때발생한것처럼그효과를지연시킨이벤트. 위예에서 Tracking 상태에서 selftest 이벤트가발생하면이것을베시지큐에저장했다가, Tracking 상태에서벗어나는순간이벤트가활성화. - Transition Transition이란하나의상태에서다른상태로변화하는것이며상태간의관계를의미. 표기법 * 전이는상태와상태사이에화살표가달린실선으로표기. * 선위에는촉발사건(Event Trigger), 조건(Condition), 동작(Action) 이차례로표기. * 위세가지표기내용은각각생략될수있음. 원래상태 (Source State) * 전이가실행되기전의객체상태 촉발사건 (Event Trigger) * 전이를촉발시키는사건

39 전이조건 (Condition) * 전이촉발시에검토되는 Boolean 식 ( 참일경우에만전이가수행됨) 동작 (Action) * 전이도중실행되는행위또는오퍼레이션 목표상태 (Target State) * 전이가완료된후의객체상태 5. Statechart Diagram 작성순서 1 좀더상세히다루어야할개체( 객체나 Usecase) 를식별한다. 2 각개체의시작상태와종료상태를식별한다. 3 각개체와연관하는사건을결정한다. 4 시작사건으로시작하는상태차트다이어그램을생성한다. 5 필요한곳에서복합상태를생성한다.

40 컴포넌트다이어그램 (Component Diagram) 1. Component Diagram 정의 - 시스템의구현관점에서실행모듈(Component) 을정의하고, 실행모듈간의정적상호 작용을정의한모델 - 시스템이어떠한물리적구성요소들로 - 실행모듈(Component)- 구성되고, 그들간의 연관성을정의 - SW 1) 2) 분야에서사용되는컴포넌트정의 컴포넌트는시스템의재사용가능한구성요소 컴포넌트는시스템의교체단위이자업그레읻단위 3) 컴포넌트는인터페이스를통해그기능이사용되어지는, 독립적으로인도되는기능 조각 2. Component Diagram 작성목적 - 시스템의실행모듈(Component) 들을정의 시스템이구축될때, 어떤 Component들로구축될것인지를정의하는용도로사용 컴포넌트는독립적으로뱇, 교체가가능한단위 개발플랫폼에따라이러한 Component의특성은달라짐 - Component간 Dependency를정의 Component간의정적인상호작용을정의하는용도로사용 Component 사이의종속관계를표현함으로써실행시상호참조하는연관성을표현 - Component 뿐만아니라소스코드, 데이터베이스등의상호작용을모델링 3. Component Diagram 작성시기 - Component Diagram 은시스템의설계단계의막바지에작성. - 모든 Class 가물리적으로완전히정의되고, 그상호관계도정의된후 Component Diagram 작성.

41 4. Component Diagram 구성요소 1 Things - Component Component는독립적으로배포되고교체되며재사용될수있는 SW조각의미 표기법 : Component 는탭이달린직사각형으로표기하며, Component 이름은 Symbol 내에표기 - Interface Class 의일종 Class나 Component 의기능을외부에공개할목적으로쓰이며, 구현은하지않음 Interface의구현은 Class나 Component 에서하게되며, 이 Class는 Interface를 상속하여단지선언뿐인 Interface의구현을담당 단독으로표시되는경우는거의없으며해당 Interface를구현하는 Class나 Component 에붙어다님 표기법 : Interface는두가지형태로표기 1) Icon 형태의표기로원으로표현, Interface 이름은아래쪽에표기. 2) 보통클래스에 <> 라는 stereo type이부가된표기 2 Relationship - Dependency

42 객체나 Component가다른객체나 Component 의실행을요청하는경우, 사물간의실 행혹은참조관계를표현 사용되는관계 * Class와 Class * Package와 Package * Component와 Component * 때로는 Class-Package-Component 상호간 표기법 : 점선화살표로표현하고, 필요에따라선위에설명을붙이기도함 - Realization 정의하는사물과이를구현하는사물간에표현하는관계 Realization은사이에허용되는관계 * Interface( 정의) - Component( 구현) * Usecase( 정의) - Collaboration( 구현) * Interface( 정의) - Class( 구현) 삼각형이붙은쪽이정의하는사물, 반대쪽이구현하는사물 표기법 : 속이빈삼각형의화살표가한쪽에달린점선으로표현, 특별히 Component Diagram에서는 Interface와 Component간의실선표현

43 5. Component Diagram 작성순서 1 2 Component 대상을정의 Component Diagram 을그리기전에정의필요 * 무엇을 Component 로표현, Class를구성요소로하는실행모듈 * 소스코드를정의, 기타무엇을 Component로표현 Component 를식별 Component Diagram에등장할 Component 를정함. 3 * 소스파일일경우그대상은쉽게식별되지만실행모듈일경우간단치않음 * 여러가지가능한방법으로 Component를식별해내는작업을수행 Component 를배치하고필요시인터페이스를붙임 Component Diagram에 Component를배치하고이름을정의 Interface를정의할필요가있을경우 Interface를정의하고 Component와 Realization 관계로연결 4 Dependency 를정의 Component와 Component간의존관계를분석하여 Dependency 관계를정의 배포다이어그램 (Deployment Diagram) 1. Deployment Diagram 정의 Deployment Diagram 은각소프트웨어구성요소들이하드웨어의어디에위치하는지와 하드웨어구성요소들이서로어떻게교류하는지를보여주는 Diagram. 2. Deployment Diagram 작성목적 - 각소프트웨어구성요소들이하드웨어의어디에위치하는지와하드웨어구성요소들 이서로어떻게교류하는지를기록하는데이용된다.

44 3. Deployment Diagram 작성시기 - 시스템설계의마지막단계에서작성 모든설계가거의마무리되어시스템의하드웨어사양도확정된후작성 4. Deployment Diagram 구성요소 1 Things - Node Node 는하드웨어구성요소를표현하는데이용 표기법 : Node의이름을포함하는 3차원박스로표기 2 Relationship - Communication association Node들은 Communication association 으로연관하며, 이관계는두가지하드웨어 구성요소(Node) 가나름대로의의미를가지고서로통신하고있음을알게해주며, 통신 연관관계와함께항상표시되는고정유형에나타난다. 표기법 : 굵은선으로한노드에서다른노드로그려진다. 통신연관관계의고정유형은 Component 종속성을위한고정유형처럼 (<<...>>) 로표기된다. 고정유형이름은통신수단을표시하거나, 하드웨어두구성요소들 사이의프로토콜을묘사하는대상이된다.

45 5. Deployment Diagram 작성순서 1 2 시스템의노드를식별 식별가능한모든하드웨어목록과일치하는요구사항들을조사해야한다. Communication association 을추가 Communication association 으로식별된노드들을연관시켜야한다. Communication association은 기때문에, 이러한정보를위한요구사항검색이필요하다. Node간의통신유형을표시하기위해서고정유형화되

슬라이드 1

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

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

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의 구성과 도구

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

More information

슬라이드 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

JAVA PROGRAMMING 실습 08.다형성

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

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

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

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

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

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

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

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

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

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

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

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 - 2강

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

More information

쉽게 풀어쓴 C 프로그래밍

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

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

슬라이드 1

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

More information

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

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

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

No Slide Title

No Slide Title 상속 이충기 명지대학교컴퓨터공학과 상속 Q: 건설회사는기존아파트와조금다르거나추가적인특징들을가진새아파트를지을때어떻게하는가? A: 2 상속 상속 (inheritance) 은클래스들을연관시키는자연스럽고계층적인방법이다. 상속은객체지향프로그래밍의가장중요한개념중의하나이다. 상속은 은 이다 라는관계 (is-a relationship) 를나타낸다. 이관계를적용하여클래스들을상하관계로연결하는것이상속이다.

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

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

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

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

PowerPoint 프레젠테이션

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

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

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 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

쉽게 풀어쓴 C 프로그래밍

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

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

설계란 무엇인가?

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

More information

PowerPoint 프레젠테이션

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

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

View Licenses and Services (customer)

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

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

제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

Microsoft PowerPoint 장강의노트.ppt

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

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

Flowchart 작성법

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

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

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

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim(); 인터페이스적용 오리객체설계하기 ) 청둥오리, 물오리를설계하세요. 1 단계 : 필요한객체설계 class 청둥오리 { class 물오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim(); mallardduck.fly(); mallardduck.quack(); redheadduck.swim();

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

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

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

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

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

소프트웨어공학개론 강의 5: 객체지향개념 최은만동국대학교컴퓨터공학과 소프트웨어공학개론 강의 5: 객체지향개념 최은만동국대학교컴퓨터공학과 왜객체지향인가? l 절차적패러다임 vs. 객체지향패러다임 l 뭐가다르지? 2 C 언어 l 프로그램은데이터와함수로구성 l 함수는데이터를조작 l 프로그램을조직화하기위해 l 기능적분할 l 자료흐름도 l 모듈 Main program global data call call call return return

More information

쉽게 풀어쓴 C 프로그래밍

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

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 프레젠테이션

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

No Slide Title

No Slide Title 클래스와객체 이충기 명지대학교컴퓨터공학과 들어가며 Q: 축구게임에서먼저공격하는팀을정하기위해동전을던진다. 우리는동전을던질때앞면이나오느냐아니면뒷면이나오느냐에만관심이있다. 또한동전을가지고해야할일은동전을던지는것과동전을던진후결과를알면된다. 이동전을효과적으로나타낼수있는방법을기술하라. A: 2 클래스와객체 객체 (object): 우리주변의어떤대상의모델이다. - 예 : 학생,

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

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

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 05 장 CSS3 선택자 1. 선택자개요 2. 기본선택자 3. 속성선택자 4. 후손선택자와자손선택자 5. 반응 / 상태 / 구조선택자 CSS 블록을생성할수있다. 선택자를이해하고적절한선택자를활용할수있다. 1 선택자개요 CSS3 선택자 특정한 HTML 태그를선택할때사용하는기능 선택한태그에원하는스타일이나스크립트적용가능 그림 5-1 CSS 블록 CSS 블록 style

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

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에대하여 AB=BA 1 가성립한다 2 3 (4) 이면 1 곱셈공식및변형공식성립 ± ± ( 복호동순 ), 2 지수법칙성립 (은자연수 ) < 거짓인명제 >

More information

PowerPoint Presentation

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

More information

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

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 03 모델변환과시점변환 01 기하변환 02 계층구조 Modeling 03 Camera 시점변환 기하변환 (Geometric Transformation) 1. 이동 (Translation) 2. 회전 (Rotation) 3. 크기조절 (Scale) 4. 전단 (Shear) 5. 복합변환 6. 반사변환 7. 구조변형변환 2 기하변환 (Geometric Transformation)

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

Microsoft PowerPoint - web-part02-ch15-문서객체조작.pptx

Microsoft PowerPoint - web-part02-ch15-문서객체조작.pptx 과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part2. jquery Ch15. 문서객체조작 2014년 1학기 Professor Seung-Hoon Choi 15 문서객체조작 문서객체조작 자바스크립트만으로문서객체모델을다루려면복잡함 jquery를이용하면쉽게다룰수있다. 이책에서가장중요한부분 15.1 문서객체의클래스속성추가

More information

(Hyunoo Shim) 1 / 24 (Discrete-time Markov Chain) * 그림 이산시간이다연쇄 (chain) 이다왜 Markov? (See below) ➀ 이산시간연쇄 (Discrete-time chain): : Y Y 의상태공간 = {0, 1, 2,..., n} Y n Y 의 n 시점상태 {Y n = j} Y 가 n 시점에상태 j 에있는사건

More information

협력 다이어그램

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

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

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

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

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

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

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

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

쉽게

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

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

정부3.0 국민디자인단 운영을 통해 국민과의 소통과 참여로 정책을 함께 만들 수 있었고 그 결과 국민 눈높이에 맞는 다양한 정책 개선안을 도출하며 정책의 완성도를 제고할 수 있었습니다. 또한 서비스디자인 방법론을 각 기관별 정부3.0 과제에 적용하여 국민 관점의 서비스 설계, 정책고객 확대 등 공직사회에 큰 반향을 유도하여 공무원의 일하는 방식을 변화시키고

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성

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 PowerPoint - TimeTable System.pptx

Microsoft PowerPoint - TimeTable System.pptx 6조 강세용 김규수 valentan . 개발준비 2. 구현과정 3. Class-Object 비교 사용언어 : JAVA 사용도구 : Eclipse, NetBeans 제작기간 : 4 일? 기존의설계도를최대한적용하여설계. StarUML의코드제너레이션으로나온코드들을최대한건들지않으려고노력했습니다. 또한시퀸스다이어그램의구조를최대한따라구현하였습니다. Person +name:

More information

Microsoft PowerPoint - 04_OOConcepts(2010).pptx

Microsoft PowerPoint - 04_OOConcepts(2010).pptx LECTURE 4 객체지향개념 Object-Oriented Oi Oriented dc Concepts 내가가진도구가망치뿐이라면모든문제가다못으로보인다. 최은만, CSE 4039 소프트웨어공학 Old Way 프로그램은데이터와함수로구성 함수는데이터를조작 프로그램을조직화하기위해 기능적분할 자료흐름도 모듈 Main program global data call call

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

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345]) 클래스의응용 클래스를자유자재로사용하자. 이장에서다룰내용 1 객체의치환 2 함수와클래스의상관관계 01_ 객체의치환 객체도변수와마찬가지로치환이가능하다. 기본예제 [7-1] 객체도일반변수와마찬가지로대입이가능하다. 기본예제 [7-2] 객체의치환시에는조심해야할점이있다. 복사생성자의필요성에대하여알아보자. [ 기본예제 7-1] 클래스의치환 01 #include

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 9 장생성자와접근제어 이번장에서학습할내용 생성자 정적변수 정적메소드 접근제어 this 클래스간의관계 객체가생성될때초기화를담당하는생성자에대하여살펴봅니다. 생성자 생성자 (contructor): 객체가생성될때에필드에게초기값을제공하고필요한초기화절차를실행하는메소드 생성자의예 class Car { private String color; // 색상

More information

Microsoft PowerPoint - C++ 5 .pptx

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

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 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

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

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

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

Chap 6: Graphs

Chap 6: Graphs 5. 작업네트워크 (Activity Networks) 작업 (Activity) 부분프로젝트 (divide and conquer) 각각의작업들이완료되어야전체프로젝트가성공적으로완료 두가지종류의네트워크 Activity on Vertex (AOV) Networks Activity on Edge (AOE) Networks 6 장. 그래프 (Page 1) 5.1 AOV

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

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

KMC.xlsm

KMC.xlsm 제 7 장. /S 에필요한내용 1] IGBT 취급시주의사항 ) IGBT 취급시주의 1) 운반도중에는 Carbon Cross로 G-E를단락시킵니다. 2) 정전기가발생할수있으므로손으로 G-E 및주단자를만지지마십시요. 3) G-E 단자를개방시킨상태에서직류전원을인가하지마십시요. (IGBT 파손됨 ) 4) IGBT 조립시에는사용기기나인체를접지시키십시요. G2 E2 E1

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

ii iv 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 2 3 4 5 1 3 6 37 제품군 제품분류 39 제출물관리대장 41 43 45 47 < 접수번호 > 관리번호 평가결과보고서 < 평가대상제품명 > 년월일 < 평가기관명 > 49 제 1 장개요 o 일반적으로다음의사항을포함한다. - 정보보호제품평가인증관련규정 (

More information

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770> IT OOKOOK 87 이론, 실습, 시뮬레이션 디지털논리회로 ( 개정 3 판 ) (Problem Solutions of hapter 9) . T 플립플롭으로구성된순서논리회로의해석 () 변수명칭부여 F-F 플립플롭의입력 :, F-F 플립플롭의출력 :, (2) 불대수식유도 플립플롭의입력 : F-F 플립플롭의입력 : F-F 플립플롭의출력 : (3) 상태표작성 이면,

More information

Spring Data JPA Many To Many 양방향 관계 예제

Spring Data JPA Many To Many 양방향 관계 예제 Spring Data JPA Many To Many 양방향관계예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) 엔티티매핑 (Entity Mapping) M : N 연관관계 사원 (Sawon), 취미 (Hobby) 는다 : 다관계이다. 사원은여러취미를가질수있고, 하나의취미역시여러사원에할당될수있기때문이다. 보통관계형 DB 에서는다 : 다관계는 1

More information

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

Microsoft PowerPoint - additional07.ppt [호환 모드] 보충자료 7. 상속 (inheritance) 의이해 상속의기본개념 상속의생성자, 소멸자 protected 멤버 Jong Hyuk Park 상속의기본개념 Jong Hyuk Park 상속의기본개념 상속의예 1 " 철수는아버지로부터좋은목소리와큰키를물려 받았다." 상속의예 2 "Student 클래스가 Person 클래스를상속한다." 아버지 Person 철수 Stduent

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