제 4 장 관계 2010-2학기 소프트웨어설계.

Slides:



Advertisements
Similar presentations
4. 디자인패턴. 학습목표 디자인패턴의 이해  크리스토퍼 알렉산더  Each pattern describes a problem which occurs over and over again in our environment, and then describes.
Advertisements

Cinema Manager System 최종 발표 조 team05 발표자 : 임 창목 1.
1. 도형의 연결 상태 2. 꼭지점과 변으로 이루어진 도형 Ⅷ. 도형의 관찰 도형의 연결상태 연결상태가 같은 도형 단일폐곡선의 성질 연결상태가 같은 입체도형 뫼비우스의 띠.
객체지향 소프트웨어공학 2 장 객체 지향. 2.1 객체지향  절차적 패러다임 소프트웨어가 프로시저 단위로 구성됨  프로시저 추상 – 단순한 데이터에는 적합하나 복잡한 데이터를 가진 응 용문제에는 부적합  데이터 추상 – 특정한 의미를 이루는 데이터의 조각들을 모아.
© Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models 배재대학교 멀티미디어 정보공학 연구실 발표자 : 이 상 조
2.1 UML 이해 ❑모델링의 개념, 역사, 방법 ❑ UML 정의 및 배경, 필요성 ❑구성요소, 공통메커니즘, 아키텍처와 같은 UML 구조 모델링 개요 UML 개요 UML 구조.
소프트웨어 공학 Lecture #5: 모델링 최은만 저 6차 개정판 1.
UML의 구성 UML 구성 요소 UML 아키텍처 UML 메커니즘.
교재: J. Schmuller 저/곽용재 역, 초보자를 위한 UML 객체지향설계, 제3판, 정보문화사, 2006
01_ 가상 함수를 사용한 다형성의 구현 02_ 오버라이딩
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
소프트웨어 소프트웨어 엔지니어링 작업의 결과 프로그램과 프로그램의 개발, 운용, 보수에 필요한 관련 정보 일체
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
3부 객체지향 3부에서는 자바 언어의 핵심인 객체지향의 개념과 클래스, 객체, 상속, 다형성 등의 개념에 관해 설명합니다.
최윤정 Java 프로그래밍 클래스 상속 최윤정
Entity Relationship Diagram
㈜디아이씨 SSLVPN 협력사 접속방법 2017년 4월.
제 2 장 객체지향의 이해.
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
Chapter 02 : Class 다이아그램. chapter 02 : Class 다이아그램.
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
제 8 장 상속.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
8장: 객체지향 기초 - Software Engineering -.
OMT와 UML 1.
자바 5.0 프로그래밍.
두근두근 파이썬 수업 13장 객체란 무엇인가요?.
두근두근 파이썬 수업 13장 객체란 무엇인가요?.
제4장 클래스와 객체 객체 지향 기법을 이해한다. 클래스를 작성할 수 있다. 클래스에서 객체를 생성할 수 있다.
08. 데이터 모델링.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
소프트웨어 공학 (Software Engineering)
CHAP 12. 리소스와 보안.
7장 인터페이스와 추상 클래스.
소프트웨어 공학 (Software Engineering)
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
소프트웨어공학 윤일노 STARuml Guide 소프트웨어공학 윤일노
Lesson 2. 기본 데이터형.
제 5 장 집합연관, 복합연관, 인터페이스, 실체화 (교재: J. Schmuller 저/곽용재 역, 초보자를 위한 UML 객체지향설계, 제3판, 정보문화사, 2006) 학기 소프트웨어설계.
20장. 객체지향 프로그래밍 01_ 객체지향 프로그래밍의 시작.
제 4장. 객체 지향 프로그래밍 시작하기 학기 프로그래밍언어및실습 (C++).
Power Java 제11장 상속.
컴포넌트 다이어그램 컴포넌트 정의 컴포넌트 다이어그램의 UML 표기법 컴포넌트와 클래스 컴포넌트 다이어그램의 간단한 예
순차 다이어그램 순차 다이어그램의 개요 순차 다이어그램의 사용 시점 순차 다이어그램의 UML 표기법
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
JA A V W. 06.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
C# 07장. 객체 지향 개념.
플래시 CS3 액션스크립트3.0.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
충남대학교 Software Engineering Lab 김 대 엽
중복 멤버의 처리 조 병 규 한 국 교 통 대 학 교 SQ Lab..
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
Lecture 04 객체지향 페러다임 Kwang-Man Ko
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
3. 모듈 (5장. 모듈).
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
웹 사이트 분석과 설계 [디자인 리서치] 학번: 이름 : 홍지애.
서브클래스 조 병 규 한 국 교 통 대 학 교 SQ Lab..
4장. 데이터 모델링 데이터 모델링과 데이터 모델의 개념 개체-관계 모델 논리적 데이터 모델.
9 브라우저 객체 모델.
유스케이스 다이어그램 유스케이스 모델링과 UML 표기법 유스케이스와 유스케이스 관계 액터 사이의 일반화관계
Component Diagram 1.
.Net FrameWork for Web2.0 한석수
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
자바 객체 지향 프로그래밍 Ps lab 김윤경.
상속 (Inheritance) private 전용부분 전용부분 공용부분 공용부분 public 기본 클래스
7 생성자 함수.
6 객체.
8장. 데이터베이스 설계 데이터베이스 설계 단계 요구 사항 분석 개념적 설계 논리적 설계 물리적 설계와 구현.
Presentation transcript:

제 4 장 관계 2010-2학기 소프트웨어설계

