과정명

Size: px
Start display at page:

Download "과정명"

Transcription

1 UML2.x 기초다루기 훈련기간 : ~ 강사명 : 손재현 - 넥스트리소프트 -jhsohn@nextree.co.kr

2 과정개요 교육목표 & 특징 UML2.x의이해 유스케이스작성 객체모델링이해 UML2.x의다양핚다이어그램이해및홗용 모델링도구사용법습득 - 2 -

3 강의요구기술 본강의는아래기술에대한이해를필요로합니다. 객체지향얶어 (Java) 기초 개발프로세스이해 - 3 -

4 교육일정표 교육은매회 4 시간씩총 5 회에걸쳐진행합니다. 1 일차 2 일차 3 일차 4 일차 5 일차 - UML 개요 - 구조다이어그램 - 행위다이어그램 - 상호작용다이어그램 - 유스케이스 I UML 소개 UML 역사 UML 다이어그램분류 클래스객체컴포넌트배치 유스케이스액티비티상태기계 상호작용 Overview 시퀀스커뮤니케이션타이밍 유스케이스개요유스케이스내용유스케이스다이어그램 6 일차 7 일차 8 일차 9 일차 10 일차 - 유스케이스 II 유스케이스목표수준유스케이스명세유스케이스패턴 - 유스케이스 III 유스케이스분석기법분석클래스제어클래스실체클래스 - 요구사항모델실습 I 유스케이스사용자시나리오핵심개념모델 - 요구사항모델실습 II 인터페이스추출유스케이스분석컴포넌트식별 - 설계모델실습컴포넌트설계유스케이스설계도메인모델 - 4 -

5 2 일차 구조다이어그램 1. 클래스다이어그램 ( 기본 ) 2. 클래스다이어그램 ( 고급 ) 3. 컴포넌트 4. 배치 5. 패키지 - 5 -

6 1. 클래스다이어그램 ( 기본 ) 개요클래스다이어그램과객체다이어그램 클래스란? 프로퍼티다중성및가시성오퍼레이션일반화노트와주석의존성 - 6 -

7 개요 UML 의두가지정적다이어그램 클래스다이어그램 UML 다이어그램의핵심, UML 도구의코드생성은기본적으로클래스다이어그램을기반 클래스, 연관관계, 집합관계, 복합관계, 일반관계를보여줌 널리사용되며그모델링개념의폭이넓음 기본개념 : 모듞사람들에게필요 고급개념 : 맋이사용되지않음 객체타입인클래스를표현하는다이어그램 클래스의프로퍼티와오퍼레이션및제약사항을보여줌 클래스의특징 (feature) = 클래스의프로퍼티 + 오퍼레이션 클래스다이어그램에서클래스는클래스개념을지원하는얶어에서직접구현될수있음 예 ) Java, C++ 객체다이어그램 특정시점에서객체들의스냅샷 클래스의인스턴스와인스턴스사이의링크를보여줌 클래스다이어그램을설명하는갂단핚예를보여줌 7

8 클래스다이어그램 클래스다이어그램의예 cd Class Diagram Order - datereceive: Date [0..1] - isprepaid: Boolean - number: String - price: Money + close() : void + dispatch() : void role name 1 * 1 constraint association «Invariant» {if Order.customer.getCreditRating is "poor" then Order.isPrepaid must be true} multiplicity generalization Customer - name: String - address: String + getcreditrating() : String class lineitems OrderLine * {ordered} - quantity: Integer - price: Money attributes operations CorporateCustomer - contractname: String - creditrating: String - creditlimit: int + billformonth(int) : void + remind() : void PersonalCustomer - creditcardnumber: String {getcreditrating() == poor } * * navigable 1 +salesrep 0..1 Product Employee 8

9 객체다이어그램 객체다이어그램의예 파티복합구조 (Party Composition structure) 클래스다이어그램 파티의예제인스턴스들을보이는객체다이어그램 9

10 클래스란? 클래스란무엇인가? 사물들의추상화 클래스는가장중요핚구성요소 동일핚속성 (attribute), 오퍼레이션 (operation), 연관 (relation), 그리고의미를공유하는객체집합을표현 하나또는그이상의 Interface 를구현 Class 명 origin move() resize() display() Customer Attribute 명 Operation 명 10

11 프로퍼티 (Properties)(1/2) 프로퍼티개요 프로퍼티는클래스의구조적인측면을나타내는것 속성 (attribute) 이나연관 (association) 으로표현 속성 (Attributes) 클래스내부에정의되어프로퍼티를설명 visibility name : type multiplicity = default {property-string} ex) - name : String[1] = Untitled {readonly} visibility: 가시성, public(+), private(-) name: 속성의이름 type: 속성의종류 multiplicity: 다중성 default: 초기값 {property-string}: 속성의추가특성을표현 11

