정보처리기사 필기 #6 23년 1회 기출 풀이

2023. 3. 2. 23:56정보처리기사

2023/03/02

  • 학습내용

 

1. 디지털 저작권 관리(DRM) 기술 요소

 

1) 암호화, 암호화 파일 생성

2) 키 관리

3) 식별 기술

4) 저작권 표현

5) 정책 관리

6) 크랙 방지

7) 인증

 

 

2. Sprial Model(나선형 모델)

 

1) 비교적 대규모 시스템에 적합하다.

2) 개발 순서 : 

계획 및 정의 -> 위험 분석 -> 공학적 개발 -> 고객 평가

3) 목적 :  SW를 개발하면서 발생할 수 있는  위험을 관리하고 최소화한다.

 

 

3. Cocomo Model

 

Cocomo Modeldms 1981년 Boehm이 제안한 세계에서 가장 일반적으로 사용되는 SW 추정 모델 중 하나이다.

Cocomo는 SW 크기를 기반으로 SW 제품의 노력과 일정을 예측한다.

 

※프로젝트 유형

 

1.Orgnic(유기적) -> 단순한

프로젝트가 유기적이고 이해하기 쉬운 응용 프로그램 개발을 다루는 경우다.

개발 팀의 규모가 상당히 작고, 팀원들이 유사한 프로젝트 방법을 개발한 경험이 있는 경우이다.

프로젝트는 단순한 시스템들을 개발한다.

 

2. Semi-detached -> 혼합된

경험이 있는 직원과 없는 직원이 혼합된 경우이다.

개발 중인 주문의 일부 측면에 익숙하지 않을 수 있다.

프로젝트 예시로는 새로운 OS, DBMS, 복합 재고 관리 시스템 개발이 있다.

 

3. Embeded -> 복잡한

개발 중인 SW가 복잡한 HW와 강력하게 결합되거나 운영 방식에 대한 엄격한 규정이 있는 경우다.

예시로는 ATM, 항공 교통 관제가 있다.

 

 

4. UNIX 명령어

 

chmod - 파일모드/특성/권한 변경

chown - 파일 소유권 변경

chgrp - 파일 그룹 소유권 변경

umask - 파일 모드 작성 마스크 취득 및 설정

 

 

5. HIPO(Hierarchical Input Process Output) -> 모듈로 구분하여 계층화 한다가 핵심

 

HIPO는 Input-Process-Output으로 이루어진 모듈을 계층적으로 나타낸 도표이다.

흔히 HIPO Chart라고 하는 건 가시적 도표를 말한다.

 

HIPO종류

1)가시적 도표(Visual Table of Contents) 도식 목차

시스템의 전체적인 기능과 흐름을 보여주는 Tree 형태 구조도

2) 총체적 도표(Overview Diagram)  개요 도표

프로그램을 구성하는 기능을 기술한 것으로 입출력, 처리에 대한 전반적인 정보를 제공하는 도표

3) 세부적 도표(Detail Diagram) 상세 도표

총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술하는 도표

 

\

 

5. 아키텍쳐 패턴

 


레이어 패턴(계층화 패턴, Layers Pattern)
- 시스템을 계층구조(Layer)로 쌓아둔 전형적 패턴
- 각각의 상위, 하위 레이어끼리만 상호작용
특정 레이어만 유지보수하여 시스템 개선 가능
- ex) 네트워크 프로토콜


클라이언트-서버 패턴
- 서버(=1, 항시대기): 자원제공 / 클라이언트(=다수): 자원 요청
- 서버: 몬스터 생성 / 클라이언트: 몬스터 사냥 각자의 기능이 독립적으로 동작


파이프-필터 패턴
- 데이터의 흐름(스트림)의 각 단계를 파이프와 필터로 연결
- 파이프: 각 단계명 / 필터: 각 파이프를 통해 넘어온 데이터를 처리하고 캡슐화
- 앞 시스템의 처리 결과물을 파이프를 통해 전달받아 처리한 다음 그 결과물을 다시 파이프를 통해 다음 시스템으로 넘겨주는 패턴을 반복하는 것이 파이프-필터 패턴
재사용성, 확장성이 좋아 다양한 파이프라인 생성 가능
데이터 변환, 버퍼링, 동기화 등에 유리


모델-뷰-컨트롤러 패턴(MVC) (일반적인 *대화형 어플리케이션에 적합)
- 모델: 핵심 기능과 데이터 보관 / 컨트롤러: 입력 처리 / 뷰: 처리된 정보 표시(여러 형태의 뷰)
* 대화형 어플리케이션:
온라인 쇼핑몰 사이트나 스마트폰 앱과 같이 사용자의 요구가 발생하면 시스템이 이를 처리하고 반응하는 소프트웨어


마스터-슬레이브 패턴
- 마스터 컴포넌트가 지시한 일을 여러 슬레이브 컴포넌트가 병렬처리하여 결과를 취합
- 도중에 몇 개의 슬레이브가 고장나도 업무 처리에는 문제가 없음


피어 투 피어 패턴(P2P)
- 서버와 클라이언트가 서로 역할을 바꿀 수 있는 형태(토렌트, 웹하드)
- 두 가지 일을 병렬로 수행하는 멀티스레딩(자원요청/제원제공)이 특징

 

 

