기타/정보처리기사실기

[정보처리기사 실기 / 공부] 2022 정보처리기사 필기 정리하기 (1 영역)

rinix_x 2022. 5. 1. 20:35
반응형

실기의 문제 중 몇 개는 필기에서 나온다는 소리를 많이 듣기도 했고, 필기 내용을 숙지해야 실기도 어느 정도 가능하기 때문에 정리해보려 합니다. 필기 시험지 자료는 아래 링크를 걸어두겠습니다.

2영역

2022.05.05 - [기타/정보처리기사실기] - [정보처리기사 실기 / 공부] 2022 정보처리기사 필기 정리하기 (2영역)

3영역

2022.05.05 - [기타/정보처리기사실기] - [정보처리기사 실기 / 공부] 2022 정보처리기사 필기 정리하기 (3 영역)

4영역

2022.05.05 - [기타/정보처리기사실기] - [정보처리기사 실기 / 공부] 2022 정보처리기사 필기 정리하기 (4 영역)

5영역

2022.05.05 - [기타/정보처리기사실기] - [정보처리기사 실기 / 공부] 2022 정보처리기사 필기 정리하기 (5영역)


2022 정보처리기사 필기 1차 정리하기 (1 영역)
반응형


1. User Interface 설계 시 오류 메시지나 경고에 관한 지침.
1) 직관성(Intuitiveness) : 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함.
2) 유효성(Effectiveness) : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작해야 함.
3) 학습성(Learnablilty) : 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작해야 함.
4) 유연성(Flexibility) : 사용자의 인터랙션을 최대한 포용하고, 실수를 방지할 수 있도록 제작해야 함.

2. 애자일(Agile) 소프트웨어 개발 특징
1) 프로젝트 요구사항은 '기능' 중심
2) 공정과 도구보다 '개인'과 소통을 중요시
3) '변화'에 유연하고 신속한 대처
4) '고객'과의 피드백을 중요시

3. 소프트웨어 설계에서 요구사항 개발 프로세스
도출 - 분석 - 명세 - 확인


4. 객체지향 기법에서 상위 클래스의 메서드와 속성을 하위 클래스가 물려받는 것을 의미하는 것은?
상속 성 ; Inheritance
그 외의 객체지향의 주요 개념


5. 설계 기법 중 하향식 설계 방법과 상향식 설계 방법에 대한 비교 설명
1 하향식 설계에서는 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하다.
2 하향식 설계에서 레벨이 낮은 데이터 구조의 세부사항은 설계 초기 단계에서 필요하다.
3 상향식 설계는 최하위 수준에서 각각의 모듈들을 설계하고 이러한 모듈이 완성되면 이들을 결합하여 검사한다.
- 하향식 통합 테스트(Top Down Integration Test)
  a. 깊이 우선 통합법, 넓이 우선 통합법 사용
  b. 테스트 초기부터 사용자에게 시스템 구조 보여줄 수 있다.
  c. 상위 모듈에서는 tc를 사용하기 어렵다.
  d. 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법
  e. 절차
   + 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은 스텁 (stub )로 대체한다.
   + 깊이 우선 or 넓이 우선 등의 통합방식에 따라, 하위 모듈인 스텁들이 한 번에 하나씩 실제 모듈로 교체된다.
   + 모듈이 통합될 때마다 테스트 실시
   + 새로운 오류가 발생하지 않음을 보증하기 위해 회귀 테스트 실시
- 상향식 통합 테스트 ( Bottom Up Integration Test )
  a. 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트하는 방법
  b. 가장 하위 단계의 모듈부터 통합 및 테스트가 수행되므로 스텁은 필요하지 않다.
  c. 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터 ( cluster )는 필요하다.
  d. 절차
   + 하위 모듈을 클러스터로 결합
   + 상위 모듈에서 데이터의 입출력을 확인하기 위 해, 모듈인 드라이버 작성
   + 통합된 클러스터 단위로 테스터
   + 테스트가 완료되면 클러스터는 프로그램 구조의 상위로 이동하여 결합하고, 드라이버는 실제 모듈로 대체