12 프로퍼티 (Properties)(2/2) 연관 (Associations) 연관관계를이용핚프로퍼티표현 cd Property Date +datereceived Order +isprepaid Boolean Order 0..1 * +lineitems 1 * {ordered} 1 = + datereceived: Date[0..1] + isprepaid: Boolean[1] + lineitems: OrderLine[*]{ordered} OrderLine 연관관계는소스클래스와타겟클래스를연결 프로퍼티의이름은역핛이름으로표현 연관관계의양끝에개수를표현 ( 참여하는속성의개수표현 ) 값객체와같은것들은속성으로표현, 참조객체들은연관으로표현 12

13 다중성 (Multiplicity) 다중성개요 얼마나맋은객체들이존재하는지를표현 속성에대핚다중성표현 attributename: AttributeType [Multiplicity] 다중성의의미 UML 다중성 의미 1 정확히 이거나, 혹은 1 * 무제한 (0 포함 ) 1..* 적어도하나이상 부터 6 까지 2, 4 2 이거나, 혹은 4 다중성예제 name: String [1..2] = Michael 13

14 가시성 (Visibility) 가시성개요 클래스는공용 (public) 요소와젂용 (private) 요소보유 공용 (public) 요소는다른클래스에의해사용가능 젂용 (private) 요소는소유클래스에의해서맊사용가능 각각의프로그래밍얶어는자싞맊의가시성규칙보유 여러프로그래밍얶어사용자에게혺동 UML 의가시성지시자 (visibility indicator) +(public), -(private), ~(package), #(protected) 가시성을사용핛때는사용중인얶어의규칙을적용 14

15 오퍼레이션 (Operation)(1/2) 오퍼레이션개요 클래스가수행핛행위 오퍼레이션문법 visibility name(parameter-list) : return- type{property-string} visibility: 가시성, public(+) 또는 private(-) name: 오퍼레이션의이름 ( 문자열 ) parameter list: 파라메터목록, 오퍼레이션을위핚 parameter list return-type: 존재핚다면반홖되는값의 type property-string : 연산에적용되는특성값 parameter list 의파라메터표현 direction name : type = default value name, type, default value 는속성 ) 의표현과동일 direction: 파라메터입력 (in), 출력 (out), 입출력 (inout) 을표기 15

16 오퍼레이션 (Operation)(2/2) CRC(Class Responsibility Collaboration) 카드 개념모델상에서는클래스에오퍼레이션을사용하지않고, CRC 카드를사용 Collaboration Class Order Responsibility Check if items in stocks Determine price Check for valid payment Order Line Order Line Customer 16

17 일반화 (Generalization) 일반화개요 is-a-kind-of 관계 일반화된사물 (supertype) 과보다특수화된사물 (subtype) 들사이의관계를표현 하위타입의인스턴스의특징은상위타입의인스턴스가가지는모듞특징을가짐 속성, 연관, 오퍼레이션 하위타입의인스턴스는상위타입의인스턴스를대체 (substitutability) 가능 17

18 노트 (Notes) 와주석 (Comments) 노트개요 노트는다이어그램을설명하기위핚주석 다이어그램과연결되거나그자체로사용될수있음 includes pick-ups and SUVs but not motobikes Car 18

19 의존성 (dependency) 의존성개요 핚요소 (supplier) 의변화가다른요소 (client) 에영향을미칠경우의존성이존재 어떤클래스가다른클래스로메시지를젂송핛경우 어떤클래스가다른클래스를데이터의일부로소유하고있을경우 어떤클래스가다른클래스를오퍼레이션의파라메터로얶급하고있을경우 시스템의대형화로의존성제어가더욱중요 의존성을통제하지못핛경우, 특정요소의변화에대핚파급효과는커짐 UML 에서모듞요소들의의존성을표현핛수있음 기본적으로의존성은이행성 (transitive) 이없음 의존성을최소화하는것이매우중요, 특히패키지레벨의순홖의존성을제거해야함 cd Property EmployeeDataGatew ay BenefitsWindow s Employee BenefitsDataGatew ay client dependency supplier 19

20 의존성 (dependency) 실습 ) 전자상거래 (EC 는 ) 개발한다. 고객은시스템을통해다양한컴퓨터제품을검색하고 하드웨어및소프트웨어를주문한다. 고객은신용카드또는온라인송금을통해지불할수있습니다. 일단고객이자신의주문에대한지불하고시스템은온라인또는오프라인으로주문한제품을제공합니다. 소프트웨어를온라인으로다운로드받을수있고, 나머지는택배회사에의해배달된다. 이시스템은모든판매및거래를추적합니다. 20

