1과목 : 소프트웨어 설계
1. 요구사항 분석 시에 필요한 기술로 가장 거리가 먼 것은?
1. 청취와 인터뷰 질문 기술
2. 분석과 중재기술
3. 설계 및 코딩 기술
4. 관찰 및 모델 작성 기술
2. 다음 내용이 설명하는 디자인 패턴은?
- 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브클래스가 결정하도록 하는 것 - Virtual-Contructor 패턴이라고도 함 |
1. Visitor 패턴
2. Observer 패턴
3. Factory Method 패턴
4. Bridge 패턴
1. Visitor 패턴 - 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성하는 패턴 - 분리된 처리 기능은 각 클래스를 방문하여 수행 2. Observer 패턴 - 한 객체의 상태가 변화하면 객체의 상속되어 있는 다른 객체들에게 변화된 상태를 전달하는 패턴 - 주로 분산된 시스템 간에 이벤트를 생성·발행하고, 이를 수신해야 할 때 이용 4. Bridge 패턴 - 구현부에서 추상층을 분리하여, 서로가 독립적으로 확장할 수 있도록 구성한 패턴 - 기능과 구현을 두 개의 별도 클래스로 구현 |
3. 럼바우의 객체 지향 분석과 거리가 먼 것은?
1. 기능 모델링
2. 동적 모델링
3. 객체 모델링
4. 정적 모델링
럼바우의 객체지향 분석 기법 - 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 객체지향 분석 기법 - 순서는 객체, 동적, 기능 순으로 이루어짐 |
4. 애자일 기법에 대한 설명으로 맞지 않는 것은?
1. 절차와 도구보다 개인과 소통을 중요하게 생각한다.
2. 계획에 중점을 두어 변경 대응이 난해하다.
3. 소프트웨어가 잘 실행되는데 가치를 둔다.
4. 고객과의 피드백을 중요하게 생각한다.
애자일 개발 4가지 핵심 가치 - 프로세스와 도구보다는 개인과 상호작용에 더 가치를 둔다. - 방대한 문서보다는 실행되는 SW에 더 가치를 둔다. - 계약 협상보다는 고객과 협업에 더 가치를 둔다. - 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둔다. |
5. 미들웨어 솔루션의 유형에 포함되지 않는 것은?
1. WAS
2. Web Server
3. RPC
4. ORB
6. UML에서 시퀀스 다이어그램의 구성 항목에 해당하지 않는 것은?
1. 생명선
2. 실행
3. 확장
4. 메시지
생명선 = 수명선 참고 링크 : https://docs.microsoft.com/ko-kr/visualstudio/modeling/properties-of-elements-on-uml-sequence-diagrams?view=vs-2015 |
7. 객체지향에서 정보 은닉과 가장 밀접한 관계가 있는 것은?
1. Encapsulation
2. Class
3. Method
4. Instance
8. 디자인 패턴 중에서 행위적 패턴에 속하지 않는 것은?
1. 커맨드(Command) 패턴
2. 옵저버(Observer) 패턴
3. 프로토타입(Prototype) 패턴
4. 상태(State) 패턴
디자인 패턴 - 소프트웨어 디자인에서 특정 맥락에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책 생성 패턴 - 추상 팩토리(Abstract Factory) - 빌더(Builder) - 팩토리 메소드(Factory Method) - 프로토타입(Prototype) - 싱글톤(Singleton) 구조 패턴 - 어댑터(Adapter) - 브리지(Bridge) - 컴포지트(Composite) - 데코레이터(Decorator) - 퍼싸드(Facade) - 플라이웨이트(Flyweight) - 프록시(Proxy) 행위 패턴 - 책임 연쇄(Chain of Responsibility) - 커맨드(commnad) - 인터프리터(Interpreter) - 반복자(lterator) - 중재자(Mediator) - 메멘토(Memento) - 옵서버(Observer) - 상태(state) - 전략(Strategy) - 템플릿 메소드(Template Method) - 방문자(Visitor) |
9. UI 설계 원칙 중 누구나 쉽게 이해하고 사용할 수 있어야 한다는 원칙은?
1. 희소성
2. 유연성
3. 직관성
4. 멀티운용성
10. 코드의 기본 기능으로 거리가 먼 것은?
1. 복잡성
2. 표준화
3. 분류
4. 식별
- 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 함. - 유효성 : 목적이 정확하고 달성될 수 있어야 함. - 학습성 : 초보자나 숙련자나 모두 쉽게 배우고 이해할 수 있어야 함. - 유연성 : 사용자의 요구사항을 최대한 수용하고 오류를 최소화 해야 함. |
11. 다음 ( )안에 들어갈 내용으로 옳은 것은?
컴포넌트 설계 시 "( )에 의한 설계"를 따를 경우, 해당 명세에서는 (1)컴포넌트의 오퍼레이션 사용 전에 참이 되어야 할 선행조건 (2)사용 후 만족되어야 할 결과조건 (3)오퍼레이션이 실행되는 동안 항상 만족되어야 할 불변조건 등이 포함되어야 한다. |
1. 협약(Contract)
2. 프로토콜(Protocol)
3. 패턴(Pattern)
4. 관계(Relation)
클래스에 대한 여러 가정을 공유하도록 명세한 것을 '협약'에 의한 설계(Design by Contrack)라 함 - 소프트웨어 컴포넌트에 대한 정확한 인터페이스 명세를 위하여 선행조건, 결과조건, 불변조건을 나타내는 설계 방법 협약에 의한 설계의 세 가지 타입 - 선행조건(precondition) : 오퍼레이션이 호출되기 전에 참이 되어야 할 조건 - 결과조건(postcondition) : 오퍼레이션이 수행된 후 만족되어야 하는 조건 - 불변조건(invariant) : 클래스 내부가 실행되는 동안 항상 만족하여야 하는 조건 |
12. UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램에 해당하지 않는 것은?
1. 유스케이스 다이어그램(Use Case Diagram)
2. 시퀀스 다이어그램(Sequence Diagram)
3. 활동 다이어그램(Activity Diagram)
4. 배치 다이어그램(Deployment Diagram)
구조적(Structural) 다이어그램 - 클래스 다이어그램(Class Diagram) - 개체 다이어그램(Object Diagram) - 컴포넌트 다이어그램(Componert Diagram) - 배치 다이어그램(Deployment Diagram) - 복합체 구조 다이어그램(Composite Structure Diagram) - 패키지 다이어그램(Package Diagram) 행위(Behavioral) 다이어그램 - 유스케이스 다이어그램(Use Case Diagram) - 시퀀스 다이어그램(Sequence Diagram) - 커뮤니케이션 다이어그램(Communication Diagram) - 상태 다이어그램(State Diagram) - 활동 다이어그램(Activity Diagram) - 상호작용 개요 다이어그램(Interaction Overview Diagram) - 타이밍 다이어그램(Timing Diagram) |
13. 객체 지향 소프트웨어 공학에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것은?
1. 트랜잭션
2. 클래스
3. 시퀀스
4. 서브루틴
14. 아래의 UML 모델에서 '차' 클래스와 각 클래스의 관계로 옳은 것은?
1. 추상화 관계
2. 의존 관계
3. 일반화 관계
4. 그룹 관계
15. 객체지향 소프트웨어 설계시 디자인 패턴을 구성하는 요소로서 가장 거리가 먼 것은?
1. 개발자이름
2. 문제 및 배경
3. 사례
4. 샘플코드
16. 자료 사전에서 자료의 반복을 의미하는 것은?
1. =
2. ( )
3. { }
4. [ ]
- 정의 : = - 구성, 연결 : + - 반복 : { } - 주석 : ** - 선택 : [ | ] - 생략 : ( ) |
17. 객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위 클래스)으로 교체할 수 있어야 함을 의미하는 원칙은?
1. ISP(Interface Segregation Principle)
2. DIP(Dependency Inversion Principle)
3. LSP(Liskov Substitution Principle)
4. SRP(Single Responsibility Principle)
ISP(Interface Segregation Principle) - 특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 나음 DIP(Dependency Inversion Principle) - 프로그래머는 '추상화에 의존해야지, 구체화에 의존하면 안된다.' 의존성 주입은 이 원칙을 따르는 방법 중 하나 LSP(Liskov Substitution Principle) - 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 함 SRP(Single Responsibility Principle) - 한 클래스는 하나의 책임만 가져야 함 OCP(Open/Closed Principle) - 확장에 대해서는 열려 있어야 하지만 변경에 대해서는 닫혀 있어야 함 |
18. 자료흐름도(Data Flow Diagram)의 구성요소로 옳은 것은?
1. process, data flow, data store, comment
2. process, data flow, data store, terminator
3. data flow, data store, terminator, data dictionary
4. process, data store, terminator, mini-spec
19. CASE(Computer-Aided Software Engineering)도구에 대한 설명으로 거리가 먼 것은?
1. 소프트웨어 개발 과정의 일부 또는 자동화하기 위한 도구이다.
2. 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.
3. 작업 과정 및 데이터 공유를 통해 작업자간의 커뮤니케이션을 증대한다.
4. 2000년대 이후 소개되었으며, 객체지향 시스템에 한해 효과적으로 활용된다.
CASE(Computer Aided Software Engineering) : 소프트웨어 공학의 여러 작업들을 자동화하는 도구 - 소프트웨어 부품의 재사용성을 향상 - 소프트웨어 품질과 일관성을 효율적으로 관리 - 소프트웨어 생명 주기의 모든 단계를 연결시켜 주고 자동화 - 소프트웨어의 유지보수를 용이하게 수행 - 소프트웨어 공학의 여러 작업들을 자동화하는 도구 - 소프트웨어 시스템의 문서화 및 명세화를 위한 그래픽 기능을 제공 - 자료흐름, 비즈니스 프로세스 등의 다이어그램을 쉽게 작성하게 해주는 소프트웨어도 CASE 도구 |
20. 인터페이스 요구 사항 검토 방법에 대한 설명이 옳은 것은?
1. 리팩토링 : 작성자 이외의 전문 검토 그룹이 요구 사항 명세서를 상세히 조사하여 결함, 표준 위배, 문제점 등을 파악
2. 동료검토 : 요구 사항 명세서 작성자가 요구사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견
3. 인스펙션 : 자동화된 요구 사항 관리 도구를 이용하여 요구 사항 추적성과 일관성을 검토
4. CASE 도구 : 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 검토 회의를 진행하면서 결함을 발견
- 동료검토(Peer Review) : 요구사항 명세서 작성자가 명세서 내용을 직접 설명하고 동료들이 이를 들으면서 결함을 발견하는 형태의 검토 방법 - 워크스루(Walk Through) : 검토 회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견하는 형태의 검토 방법 - 인스펙션(Inspection) : 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견하는 형태의 검토 방법 |
'1. 자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 20년08월22일 시험문제 리뷰를 통한 시험준비[3과목] (2) | 2020.08.26 |
---|---|
[정보처리기사 필기] 20년08월22일 시험문제 리뷰를 통한 시험준비[2과목] (0) | 2020.08.24 |
정보처리기사 필기 3회 A형 가답안(20년08월22일) (0) | 2020.08.22 |
정보처리기사 필기 4회 시행 확정 (0) | 2020.08.18 |
[정보처리기사 필기] 5과목 정보시스템 구축 관리 - 4 (0) | 2020.08.16 |