6. 자료 흐름도(DFD)의 요소별 표기 형태
- Process(처리) : 원
- Data Flow(자료 흐름) : 화살표
- Data Store(자료 저장소) : 평행선
- Terminator(단말) : 사각형 7. 소프트웨어 개발에 이용되는 모델(Model)에 대한 설명
1 모델은 개발 대상을 추상화하고 기호나 그림 등으로 시각적으로 표현한다.
2 모델을 통해 소프트웨어에 대한 이해도를 향상시킬 수 있다.
3 모델을 통해 이해 당사자 간의 의사소통이 향상된다.
- 소프트웨어 개발 시 모델은 향후 개발될 시스템을 유추하기 위해서 하는 활동이며, 주로 시스템 개발자가 실행합니다.

8. 다음의 설명에 해당하는 언어는?
객체지향 시스템을 개발할 때 산출물을 명세화, 시각화, 문서화하는 데 사용된다. 즉, 개발하는 시스템을 이해하기 쉬운 형태로 표현하여 분석 가, 의뢰인, 설계자가 효율적인 의사소통을 할 수 있게 해 준다. 따라서, 개발 방법론이나 개발 프로세스가 아니 라 표준화된 모델링 언어이다.
UML ; Unified Modeling Language

9. 다음 내용이 설명하는 UI 설계 도구는?
- 디자인, 사용방법 설명, 평가 등을 위해 실제 화면과 유사하게 만든 정적인 형태의 모형
- 시각적으로만 구성요소를 배치하는 것으로 일반적으로 실제로 구현되지는 않음
목업(Mockup)

---
스토리보드 : 디자이너와 개발자가 최종적으로 참고하는 작업 지침서
상단이나 우측에 제목, 작성자 등을 입력하고 좌측에는 UI화면, 우측엔 디스크립션을 기입한다.
프로토타입 : 와이어프레임이나 스토리보드 등에 인터랙션을 적용함으로써 실제 구현된 것처럼 테스트가 가능한 동적인 형 태의 모형
유스 케이스 : 사용자 측면에서의 요구사항으로, 사용자가 원하 는 목표를 달성하기 위해 수행할 내용을 기술한다.

10. 애자일(Agile) 기법 중 스크럼(Scrum)과 관련된 용어에 대한 설명
1 스크럼 마스터(Scrum Master)는 스크럼 프로 세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할 등을 맡는다.
2 제품 백로그(Product Backlog)는 스크럼 팀이 해결해야 하는 목록으로 소프트웨어 요구사항, 아키텍처 정의 등이 포함될 수 있다.
3 속도(Velocity)는 한 번의 스프린트에서 한 팀 이 어느 정도의 제품 백로그를 감당할 수 있는지에 대한 추정치로 볼 수 있다.
--
스프린트는
- 실제 개발을 2~4주간 진행하는 과정
- 스프린트 백로그에 작성된 Task를 대상으로 작업 시간을 측정한 후 담당 개발자에게 할당합니다.
- Task는 할 일, 진행 중, 완료의 상태로 구성된다.

11. UML 다이어그램 중 정적 다이어그램
1 컴포넌트 다이어그램
2 배치 다이어그램
4 패키지 다이어그램

정적(구조적) 다이어그램 : 클객컴배복패
--
UML 다이어그램의 분류
정적 구조: [ 클래스, 객체, 패키지, 컴포넌트, 복합구조, 배치]
동적 구조: [ 유스 케이스, 상태, 활동, 시퀀스, 통신, 상호작용, 타이밍]
1) 클래스 다이어그램: 객체를 생성하기 위한 도구
2) 객체 다이어그램: 객체 간의 연결관계를 표현
3) 패키지 다이어그램: 객체들의 그룹화된 표현
4) 컴포넌트 다이어그램: 시스템을 구성하는 컴포넌트 사이에 의존관계를 표현
* 컴포넌트는 1개 이상의 클래스로 구현됨.
5) 복합구조 다이어그램: 컴포넌트나 클래스의 내부 구조를 보여주기 위해 사용 à 내부 연결 형태를 표현
6) 배치 다이어그램: H/W자원에 연결된 S/W 컴포넌트 배치를 표현

7) 유스 케이스 다이어그램: 사용자의 시각에서 소프트웨어의 범위와 기능을 표현
8) 상태 다이어그램: 시간에 따라 객체가 변하는 상태를 표현
9) 활동 다이어그램: 객체의 동적 행위를 활동으로 표현
10) 시퀀스 다이어그램: 객체 간 상호작용을 시간 순서에 따른 메시지로 표현
11) 통신 다이어그램: 객체 간 상호작용을 관계 형태의 메시지로 표현
12) 상호작용 다이어그램: 객체들의 상호작용 관계를 표현
13) 타이밍 다이어그램: 객체 간 상태변화를 구체적인 시간으로 표현


