1. UML의 특징이 아닌것은?
1) 가시화 언어 2) 명세화 언어 3) 구축 언어 4) 기능 중심 언어
-> 4번 기능 중심 언어
2. 객체 지향 기법에서 캡슐화에 대한 설명으로 틀린 것은?
1) 캡슐화를 하면 객체 간의 결합도가 높아진다.
2) 캡슐화된 객체들은 재사용이 가능하다
3) 프로그램 변경에 대한 오류의 파급 효과가 적다
4) 인터페이스가 단순해진다
-> 1번 캡슐화를 하면 객체 간의 결합도가 높아진다.
3. 객체 모델, 동적 모델, 기능 모델의 3개 모델로 구성되는 객체 지향 분석 기법은?
-> 1) Rambaugh method
4. 객체 지향 시스템에서 자료 부분과 연산(또는 함수) 부분 등 정보 처리에 필요한 기능을 한 테두리로 묶는 것을 의미하는 용어는?
-> 3) 캡슐화
5. 객체 지향 기법에서 메시지의 전달은 어떻게 이루어지는가?
-> 3) 객체에서 객체로
6. 객체 지향 기법에서 상속의 결과로 얻을 수 있는 가장 중요한 이점은?
-> 3) 클래스와 오브젝트를 재사용할 수 있다.
7. 객체 지향 기법에서 하나 이상의 유사한 객체들을 묶어 하나의 공통된 특성을 표현한 것은?
-> 1) 클래스
8. 객체에게 어떠한 행위를 하도록 지시하는 명령은?
-> 4) Message
9. 객체 지향 개념에 관한 설명 중 잘못된 것은?
1) 객체들 간의 상호 작용은 메시지를 통해 이루어진다.
2) 클래스는 인스턴스들이 갖는 변수와 인스턴스들이 사용할 메서드를 갖는다.
4) 객체가 갖는 데이터를 처리하는 알고리즘을 연산 또는 메서드라 한다.
-> 3) 다중 상속은 2개 이상의 클래스가 한 클래스로부터 상속받는 것을 말한다.
10. 객체 지향 설계에 대한 설명으로 옳지 않은 것은?
1) 객체 지향 설계에서 가장 중요한 문제는 시스템을 구성하는 개체와 속성, 연산을 인식하는 것이다.
3) 객체 지향 설계를 문서화할 때 객체와 그들의 부객체의 계층적 구조를 보여주는 계층 차트를 그리면 유용하다.
4) 객체는 순차적으로 또는 동시적으로 구현될 수 있다.
-> 2) 시스템 기술서의 동사는 객체를, 명사는 연산이나 객체 서비스를 나타낸다.
11. UML에 대한 설명으로 옳지 않은 것은?
1) 소프트웨어 시스템의 인공물들을 명세하고 가시화하여 구성하기 위한 언어다.
2) 산업 표준이 될 것으로 기대되는 객체 지향 모델링 언어를 정의한 전문가들이 노력한 결과다.
3) 시스템 요구 사항을 명세하고 설계 의사 결정을 파악하는 데 도움이 된다.
-> 4) UML 표기법은 객체 지향 분석과 설계 모델을 그래프로 표현할 수 없다는 단점이 있다.
12. 객체 지향 기술에 대한 설명으로 옳지 않은 것은?
1) 객체란 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 소프트웨어 모듈이다.
2) 클래스란 객체 타입을 말하며 객체들이 갖는 속성과 적용 연산을 정의하고 있는 틀이다.
3) 상속은 상위 클래스가 갖는 속성과 연산을 그대로 물려받는 것을 의미한다.
-> 4) 분석과 설계, 구현 작업이 폭포수 모형과 같이 뚜렷하게 구별된다.
13. 객체 지향 기법에서 메서드는 어느 시점에 시작되는가?
-> 4) 오브젝트로부터 메시지를 받을 때
14. 객체에 대한 설명으로 가장 옳지 않은 것은?
1) 객체는 실세계 또는 개념적으로 존재하는 세계의 사물들이다.
3) 객체는 데이터를 가지며, 이 데이터의 값을 변경하는 함수를 가지고 있는 경우도 있다.
4) 객체들 사이에 통신을 할 때는 메시지를 전송한다.
-> 2) 객체는 공통 특징을 갖는 클래스들을 모아둔 것이다.
15. UML 이란 무엇인지 설명하시오.
UML은 시스템 개발자가 구축하고자 하는 소프트웨어를 코딩하게에 앞서
표준화되고 이해되기 쉬운 방법으로 소프트웨어를 설계하여
다른 사람들과 효율적으로 의사소통할 수 있는 메커니즘이다.
시스템 개발에서 분석가, 의뢰인, 개발자가 서로 이해하며, 표준으로 받아들일 수 있는 시스템 설계를 위해
마련한 표기법이 UML이다.
16. UML의 탄생 과정?
1990년대에는 많은 객체 지향 방법론들이 존재하여
각 객체 지향 기술들은 실제 시스템을 구축하는 데 있어서
각각의 객체 지향 기술들이 갖는 방법과 심벌이 서로 달라 호환성에 있어 장애가 되었다.
UML은 너무 많은 객체지향 방법론들 때문에 발생하는 문제점을 인식하고,
1994년 그래디 부치 등에 의해 연구되었고,
1997년 객체 관리 그룹에서 여러 표기법을 통합하여 UML을 발표했다.
17. 다형성에 대하여 예를 들어 설명하시오.
다형성은 여러 클래스에 같은 이름의 함수가 존재하지만 동작은 다르게 수행하는 것을 의미한다.
그림에서처럼 도형의 그리기()라는 메서드는 원 객체의 경우와 다각형 객체의 경우에 각각 다른 수행을 진행한다.
각각의 모형을 그리는 방식이 서로 다르기 때문에 모형 클래스의 속성과 오퍼레이션을
그대로 상속받아 사용할 수 없어
상위 클래스에서 정의한 오퍼레이션을 하위 클래스에서 자신에게 맞도록 재정의해야 가능하다.
상위 클래스에 메서드(오퍼레이션)가 정의되고, 그 메서드를 하위 클래스에서 상속받아 그대로 사용할 수 있지만,
하위 클래스의 객체가 다른 방법으로 동작을 해야 하는 경우에는
상속받은 메서드를 다른 이름으로 재정의함으로써
생성된 객체가 상위 클래스의 정의와는 다른 동작을 할 수 있도록 구현하여 사용하는 것이다.
18. 객체 지향의 의미?
객체 지향이란 현실세계에 존재하는 실제 및 개념을 객체라는 독립된 단위로 구성하여
이 객체들을 메시지를 통하여 시스템을 운영하는 개념이다.
객체는 추상적이 아니라 객관적으로 존재하는 실체를 의미.
객체지향의 원리는 캡슐화, 추상화, 다형성, 상속의 특성을 활용
19. 구조적 프로그래밍과 객체지향 프로그래밍을 설명하시오.
- 구조적 프로그래밍: 프로그램을 구축하기 위해 순차, 선택, 반복으로 구성하여 문제를 해결하는 방법.
(대표적 언어: C언어)
- 객체지향 프로그래밍: 프로그램을 객체라는 단위로 구성하는데 객체는 하나의 데이터 구조로 처리할 데이터 겂과 이를 처리하기 위한 기능들을 모아둔 것.
캡슐화, 상속, 추상화, 다형성 등의 기능 활용.
프로그래밍에 class가 존재하면 객체지향프로그래밍.
(대표적 언어: Java, C++, C#, Python..)
20. 클래스와 객체의 차이점을 예를 들어 설명하시오.
- 객체란 우리가 살아가는 세계에 존재하거나 생각할 수 있는 실제적으로 존재하는 것을 통칭해서 말한다.
- 클래스는 객체를 생성할 수 있는 구조와 정보를 가지고 있는 틀이다.
붕어빵기계를 클래스라고 하면 붕어빵은 객체.
클래스는 붕어빵 기계처럼 하나지만, 붕어빵은 서로 다른 의미를 갖는 객체.
음료수-클래스/콜라, 사이다-객체
사람-클래스/이순신, 강감찬-객체
21. 메시지에 대해 예를 들어 설명
객체들 간의 상호작용 수단이다. 다른 객체에게 특정 작업을 요청하는 신호이다.
드론조정기로 신호(메시지)를 보내면 드론내부에서 기능 작동하여 움직임
편집기에서 프린트 기능 누르면 메시지 전달되고 프린트 동작 실행
한글 아이콘 더블클릭하면 메시지 전달되어 한글 편집기 실행
22. 인터페이스와 추상화의 차이점을 예를 들어 설명
추상 클래스 | 인터페이스 |
클래스이다. (abstract class로 선언) | 클래스가 아니다. (interface로 선언) |
일반 메소드와 추상 메소드를 모두 가질 수 있다 | public abstract 추상 메소드만 가질 수 있다. 일반 메소드는 가질 수 없다. |
확장을 하며 extends로 서브 클래스로 정의 | 구현을 하며 implements로 서브 클래스 정의 |
단일 상속만 가능 | 다중 상속도 가능 |
변수와 상수 모두 가질 수 있다. | static final 형태의 상수만 가질 수 없다. |
모든 추상 메소드는 인스턴스 생성을 위한 서브 클래스에서 반드시 구현되어야 함
업캐스팅이 가능
23. OMT 방법론의 객체 모델, 동적 모델, 기능 모델을 설명하시오.
- 객체모델: 시스템에서 필요한 모델을 찾아내고 객체의 속성과 객체들 사이의 관계를 규명
- 동적모델: 객체 모델에서 나타난 객체들의 행위, 상태를 포함하는 생명주기 나타냄
- 기능모델: 각 객체의 변화로 인해 다른 상채로 전이되었을 때 수행되는 동작들, 즉 입출력 값의 흐름 기술해 줌
24. 다음을 객체와 클래스로 구분
- 클래스: 스마트폰, 대학교, 물고기, 음료수, 스포츠, 대학교
- 객체: 갤럭시S, 아이폰, 서울대, 한국대, 백석대, 메기, 상어, 붕어, 콜라, 환타, 사이타, 테니스, 야구, 골프
[2장]
1. UML 다이어그램 중에서 동적 모델이 아닌 것은?
1) 유스케이스 다이어그램
3) 순차 다이어그램
4) 활동 다이어그램
-> 클래스 다이어그램(정적)
2. UML 스테리오타입에 관한 설명이 아닌 것은?
1) UML 요소의 의미를 바구거나 명확하게 하기 위한 방법이다.
2) <<parallel>>과 같이 키워드를 <<>>로 감싸 표현한다.
3) 스테레오타입 대신 특별한 아이콘을 사용하여 표현할 때도 있다.
-> 4) 몇 개의 특별한 UML 요소들에만 적용할 수 있다.
3. UML 다이어그램은 다이어그램에서 표현하고자 하는 기본 개념의 유형에 따라 정적 다이어그램과
동적 다이어그램으로 분류할 수 있다.
이렇나 관점에서 볼 때 다음 중 다른 유형의 다이어그램은?
2) 유스케이스 다이어그램
3) 활동 다이어그램
4) 순차 다이어그램
-> 컴포넌트 다이어그램
4. 요구 사항 모델링에 사용되는 다이어그램은?
-> 2) 유스케이스 다이어그램
5. UMl 구성 요소에서 { } 기호를 사용하여 이전 규칙을 수정하거나 새롭게 생성하기 위한 것은?
-> 3) 제약
6. 스테레오타입의 올바른 표기법은?
-> 4) <<subsystem>>
7. {tag = value}의 기호를 사용해 UML 구성요소가 갖는 속성을 확장하여 구성 요소의 명세서에 새로운 정보를 생성하는 것은?
-> 1) 꼬리표 값
8. 소프트웨어 물리적 단위 구성과 의존 관계를 표현하는 다이어그램은?
-> 3) 컴포넌트 다이어그램
9. 정적 모델링에 사용되는 다이어그램이 아닌 것은?
1) 클래스 다이어그램
2) 컴포넌트 다이어그램
3) 패키지 다이어그램
-> 4) 상태 다이어그램
10. 그룹화와 관련 있는 것은?
-> 2) 패키지
11. 관계의 종류에 속하지 않는 것은?
1) 의존 관계
2) 포함 관계
3) 연관 관계
-> 4) 그룹 관계
12. 동적 모델링에 사용되는 다이어그램이 아닌 것은?
1) 순차 다이어그램
2) 통신 다이어그램
4) 상태 다이어그램
-> 3) 클래스 다이어그램
13. 순차 다이어그램과 동일한 내용으로, 객체 사이의 데이터 흐름을 보여주는 다이어그램은?
-> 4) 통신 다이어그램
14. UML의 구성요소를 설명하시오.
UML은 기본 요소를 구성하는 사물,
사물과 사물 간의 관계를 나타내는 관계,
사물과 관계를 도형으로 표현하는 다이어그램 의 3가지 구성요소로 이루어진다.
3가지의 사물이 있다.
1) 정적사물: 시스템의 구조 표현하는 사물
2) 동적사물: 시스템의 행위 표현
3) 주해사물: 부가적으로 개념 설명하는 사물
4가지의 관계가 있다.
1) 의존, 2) 연관, 3) 일반화, 4) 실체화
15. 인터페이스에 대해 자바 코드를 예를 들어 설명하시오.
pubilc interface 기능{
void 전화가능();
void Lte여부();
void 리모콘여부();
}----------------------------- public class A휴대폰 implements 기능{
@Override
void 전화가능(){ System.out.println(“전화 가능”); }
@Override
void Lte여부() { System.out.println(“Lte 가능”); }
@Override
void 리모콘여부(){ System.out.println(“리모콘 가능”); }
}
public class B휴대폰 implements 기능{
@Override
void 전화가능(){ System.out.println(“전화 가능”); }
@Override
void Lte여부(){ System.out.println(“Lte 불가능”); }
@Override
void 리모콘여부(){ System.out.println(“리모콘 가능”); }
}
public class C휴대폰 implements 기능{
@Override
void 전화가능(){ System.out.println(“전화 가능”); }
@Override
void Lte여부(){ System.out.println(“Lte 가능”); }
@Override
void 리모콘여부(){ System.out.println(“리모콘 불가능”); }
}
16. 클래스 다이어그램과 객체 다이어그램을 예를 들어 설명하시오.
- 클래스 다이어그램: 클래스들과 클래스들 간의 관계 보여줌
가장 활용도가 높은 다이어그램으로 실제 동작에 필요한 구성요소들과 이들의 관계 보여줌
-- 클래스는 상태와 동작으로 구성
-- 상태는 객체의 속성들이 가지고 잇는 정보들로 나타남
-- 실제 구현에서 속성은 변수로 표현됨(자동차의 경우 차량번호, 색상, 연식,,,)
-- 동작은 객체가 할 수 있는 기능으로 메소드로 표현됨(자동차의 경우 기어 변속, 가속, 정지, 문잠그기...)
- 객체 다이어그램: 실행 중 특정 시점에서 객체들이 동작하는 상황을 표현. 동적인 상황 표현
-- 객체는 사각형에 객체의 이름 표기 후 밑줄 그음
-- 링크는 객체 간의 연관 관계 의미, 실선으로 그음
-- 연결된 객체들끼리 메시지 주고받음
-- 클래스 간에 관계를 맺고 있음을 의미
-- 객체들은 해당 클래스의 제약 조건을 모두 만족해야 함
-- 상태는 속성의 값들로 객체의 상태가 표현됨, 특정 순간에 객체가 가지고 있는 속성의 값들이 객체의 상태가 됨
17. 유스케이스의 구성요소와 그 역할을 설명하시오.
액터, 유스케이스, 관계로 표현
- 액터: 시스템의 외부에 있고 시스템과 상호작용을 하는 사람(시스쳄의 기능을 사용하는 사람),
시스템(시스템에 정보를 제공하는 또 다른 시스템)을 말함
- 유스케이스: 사용자 입장에서 바라본 시스템의 기능. 시스템이 액터에게 제공해야 하는 기능으로 시스템의 요구사항을 나타냄.
- 관계: 액터와 유스케이스 사이의 의미있는 관계를 나타냄. 종류는 연관, 의존, 일반화가 있으며
의존 관계는 포함, 확장으로 나눠짐
18. 클래스 다이어그램을 표현할 때 클래스 다이어그램에 표현되는 모든 특성을 설명하시오.
(예) 형식, 스테레오타입, public 등)
19. 명세서 작성에 대해 예를 들어 설명하시오.
3칸으로 구성된 사각형은 기본 클래스를 나타냄
첫 번째 칸의 텍스트는 클래스 이름으로 정의되고 있으며
두 번째 칸의 내용은 속성으로 간주.
수강신청, 수강정정 등은 각각 메서드로 인식,
메서드 앞에 있는 +는 public, #는 protected.
20. 스테레오타입에 대해 예를 들어 설명하시오.
자동차는 인터페이스, 배는 추상클래스, 학생은 일반 클래스로 구별됨.
자바 코드로 나타내면 아래와 같음.
이처럼 클래스를 구분하기 위해 << >> 를 이용한다. (스테레오타입이라 함)
interface 자동차 {......} // 인터페이스
abstract class 배 {......} // 추상클래스
class 학생 {......} // 일반클래스
[3장]
1. 유스케이스 다이어그램에서 표현되지 않는 것은?
1) 유스케이스
2) 액터
3) 시스템 범위
-> 4) 클래스들 간의 관계
2. 유스케이스 추출 후에 일어나는 분석 과정의 활동으로 보기 어려운 것은?
1) 객체 또는 클래스 찾기
2) 클래스의 속성 찾기
4) 시퀀스 다이어그램 만들기
-> 3) 객체의 메서드 구현하기
3. 유스케이스 간의 관계로 적합하지 않은 것은?
1) 일반화 관계
2) 포함 관계
4) 확장 관계
-> 3) 연관 관계
4. 개발 초기, 업무 시스템 개발 범위 및 기능 요구 사항 확정 등에 대해 고객과 의사소통을 할 때 가장 적절한 UML 다이어그램은?
-> 유스케이스 다이어그램과 유스케이스 명세서
5. 다음 인터넷 쇼핑몰 시스템 문제 기술서를 보고 유스케이스 다이어그램을 작성하시오.
• 인터넷을 통해 물품을 판매하는 시스템을 구축하고자 한다.
• 고객은 회원 등록을 통해 본인 정보를 등록하고, 아이디, 비밀번호를 입력함으로써
시스템에 접속할 수 있으며, 물품을 구입할 수 있다.
• 고객이 로그인할 때 및 물품을 구입할 때에는 별도로 암호화된 모듈을 통해 본인 확인 절차를 거쳐야 한다.
• 물품을 구매하여 결제할 때에는 일반 포인트로 결제할 수 있으며, 신용카드를 통해 결제할 수도 있다.
• 신용카드를 통해 결제하고자 하는 경우에는 협약을 맺은 카드 승인사에 카드 승인을 요청해야 한다.
• 고객은 구매한 물품의 배송 상황을 조회할 수 있으며, 직원도 고객 물품에 대해 배송 추적을 할 수 있다.
6. 다음 주문 관리 시스템 문제 기술서를 보고 유스케이스 다이어그램을 작성하시오.
• 주문 관리 시스템에서는 고객 확인을 통해 시스템에 접속할 수 있다.
고객 확인은 회원가입을 할 때 입력한 아이디와 비밀번호를 입력하여 확인한다.
• 접수 관리 직원은 확보된 상품을 등록한다. 상품 확보는 재고 관리 직원이 한다.
고객은 등록된 상품을 선택하고 장바구니에 등록한다.
장바구니에 등록된 상품을 카드나 계좌이체를 통해 결제하면 운송 직원이 상품을 고객에게 배달한다.
7. 다음 비디오숍 시스템 문제 기술서를 보고 유스케이스 다이어그램을 작성하시오.
• 반드시 회원 가입을 통해 등록된 회원만이 비디오를 대여할 수 있다.
회원은 가입된 이름과 전화번호를 통해 확인한다.
• 비디오숍 시스템은 대여, 반납, 연체 확인 기능이 있다.
• 대여 시 고객이 비디오를 선택하면 비디오 코드를 확인하여 시스템에 입력한다.
현재 고객이 대여 중인 비디오가 있으면 표시하고 대여 기간이 지났으면 연체료를 계산하여 보여준다.
연체 중인 고객은 비디오를 대여할 수 없다.
그러나 연체료를 납부하면 대여할 수있다.
비디오가 대여되면 대여 목록에 비디오 코드와 고객명이 등록된다.
• 관리자는 연체 관리 기능을 통해 현재 연체 중인 회원과 연체된 비디오를 확인한다.
연체금 표시 기능을 통해 오늘 날짜에 해당하는 연체금을 표시한다.
• 반납 시 반납한 비디오의 코드를 입력하여 대여 목록에서 삭제한다.
8. 다음 항공기 예약 시스템 문제 기술서를 보고 유스케이스 다이어그램을 작성하시오.
• 고객은 예약 시스템을 통해 항공기 예약을 한다.
티켓 구입을 위해 고객은 항공기 운항노선을 선택한다.
• 선택한 노선 중 원하는 항공사를 선택한다.
• 선택한 항공사의 이용 가능 인원을 확인하고 예약할 인원을 입력한다.
• 인원 확인 결과 가능하다면 예약을 한다.
예약 후 운임 납부를 위해 카드 또는 계좌 이체를 통해 결제한다.
결제가 완료되면 예약 확인서를 다운로드한다.
9. 다음 도서 관리 시스템 문제 기술서를 보고 유스케이스 다이어그램을 작성하시오.
• 도서 관리 시스템은 시스템에 등록된 사람들에게 책과 잡지를 빌려준다.
• 사서는 새로운 책이 있으면 구입하고 오래된 책과 잡지는 조건을 적용하여 폐기한다.
구입하거나 폐기한 책은 도서 목록에 추가하거나 도서 목록에서 삭제한다.
• 고객은 원하는 책을 현재 도서관에서 빌릴 수 없을 때 예약할 수 있고,
도서관으로 책이 반납되거나 새로 구매한 경우에 연락을 받아 이용할 수 있다.
고객이 책을 빌려갔거나 직접 취소를 원하면 예약을 취소한다.
[4장]
1. 클래스 다이어그램에서 가장 표현하기 어려운 개념은?
1) 일반화
2) 전체-부분
4) 연관 관계
-> 3) 분할과 결합
2. 다음 클래스 다이어그램에 대한 설명으로 적절하지 않은 것은?
1) Player 클래스와 Team 클래스는 개념적으로 서로 연결되어 있다.
2) Player 클래스와 Team 클래스는 쌍방 관계로 연결될 수 있다.
3) Employee와 Employer는 수행에 참여하는 역할의 의미를 갖는다.
-> 4) Player 클래스에 있는 메서드는 Team의 객체를 생성하는 멤버 변수를 갖는다.
3. 다음 클래스 다이어그램에 대한 설명으로 적절하지 않은 것은?
1) Graphics는 MyApplet에 의존한다.
3) MyApplet은 Applet의 속성을 상속받아 사용할 수 있다.
4) MyApplet은 Applet의 메서드를 상속받아 사용할 수 있다.
-> 2) Graphics에 있는 메서드는 MyApplet의 객체를 생성하는 멤버 변수를 갖는다.
4. 집합 관계와 복합 관계에 대한 설명으로 옳지 않은 것은?
1) 복합 관계는 전체의 클래스가 소멸될 때 부분에 해당하는 클래스도 소멸된다.
3) 집합 관계는 전체 객체와 부분객체의 생명주기가 서로 독립적이다.
4) 집합 관계에서는 전체 객체에서 부분 객체의 객체를 생성하여 사용할 수 있다.
-> 2) 복합 관계는 부분을 나타내는 객체를 다른 객체와 공유할 수 있다.
5. 클래스 다이어그램에서 <가> has-a와 <나> is-a-kind-of가 올바르게 짝지어진 것은?
-> 3
6. 다음 클래스 다이어그램은 Invoice 클래스와 Employee 클래스가 Payable 인터페이스를 상속받는 것을 나타낸다.
자바 인터페이스에 대한 설명으로 가장 적절하지 않은 것은?
1) 자바 인터페이스는 구현 부분이 없는 추상 메서드로 구성되어 있다.
2) 인터페이스를 상속받는 일반 클래스는 인터페이스의 추상 메서드를 재정의해야 한다.
4) 자바 인터페이스에는 메서드가 없고 비어 있는 태깅 인터페이스가 존재한다.
-> 3) 자바 언어에서 인터페이스는 다중 상속을 허용하지 않고 단일 상속만 가능하다.
7. 다음 클래스 다이어그램은 4개 클래스 간의 관계를 보여준다. 각 관계에 대한 설명으로 가장 적절하지 않은 것은?
1) Class1과 Class2는 일반화 관계다.
2) Class1과 Class3은 의존 관계다.
3) Class3과 Class4는 전체 부분(또는 포함) 관계다.
-> 4) Class2와 Class4는 사용 관계다.
8. 다음 자바 코드에 상응하는 클래스 다이어그램을 가장 잘 표현한 것은?
-> 1
9. 다음 유스케이스 명세서에 대한 클래스 다이어그램을 작성하시오.
10. 다음 유스케이스 명세서에 대한 클래스 다이어그램을 작성하시오.
11. 다음 유스케이스 명세서에 대한 클래스 다이어그램을 작성하시오.
[5장]
1. UML 순차 다이어그램에 관한 설명으로 잘못된 것은?
1) 하나의 유스케이스에 있는 기능을 수행하기 위해 객체들이 어떻게 상호작용하는가를 보여준다.
2) 통신 다이어그램과 의미적으로는 동일하다고 할 수 있다.
4) 4+1 뷰에서 논리 뷰에 속한다
-> 3) 전체적으로 액티비티 다이어그램과 유사한 형태를 띤다.
2. 다음 그림에서 명시적으로 표현되지 않은 요소는?
3) 자기 메시지
3. UML 다이어그램에 대한 설명으로 가장 적절하지 않은 것은?
-> 2) 순차 다이어그램은 복수 개의 대상(예를 들어 객체) 간의 상호작용을 그들 간의 구조적 관계(예를 들면 연관)를 중심으로 표현한다.
4. UML 다이어그램에 대한 설명으로 옳지 않은 것은?
1) 유스케이스 다이어그램 - 시스템의 기능을 모델링
3) 클래스 다이어그램 - 시스템의 정적 구조를 나타냄
4) 액티비티 - 시스템의 동적 특징을 나타냄
-> 2) 상태 다이어그램 - 클래스 사이의 메시지 교환을 시간 흐름에 따라 표현
5. 다음 클래스 다이어그램을 보고 순차 다이어그램을 작성하시오.
이 프로그램은 고객과 서버(시스템)간의 무인예약시스템이다. 고객(Customer)은 전화(phone,
기지국))를 통해 서버(Server)에게 전화를 걸고(call), 서버는 전화를 받아(receive) 대답을 하
면, 전화는 고객에게 대답을 전달한다(deliver). 고객이 예약(reserve)을 하면, 전화로 서버에
게 전달하게 되고, 서버는 고객의 예약내용을 기록한다(memo). 고객은 이름과 주소, 번호를
서버에게 설명(explain)하고, 서버는 고객의 예약을 완료(acquire)하게 된다. 그리고 전화예약
(call_reserve)을 저장한다.
6. 다음 클래스 다이어그램을 보고 순차 다이어그램을 작성하시오.
고객(Customer)은 자신이 원하는 상품을 검색(searchGift)하면 상품(Gift)은 재고(Warehouse)
에 전달(deliver)하여 검색한다. 검색된 상품 결과는 전달되어(deliver) 상품에 반환(return) 되
어 지게 되고, 상품은 이를 고객에게 결과를 보여준다(showGift). 상품이 만족하면 상품을 구
입(inputGift)하게 되고, 구입된 상품은 재고에 등록(registerGift)하여 고객에게 운송된다.
7. 다음 주문 관리 시스템 문제 기술서를 보고 순차 다이어그램을 작성하시오.
• 주문 관리 시스템에서는 고객 확인을 통해 시스템에 접속할 수 있다.
• 고객 확인은 회원 가입을 할 때 입력한 비밀번호와 아이디를 입력해 이루어진다.
• 접수 관리 직원은 확보된 상품을 등록한다.
• 상품 확보는 재고 관리 직원이 한다.
• 고객은 등록된 상품을 선택하고 장바구니에 등록한다.
• 장바구니에 등록된 상품을 카드나 계좌 이체를 통해 결제하면, 운송 직원이 상품을 고객에게 배달한다.
4. 도서 관리 시스템 시나리오가 다음과 같을 때 클래스 다이어그램, 순차 다이어그램, 통신 다이어그램을 작성하시오.
➊ 도서 관리 시스템은 등록된 사람들에게 책과 잡지를 빌려준다.
➋ 사서는 새로운 책이 있으면 구입하고 오래된 책과 잡지는 조건을 적용하여 폐기한다.
➌ 구입하거나 폐기한 책은 도서 목록에 추가하거나 도서 목록에서 삭제한다.
➍ 고객은 원하는 책이 도서관에 없을 때 예약할 수 있고, 도서관으로 책이 반납되거나
새로 구매한 경우에 연락을 받아 이용할 수 있다.
➎ 고객이 책을 빌려갔거나 직접 취소를 원할 때는 예약을 취소한다.
위의 명세를 바탕으로 클래스 다이어그램을 만들면 다음과 같은 결과를 유추해 낼 수 있다.
여기에 클래스 다이어그램을 바탕으로 순차적인 시퀀스 다이어그램을 유추해 낼 수 있다.
[7장]
1. 활동 다이어그램에 관한 설명으로 잘못된 것은?
2) 오퍼레이션의 알고리즘을 표현하기 위해 사용할 수 있다.
3) 업무 흐름을 표현하기 위해 사용된다.
4) 4+1 뷰에서 프로세스 뷰에 속한다.
-> 1) 시스템의 정적인 구조를 표현하는 다이어그램이다.
2. 활동 다이어그램에 관한 설명으로 잘못된 것은?
1) 처리 로직이나 조건에 따른 처리 흐름을 순서에 따라 정의한 모델이다.
2) 플로 차트와 유사한 특성이 있어 화면의 흐름을 표현해 준다.
3) 순차나 통신 다이어그램에서 나타내기 어려운 상황을 표현할 수 있다.
-> 4) 요소들을 그룹으로 조직하기 위한 메커니즘이다.
3. UML 모델링을 위해 사용되는 특정 다이어그램의 활용에 대한 설명이다. 해당 다이어그램으로 가장 적절한것은?
• 유스케이스에서 흐름을 모델링하기 위해 사용된다.
• 객체의 연산에 대한 플로 차트로 활용될 수 있다.
• 비즈니스 프로세스나 작업 흐름을 모델링할 수 있다. 1 순차 다이어그램 2 활동 다이어그램
-> 2) 활동 다이어그램
4. UML 다이어그램의 일부다. 그림에 대한 설명으로 가장 거리가 먼 것은?
1) 주문을 받아야 액티비티가 시작된다.
2) 주문 처리 중 인터럽트가 발생할 수 있다.
3) 인터럽트가 발생하면 주문 취소가 실행된다.
-> 4) 배송 중에도 인터럽트가 발생할 수 있다.
6. 다음 도서 대출 관리 시스템의 명세서를 보고 활동 다이어그램을 작성하시오.
• 도서 대출 관리 시스템에 등록된 사람들에게 책을 빌려준다.
• 사서는 새로운 책이 들어오면 도서 목록에 추가하고, 이용자는 원하는 책을 검색한다.
• 검색한 도서는 도서 목록에서 확인할 수 있다. 도서 목록에 있는 책이 예약되어 있다면 책을 반납받는다.
이용자는 원하는 책이 예약된 책이 아니라면 예약한다.
위의 명세서에서 도서목록을 추가한다, 대출할 책을 검색한다, 도서목록에서 확인한다,
7. 다음 식당 관리 시스템의 명세서를 보고 활동 다이어그램을 작성하시오.
• 식당을 찾은 고객은 지배인Master이 안내하는 테이블table에 앉고sit, 지배인이 부른 웨이터Server를 통해 음식을 주문order하거나 웨이터를 통해 음식을 추천받는다.
• 주문 시 메인 요리mainFood를 주문하며, 필요에 따라서 특별 요리speicalFood를 추천받을 수 있다.
• 음식을 주문하면 에피타이저Appetizer가 먼저 나오고, 고객은 이를 먹는다eating. 에피타이저를 먹는 동안 메인 요리가 나온다.
• 에피타이저와 메인 요리를 먹은 후 디저트dessert을 선택choice할 수 있으며, 현금cash이나 신용카드credit card로 계산calculate을 한다.
• 이 밖에 고객은 코트coat나 모자hat를 입었을 시, 지배인을 통해 보관할 수 있으며, 웨이터에게 별도의 팁tip을 줄 수도 있다.
'학교' 카테고리의 다른 글
IoT 중간고사 예상 문제 (0) | 2024.04.22 |
---|---|
학교) 시스템분석설계 UML 교재 정리 (0) | 2023.12.20 |