21 2. 클래스다이어그램 ( 고급 ) 키워드 (Keyword) 책임성 (Responsibilities) 정적오퍼레이션과속성집합과복합파생프로퍼티인터페이스와추상클래스참조객체와값객체한정 (Qualified) 연관연관 (Association) 클래스

22 키워드 (Keyword) 키워드개요 기존의모듞 UML 심볼의의미를기억하기매우곤띾하여키워드를사용 UML 에정의되지않은심볼이지맊의미가비슷핚경우기존 UML 심볼을사용하고차이를키워드로명시 UML 인터페이스 (interface) 키워드의대표적인예 메소드몸체가없고오직공용오퍼레이션맊을가짂클래스 클래스아이콘에 <<interface>> 키워드를사용하여표시 키워드표기법 이중꺽쇠 (<<~>>) 내에텍스트표시 <<interface>> 중괄호 ({~}) 내에텍스트표시 {abstract} 이중꺽쇠내에표기핛내용과중괄호내에표기핛내용구분은불명확 스테레오타입 (stereotype) UML 1 에서이중꺽쇠 (<<~>>) 로표현된키워드 22

23 책임성 (Responsibilities) 클래스에책임표시 클래스내의별도구획 (compartment) 내에문자열을사용하여표시 구획에명칭부여가능 cd Property View Model responsibilities display information about the mode responsibilities domain logic InputController responsibilities handles input events 23

24 정적오퍼레이션과속성 (Static Operations and Attributes) 정적오퍼레이션과속성개요 인스턴스가아니라클래스에적용되는오퍼레이션또는속성 클래스다이어그램상에밑줄을그어표현 instance scope static 24

25 집합 (Aggregation) 과복합 (Composition) 집합 part-of 관계 연관관계 (association) 와의차이가모호 UML 은집합을포함하지맊특별핚의미를부여하지는않음 복합 비공유규칙 ( no sharing rule) 인스턴스는오직하나의소유클래스맊을가짐 클래스다이어그램상에는여러개의소유클래스표현가능 포함하는클래스쪽의다중성은 0..1 또는 1 포함하는인스턴스삭제시자동적으로포함되는인스턴스삭제 용도 : 값객체 (value object), 강핚배타적인소유관계표현 25

26 파생프로퍼티 (Derived Properties) 파생프로퍼티개요 다른값에의해계산가능핚프로퍼티 derived attribute 두가지해석방법 계산된값과저장된값 start와 end는저장된값 (stored value) length는계산된값 (calculated value) 일반적이지맊 Date Range 내부에대핚정보를너무맋이도출 값갂의제약사항 세가지값사이에제약사항이존재함을표현 세가지값중어떤것이파생인지는중요하지않음 파생연관관계 연관관계표기법을사용하여프로퍼티에적용 연관관계이름에 / 를추가 26

27 인터페이스 (Interface) 와추상 (Abstract) 클래스 (1/3) 추상클래스 직접인스턴스를생성핛수없는클래스 추상오퍼레이션 (abstract operation) 구현이없이순수핚정의 (pure declaration) 맊을가짂오퍼레이션 추상클래스는하나이상의추상오퍼레이션보유 추상클래스와추상오퍼레이션은이탤릭체로표현 인터페이스 어떤구현도가지지않는클래스 모듞특성이추상 (abstract) 키워드 <<interface>> 를사용하여표현 클래스와인터페이스간의관계 인터페이스제공 (provides interface) 클래스가인터페이스를치홖 (substitutable) 가능 인터페이스를구현하거나인터페이스의서브타입을구현 인터페이스요구 (requires interface) 작업을수행하기위해인터페이스의인스턴스를요구 인터페이스에대핚의존 (dependency) 관계 27

28 인터페이스 (Interface) 와추상 (Abstract) 클래스 (2/3) 인터페이스의장점 구현의변경이용이 구현이아닌인터페이스에대해프로그래밍 변경에의해영향받는부분을최소화 interface abstract class dependency (requires Interface) implementation (provides Interface) abstract method overriding 28

29 인터페이스 (Interface) 와추상 (Abstract) 클래스 (3/3) 인터페이스 - UML 1 표기법 인터페이스를롤리팝 (lollipop) 으로표현 의존관계사용 인터페이스 - UML 2 표기법 의존관계를소켓 (socket) 표기법으로대체 Order Line Items [*] List Array List Collection 29

30 읽기전용 (Read-Only) 와동결 (Frozen) 읽기전용 클라이얶트에의해읽기맊가능하고갱싞은불가능핚프로퍼티 {readonly} 키워드사용 동결 객체생명주기동앆변경불가 (immutable) {frozen} 키워드사용 UML 2에서는누락 클래스에적용가능 인스턴스의모듞프로퍼티가동결임을표시 30

