2021-08-14 정보처리기사 오답노트 정리

Jieun·2023년 5월 16일
0

2021-08-14 시험문제

1과목 : 소프트웨어 설계

도출 -> 분석 -> 명세 -> 확인 ⭐⭐⭐⭐

DFD (Data Flow Diagram)
Mini-Spec
DD
E-R Diagram
STD

UML

클래스관계

Generalization 일반화 관계
클래스는 객체지향개념에서 상속관계이다

Realization 실체화 관계
인터페이스와 그것을 구현한 것과의 관계

Dependency 의존관계
어떤 클래스가 다른 클래스를 참조하는 관계
(일시적으로)

Association 연간관계

  • 직접연관 : 한클래스가 다른 클래스 참조하는 관계
  • 집합연관 : 참조하는 객체가 클래스 사용후에도 유지
  • 복합연관 : 참조한 객체가 사라지면 참조하는 객체도 사라진다.

애자일 방법론 종류 ⭐⭐⭐⭐

1. XP
5가지 핵심가치
사소통,드백, 기, 순성,
의사선생님 피죤 용기에 담아주세요

2. SCRUM

  • 30일이나 15일 마다 스프린트 중심으로 진행
  • 매일 15분마다 회의함

3. FDD
4. LEAN
5. Crystal

설계모형에서 사용되는 추상화 기법

제어추상화
기능추상화
자료추상화

소프트웨어 설계에서 대표적인 추상화(Abstraction)

자료/제어/과정

설계모형 구조

  • 데이터 설계
  • 아키텍처(구조) 설계
  • 인터페이스 설계
  • 절차 설계

요구 분석(Requirement Analysis) 기능적 비기능적

기능적은 시스템이 수행해야 하는 행위들을 구체화하는것
ex) 회원가입 로그인 같은 실제 기능

비기능적은 시스템이 가져야 하는 기능 이외의 요구사항
ex) 성능, 보안 같은거

아키텍처 패턴 종류

  • 마스터-슬레이브 패턴
  • 파이프-필터 패턴 (한쪽방향으로만 감)
  • 클라이언트-서버 패턴

캡슐화는

객체지향 주요 개념

캡슐화 :
상속 : 상위클래스에서 속성이나 연산을 전달받아 새로운 형태의 클래스로 확장하여 사용하는 것
클래스 : 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 것
다형성 : 상속받은 여러 개의 하위 객체들이 다른 형태의 특성을 갖는 객체로 이용될 수 있는 성질

GOF 디자인패턴 ⭐⭐⭐⭐

크게 3개로 나뉨

  1. 생성패턴
  2. 구조패턴
  3. 행위패턴

럼바우 ⭐⭐⭐⭐

1. 객체모델링
객체 다이어그램

2. 동적모델링
상태 다이어그램

3. 기능모델링
자료흐름도(DFD)

객체지향 분석기법

  • 상향식 방식으로
  • 동적모델링 기법

객체지향 설계 SOLID

  • 단일 책임 원칙 Single resposibility principle
  • 개방-폐쇄 원칙 Open/closed princile
  • 리스코프 치환 원칙 Liskov substitution principle
  • 인터페이스 분리 원칙 Interface segregation principle
  • 의존관계 역전원칙 Dependency inversion principle

미들웨어

중간에서 역할하는 것

종류 : RPC MOM WAS ESB TP Monitor ORD


3과목 : 데이터베이스 구축

무결성 제약 조건

개체 무결성 : 기본키는 NULL값이 될 수 없음
참조 무결성 : 외래키는 참조할 수 없는 값을 가질 수 없음
도메인 무결성 : 특정 속성값은 그 속성이 정의된 도메인에 속한 값이어야함
키 무결성 : 릴레이션에는 최소한 하나의 키가 존재해야함


트랜잭션 4가지특징 ASID ⭐⭐⭐⭐

Atomicity 원자성
트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
Consistency 일관성
시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.
Isolation 독립성
둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다.
Durability 영속성
성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다.


트랜잭션 : 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미
: 하나 이상의 기본 테이블로부터 유도되어 만들어지는 가상 테이블
튜플 : 관계데이터 구조 테이블에서 행을 의미
카디널리티 : 튜플의 갯수를 의미


관계대수 연산자

순수 관계 연산자

  • SELECT (알파같은거)
  • PROJECT (파이)
  • JOIN (리본)
  • DIVISION(÷)

일반집합연산자

  • 합집합
  • 교집합
  • 차집합
  • 카티션 프로덕트(cartesian product) : 곱셈

데이터베이스 설계 ⭐⭐⭐⭐

1. 개념적 설계

  • 현실세계를 데이터관점으로 추상화
  • E-R 다이어그램
  • 트랜잭션 모델링

2. 논리적 설계

  • 특정 데이터모델 적용 설계
  • 정규화
  • 트랜잭션 인터페이스 설계

3. 물리적 설계

  • 물리적 구조, 저장구조, 데이터 특징
  • 트랜잭션 작성

슈퍼키(Super Key) : 유일성을 만족하는 속성 또는 속성들의 집합. 최소성은 만족시키지 못함
후보키 : 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
대체키(Alternate Key) : 기본키로 선택되지 못한 후보키
기본키(Primary key) : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합


인덱스

  • 인덱스는 데이터를 빠르게 찾을 수 있는 수단으로, 테이블에 대한 조회 속도를 높여주는 자료 구조.
  • 인덱스는 자동으로 생성되지 않는다.
  • 인덱스의 종류 중 순서인덱스(Ordered Index)는 B-Tree알고리즘을 활용한다.

로킹단위

