[4장] 연습문제 -객관식 위주


1. 클래스 다이어그램에서 가장 표현하기 어려운 개념은? 3(분할과 결합)


2. 생략

3. 생략


4. 집합관계와 복합 관계에 대한 설명으로 옳지않은 것은? 2 (복합관계는 부분 객체를 다른 객체와 공유할 수 있다.)

-> 복합 관계는 전체, 부분 객체로 관계가 나눠지며 생명주기가 다른 독립적인 관계기 때문에 공유할 수 없음


5. 클래스 다이어그램에서 has-a 관계와 is-a-kind-of 관계가 올바르게 짝지어진 것은? 3

-> has-a관계: 

 

  is-a-kind-of 관계


6. 자바 인터페이스에 대한 설명으로 적절하지 않은 것은? 3 (다중상속을 허용하지 않고 단일 상속만 허용한다.)

-> 다중 상속을 허용한다.


7. 생략

8. 생략


10. 다음 유스케이스 명세서에 대한 클래스 다이어그램을 작성하시오.

-------------------------------------------------------------------------

액터: 고객

유스케이스명: 상품 선택

개요: 고객은 쇼핑몰에서 상품을 선택한다.

사전조건: 고객은 고객확인을 받았다.

이벤트 흐름

- 정상흐름

   1) 고객은 컴퓨터 상품을 선택-> 구입

   2) 시스템은 컴퓨터 관련 목록 보여줌

   3) 고객은 키보드 상품 선택-> 장바구니 등록-> 구매 버튼 클릭

   4) 시스템은 장바구니에 상품을 등록하고 다른 키보드 상품 보여줌

-------------------------------------------------------------------------


1) 후보 클래스 도출: 장바구니 등록, 상품 선택, 구매, 회원 확인, 상품, 목록 전시, 상품 조회, 고객

2) 부적절한 클래스 제거: 상품, 고객

3) 클래스에 대한 검토

- 하나의 대상과 개념만 갖는가? -> yes, 각 클래스는 하나의 기능만 가짐

- 구체적이고 명확한 이름을 가지는가?-> yes. 이름만 보고도 기능을 알 수 있음

- 높은 응집도, 낮은 결합도를 갖는가?-> yes. 각 클래스는 다른 클래스에 종속되지 않음

4) 클래스의 추상화 수준과 표현

- 분석: 위에서 선정했던 후보 클래스가 분석 단계의 결과물이라고 볼 수 있음

- 설계: 직접적으로 설계하진 않기 때문에 구현과 관려된 자료구조, 통신 프로토콜은 고려하지 않음

5) 메소드 추출: 상품 등록, 상품 삭제, 목록 수정, 취소, 고객 정보 확인

6) 클래스 간 관계

- 연관관계: 장바구니 등록- 상품 선택, 상품 조회-상품 선택, 구매-상품 선택

- 의존관계: 구매-회원 확인, 관련 목록 전시- 상품 조회

7) 클래스 다이어그램 작성





+ Recent posts