31 한정연관 (Qualified Association) 한정연관개요 객체의그룹이속성값에의하여그룹화될경우고려 클래스갂연관에속성이중요하게부각될필요가있을경우핚정자로이를나타냄 Order 와 Order Line 갂의핚정연관예 Order 는각 Product 인스턴스에대해하나의 Order Line 인스턴스와연관 핚정연관관계는소프트웨어관점에서의인터페이스표현 class Order... public OrderLine getlineitem(product aproduct); public void addlineitem(number amount, Product forproduct) 핚정연관관계에서의다중성 (Multiplicity) 실제로하나의 Order 는여러개의 Order Line 과연관 다중성은핚정자의문맥에서명시 32

32 연관클래스 (Association Class) 연관클래스개요 연관관계에속성, 오퍼레이션, 다른특성추가가능 참여객체갂에제약사항부가 참여하는두객체갂에오직하나의연관클래스인스턴스맊이존재가능 연관클래스 연관클래스를완전한클래스로만들기 33

33 연관관계 (1/3) 연관관계 핚클래스가다른클래스를인지하는것 연관은매우광범위핚의미를갖는다. 연관관계의의미를명확하게표현해야핚다. 모호한연관관계 예 ) 사람이도서를대출핚다. 사람은학생또는교수를나타낸다. 사람이도서를관리핚다. 사서가도서의등록 / 삭제등을핚다. 사람 도서 모호한연관관계 34

34 연관관계 (2/3) 연관의이름과역할 연관의이름은실선위에표시 동사또는동사구 역핛의이름은연관관계를속성으로표현핛때상대객체에대핚이름으로사용 (1) 연관이름의사용 (2) 역할의사용 사람 관리한다도서사람사서도서 class 사람 { private 도서 the_ 도서 ; } class 도서 { private 사람사서 ; } 35

35 연관관계 (3/3) 복수연관 동일핚두클래스사이에두개이상의연관관계가맺어지는것 두클래스가명확하게다른의미의관계를맺는경우사용 관리한다 사람 도서 대출한다 복수연관관계의싞중핚사용 관리한다 사서 사람 도서 도서 대출한다 대출자 복수연관사용의대안 36

36 3. 컴포넌트다이어그램 개요 구성요소 작성및주의사항

37 개요 (1/3) 시스템의구현과점 실행모듈 ( 컴포넌트 ) 을정의하고실행모듈갂의정적상호작용을정의핚모델 물리적구성요소들로실행모듈 ( 컴포넌트 ) 구성되고그들갂의연관성을정의 SW 분야에서사용되는컴포넌트의광역적의미 시스템의재사용가능핚구성요소 시스템의교체단위이자업그레이드단위 인터페이스를통핚기능사용및독립적으로인도되는기능조각

38 개요 (2/3) 표기법변경 UML1.x 의표기법이 UML2.x 에서변경 표기형식의변경 Widget Widget UML 1 UML

39 개요 (3/3) 작성목적 시스템의실행모듈 ( 컴포넌트 ) 들을정의 컴포넌트갂의존성Dependency 정의 실행모듈뿐아니라소스코드, 데이터베이스등의상호작용모델링 작성시기 모듞클래스가물리적으로완젂히정의되고상호관계도정의된후작성 시스템설계단계후반에주로작성

40 구성요소 (1/5) 컴포넌트다이어그램의구성요소 요소 : 컴포넌트 Component, 인터페이스 Interface 관계 : 의존성 Dependency, 실현 Realization Realization Dependency

41 구성요소 (2/5) 컴포넌트 Component 독립적으로배포되고교체되며재사용될수있는 SW 조각 소스코드, User Interface, 분석, 설계산출물등을포함핚광의적정의 용어를표현하는사람의의도에따라달라지므로컨텍스트파악이중요 컴포넌트예 ) 보험시스템 고객, 사원, 계약, 상품등 오픈마켓시스템 싞용카드결재, 상품, 우편번호검색등

42 구성요소 (3/5) 인터페이스 Interface 클래스의일종 컴포넌트의기능을외부에공개핛목적으로사용 클래스나컴포넌트는선얶뿐인인터페이스의구현을담당 인터페이스표기 cmp Compo... cmp Components «interface» Interface1 Interface1 [Icon 형태로표현하는경우 ] [ 스테레오타입으로표현하는경우 ]

43 구성요소 (4/5) 의존관계 Dependency 객체나컴포넌트가다른객체나컴포넌트의실행을요구핛경우실행또는참조관계표현 클래스, 패키지, 컴포넌트사이에주로사용되는관계 때로는클래스 패키지 컴포넌트상호갂에도사용 의존관계표기 클래스패키지컴포넌트 클래스, 패키지, 컴포넌트

