자격증/정보처리기사

정보처리기사 기출문제(20년 6월) 정리

ByeongJun 2023. 5. 11. 15:47
반응형
 

정보처리기사 2020년 06월 06일 기출문제

로그인 및 회원가입 회원가입하세요!

hellocbt.com

정보처리기사 기출문제 풀이 중 개념 정리 및 학습 목적을 위해 필요한 정리해놓은 게시물이니

기출 문제가 필요한 분은 hellocbt 링크를 이용하시면 되겠다.

 

(문제 및 해설 이미지가 보이지 않을 경우 클릭)

 

 

 

 

 

문제 해설
메소드 : 객체의 행위
클래스 : 객체의 데이터를 추상화
상속성 : 객체의 데이터
메시지 : 객체 간의 통신
데이터 흐름도(Data Flow Diagram) 구성요소

- 프로세스(Process)
- 자료 흐름(Flow)
- 자료 저장소(Data Store)
- 단말(Terminator)이 있다.
생성패턴
객체의 생성과 관련된 패턴


구조패턴

클래스나 객체들을 조합하여 더 큰 구조로 만들 수 있게
해주는 패턴


행위패턴

클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴


1. Builder (생성패턴)
: 작게 분리된 인스턴스를 건축 하듯이 조합하여
  객체를 생성한다

2. Visitor (행위패턴)
: 각 클래스들의 데이터 구조에서 처리 기능을 분리하여
  별도의 클래스로 구성한다

3. Prototype
: 원본 객체를 복제하는 방법으로 객체를 생성한다.

4. Bridge
: 구현부에서 추상층을 분리하여, 서로가 독립적으로
  확장할 수 있도록 구성한다.


열심히 정리해놓은 글이 도움되길 바라며
https://3mmmeee.tistory.com/45
1.RPC
: remote procedure call
원격 절차 호출 또는 원격 프로시저 호출.

2.ORB
: object request broker
객체 간 메시지 전달을 지원하는 미들웨어

3.TP monitor
: 트랜잭션 처리를 감시/제어하는 미들웨어
XP(eXtreme Programming)의 5가지 가치

용기(Courage)
: 고객의 요구사항 변화에 능동적인 대처

단순성(Simplicity)
: 부가적 기능, 사용되지 않는 구조와 알고리즘 배제

커뮤니케이션(Communication)
: 개발자, 관리자, 고객 간의 원활한 의사소통

피드백(Feedback)
: 지속적인 테스트와 반복적 결함 수정, 빠른 피드백

존중(Respect)
: 모든 프로젝트 관리자는 팀원의 기여를 존중
집단화 is part of (part가 들어가면 집단화 생각)
: 클래스 간의 구조적인 집약 관계
  "클래스 A는 클래스 B와 클래스 C로 구성된다"

일반화 is a
:클래스들 간의 개념적인 포함 관계
"자식 클래스 A는 부모 클래스 B의 일종이다."


캡슐화

: 속성 (데이터)과 메소드(연산) 을 하나로 묶어서
  객체로 구성된다.

추상화
: 공통 성질을 추출하여 수퍼클래스로 구성한다.
또한 객체 중심의 안정된 모델을 구축 가능 하며 현실 세계를
자연스럽게 표현한다. 장점으로 분석의 초점이 명확해진다.
Case : 소프트웨어 개발의 자동화

1.S/W의 생명주기 전(모든)단계의 연결
2.모델들 사이의 모순검사
3.오류검증
4.자료흐름도 등 다이어그램 작성
5.다양한 소프트웨어 개발 모형지원
6.시스템 문서화 및 명세화를 위한 그래픽 지원

White Box Testing 종류
: Condition Testing, Loop Testing, Data Flow Testing

Black Box Testing 종류
: Equivalence Partitioning Testing, Boundary Value Testing,
  Cause-Effect Graphing Testing, Error Guessing,
  Comparison Testing
전위순회 (root -> left -> right)
: 루트를 먼저 방문
ex) +**/ABCDE


중위순회 (left -> root -> right)
: 왼쪽 하위트리를 방문한 뒤 루트를 방문
ex) A/B*C*D+E


후위순회 (left -> right -> root)
: 하위트리를 방문한 뒤 루트를 방문
ex) AB/C*D*E+

트리의 차수
: 전체 트리에서 가장 큰 차수   

  ex) A,C,E => 차수 2




단말 노드
: 자식이 없는 노드   

  ex) D,G,H,F
Pareto의 법칙
오류의 80%는 전체의 20% 내에서 발견된다.

Long Tail의 법칙 (파레토 법칙의 반대 이론)
사소해 보이는 80%의 다수가 20%의 소수 핵심보다도
뛰어난 가치를 창출해낸다는 이론 

Brooks의 법칙
지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다
살충제 페러독스 Pesticide Paradox
동일 테스트 케이스로 동일 테스트 반복 시 더 이상 결함이
발견되지 않은 현상
Boehm의 법칙

