[소프트웨어공학]객체지향 개념 정리(2/2)

류명운

·

2015. 4. 17. 03:01

반응형

클래스를 그림으로 나타내기

->사각형 안에다가 클래스 이름을 적는다.

->클래스 이름은 첫 자를 대문자로 적고 두 단이 이상이라면 붙여쓰고, 단어의 첫자는 대문자로 쓴다.


패키지를 아이콘으로 나타내기

->패키지는 UML에서 다이어그램 요소를 그룹으로 묶을 때 사용

->탭이 달린 폴더 안에 텍스트 이름을 적어 넣는다

WashingMachine 클래스가 Household 패키지에 속해있다면 Household::WashingMachine 와 같이 이름을 붙여줄 수 있다.


속성(attribute)

->클래스에 속한 특성에 이름을 붙인 것

->추가적인 값의 범위 및 타입을 설정


오퍼레이션(operation)

->속성과 같이 추가적인 정보를 붙여줄 수 있다.(매개변수, 함수)

->매개변수 : "이릅:타입" / 함수 : 괄호 뒤 ":반환값과 타입"


조금 더 실용적인 클래스 표기(시험에는 사용하지 말것)

"..." 생략기호 사용


키워드의 사용 -> 필요하다면 시험에 사용할 것

->클래스가 가진 속성과 오퍼레이션의 리스트가 길 경우에는 키워드를 사용하여 각 리스트를 이해하기 쉬운 형태로 구분지어준다. 

->"<< >>" 거듭인용표를 사용하여 나타내준다.


책임(Resposibility) -> 시험에 사용할 것

->속성과 오퍼레이션이 무엇을 이루고자 하는지에 대한 설명

->오퍼레이션 리스트 영역의 아래 칸에 위치한다.


제약(Constraints) -> 시험에 사용할 것

->다소 공식적으로 사용되는 표기법

->중괄호{ } 안에 자유 형식의 텍스트가 들어 있은 형태로서, 클래스가 따라야 하는 규칙을 붙여 줌

 ex) capacity 속성은 16, 18, 20의 값 중 하나만 가지도록 하는 제약


노트 붙이기(주석) -> 시험에 사용할 것

->속성, 오퍼레이션, 책임, 제약 이외에도 클래스에 추가적인 정보를 덧붙일 수 있는 수단

->대개 속성이나 오퍼레이션에 붙인다.

->텍스트와 그림을 동시에 사용할 수 있다.

클래스 모델링의 Tip

->클래스는 지식 도메인에 기반한 어휘와 용어로부터 만들어진다.

->시스템 분석가는 의뢰인과 상담하여 그들이 가지고 있는 지식 도메인을 파악하여 정리하고, 그 도메인에서 발생하는 문제를 해결할 컴퓨터 시스템을 설계해 나가면서, UML에 사용할 용어를 선정하고 이것을 클래스로 모델링하는 것이다.

->명사(noun) - 클래스의 이름이 될 가능성이 매우 높다.

->동사(verb) - 모델링한 클래스의 오퍼레이션이 될 후보들

->속성 - 클래스 이름이되는 명사와 관련된 명사들


* 클래스의 핵심이 되는 리스트(클래스 이름, 속성, 오퍼레이션)를 모두 정리한 다음에는, 각각의 클래스가 의뢰인의 업무에서 어떤 역할을 할 지에 대해 클래스의 책임 설명으로 적을 수 있다.


퀴즈

 1. UML에서는 클래스를 어떻게 나타내는가?

 -> Class Diagram


 2. 클래스 아이콘에 표시할 수 있는 정보는 어떤 것이 있을까?

 ->패키지, 속성, 오퍼레이션, 키워드, 책임, 제약, 노트


 3. 제약(constraints)이란?

 ->클래스가 따라야 하는 규칙을 중괄호 { }안에 자유형식의 텍스트로 나타내줌


 4. 클래스 아이콘에 노트를 붙이는 이유는 무엇일까?

 ->속성, 오퍼레이션, 책임, 제약 외에 추가적인 정보를 나타내기 위해

반응형