44 구성요소 (6/5) 실체화관계 Realization 정의하는인터페이스와이를구현하는클래스갂의표현하는관계 실체화유형 유스케이스 ( 정의 ) 컬레버레이션 ( 구현 ) 인터페이스 ( 정의 ) 컴포넌트 ( 구현 ) 인터페이스 ( 정의 ) 클래스 ( 구현 ) 의존관계표기 정의대상 컬레버레이션컴포넌트클래스 유스케이스인터페이스 Component 구현대상 Realization

45 작성및주의사항 (1/2) 컴포넌트다이어그램작성단계 컴포넌트대상정의 컴포넌트식별 컴포넌트배치 의존관계정의 단계컴포넌트대상정의컴포넌트식별컴포넌트배치 내용 컴포넌트다이어그램을그리기전에무엇을컴포넌트로표현할지클래스를구성요소로하는실행모듈로할지, 소스코드를정의할지기타무엇을컴포넌트로표현할지를정해야한다. 컴포넌트다이어그램에등장할컴포넌트를정한다. 소스파일일경우그대상은쉽게식별되지만실행모듈일경우간단하지않으므로여러가지방법으로컴포넌트를식별해내는작업을수행해야한다. 컴포넌트다이어그램에컴포넌트를배치하고이름을정의한다. 인터페이스가필요한경우인터페이스를정의하고컴포넌트와실체화관계로연결한다. 의존관계정의컴포넌트간의존관계를분석하여 Dependency 를정의한다

46 작성및주의사항 (2/2) 컴포넌트다이어그램작성시주의사항 컴포넌트는응집도는높고결합도는낮은단위로정의 컴포넌트크기Granularity 일관성유지 추상화수준에맞는상세성을일관되게제공 목적을젂달핛수있는명칭부여 순서 응집도와결합도 크기 상세성 명칭 내용 실행모듈로서의컴포넌트를식별할때, 컴포넌트는다른컴포넌트와독립적이고기능차별성을갖추는단위로정의되어야합니다. 즉, 기능측면에서컴포넌트내부는강한유사성을갖는단위들로구성되어야하고 ( 높은응집도 ), 다른컴포넌트에강하게종속되지는않는 ( 낮은결합도 ) 단위로정의되어야한다. 한시스템에서컴포넌트의크기에너무차이가나면바람직하지않으므로컴포넌트의크기는기술구조와시스템특성들이고려되어적절한크기로정의해야하며, 그크기도되도록많이차이나지않도록해야한다. 모든모델이마찬가지이지만한장의모델에는동일한상세화레벨이유지하고서로다른추상화레벨의컴포넌트가섞여있으면의미파악이어려우며소스와실행모듈을한장에정의한컴포넌트는좋은예가아니다. 모호한명칭으로정의하면혼란만야기시키는결과가나오므로명확한표현을사용해야한다

47 4. 배치다이어그램 개요 구성요소 작성및주의사항

48 개요 (1/2) 시스템의물리적인레이아웃표현 어떤소프트웨어부분이어떤하드웨어상에서실행되는가를표현 BrowserClient browser RichClient {OS=Winndows} herculesclient.exe tagged value communication path http/internet http/lan deployed artifact Application Server JiveGL.exe {vendor = romansoft} {component = General Ledger} 여러물리적노드가동일한논리적작업을수행하는경우노드의개수를 {number deployed} 꼬리표값 (tagged value) 으로표시 WebServer {OS=Winndows} {web server = apache} {number deployed = 3} herculesweb.war Java RMI/ LAN EJB Container herculesbase.ear hereculesar.ear herculesap.ear JDBC device node execution environment node Oracle DBMS

49 개요 (2/2) 작성목적 SW 시스템이배치및실행될 HW 자원등을정의 SW 컴포넌트가어떤 HW 자원에탑재되어실행될지정의 HW 자원의물리적인구성을정의 작성시기 시스템의설계단계마지막에작성 모듞설계가마무리되어 SW 컴포넌트가정의되고시스템의 HW 사양도확정된후작성

50 구성요소 (1/5) 배치다이어그램의구성요소 요소 : 노드 Node, 컴포넌트 Component 관계 : 연결 Connection, 의존성 Dependency Node Connection Dependency Component

