제 5 장 집합연관, 복합연관, 인터페이스, 실체화

Download Report

Transcript 제 5 장 집합연관, 복합연관, 인터페이스, 실체화

제 5 장 집합연관, 복합연관,
인터페이스, 실체화
(교재: J. Schmuller 저/곽용재 역, 초보자를 위한 UML 객체지향설계, 제3판, 정보문화사, 2006)
2010-2학기
소프트웨어설계
1
차례
5.1 집합연관
5.2 복합연관
5.3 복합체 구조 다이어그램
5.4 인터페이스와 실체화
5.5 인터페이스와 포트
5.6 요약
2010-2학기
소프트웨어설계
2
5.1 집합연관
• 집합연관 (aggregation)
– 하나의 클래스가 여러 개의 컴포넌트 클래스로 구성되어 있는 경우
– 예 : 가정용컴퓨터 시스템
• CPU 박스, 키보드, 마우스, 모니터, CD-ROM 드라이브, 한 개
이상의 하드 드라이브, 디스크 드라이브, 프린터 그리고 스피커
등으로 구성
– 각 컴포넌트 클래스가 하나의 전체 클래스에 속해 있는 상황만이
집합연관은 아니다.
– 예: 가정용 통합 엔터테인먼트 시스템
• 리모콘 - TV의 컴포넌트, VCR의 컴포넌트
2010-2학기
소프트웨어설계
3
3
5.1 집합연관
• 집합연관 (aggregation)
– 표기법 - 컴포넌트 클래스와 전체 클래스를 실선으로
잇고, 빈 마름모꼴을 전체 클래스 쪽에 붙여서 나타낸
다.
– 예 : 가정용컴퓨터 시스템
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소프트웨어설계
4
5.1 집합연관
• 집합연관에 대한 제약(constraints)
– Or 관계 제약
• 두 컴포넌트 중 하나만이 전체를 구성하는 데 사용
• 예: 식사를 수프 또는(or) 샐러드, 그리고 메인 코스와
디저트로 구성
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소프트웨어설계
5
5.2 복합연관
• 복합체(Composite)
– 강한 집합연관에 의해 만들어진 클
래스
– 각 컴포넌트 클래스는 오직 하나의
전체 클래스에만 속할 수 있다.
• 복합연관의 표기
– 집합연관과 동일
– 검은 마름모꼴만 다르다
– 예 - 커피테이블
• 몸체와 다리로 구성
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소프트웨어설계
6
5.3 복합체 구조 다이어그램
• 복합체 구조 다이어그램(composite structure diagram)
– 클래스의 내부 구조를 보여줄 때 이용
– UML 2.0에서 도입
– 예: 셔츠 제작 과정의 모델링
• 전체 클래스 셔츠(Shirt)는 사각형으로 표현
• 셔츠를 구성하는 각 컴포넌트(Sleeve, Body, Collar,
ButtonSystem)는 전체 클래스의 내부에 표현
2010-2학기
소프트웨어설계
7
5.3 복합체 구조 다이어그램
• 복합체 구조
diagram)
다 이 어 그 램 (composite structure
– 예: 셔츠 제작 과정의 모델링
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소프트웨어설계
8
8
5.4 인터페이스와 실체화

인터페이스 (interfaces)




클래스의 일정한 행동(behavior)을
나타내는 오퍼레이션의 집합
다른 클래스에서 사용될 수 있다.
예 - 세탁기 조절 손잡이

세탁기가 조절손잡이의 오퍼레이션을
세탁기의 오퍼레이션에 전달
실체화(realization)


인터페이스와 클래스의 관계
예: 세탁기 조절손잡이의 행동을 세탁기의
행동이“실체화(realize)”함
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소프트웨어설계
9
5.4 인터페이스와 실체화
• 실체화 관계 (realization)
– 클래스는 인터페이스에
대하여 실체화 관계
– 표기법
• 클래스에서 인터페이
스로 향하는 점선화살
표
• 클래스의 인터페이스
손잡이 표시
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소프트웨어설계
10
5.4 인터페이스와 실체화
• 의존관계: 인터페이스와 사용자와의 교류
– 사용자는 세탁기 동작을 인터페이스에 의존
– UML 2.0 표기법 - 인터페이스 관계를 나타내는 공과 소
켓
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소프트웨어설계
11
5.5 인터페이스와 포트
• 포트 (ports)
– 인터페이스와 연결되어 있는 단자
– 클래스 기호의 가장자리에 작은 사각형
– 예 : 컴퓨터의 포트
• 시리얼 포트, 병렬 포트, 1개 이상의 USB 포트 등
• 컴퓨터를 주변 기기들과 연결
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소프트웨어설계
12
5.5 인터페이스와 포트
• 가시성(visibility)
– 속성과 오퍼레이션에 적용
– 클래스(혹은 인터페이스)의 속성 값을 읽어내거나, 오퍼레이션을
호출 및 사용할 수 있는 범위
• (+)public - 다른 클래스가 사용 가능
• (#)protected - 원래 클래스와 상속 받은 클래스만 사용 가능
• (-)private - 원래의 클래스만 사용 가능
– 인터페이스를 실체화하기 위해서는 인터페이스 안에 설정된 오퍼
레이션들이 모두 public 가시성을 가지고 있어야 한다.
2010-2학기
소프트웨어설계
13
13
5.5 인터페이스와 포트
• 가시성(visibility)
– 예: Television의 public, private 오퍼레이션
– 예: Automobile의 public, protected 오퍼레이션
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소프트웨어설계
14
5.5 인터페이스와 포트
• 스코프(scope)
– 인스턴스 스코프(instance scope)
• 각 인스턴스에 속한 속성과 오퍼레이션들이 각자의 값을 갖는
다
(해당 인스턴스에 대해 유일한 속성값과 오퍼레이션 값)
• 자바의 인스턴스 변수/인스턴스 메소드
– 클래스 스코프(classifier scope)
• 해당 클래스에 대해 유일한 속성값과 오퍼레이션 값을 갖는다.
• 자바의 클래스 변수/클래스 메소드
2010-2학기
소프트웨어설계
15
15
5.6 요약
•
집합연관
– “부분-전체(part-whole)” 관계를 표현
– 복합체, 복합연관, 복합체 구조 다이어그램
•
실체화
– 클래스와 인터페이스의 연관관계
– 인터페이스
• 여러 클래스가 사용할 수 있는 오퍼레이션의 집합
• 속성을 갖지 않은 클래스, «interface» 표시
•
•
•
포트는 클래스와 주변요소가 연결되는 단자
가시성: public, protected, private
스코프: 인스턴스 스코프, 클래스 스코프
2010-2학기
소프트웨어설계
16
16