6. XP(eXtreme Programming)익스트림 프로그래밍  -> 애자일 방법론

 

1) XP(eXtreme Programming) 가치

1. 의사소통

2. 단순성

3. 용기

4. 피드백

5. 존중

 

-> 의단용피존

 

2) XP(eXtreme Programming) 기본원리

 

1. Pair Programming( 프로그래밍)

2. Test-Driven Development(스트 주도 개발)

3. Whole Team(체 팀)

4. Desgin Improvement(자인 개선) 또는 Refactoring(리팩터링)

5. Small Releases(규모 릴리즈)

6. Continuous Integration(속적인 통합):

 

->짝테전디소계

 

 

7. GoF(Gangs of Four) 디자인 패턴

 

패턴 유형

1. 생성(Creational) 패턴 

1) 추상 팩토리

2) 빌더

3) 팩토리 메서드

4) 프로토타입

5) 싱글턴

-> 공장(팩토리)을 단순한(싱글턴) 단위(프로토타입)로 만들었네(빌더)

 

2. 구조(Structural) 패턴

3. 행위(Behavioral) 패턴

 

 

8. 테스트 분류

 

1. 유닛 테스트 : 함수 하나하나와 같이 코드의 작은 부분을 테스트

ex) 게시글 작성 메서드 테스트

 

2. 통합 테스트 :  서로 다른 시스템들의 상호작용이 잘 이루어 지는지 테스트

 

유닛 테스트와 비슷하지만, 유닛 테스트는 다른 컴포넌트들과 독립적인 반면 통합 테스트는 그렇지 않다.

두 개의 다른 분리된 시스템끼리 잘 통신하고 있는지 증명하고 싶을 때가 있는데(ex) 나의 앱과 DB가 제대로 상호작용 중인지) 이것을 통합 테스트라고 한다.

 

 

3. 기능 테스트 : 사용자와 어플리케이션의 상호작용이 원활하게 이루어 지는지 테스트

 

기능 테스트는 EC2 테스트, 브라우저 테스트라고도 불린다.

 

 

 

9. 로킹 단위

 

DB에서 잠그는 단위라는 의미로 

로킹 기법이란 하나의 트랜잭션이 데이터를 액세스하는 동안 다른 트랜잭션이 그 데이터 항목을 액세스할 수 없도록 하는 병행 제어 기법이다.

 

즉, 한번에 한명만 사용할 수 있게 하는 단위를 로킹 단위 라고 한다.

 

ex) 누군가가 특정 파일을 건들고 있을 때, 다른 사용자는 그 파일을 건들지 못하도록 한다면 이게 로킹이다.

여기서 로킹 단위는 파일이 된다.

 

로킹 단위는 파일, 레코드, 필드와 같이 여러가지로 나누어질 수 있다.

 

로킹 단위가 크면 -> 로크의 수가 적어진다. -> 제어 기법이 간단해 진다. -> 병행성이 감소한다.

로킹 단위가 작으면 -> 로크의 수가 많아진다. -> 제어 하기 까다롭다. -> 병행성이 증가한다.

 

 

10. 프로토타입 모형(Prototype model)
 
실제 개발될 SW에 대해 견본품을 만들어 최종 결과물을 예측하는 모형

 

11. 하향식, 상향식 통합 테스트

 

스텁(Stub)

하향식 통합 테스트의 절차에서 주요 제어 모듈들은 작성된 프로그램을 사용하고, 

주요 제어 모듈의 종속 모듈들은 스텁(Stub)으로 대체한다.

 

클러스터(Cluster)

상향식 통합 테스트의 절차에서 하위 모듈들은 클러스터로 결합한다.

 

 

12. xUnit

 

인터페이스 구현 검증 도구 중 Java(JUnit), C++(Cpp),  Net(Nunit) 등 다양한 언어를 지원하는 단위 테스트 프레임워크

 

 

13. 메모리 배치 전략

 

1. 최초 적합(First Fit)

첫 번째 분할 영역에 배치시키는 방법

 

2. 최적 적합(Best Fit)

내부 단편화를 가장 작게 남기는 영역에 배치시키는 방법

 

3. 최악 적합(Worst Fit)

내부 단편화를 가장 많이 남기는 영역에 배치시키는 방법

 

 

14. 네트워크 용어 정리

 

SAN  각기 다른 OS를 가진 여러 기종들을 NW상에서 동일 저장장치의 데이터를 공유하게 함으로써, 여러 개의 저장장치나 백업 장비를 단일화시킨 시스템

MBR(memory buffer register) 기억장치를 출입하는 데이터가 잠시 기억되는 레지스터
NAC(network access control)  PC의 MAC주소를 IP 관리 시스템에 등록, 일관된 보안관리 기능을 제공
NIC  물리 계층과 데이터 계층의 서비스를 제공

 

 

15. SSH(Secure Shell)

 

SSH 기본 포트는 22번

키를 통한 인증은 클라이언트의 공개키를 서버에 등록해야 한다.

서로 연결되어 있는 컴퓨터 간 원격 명령실행이나 셀 서비스 등을 수행한다.