로킹 (병행제어 기법의 종류 중 하나로 잠그는 것)

로킹 단위가 큼 -> 로크의 수가 적어짐 -> 병행성 수준 낮아짐, 병행 제어 기법 간단해짐

로킹 단위가 작음 -> 로크의 수가 많아짐


데이터 이상(Anomaly)현상

데이터의 중복으로 인하여 관계연산을 처리할 때 예기치 못한 곤란한 현상이 발생하는 것

이상의 종류에는

  1. 삽입 이상
  2. 갱신 이상
  3. 삭제 이상 이 있다.

이상현상이 발생하기 때문에 정규화를 해줘야함!!!


SQL 종류

1. DDL (정의어)
CREATE, ALTER, DROP

2. DML (조작어)
SELECT
INSERT(INSERT INTO TABLE 속성)
DELETE(DELETE FROM TABLE명 WHERE절),
UPDATE (UPDATE TABLE SET)

3. DCL (제어)
-COMMIT (완료)
-ROLLBACK (되돌림)
-GRANT (권한부여)
-REVOKE (권한취소)


정규화 순서 (도.부.이.결.다.조) ⭐⭐⭐⭐

비정규 Relation
제1정규형 : 메인이 원자값
제2정규형 : 분함수적 종속 제거
제3정규형 : 행적함수 종속 제거
BCNF : 정자이면서 후보키가 아닌 것 제거
제4정규형 : 치 종속 제거
제5정규형 : 인종속성 이용


타임스탬프 기법

동시성 제어를 위한 직렬화 기법
트랜잭션간의 처리순서를 미리 정하는 방법


4과목 : 프로그래밍 언어 활용

응집도(Cohesion) ⭐⭐⭐⭐

독립성을 높이기 위해서 응집도는 높이고, 결합도는 낮춰야함

응집도 : 강 > 약 순서
시절에 먹었던 통한 대는 가 막히게 맛있었어

능적 응집도 : 모듈 내분의 모든 기능이 단일한 목적을 위해 수행
차적 응집도 (Sequential Cohension): 모듈 내의 한 활동으로부터 나온 출력값을 다른 활동이 사용
신적 응집도 : 동일한 입력과 출력을 사용
차적 응집도 : 모듈 안의 구성요소들이 기능을 순차적으로 수행
간적 응집도(Temporal Cohesion
) : 특정 시간에 처리되어야하는 활동을 한 모듈에서 처리
리적 응집도 (Logical Cohesion
): 비슷한거끼리 묶어놓은거
연적 응집도 (Coincidental Cohension): 아무 연관이 없는 경우


결합도(Coupling) ⭐⭐⭐⭐

테스 저래 유랑 가 닮았대

이터(자료) 결합도 : 매개변수 호출하는거
탬프 결합도 : 자료구조 전달
어 결합도 : 제어요소 전달
부 결합도 : 외부에 있는 변수 참조
통 결합도 : 전역변수 참조
용 결합도 : 서로 얽혀있는거


프로세스 상태전이

  • 디스패치 (Dispatch) : 준비 -> 실행
  • 할당시간초과 (Time Run Out) : 실행 -> 준비
  • 대기 (Block) : 실행 -> 대기
  • 깨움 (Wake Up) : 대기 -> 준비

5과목 : 정보시스템 구축 관리

접근 통제 모델

강제적 접근통제(MAC, Mandatory Access Control)
-> 자원의 보완 레벨과 사용자의 보안 취급인자를 비교하여 접근을 제어
임의적 접근통제(DAC, Discretionary Access Control)
-> 소유자가 접근여부를 결정
역할기반 접근통제(RBAC, Role Based Access Control)
-> 사용자의 역할에 기반


암호와 알고리즘 ⭐⭐⭐⭐

1. 양방향

(1) 대칭키(비밀키)

  • Block방식 : DES, AES, IDEA, SEED, ARIA
  • Stream방식 : LFSR, RC4

(2) 비대칭키(공개키)

  • 대표적으로 RSA(소수)

2. 단방향(hash)


수학적 비용 산정기법 ⭐⭐⭐⭐

1. COCOMO
LOC( Line of Code ) 기반 비용 산정 방식
조직형(5만이하), 반분리형(5만), 내장형(30만)

2. PUTNAM
Rayleigh-Norden 곡선의 노력 분포도를 이용한 비용 산정 기법

3. Function Point (FP)
기능 점수를 산출하여 비용 산정


COCOMO 기법 ⭐⭐⭐⭐

개발할 소프트웨어의 규모(LOC)를 예측

  • Organic: 5만 라인 이하의 프로젝트에 적합, 소규모 팀이 개발에 사용
  • Semidetached: 30만 라인 이하의 프로젝트에 적합, 트랜잭션 처리시스템 등
  • Embeded: 30만 라인 이상의 프로젝트에 적합, 하드웨어가 포함된 실스간 시스템 등

생명주기 모형

  • 폭포수 모형(Waterfall Model) : 형 순차적 모델 또는 고전적 생명주기 모형

  • 프토토타입 모형(Prototype Model) : 시제품 만드는 모델

  • 나선형 모델 (spiral model) : 폭포수 프로토타입의 장점에 위험 분석 기능을 추가
    여러번의 개발 과정을 거쳐 점진적으로 완벽한 SW를 개발


OWASP(The Open Web Application Security Project)

오픈소스 웹 애플리케이션 보안 프로젝트
주로 웹에 관한 정보노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구함

profile
👩‍💼👩‍💼➡️➡️➡️👩‍💻👩‍💻 생산자의 삶을 살기 위해 개발공부중

0개의 댓글