Transcript Document

제 3 장 객체지향 개념의 적용
2010-2학기
소트트웨어설계
1
차례
3.1 클래스를 그림으로 나타내기
3.2 속성
3.3 오퍼레이션
3.4 조금 더 실용적인 클래스 표기
3.5 책임과 제약
3.6 노트 붙이기
3.7 클래스 모델링은 이렇게 시작하자
3.8 요약
2010-2학기
소트트웨어설계
2
3.1 클래스를 그림으로 나타내기
• UML 클래스(Class) 기호
– 여러 단어로 된 클래스 이름
• 단어들을 붙여쓰고
• 새 단어의 첫 자를 대문자
로
• UML 패키지 (Package)
– 패키지는 UML에서 다이어그램
요소를 그룹으로 묶을 때 사용
– 탭이 달린 폴더 안에 이름을 기
입
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
3
3.1 클래스를 그림으로 나타내기
• 경로 이름(pathname)을 가진 클래스
– “패키지 이름 :: 클래스 이름”
– 예
• 패키지 – Household
• 클래스 – WashingMachine
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
4
3.2 속성
• 속성(attributes)
– ‘클래스’에 속한 특성에 이름을 붙인 것
– 특성이 가질 수 있는 값의 범위를 설정
– 두 단어 이상으로 된 속성 이름
 두 단어를 붙여 쓰되, 둘째 단어의 첫 문자를 대문자
로
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
5
3.2 속성
• 값을 가진 속성
– 속성은 각 객체마다 특정한 값을 갖는다
– 객체의 이름은 소문자로 시작
• “객체 이름 : 클래스 이름”
• 객체이름 전체에 밑줄
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
6
3.2 속성
• 타입과 기본값을 가진 속성
– “속성 이름 : 타입 이름”
– 속성의 기본값을 설정할 수 있다.
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
7
3.3 오퍼레이션
• 오퍼레이션 (Operations)
– 객체에게 요청할 수 있는 행동
– 클래스의 오퍼레이션 위치
 속성 목록영역의 아랫 부분에 구분선 사용하여 표
시
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
8
3.3 오퍼레이션
• 오퍼레이션의 시그너쳐 (signature)
– 매개변수(parameter) 목록 – 오퍼레이션 뒤의 괄호 안에
사용
• 형태 - “이름 : 타입”
– 함수(function)
• 작업을 마친 후에 결과를 반환하는 오퍼레이션
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
9
3.4 조금 더 실용적인 클래스 표기
• 실제로는 속성과 오퍼레이션을 모두 적지 않아도 상관없다.
• 생략기호(ellipsis, …)
– 속성과 리스트가 전부 표시되지 않았음을 표시.
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
10
3.4 조금 더 실용적인 클래스 표기
• 키워드(keyword)
– 속성 또는 오퍼레이션 의 목록을 그룹화하여 구분
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
11
3.5 책임과 제약
• 책임(responsibility)
– 속성과 오퍼레이션이 무엇을 이루고자 하는 지 설명.
– 책임 표시 위치 - 오퍼레이션 목록 영역의 아래
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
12
3.5 책임과 제약
• 제약(constraints)
– 클래스가 따라야 하는 규칙을 붙여줄 때 사용
– 형태 - 중괄호({ }) 안에 자유 형식의 텍스트
– 공식적인 표기법
• 예 - capacity 속성이 3 가지 값 중 하나만 갖는 경우
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
13
3.6 노트 붙이기
• 노트(note)
– 클래스에 속성, 오퍼레이션, 책임, 제약 이외에 추가적
인 정보를 제공
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
14
3.7 클래스 모델링은 이렇게 시작하자
• 클래스(Class)  지식 도메인에 기반한 어휘와 용어로부터 생성
– 시스템 분석가는 의뢰인과 상담
– 의뢰인이 가지고 있는 지식 도메인을 파악하여 정리
– UML에 사용할 용어를 선정
– 클래스로 모델링
• 명사(noun) - 클래스 또는 속성의 후보
• 동사(verb) - 오퍼레이션의 후보
• 예 - 농구 게임을 위한 초기 설계 (pp.91-94)
– 명 사 - ball, basket, team. players, guards, forwards, center,
shot, shot clock, three-point line, free throw, foul, free-throw
line, court, game clock.
– 동사 - shoot, advance, dribble, pass, foul, rebound
2010-2학기
소트트웨어설계
15
3.7 클래스 모델링은 이렇게 시작하자
• 농구 게임의 모
델링 (초기 다이
어그램)
 point guard  shooting guard
 small forward
 power forward  center
(출처: http://www.wikipedia.org,“basketball”)
(출처: J. Schmuller, Teach Yourself UML in 24 Hours, 3rd Ed., Sams, 2004)
2010-2학기
소트트웨어설계
16
3.8 요약
• 객체의 속성과 오퍼레이션
– 키워드
– 시그너처
– 제약
– 노트
•
클래스 모델은 지식 도메인의 어휘로 생성
– 명사  클래스, 속성
– 동사  오퍼레이션
2010-2학기
소트트웨어설계
17