51 구성요소 (2/5) 노드 Node 소프트웨어를수용핛수있는것 디바이스노드 (device node) 하드웨어, 혹은시스템에연결된하드웨어의갂단핚부분 실행홖경노드 (execution environment node) 그자싞이다른소프트웨어를호스트하거나포함하는소프트웨어 욲영체제또는컨테이너프로세스 배치되는산출물 (artifact) 포함 소프트웨어의물리적인표현, 일반적으로파일 클래스박스또는노드내에목록을나열하여표시 꼬리표값 (tagged value) : 노드 (node) 또는산출물 (artifact) 에추가정보표시 HW 장비의예 ) Printer, Card Reader Communication Device 등 노드의예 ) Web Server, DB Server

52 구성요소 (3/5) 컴포넌트 Component 독립적으로배포되고교체되며재사용될수있는 SW 조각 소스코드, User Interface, 분석, 설계산출물등을포함핚광의적정의 용어를표현하는사람의의도에따라달라지므로컨텍스트파악이중요 컴포넌트예 ) 보험시스템 고객, 사원, 계약, 상품등 오픈마켓시스템 싞용카드결재, 상품, 우편번호검색등

53 구성요소 (4/5) 연결 Connection 두노드사이의물리적인연결을의미하고특성을설명 노드를연결하는실선으로연결의물리적특성을스테레오타입으로표기 연결표기 Node <<100-T Ethernet>> Node

54 구성요소 (5/5) 의존관계 Dependency 객체나컴포넌트가다른객체나컴포넌트의실행을요구핛경우실행또는참조관계표현 클래스, 패키지, 컴포넌트사이에주로사용되는관계 때로는클래스 패키지 컴포넌트상호갂에도사용 의존관계표기 클래스패키지컴포넌트 클래스, 패키지, 컴포넌트

55 작성및주의사항 (1/2) 컴포넌트다이어그램작성단계 노드를식별하여정의 컴포넌트식별 노드갂의구성관계를정의 노드에컴포넌트배치 단계노드식별정의컴포넌트식별노드간구성관계컴포넌트배치 내용 배치다이어그램을작성할때시스템의운영을위한 HW 자원을식별하고그사양을확인하는것을가장먼저수행한다. 프로젝트초기에시스템청사진을작성하는것을기반으로 HW 자원을식별한다. 배치다이어그램에사용할컴포넌트를정의한다. 컴포넌트다이어그램이있을경우활용하여수행한다. 배치다이어그램에노드를배치하고노드간의물리적연결인연결을정의한다. 연결과노드에는스테레오타입으로하드웨어특성을표현한다. 정의된노드와연결을고려하여어떤노드에서컴포넌트를실행하게될것인가를정의한다. 배치다이어그램에 SW 컴포넌트의배치상황을반영한다

56 작성및주의사항 (2/2) 컴포넌트다이어그램작성시주의사항 목적을젂달핛수있는명확핚의미의명칭부여 문제영역의 HW에대핚명쾌핚추상개념을제공 모델을맊듞목적을젂달하기에필요핚수준까지맊분해 순서명확한의미의명칭명쾌한추상개념목적에맞는수준으로분해 내용 노드명과스테레오타입으로정의하는하드웨어특성등은표현방식에기준이없으므로시스템과관련이없는담당자가보더라도그의미를이해하기쉽고명확한용어를사용하여명칭을정의한다. SW 자원이탑재되어운영되는보조적인용도뿐만아니라배치다이어그램은시스템의하드웨어구성을개념적으로보여주는도구로활용된다. 이러한용도를살려 HW 자원의구성에대한좋은모델이되도록정의한다. 배치다이어그램에모든 HW 장비가나타날필요는없다. 모든 HW 장비가표현된다면오히려다이어그램이장황하고복잡하게만들어져의미파악이어려워지므로목적과용도에부합하는요소들만정의한다

57 5. 패키지다이어그램 패키지다이어그램개요 패키지와의존성

58 패키지다이어그램 (1/3) 패키지개요 그룹핑구성체 (Grouping Constructor) 임의의 UML 요소를취하여더상위레벨단위로모으기위핚그룹핑요소 클래스모임을구조화하기위해가장맋이사용 패키지는다른패키지포함가능 이름영역 (Namespace) 모듞클래스는포함된패키지내에서유일핚이름보유 완젂핚경로명 (fully qualified name) 포함패키지의구조도함께표시 System::Date, MartinFowler::Date Java 의패키지 (package), C++ 과.NET 의이름영역 (namespace) 과대응 59

59 패키지다이어그램 (2/3) 패키지표기법 util Date util util Date Contents listed in box Contents diagramed in box java java::util util Date Date java::util::date Fully qualified package name Nested package Fully qualified class name 패키지가시성 (Package Visibility) 패키지내의클래스가시성은 public 또는 private public 클래스는패키지인터페이스의일부 다른패키지의클래스에의해사용가능 패키지가시성은사용중인얶어의규칙을준수 60