12. LOC 기법에 의하여 예측된 총 라인 수가 36000라인, 개발에 참여할 프로그래머가 6명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간을 계산한 결과로 가장 옳은 것은?
4 20개월

13. 클래스 설계 원칙
- 단일 책임원칙 : 하나의 객체는 하나의 동작만의 책임을 가짐
- 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.
- 리스 코프 교체의 원칙 : 특정 메소드가 상위 타입을 인자로 사용할 때, 그 타입의 하위 타입도 문제없이 작동해야 함
- 의존관계 역전의 원칙 : 상위 계층이 하위 계층에 의존하는 전통적인 의존관계를 반전(역전)시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게 할 수 있음

14. GoF(Gangs of Four) 디자인 패턴
생성 :
- 추상 팩토리(Abstract Factory)
- 빌더(Builder)
- 팩토리 메서드(FactoryMethod)
- 프로토타입(Prototype)
- 싱글톤(Sington)
구조 :
- 어댑터(Adapter)
- 브리지(Bridge)
- 컴포지트(Composite)
- 데코레이터(Decorator)
- 파사드(Facade)
- 플라이 웨이트(Flyweight)
- 프록시(Proxy)
행위 :
- 책임 연쇄(Chain of Responsibility)
- 커맨드(Command)
- 인터프리터(InterPreter)
- 이터레이터(Iterator)
- 중재자(Mediator)
- 메멘토(Memento)
- 옵서버(Observer)
- 상태(State)
- 전략(Strategy)
- 템플릿 메서드(Template Method)
- 방문자(Visitor)

15. 아키텍처 설계과정
설계 목표 설정 -시스템 타입 결정 - 아키텍처 패턴 적용 -서브시스템 구체화 - 검토

16. 사용자 인터페이스 설계
- 효율성을 높이게 설계해야 한다.
- 발생하는 오류를 쉽게 수정할 수 있어야 한다.
- 사용자에게 피드백을 제공해야 한다.
= 사용자 친화적이게 설계되어야 하기에 사용성이 최우선으로 고려되어야 함

17. 소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법.
- 디자인 패턴

18. 객체지향 분석 기법
- Rumbaugh(럼바우) 방법
   + 모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델 링하는 기법으로, 객체 모델링 기법(Object Modeling Technique)라고도 한다.
  + 분석 활동은 객체 모델링 -> 동적 모 델링 -> 기능 모델링 순으로 통해 이루어진다.

그 외 분석 기법
- Booch(부치) 방법
   + 미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석 방법으로, 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의한다.
- Jacobson 방법
   + Use Case를 강조하여 사용하는 분석 방법이다.
- Coad와 Yourdon 방법
   + E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연 산과 메시지 연결 정의 등의 과정으로 구성하는 기법
- Wirfs-Brock 방법
   + 분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법

19. 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어를 말하는 것은?
- EAI(Enterprise Application Integration) : 기업 응용 프로그램 통합으로 기업용 응용 프로그램의 구조적 통합 방안을 가리킴

---
- FEP(Front-End Processor) : 입력되는 데이터를 컴퓨터의 프 로세서가 처리하기 전에 미리 처리하여 프로세서가 차지하는 시간을 줄여주는 프로그램이나 하드웨어
- GPL(General Public License) : 자유 소프트웨어 재단(OSF)에 서 만든 자유 소프트웨어 라이선스
- Duplexing : 이중화(데이터베이스의 회복 기법 중 가장 간단한 것)

20. 객체 지향 개념 중 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미하는 것은?
Class(클래스) : 특정 객체 내에 있는 변수와 메서드를 정의하는 일종의 틀, 객체 지향 프로그래밍에서 데이터를 추상화하는 단위
--
- Method(메서드) : 클래스로부터 생성된 객체를 사용하는 방법, 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산
- Message(메시지) : 객체 간 상호 작용을 하기 위한 수단, 객체에게 어떤 행위를 하도록 지시하는 방법
- Field(필드) : SQL에서 열 또는 속성이라고 불리는 것







CBT에서 참고. 여기서 직접 풀어볼 수도 있고, 해설지도 있으니 직접 풀어보시고 채점 매겨보세요.
https://www.comcbt.com/xe/iz/5691901

반응형