차례 4.1 연관 4.2 다중성 4.3 수식 연관 4.4 반사 연관 4.5 상속과 일반화 4.6 의존 관계 4.7 클래스 다이어그램과 객체 다이어그램 4.8 요약 2010-2학기 소프트웨어설계

4.1 연관 연관 (association) 클래스들이 개념적으로 서로 연결된 관계 역할(role) 연관에서 갖는 클래스의 역할 예 : 선수(Player)와 농구팀(Team) Player와 Team 의 연관 관계 역할(Employee, Employer) 존재 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.1 연관 예 : 선수(Player)와 농구팀(Team) 클래스 사이에 두 개의 연관(Plays on, Employs)이 존재 하나의 클래스(Team)가 여러 개의 클래스(Guard, Forward, Center)와 연관 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.1 연관 연관에 대한 제약(constraints) 연관 관계가 반드시 따라야 할 규칙 예 : 은행직원(BankTeller)과 고객(Customer) 연관 관계 Serves 의 제약 BankTeller의 서비스 는 Customer의 주문순서 (order)에 따라서 제공되어야 함 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.1 연관 예: 고등학생의 진로 결정 고등학생(HighSchoolStudent)이 진로를 결정 (choose) 할 때 진학(Academic) 또는 취업(Commercial) 을 선택할 수 있다 제약: 두 개의 연관이 가지는 or 관계 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.1 연관 연관 클래스(association classes) 속성과 오퍼레이션을 갖는 연관 연관 클래스는 연관선과 점선으로 연결 다른 클래스와 연관될 수 있다. 예: Player와 Team 사이의 Contract 연관 클래스 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계 7

4.1 연관 링크 (links) 연관의 인스턴스 객체 사이를 연결 (클래스가 아닌) 객체 이름 처럼 링크 이름에도 밑줄 객체 이름 처럼 링크 이름에도 밑줄 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.2 다중성 다중성 (Multiplicity) 연관 관계에 있는 두 클래스 사이 하나의 객체에 관련될 수 있는 다른 클래스의 객체 개수 예: 농구팀(Team)은 5 명의 선발선수(StartingPlayer)로 구성 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.2 다중성 다중성 (Multiplicity) UML 표기법 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.3 수식 연관 일 대 다(one-to-many)의 다중성 한 객체가 특정한 객체를 선택해야 하는 상황(lookup) 발생 예 - 호텔의 예약 리스트(ReservationList) 와 예약(Reservation) (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.3 수식 연관 수식연관 (qualified association) 수식자(식별정보)를 포함 UML 표기법 - 작은 사각형이 첨부된 수식 연관 예 - 호텔 예약(Resevation)과 예약확인 번호(Confirmation number) (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.4 반사 연관 반사 연관(reflexive association) 클래스가 자기 자신과 갖는 연관 관계 UML 표기법 연관선 - 같은 클래스를 향해서 그린다. 역할, 연관 이름, 연관의 방향, 다중성을 표시 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.5 상속과 일반화 일반화(generalization) 객체지향 상속(inheritance) 개념에 대한 UML표기법 예 – 동물(Animal)의 분류계통도를 나타낸 클래스 다이어그램 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.5 상속과 일반화 상속 (inheritance) 관계의 결정 슈퍼클래스와 서브클래스를 동시에 가지는 클래스가 존재 시스템 분석가 고객과 상담에서 여러 가지의 상속 관계를 발견 하나의 클래스에 속한 속성과 오퍼레이션의 일반성 이해 다른 클래스에 적용할 수 있는지 검토 2010-2학기 소프트웨어설계 15

4.6 의존 관계 추상 클래스(abstract class) 자신의 객체를 제공하지 않는 클래스 예 - 추상 클래스를 갖는 상속 계층도 Player와 Clock (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.6 의존 관계 의존관계 (dependencies) “한 클래스가 다른 클래스를 사용”하는 관계 의존 관계는 점선 화살표 로 표현 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.7 클래스 다이어그램과 객체 다이어그램 클래스 (Class)다이어그램 클래스의 특성, 속성, 연관 클래스의 일반적인 정보 객체(Object) 다이어그램 클래스의 특정 인스턴스 정보 객체의 구체적 상황 예 - 체스 게임 rook,knight, bishop, queen, king, bishop, knight, rook pawn, pawn, …, pawn (출처: http://www.wikipedia.org, “chess”) (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.7 클래스 다이어그램과 객체 다이어그램 Moves of Chess Pieces * pawns can only move to the white circles to capture, and cannot capture with their normal move 2010-2학기 (출처: http://ko.wikipedia.org, “chess”) 소프트웨어설계

4.7 클래스 다이어그램과 객체 다이어그램 예 - 체스 말(ChessPiece)의 클래스 다이어그램 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.7 클래스 다이어그램과 객체 다이어그램 예: 객체 다이어그램 체스 상황의 모델링 (출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004) 2010-2학기 소프트웨어설계

4.8 요약 관계 클래스 사이의 의미가 어떻게 연결되는 지 나타냄으로써 모델링하려는 세계를 시각적으로 구체화 연관, 역할, 다중성, 연관 클래스 클래스의 상속 속성과 오퍼레이션을 물려받음 부모(슈퍼) 클래스, 자식(서브) 클래스 추상클래스는 상속 전용으로서, 자신의 객체를 생성할 수 없다 의존관계 한 클래스가 다른 클래스를 사용 클래스는 일반적인 정의를, 객체는 특정상황을 모델링한다. 2010-2학기 소프트웨어설계