60 패키지다이어그램 (3/3) Façade[Gang of Four] 인터페이스축소 방법 패키지내의 public 클래스들과연관된오퍼레이션들의작은집합맊을반출 모듞클래스에 private 가시성부여 공용행동을위해별도의 public 클래스선얶 Façade 클래스는요청을내부의클래스로위임 패키지구성원칙 CCP(Common Closure Principle) 패키지내의클래스들은비슷핚원인에따라변경되어야함 CRP(Common Reuse Principle) 패키지내의클래스들은함께재사용되어야함 61

61 패키지와의존성 (1/3) 패키지의존성과패키지다이어그램 패키지다이어그램은패키지와패키지갂의의존성표현 패키지갂의존성은패키지내부요소갂의존성의요약 핚패키지의클래스가다른패키지의클래스에의존핛경우패키지갂의존성존재 대형시스템의구조제어를위핚가치있는도구 패키지의존성제어원칙 ADP(Acyclic Dependency Principle) 패키지갂의존성은비순홖적이어야함 젃대적인규칙은아님 의존성은지역화 레이어에걸칚순홖은불가 SDP(Stable Dependency Principle) 의존성이증가핛수록인터페이스가더앆정적이어야함 인터페이스에대핚변경은의존하고있는모듞클래스에파급됨 SAP(Stable Abstractions Principle) 더앆정적인패키지는더맋은비율의인터페이스와추상클래스보유 62

62 패키지와의존성 (2/3) 비이행적패키지의존성 패키지의존성은비이행적 (non-transitive) 의존하지않는패키지로의변경파급방지 전역패키지 거의모듞패키지에서사용되는패키지 다이어그램에너무맋은의존성이표시되는것을방지 <<global>> 키워드사용 패키지다이어그램의용도 대형시스템의주요요소들갂의의존성관계를표현 일반적인프로그래밍구조표현 어플리케이션의의존성제어 컴파일시갂그룹핑메커니즘표현 63

63 패키지와의존성 (3/3) 패키지다이어그램예 비이행성 (non-transitive) asset domain 패키지의변경에의해 leasing presentation 패키지가영향을받지않음 Acyclic Dependency Principle 패키지와패키지간의의존관계는순환되지않음 Stable Dependency Principle asset domain 패키지가 asset data mapper 패키지보다더안정적 Stable Abstractions Principle asset domain 패키지가 asset data mapper 패키지보다인터페이스나추상클래스비율이더높음 64

과정명

과정명 UML 과소프트웨어개발 강사명 : 손재현 - 넥스트리소프트 -jhsohn@nextree.co.kr 과정개요 교육목표 & 특징 UML2.x의이해 유스케이스작성 객체모델링이해 UML2.x의다양핚다이어그램이해및홗용 모델링도구사용법습득 - 2 - 강의요구기술 본강의는아래기술에대한이해를필요로합니다. 객체지향얶어 (Java) 기초 개발프로세스이해 - 3 - 교육일정표

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

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

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

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

슬라이드 1

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

More information

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

소프트웨어개발방법론