초기 개발 단계에서 결함을 발견하면 많은 시간과 비용을
절약할 수 있지만, 나중 단계에서 발견하면 비용이 많이 든다
(요구사항 수정이 SW 수정보다 쉽다)
① 레코드 집중의 분석 및 설계 > 물리적 설계(데이터 구조화)

데이터 베이스의 논리적 설계(데이터모델링)
- 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고
  처리할 수 있는 물리적 저장장치에 저장할 수 있도록
  변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로
  변환시키는 과정

- 개념 세계의 데이터를 필드로 기술된 데이터 타입과
  이 데이터 타입들 간의 관계로 표현되는 논리적 구조의
  데이터로 모델화

- 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른
  논리적 스키마를 설계하는 단계(종속적인 논리 스키마)

- 트랜잭션의 인터페이스 설계
- 관계형 데이터베이스라면 테이블 설계
- 특정목표 DBMS에 따른 스키마설계
- 스키마의 평가 및 정제

물리적 설계
- 논리적 구조의 데이터를 물리적 구조의 데이터로 변환
- 데이터 베이스 파일의 저장 구조 및 엑세스 경로 결정
- 데이터가 컴퓨터에 저장되는 방법을 묘사
- 저장 레코드의 양식 설계, 레코드 집중의 분석 및 설계,
  접근 경로 설계

- 기본적 데이터 단위는 저장 레코드
- 성능에 중대한 영향을 미침
애트리뷰트 값
- 코드에 대한 부가 정보를 기록하고 읽을 수 있는 기능
- 관계 데이터 모델에서 데이터의 가장 작은 논리적인 단위
  (오직 원자 값만 허용)
- 한 릴레이션에선 모든 애트리뷰트 이름이 달라야 함

튜플
- 릴레이션을 구성하는 각각의 행
- 속성의 모임으로 구성 (파일 구조에서 레코드와 같은 개념)
- 튜플의 수를 카디널리티(cardinality), 기수, 대응수라고 함

릴레이션
관계형 데이터베이스에서 정보를 구분해 저장하는 기본 단위

엔티티
데이터베이스에 표현하려고 하는 유형, 무형의 객체로서 
서로 구별되는 것 (데이터의 집합)

도메인
- 하나의 애트리뷰트가 가질 수 있는 원자 값들의 집합
- 도메인은 같은 도메인의 값들끼리 비교가 허용
- 하나의 도메인에 대해 둘 이상의 애트리뷰트 정의 가능
Durability 영속성
: 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나도
  영구적으로 반영되어야 한다.

Consistency 일관성
: 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성
  있는 데이터베이스 상태로 변환한다.

Atomicity 원자성
: 트랜잭션 연산은 데이터베이스에 모두 반영되든지 아니면
  전혀 반영되지 않아야 한다.

Isolation 격리성
: 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른
  트랜잭션이 접근 불가하다.


로킹단위가 커지면 로킹오버헤드가 감소한다.

로킹단위↑
(제어기법 간단하여 관리 수월)
로크 수↓, 병행성↓, 오버헤드↓, 공유도↓
 

로킹단위↓
(로크수가 많다보니 제어기법 까다로워 관리 복잡)
로크 수↑, 병행성↑, 오버헤드↑, 공유도↑
1NF 조건 : 원자값으로 구성
2NF 조건 : 부분 함수 종속 제거 (완전 함수적 종속 관계)
3NF 조건 : 이행 함수 종속 제거
BCNF 조건 : 결정자 함수 종속
4NF 조건 : 다중값(다치) 종속성 제거
5NF 조건 : 조인 종속성 제거
스레드(Thread) 
- 프로세스 내에서의 작업 단위로 여러 자원을 할당받아
  실행하는 프로그램 단위
- 하드웨어 운용체제 성능과 처리율을 향상 가능
- 응용프로그램 응답시간 단축 가능
- 실행 환경을 공유시켜 기억장소 낭비 줄어듬

커널 스레드
- 운영체제 커널에 의해 스레드 운영
- 구현 쉬움       - 속도 느림


사용자 스레드
- 사용자가 만든 라이브러리로 스레드 운용
- 구현 어려움   - 속도 빠름

하나도 몰라서 피해다니던 문제였는데, 
정리를 제대로 끝내고나니 제발 나왔으면 하는 문제가 됨

https://3mmmeee.tistory.com/59
배열 수가 9개이고 3개의 값만 초기화 되어 있다.
순서대로 b[0]=1, b[1]=2, b[2]=3 이고 b[4],b[5]...b[8]=0 이다.

- static이라서 0으로 초기화 됨
- 만약 local에서 static이 아니라면 랜덤값
(응집도 강함) > > > > > > > > > > > > > > > > (응집도 약함)
기능적 / 순차적 / 교환적 / 절차적 / 시간적 / 논리적 / 우연적 

Organic
: 조직형 / 소규모 소프트웨어 일괄 자료 처리 /5만 라인 이하

Semi-detached
: 반분리형 / 트랜잭션 처리 시스템이나 운영체제, DB /
  30만 라인 이하

Embedded
: 내장형 / 최대형 규모 트랜잭션 처리 시스템이나 운영체제 /
  30만 라인 이상

 

반응형