2020년 03회 기출 리뷰 (2020.08.22)
1과목 (소프트웨어 설계)
1. 요구사항 분석 시 필요 기술
요구사항 개발 프로세스 : 도출 -> 분석 -> 명세 -> 확인
요구사항 도출 단계의 주요기법은 인터뷰, 설문, 브레인 스토밍 등이 있어 청취와 인터뷰 질문 기술이 필요함.
- 개념모델링이 있으므로, 관찰 및 모델 작성 기술 필요
요구사항 분석 기법 : 요구사항 분류, 개념 모델링, 요구사항 할당, 요구사항 협상, 정형 분석
설계 및 코딩 기술은 요구사항 분석 후에 필요한 기술이다.
2. 다음 내용이 설명하는 디자인 패턴은?
객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가
인스턴스화 될 것 인지는 서브클래스가 결정하도록 하는것
Virtuai-Constructor 패턴이라고도 함
- Factory Method 패턴
3. 럼바우 객체지향 분석
- 객체 모델, 동적 모델, 기능 모델로 나누어 수행
- 객체 모델링 기법(OMT)이라고도 함
객체 모델링(Object Modeling) = 정보 모델링
시스템에서 요구되는 객체를 찾아내 속성과 연산 식별 및 객체들 간의 관계를 규정하여
객체 다이어그램으로 표시함
분석 활동의 세가지 모델 중 가장 중요
동적 모델링(Dynamic Modeling) = 상태 다이어그램(상태도)를 이용하여 시간의 흐름에 따른
객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위 표현
기능 모델링(Function Modeling)
자료흐름도(DFD)를 이용하여 다수의 프로세스들 간의 자료 흐름 중심으로 처리 과정을 표현함
5. 미들웨어 솔루션 유형
- WAS(Web Application Server) : 웹 환경 구현 미들웨어
- RPC(Remote Procedure Call) : 프로시저 사용하여 원격 프로시저를 로컬 프로시저처럼 호출하는 미들웨어
- ORB(Object Request Broker) : 객체지향 미들웨어로 코바(CORBA)표준 스펙 구현
6. UML 시퀀스 다이어그램 구성항목
액터, 활성 객체(object), 라이프라인(생명선), 메세지, 제어 삼각형
7. 객체지향에서 정보 은닉과 가장 밀접한 관계
- Encapsulation (캡슐화) : 정보은닉은 캡슐화에서 가장 중요한 개념, 다른 객체에게 자신의 정보를 숨기고 자신의 연산만 사용
8. 디자인 패턴 중에서 행위적 패턴(Behavioral Pattern)
1. 책임 연쇄(Chain of Responsibility)
2. 커맨드(Command)
3. 인터프리터(Interpreter)
4. 반복자(Iterator)
5. 중재자(Mediator)
6. 메멘토(Memento)
7. 옵서버(Observer) : 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달.
분산된 시스템 간에 이벤트 생성, 발행(Publish), 이를 수신(Subscribe)해야 할 때 이용함
8. 상태(State)
9. 전략(Strategy)
10. 템플릿 메소드(Template Method)
11. 방문자(Visitor) : 각 클래스의 데이터 구조에서 처리기능을 분리하여 별도의 클래스로 구성
분리된 처리기능은 각 클래스를 방문하여 수행
9. UI 설계 원칙
직관성 : 누구나 쉽게 이해 및 사용
유효성 : 사용자 목적을 정확하고 완벽하게 달성
학습성 : 누구나 쉽게 배우고 익힘
유연성 : 사용자 요구사항을 최대한 수용 및 실수 최소화
10. 코드(Code)의 기본 기능
식별: 데이터 간 성격에 따라 구분
분류: 특정 기준이나 동일한 유형에 해당하는 데이터를 그룹화
배열: 의미를 부여하여 나열
표준화: 다양한 정보를 컴퓨터에 의해 처리하기 위해서는 단일한 형태의 표준화된 표현이 필요
11. 컴포넌트 설계 시 협약(Contract)에 의한 설계
(1) 오퍼레이션 사용 전 참이 되어야 할 선행조건
(2) 사용 후 만족되어야할 결과조건~
(3) 오퍼레이션 실행~
12. UML 다이어그램
행위 다이어그램(Behavioral)
- 시스템의 동작을 표현
1. 유스케이스(UseCase) 다이어그램
2. 시퀀스(Sequence) 다이어그램
3. 커뮤니케이션(Communication) 다이어그램
4. 상태(State) 다이어그램
5. 활동(Activity) 다이어그램
6. 상호작용 개요(Interaction Overview) 다이어그램
7. 타이밍(Timing) 다이어그램
13. 객체 지향 소프트웨어 공학에서 하나 이상의 유사한 객체들을 묶어 하나의 공통된 특성을 표현하는 것
- 클래스(Class)
공통된 속성과 연산을 갖는 객체의 집합, 객체의 일반적 타입
동일 클래스에 속한 객체들은 공통된 속성과 행위 보유
14. 해당 UML 모델에서 '차' 클래스와 각 클래스의 관계
일반화 관계
- 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현함
- 일반적인 개념을 상위(부모), 구체적인 개념을 하위(자식)이라고 함
- 하위 사물에서 상위 사물인 쪽으로 속이 빈 화살표를 연결함
15. 객체지향 소프트웨어 설계시 디자인 패턴을 구성하는 요소
- 문제 및 배경
- 사례, 샘플코드
16. 자료 사전 표기법
= : 자료 정의
+ : 자료의 연결
() : 자료 생략
[|] : 자료 선택
{} : 자료 반복
** : 자료 설명(주석)
17. 객체지향 설계 원칙
- 단일 책임 원칙(SRC, Single Responsibility Principle) : 객체는 단 하나의 책임만 가져야한다.
- 개방-폐쇄의 원칙(OCP, Open Closed Principle) : 기존의 코드를 변경하지 않으면서 기능추가
- 리스코프 치환 원칙(LSP, Liskov Substitution Principle) : 일반화 관계에 대한 이야기며, 자식 클래스는 최소한
자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다.
- 인터페이스 분리 원칙(ISP, Interface Segregation Principle) : 인터페이스를 클라이언트에 특화되도록 분리시키라는 설계원칙이다.
- 의존 역전 원칙(DIP, Dependency Inversion Principle) : 의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 것.
18. 자료흐름도(Data Flow Diagram)의 구성요소
- 프로세스 (Process)
- 자료 흐름(Data Flow)
- 자료 저장소(Data Store)
- 단말(Terminator)
19. CASE(Computer-Aided Software Enginerring)도구란?
- 소프트웨어 공학의 자동화를 의미, 소프트웨어 공학작업을 자동화한 소프트웨어 패키지를 CASE 도구라고 한다.
- CASE 도구들은 소프트웨어 관리자들과 실무자들이 소프트웨어 프로세스와 관련된 활동을 지원한다.
- 프로젝트 관리 활동을 자동화하고, 결과물을 관리하며, 엔지니어들의 분석, 설계 및 코딩과 테스트 작업을 도운다.
- 1980년대에 소개되었으며, 1990년대부터 자주 사용되었다.
주요기능: 다양한 소프트웨어 개발 모형 지원, 그래픽 지원, 소프트웨어 생명주기의 전 단계 연결
20. 인터페이스 요구사항 검토(검증)방법
- 동료 검토(Peer Review) : 요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해 관계자들이
설명을 들으면서 결함을 발견
- 워크 스루(Walk Through) : 검토 회의 전, 명세서를 미리 배포하여 사전검토 후에
짧은 검토 회의를 통해 결함 발견
- 인스펙션(Inspection) : 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 명세서를 확인하면서
결함을 발견
정리 날짜
210304 목 정리
'자격증 > 정보처리기사' 카테고리의 다른 글
2020년 1, 2회 정보처리기사 필기 2과목(소프트웨어 개발) 문제 정리 (0) | 2021.03.06 |
---|---|
2020년 1, 2회 정보처리기사 필기 1과목(소프트웨어 설계) 문제 정리 (0) | 2021.03.06 |
2020년 03회 정보처리기사 필기 5과목(정보시스템 구축관리) 문제 정리 (0) | 2021.03.05 |
2020년 03회 정보처리기사 필기 3과목(데이터베이스 구축) 문제 정리 (0) | 2021.03.05 |
2020년 03회 정보처리기사 필기 2과목(소프트웨어 개발) 문제 정리 (0) | 2021.03.04 |