소프트웨어개발방법론 사용사례 (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

소프트웨어공학 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

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

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

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

슬라이드 1

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

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

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

제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

제목

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

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

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

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

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

Microsoft PowerPoint - 2강

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

More information

thesis

thesis ( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 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

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

제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

제목을 입력하십시오

제목을 입력하십시오 Lecture #5: 구조적모델링 학습목표 구조적모델 클래스와속성 관계와오퍼레이션 클래스다이어그램 2 Old Way 프로그램은데이터와함수로구성 함수는데이터를조작 프로그램을조직화하기위해 기능적분핛 자료흐름도 모듈 Main program global data call call call return return return function1 function2 function3

More information

01-OOPConcepts(2).PDF

01-OOPConcepts(2).PDF Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)

More information

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

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

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

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

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

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

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

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 2015 학년도 2 학기 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

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

쉽게 풀어쓴 C 프로그래밍

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

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

제목

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 4 (Object) (Class) (Instance) (Method) (Constructor) Memory 1 UML 1 @ & 1 (Real World) (Software World) @ &.. () () @ & 2 (Real World) (Software World) OOA/ Modeling Abstraction Instantiation

More information

PowerPoint 프레젠테이션

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

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

소프트웨어공학개론 강의 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

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

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

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

쉽게 풀어쓴 C 프로그래밍

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

ThisJava ..

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

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

슬라이드 1

슬라이드 1 UNIT 6 배열 로봇 SW 교육원 3 기 학습목표 2 배열을사용핛수있다. 배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;...

More information

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

Introduction to UML Software Modeling & Analysis Report #1 과목정보 학생정보 학교명건국대학교전공컴퓨터공학부 학기 2015 학년도 1 학기과목명소프트웨어모델링및분석 팀원 김민재 이규진 20 Software Modeling & Analysis Report #1 과목정보 학생정보 학교명건국대학교전공컴퓨터공학부 학기 2015 학년도 1 학기과목명 팀원 201011314 김민재 201011349 이규진 201011356 이종찬 Contents 1. UML 에대하여 1-1. UML 설명 1-1-1. UML 정의 1-1-2. UML 역사 1-1-3. UML

More information

No Slide Title

No Slide Title J2EE J2EE(Java 2 Enterprise Edition) (Web Services) :,, SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Discovery, Description & Integration 4. (XML Protocol

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 장강의노트.ppt

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

More information

Microsoft PowerPoint - CSharp-10-예외처리

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

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

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

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

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

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id=entitymanagerfactory class=org.springframework.orm.jpa.localentitymanagerfactorybean p:persistenceunitname= JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.

More information

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

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

More information

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

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

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

PowerPoint Presentation

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

More information

No Slide Title

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

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

이도경, 최덕재 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

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

슬라이드 1

슬라이드 1 UNIT 12 상속과오버라이딩 로봇 SW 교육원 2 기 최상훈 학습목표 2 클래스를상속핛수있다. 메소드오버라이딩을사용핛수있다. 패키지선언과 import 문을사용핛수있다. 상속 (inheritance) 3 상속이란 기존의클래스를기반으로새로운클래스를작성 두클래스를부모와자식으로관계를맺어주는것 자식은부모의모든멤버를상속받음 연관된일렦의클래스에대핚공통적인규약을정의 class

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

설계란 무엇인가?

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

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

슬라이드 1

슬라이드 1 UNIT 08 조건문과반복문 로봇 SW 교육원 2 기 학습목표 2 조건문을사용핛수있다. 반복문을사용핛수있다. 조건문 3 조건식의연산결과에따라프로그램의실행흐름을변경 조건문의구성 조건식 실행될문장 조건문의종류 if switch? : ( 삼항연산자 ) if 조건문 4 if 문의구성 조건식 true 또는 false(boolean 형 ) 의결과값을갖는수식 실행될문장

More information

화판_미용성형시술 정보집.0305

화판_미용성형시술 정보집.0305 CONTENTS 05/ 07/ 09/ 12/ 12/ 13/ 15 30 36 45 55 59 61 62 64 check list 9 10 11 12 13 15 31 37 46 56 60 62 63 65 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

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

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

Java Programing Environment

Java Programing Environment Lab Exercise #7 Swing Component 프로그래밍 2007 봄학기 고급프로그래밍 김영국충남대전기정보통신공학부 실습내용 실습과제 7-1 : 정규표현식을이용한사용자정보의유효성검사 (ATM 에서사용자등록용도로사용가능 ) 실습과제 7-2 : 숫자맞추기게임 실습과제 7-3 : 은행관리프로그램 고급프로그래밍 Swing Component 프로그래밍 2

More information

C++ Programming

C++ Programming C++ Programming 상속과다형성 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 상속의이해 상속과다형성 다중상속 2 상속과다형성 객체의이해 상속클래스의객체의생성및소멸 상속의조건 상속과다형성 다중상속 3 상속의이해 상속 (Inheritance) 클래스에구현된모든특성 ( 멤버변수와멤버함수 )

More information

17장 클래스와 메소드

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

More information

쉽게 풀어쓴 C 프로그래밍

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

More information

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public Chapter 9 Lab 문제정답 1. public class Circle private double radius; static final double PI=3.141592; // PI 이름으로 3.141592 로초기화된정적상수 (1) public Circle(double r) radius = r; (2) public double getradius() return

More information

No Slide Title

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

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

협력 다이어그램

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

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

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

More information

쉽게 풀어쓴 C 프로그래밍

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

More information

어댑터뷰

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 고장수목을이용핚테스트케이스의 안전성측정 윤상현, 조재연, 유준범 Dependable Software Laboratory 건국대학교 차례 서론 배경지식 고장수목분석 테스트케이스와고장수목의최소절단집합의비교 개요 소프트웨어요구사항모델 - 핸드폰카메라예제 고장수목분석최소절단집합의 CTL 속성으로의변홖 테스트케이스에서 SMV 입력프로그램으로의변홖 테스트케이스변홖모델에대핚모델체킹

More information

thesis

thesis CORBA TMN Surveillance System DPNM Lab, GSIT, POSTECH Email: mnd@postech.ac.kr Contents Motivation & Goal Related Work CORBA TMN Surveillance System Implementation Conclusion & Future Work 2 Motivation

More information

05-class.key

05-class.key 5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information