공부/정보처리기사

정보처리기사 공부 모음

개발 공부하는 태준 2024. 11. 20. 18:16

이제 정보처리기사가 딱 10일 남았다.
여태까진 필기하면서 암기했는데 시간이 너무 오래걸리기도 하고 필기한것을 다시 리마인드 시킬겸 키워드로 정리좀 해보려고한다!

객체지향 분석 방법론 종류와 만든이

  • OOSE (야콥슨)
    -> 유스케이스에 의한 접근 방법
  • OMT (럼바우)
    -> 객체 모델링 -> 동적 모델링 -> 기능 모델링 순서로 진행
  • ** 객체 모델링 ** 요구하는 객체를 찾고, 객체들 간의 관계 정의하여 ER 다이어그램을 만드는 과정까지 모델링 ** 동적 모델링 ** 시간의 흐름에 따라 객체들 사이의 제어흐름, 동작 순서 등의 동적인 행위를 표현하는 모델링 ** 기능 모델링 ** 자료 흐름도 (DFD) 활용하여 표현

프로젝트 관리 3대 요소

  • 사람(People)
  • 문제(Problem)
  • 프로세스(Process)

비용산정 모형 분류

-> 비용산정 모형은 하향식 산정방법 상향식 산정방법이 존재한다

  • 하향식 산정방법 : 경험이 많은 전문가에게 비용산정 의뢰
    • 전문가 판단
    • 델파이 기법
  • 상향식 산정방법 : 세부적인 요구사항과 기능에 따라 필요한 비용을 계산
    • LoC
      -> S/W 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법
    • ex) 총라인 수가 50000라인, 프로그램의 월 평균 생산성이 200라인, 개발에 참여할 프로그래머가 10인 일 때, 개발 소요기간?
      (50000/(200*10) = 25개월
    • Man Month
    • COCOMO 모형
      -> 보헴이 제안한 것으로, 원시 프로그램의 규모인 LoC에 의한 비용 산정 기법임
      비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용 되고 있음반분리형(Semi-Detached)
      : 30만 라인 이하
    • 내장형(Embedded)
      : 30만 라인 이상
    • 조직형(Organic)
      : 5만 라인 이하
    • 풋남
      -> Ralyeig-Norden 곡선의 노력 분포도 이용
      -> SLIM : 렐리 노든 곡선과 풋남 예측 모형을 기초로 개발된 자동화 추정 기구
    • 기능점수(FP; Function Point) 모형
      -> 요인별 가중치를 합산하여 총 기능점수를 산출하며 총 기능점수와 영향도를 이용하여 기능점수를 구한 후 이를 이용해서 비용을 산정하는 기법

일정관리 모델

-> 프로젝트가 일정 기한 내에 적절하게 완료될 수 있도록 관리하는 모델

  • 종류
    • 주공정법
      : CPM 이용해서 일정 계산할 때, 임계경로 -> 제일 오래걸리는 경로 선택
    • PERT : 일의 순서를 계획적으로 정리 비관, 중간, 낙관치
    • 중요 연쇄 프로젝트 관리 존재

위험관리

  • 대응 전략
    • 회피, 전가, 완화, 수용

로킹 기법

-> 트랜잭션이 사용하는 데이터 항목에 대하여 잠금을 설정한 트랜잭션이 해제 할때까지 독점적으로 사용할 수 있게 상호 배제 기능 제공

MQTT (Message Quewing Telemetry Transport)

-> IoT관련 프로토콜 : Publish / Subscribe 방식의 라이트 메세징을 전송하는 프로토콜

  • 무선 LAN의 반이중방식 : CSMA/CA
  • 유선 LAN의 반이중방식 : CSMA/CD

라우팅 프로토콜 알고리즘

  • 거리 벡터 알고리즘
    -> 목적지까지 최적 경로를 산출하기 위한 라우팅 프로토콜 알고리즘, 벨만-포드 알고리즘 사용
  • 링크 상태 알고리즘
    -> 라우팅 프로토콜 알고리즘, 링크 상태 정보를 모두 라우터에 전달하여 최단 경로 트리

절차형 SQL

  • 프로시저
    : 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합
  • 사용자 정의함수
    : 일련의 SQL 처리 수행, 수행 결과를 단일 값으로 반환
  • 트리거
    : 데이터 베이스에서 삽입, 갱신, 삭제등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL

의존성 역전의 원칙

-> 실제 사용 관계는 바뀌지 않으며, 추상을 매개로 메세지를 주고받음으로써 관계를 최대한 느슨하게 만드는 원칙

지역성

  • 시간 : 최근 사용되었던 기억장소들이 집중적으로 액세스
  • 공간 : 일정 위치의 페이지를 집중적으로 액세스
  • 순차 : 데이터가 순차적으로 액세스

OLAP (온라인 분석처리)

-> 데이터를 전략적인 정보로 변환, 의사결정을 지원하는역할

다단계 피드백 큐 (MLFQ)

-> FCFS(FIFO)와 라운드 로빈 스케줄링 기법 혼합한 알고리즘

자료 사전 기호

  • = ~ 로 구성되어
  • + 자료의 연결
  • () 자료의 생략
  • {} 자료의 반복
  • [] 자료의 선택
  • ** 자료의 주석

GRANT 명령

-> [그온투] GRANT 권한 ON 테이블 TO 사용자 WITH GRANT OPTION(다른 사람과 권한을 나누어 가질 수 있는 옵션)

결합도

-> 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모둘간의 상호 의존성을 의미

데 -> 스 -> 제 -> 외 -> 공 -> 내

결합도 낮은 순에서 높은 순임 ( 낮을 수록 높은 품질을 가짐)

병행 제어 기법

로 낙 타 다

  • 로킹
  • 낙관적 검증
  • 타임 스탬프 순서
  • 다중버전 동시 제어

대칭키 암호화 알고리즘

  • DES : 1975 연방 표준국 (NIST)에서 발표
  • SEED : 1999 한국 인터넷 진흥원 (KISA)
  • AES : 2001 표준 기술 연구소(NIST)
  • ARIA : 2004 국가정보원과 신학 연구협회
  • IDEA : DES를 대체 하기 위한
  • LFSR : 스트림 암호화 알고리즘

라우팅 프로토콜 ( 라우팅 프로토콜 알고리즘 과 헷갈 X)

  • RIP(Routing Information Protocol)
    -> 거리 벡터 라우팅 기반
  • OSPF
    -> 링크 상태 라우팅 기반
  • BGP
    -> TCP 연결을 통해 자치 시스템으로 라우팅 정보를 신뢰성 있게 전달

취약점 공격

  • XSS (Cross Site Scripting) : 검증되지 않은 외부 입력 데이터가 포함된 웹 페이지가 전송되는 경우, 사용자가 해당 웹 페이지를 열람함으로써 웹페이지에 포함된 부적절한 Script 수행되는 공격
  • CSRF: Cross Site Request Forgery : 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 되는 공격
  • SQL 삽입 : SQL 구문을 삽입, 실행

루트킷 (RootKit) , 크라임 웨어 (Crimeware)

  • 루트킷 : 시스템 침입 후 사실을 숨긴 채 차후의 침입을 위한 백도어, 트로이 목마 설치, 원격 접근 , 내부 사용 흔적 삭제 등 불법적인 해킹에 사용되는 기능을 제공하는 프로그램의 모음
  • 크라임 웨어 : 온라인 상에서 범죄와 같은 불법적인 행위를 수행하기 위해 제작된 컴퓨터 프로그램, 공격용 툴 킷

분석 자동화 도구 CASE

  • 상위 : 계획수립, 요구분석, 기본설계 단계를 다이어그램으로 표현
  • 하위 : 구문 중심 편집 및 정적 동적 Test 지원

ALTER TABLE 테이블명 MODIFY 컬럼명 데이터 타입[제약조건]

-> ALTER TABLE 부서 MODIFY 부서번호 INTEGER PRIMARY KEY

회복 기법

회로체그

  • 로그 기반 회복기법
    • 지연 갱신 : 트랜잭션이 완료되기 전까지 데이터 베이스 기록 하지 않음
    • 즉각 갱신 : 반대로 바로 갱신함
  • 체크 포인트 회복 기법 : 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원
  • 그림자 페이징 회복 기법 : 복제본

TCL 명령어

  • 커밋(Commit)
  • 롤백(Rollback)
  • 체크포인트(CheckPoint)

HIPO

  • 가시적 도표 : System의 전체적인 기능과 흐름 보여주는 계층 구조
  • 총체적 도표 : 입력, 처리, 출력에 대한 전반적인 정보를 제공
  • 세부적 도표 : 기본 요소들을 상세히 기술

병행 제어 미보장 시 문제점

  • 갱신 손실 : 먼저 실행된 트랜잭션의 결과는 나중에 실행된 트랜잭션이 덮어쓸 때발생
  • 현황 파악오류 : 트랜잭션의 중간 수행 결과를 다른 트랜잭션이 참조하여 발생
  • 모순성 : 두 트랜잭션이 동시에 실행되어 데이터 베이스의 일관성 결여
  • 연쇄복귀 : 복수의 트랜잭션이 데이터 공유 시 특정 트랜잭션이 처리를 취소할 경우 트랜잭션이 처리한 곳의 부분을 취소하지 않는다.

통합 테스트

-> 단위 테스트를 통과한 모듈 사이의 인터페이스, 통합된 컴포넌트 간의 상호작용을 검증하는 테스트

  • V 모델 (단 통 시 인)

선점형 , 비선점형 스케쥴링

  • 선점형 : 하나의 프로세스가 CPU 차지하고 있을 때, 우선 순위가 높은 프로세스가 CPU 점유
    • 알고리즘 : 라운드 로빈, SRT, 다단계 큐, 다단계 피드백 큐
  • 비선점형 : 한 프로세스가 CPU 할당 받으면, CPU 변환까지 다른프로세스 CPU 점유 불가
    • 알고리즘 : 우선순위, 기한부, FCFS, HRN, SJF
      - SJF : 가장 작은 서비스 시간을 갖는 프로세스가 종료시 까지 자원을 점유
      - HRN : SJF 의 약점인 기아현상을 보완

데이터 베이스 암호화 방식

  • API 방식 : Application
  • TDE 방식 : DB 자체 암호화

분산데이터 베이스 비트코인 기반

-> 블록 체인

S/W 아키텍쳐 4+1 뷰

  • 유스케이스 뷰 : 유스케이스 또는 아키텍쳐 도출, 다른 뷰를 검증하는데 사용
  • 논리 뷰 : 시스템의 기능적인 요구 사항
  • 프로세스 뷰 : 비기능적인 속성, 자원의 효율적인 사용, 병행동기, 비동기, 이벤트 처리
  • 구현 뷰 : 개발 환경 안에서 정적인 S/W 모듈의 구성을 보여줌
  • 배포 뷰 : 매핑

해시 함수 (Hash Function)

  • 해시 함수 : 임의의 길이를 갖는 값을 입력 받으면 고정된 길의 값 출력
  • SET : 온라인상의 안전한 거래를 위해 VISA와 Master Card 에서 개발

데이터 베이스 (데이터 베이스 문제는 쿼리만 써놓겠다 다시 보면서 이런 문제였겠네 생각)

  • SELECT 학번 FROM 학생 WHERE 이름 LIKE '유%' ORDER BY 학년 DESC;
  • SELECT A. 자격증번호 AS 자격증번호, A.자격증명 AS 자격증명, B.응시료 AS 응시료 FROM 자격증 Inner JOIN B ON A.자격증번호 = B. 자격증번호
  • SELECT 특성,AVG(무게) AS 무게평균 FROM 행성 GROUP BY 특성;

대칭 키 암호 방식

  • 블록 암호 방식 : DES, AES, SEED (긴 평문 암호화)
  • 스트림 암호 방식 : RC4 (암호문 생성)

데이터 무결성

-> 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는다.

흐름제어, 정지대기 (TCP)

  • 흐름 제어 (Flow Control)
    : 과잉 패킷 입력, 패킷 분실 막도록 패킷의 흐름 조절
  • 정지 대기
    : 손실된 프레임 1개를 전송, 수신자의 응답 기다림

데이터 베이스 (데이터 베이스 문제는 쿼리만 써놓겠다 다시 보면서 이런 문제였겠네 생각)

  • SELECT 학번, 이름 FROM 학생 WHERE 학년 in (3, 4)
  • SELECT DISTINCT 학년 FROM R1; // DISTINCT(중복제거) 의 경우 동일한 튜플 제거

UI 품질 요구사항

  • 신뢰성
  • 성숙성
  • 고장 허용성
  • 회복성

재사용 종류

  • 재공학 : 기존 S/W 버리지 않고 기능 개선 , 새로운 S/W 로 재활용
  • 역공학 : S/W에 대한 대한 디버깅, 디컴파일 등의 분석을 통해 ~원리 알고리즘을 역으로 분석하여 재구성
  • 재개발 : 완전히 새로운 System을 개발

데이터 베이스 (데이터 베이스 문제는 쿼리만 써놓겠다 다시 보면서 이런 문제였겠네 생각)

  • CREATE INDEX 학번인덱스 ON 학생(학번);

인터페이스 감시 도구

  • SCOUTER : 인터페이스 감시 기능
  • JENNIFER : 성능을 모니터링하고 분석해주는 APM S/W

DataBase 암호화 방식

  • API 방식
    : 애플리케이션 레벨에서 암호화
  • Plug in 방식
    : 모듈이 db 서버에 설치, 부하 발생 가능
  • TDE 방식
    : DBMS 커널이 자체적으로 암 복호화
  • Hybrid 방식
    : API 방식과 Plug - in 방식 결합

해시 암호화 알고리즘

  • MD5 : MD4를 개선, 1991년 R.rivest
  • SHA-1 : 1993년 NSA에서 미 정보 표주
  • SHA-256/384/512 : SHA의 한 종류, AES의 키 길이 128, 192, 256대응
  • HAS-160 : 국내 표준 서명 알고리즘

TCP 의 특징

  • 신뢰성 보장 : 패킷 손실, 중복, 순서 바뀜
  • 연결 지향적 특징 : UDP는 비연결성, TCP는 연결지향
  • 흐름 제어 : 송신, 수신 속도 일치
  • 혼잡 제어 : 혼잡시 송신률 감속

데이터 베이스 (데이터 베이스 문제는 쿼리만 써놓겠다 다시 보면서 이런 문제였겠네 생각)

  • SELECT * FROM 성적 ORDER BY 수학 DESC , 과학 DESC

페이지 교체 기법

  • FIFO : 가장 먼저 들어와 가장 오래 있던 페이지 교체
  • LRU : 사용된 시간 확인, 가장 오랫동안 사용되지 않은 페이지 선택 교체
  • LFU : 참조 회수가 가장 적은 페이지 교체

보안 관련 기술 및 시스템

  • DLP (Data Loss Prevention) : 조직 내부의 중요 자료가 외부로 빠져나가는 것을 탐지
  • DRM (Digital Right Management) : 디지털 콘텐츠에 대한 관리정보를 지정

비대칭 키 암호화 알고리즘

  • RSA : 1997년 3명 MIT 수학교수
  • ECC : 1985년 ~사람이 RSA 암호 방식에 대한 대안
  • ElGamal : 1984년에 제안한 공개키 알고리즘

UDP 프로토콜 간략히

  • 비신뢰성
  • 순서화되지 않은 데이터그램 서비스
  • 실시간 응용 및 멀티캐스팅 기능
  • 단순 헤더

보안 관련 용어

  • 이블 트윈
  • 난독화
  • 랜섬웨어 : 악성코드의 한 종류로 감염된 시스템의 파일들을 암호화하여 복호화 못하도록함

데이터 베이스 (데이터 베이스 문제는 쿼리만 써놓겠다 다시 보면서 이런 문제였겠네 생각)

  • SELECT A. 자격증명, B. 자격증 번호, B.응시료 FROM 자격증 A RIGHTJOIN 응시료 B ON B. 자격증번호 = A.자격증 번호
  • 문법
    -> SELECT A.컬럼, A.컬럼2 .. B.~ FROM 테이블 1 A RIGHT JOIN 테이블 2 B ON 조인조건 WHERE 검색조건

데이터 베이스 장애요소

  • 실행 장애
  • 시스템 장애
  • 트랜잭션 장애
  • 미디어 장애

국제 프로세스 품질 표준

  • CMMI
    -> S/W 개발 능력/성숙도 평가 및 프로세스 개선 활동의 지속적인 품질 개선 모델

S/W 공학의 법칙

  • 브룩스의 법칙 : 지체되는 S/W 발 프로젝트에 인력을 추가하는 것은 개발을 늦출 뿐이다.
  • 파레토의 법칙 : 80 대 20의 법칙, 결함 집중
  • 롱테일의 법칙 : 사소해 보이는 80 % 의 다수가 20 % 의 소수 핵심보다도 뛰어난 가치 창출

Network 계층의 protocol

  • IP : 송수신간의 패킷 단위로 데이터를 교환하는 넽,워크에서 정보를 주고 받음
  • ARP : IP -> MAC
  • RARP : MAC -> IP
  • ICMP : IP 패킷 처리할 때 문제 발생 시 문제 알려줌
  • IGMP : 인터넷 그룹관리 Protocol
  • 라우팅 프로토콜
    • 내부: RIP, OSPF
    • 외부 : EGP, BGP

전송 계층과 응용 계층 사이에서 클라이언트와 서버간의 웹데이터 암호화, 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 Protocol

-> SSL/TLS

  • IPSec : IP 계층에서 무결성과 인증 보장
  • S - HTTP : 웹 상에서 네트워크 트래픽 암호화

EAI 구축 유형

포허메하

  • Point to Point : 가장 기초적인 어플리케이션 통합 방법
  • Hub and Spoke : 단일의 접점의 허브 시스템을 통하여 데이터 전송하는 중앙 집중식
  • Message Bus : 어플리케이션 사이 미들웨어를 두어 연계하는 미들웨어 통합 방식
  • 하이브리드 : 그룹 내부 hun and spoke, 그룹간에는 메세지 버스 사용