# 4. 자격증/정보처리기사

정보처리기사 # 2020.08_1과목 소프트웨어 설계

둥굴둥굴둥굴레차 2021. 8. 8. 22:29

 

 

다음 내용이 설명하는 디자인 패턴은?

 - 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브 클래스가 결정하도록 하는 것.

 - Virtual-Constructor 패턴이라고도 함

  1. Visitor패턴
  2. Observer패턴
  3. Factory Method 패턴
  4. Bridge 패턴
1. Visitor(방문자) 패턴 <행위 패턴>
  - 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성함.
    분리된 처리 기능은 각 클래스를 방문하여 수행

2. Observer 패턴 <행위 패턴>
  - 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달.
    분산된 시스템 간에 이벤트 생성, 발행(Publish), 이를 수신(Subscribe)해야할 때 이용함

3. Factory Method 패턴 (=Virtual-Constructor 패턴)
 - 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브 클래스가 결정하도록 하는 것.

4. Bridge 패턴 <구조 패턴>
   - 구현부에서 추상층을 분리, 서로가 독립적으로 확장함
     기능과 구현을 두 개의 별도 클래스로 구현함

 

 

 

미들웨어 솔루션의 유형에 포함되지 않는 것은?
     
     1. WAS
     2. Web Server
     3. RPC
     4. ORB

1. WAS(웹 애플리케이션 서버)
  - 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리함
  - 웹 환경을 구현하기 위한 미들웨어

2. Web Server
   - 클라이언트로부터 직접 요청을 받아 처리, 저용량의 정적 파일들을 제공하는 소프트웨어

3. RPC(Remot Procedure Call)
   - 응용 프로그램이 프로시저를 사용하여 원격 프로시저를 마치 로컬 프로시저처럼 호출하는 미들웨어

4. ORB(Object Request Broker)
   - 객체 지향 미들웨어로 코바(CORBA) 표준 스펙을 구현함
   - 최근에는 TP-Monitor의 장점인 트랜잭션 처리와 모니터링 등을 추가로 구현한 제품도 있음

 

UML에서 시퀀스 다이어그램의 구성 항목에 해당하지 않는 것은?
     
     1. 생명선
     2. 실행
     3. 확장
     4. 메시지

[시퀀스 다이어그램 구성 항목]
액터, 활성 객체(object), 라이프라인(생명선), 메세지, 제어 삼각형

 

 

디자인 패턴 중에서 행위적 패턴에 속하지 않는 것은?
     
     1. 커맨드 (Command) 패턴
     2. 옵저버 (Observer) 패턴
     3. 프로토타입 (Prototype) 패턴
     4. 상태 (State) 패턴

프로토타입(Prototype) 패턴은 생성 패턴

 

 

UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램에 해당하지 않는 것은?
     
     1. 유스케이스 다이어그램(Use Case Diagram)
     2. 시퀀스 다이어그램(Sequence Diagram)
     3. 활동 다이어그램(Activity Diagram)
     4. 배치 다이어그램(Deployment Diagram)

< 행위(Behavioral) 다이어그램 >
1. 유스케이스(UseCase) 다이어그램
2. 시퀀스(Sequence) 다이어그램
3. 커뮤니케이션(Communication) 다이어그램
4. 상태(State) 다이어그램
5. 활동(Activity) 다이어그램
6. 상호작용 개요(Interaction Overview) 다이어그램
7. 타이밍(Timing) 다이어그램

4. 배치(Deployment) 다이어그램은 구조적(Structural) 다이어그램이다.

 

 

다음 ( ) 안에 들어갈 내용으로 옳은 것은?

 

컴포넌트 설계 시 ( )에 의한 설계를 따를 경우 해당 명세서에서는

(1) 컴포넌트의 오퍼레이션 사용 전에 참이 되어야 할 선행조건

(2) 사용 후 만족되어야할 결과조건

(3) 오퍼레이션이 실행되는 동안 항상 만족되어야할 불변조건 등이 포함되어야 한다.

 

  1. 협약(Contract)
  2. 프로토콜(Protocol)
  3. 패턴(Pattern)
  4. 관계(Relation)
[협약에 의한 설계(Design by Contract)]
 - 클래스에 대한 여러 가정을 공유하도록 명세한 것
- 정확한 명세를 위하여 선행조건, 결과조건, 불변조건을 나타내는 설계 방법.

[협약에 의한 설계의 세 가지 타입]
- 선행조건(precondition) : 오퍼레이션이 호출되기 전에 참이 되어야 할 조건
- 결과조건(postcondition) : 오퍼레이션이 수행된 후 만족하여야 하는 조건
- 불변조건(invariant) : 클래스 내부가 실행되는 동안 항상 만족하여야 하는 조건
  (예: 리스트에 있는 노드가 항상 오름차순으로 되어야 함)