Study/Certificate

[정보처리기사 필기] 정처기 모든 과목 요점정리 (1)

ChoiSenn 2023. 3. 8. 16:16

 

 

 (개정 후) 정보처리기사 필기에서 자주 나왔거나 나올 것으로 예상되는 부분을 정리해서 노트에 적어놨던 것을 공유한다. 교재는 주로 시나공 참고...

 논리적으로 정리된 게 아니라 관련된 단어 위주로 정리해뒀다.

 과목은 1과목부터 5과목부터 대체적으로 순서대로 적혀있지만 가끔 중복이나 뒤섞인 부분도 있다.

 옮기기 귀찮아서 끊어서 올림.

 

 

 


 

 

폭포수 모형 : 고전적 생명 주기 모형, 선형 순차적, 산출물 명확, 변경이 용이하지 않음.

        - 타당성 검토 -> 계획 -> 요구 분석 -> 설계 -> 구현(코딩) -> 테스트(검사) -> 유지보수

 

프로토타입 모형 : 견본품, 인터페이스 중점. 요구사항의 변경이 용이. 요구사항이 명확하지 않을 때 사용.

 

나선형 모형 : 폭포수 + 프로토타입의 장점에 위험 분석 기능을 추가. 점진적 개발. 유지보수 과정이 불필요.

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

 

애자일 모형 : 변화에 유연하게 대응. 일정한 주기를 반복해가며 개발. 절차와 도구보다 고객(개인)과의 소통을 중시.

        ex) XP(익스트림 프로그래밍), 스크럼, 칸반, 크리스탈, 린...

 

 

 

XP(익스트림) 프로그래밍의 핵심 가치 : 용기, 단순성, 의사소통, 피드백, 존중.

 

 

 

요구사항 개발 프로세스 : 도출/추출 -> 분석 -> 명세 -> 확인 / 검증

 

 

 

UML의 구성요소 : 사물, 관계, 다이어그램.

 

관계 : 연관(선), 집합(빈 마름모), 포함(검은 마름모), 일반화(세모 화살표), 의존(점선 화살표), 실체화(점선 세모 화살표)

 

구조적, 정적 다이어그램 : 클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지.

행위, 동적 다이어그램 : 유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 상호작용 개요, 타이밍.

 

 

 

CLI : 텍스트

GUI : 그래픽

NUI : 말이나 행동

VUI : 음성

OUI : 사물과 사용자 간의 상호작용

 

 

 

와이어프레임 : 레이아웃 협의/공유에 사용.

스토리보드 : 참고하는 작업 지침서, 작업 산출물.

프로토타입 : 테스트 가능한 동적인 모형.

목업 : 실제 화면과 유사하지만 정적인 모형.

유스케이스 : 사용자 측면 요구사항을 다이어그램 형식으로 묘사.

 

 

 

레이어 패턴 : 시스템을 계층으로 구분하여 구성하는 고전적인 방법.

클라이언트-서버 패턴 : 하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성.

파이프-필터 패턴 : 데이터 스트림 절차의 각 단계를 필터 컴포넌트로 캡슐화 해 파이프를 통해 데이터를 전송.

                              재사용성이 좋고, 확장이 용이.

모델-뷰-컨트롤러(MVC) 패턴 : 모델은 데이터를 보관, 뷰는 사용자에게 정보를 표시,

                                                 컨트롤러는 입력 처리, 뷰 제어, UI 담당.

                                                 한 모델에 여러 개의 뷰 가능. 대화형 애플리케이션에 적합.

 

 

 

클래스 : 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것. 데이터를 추상화 하는 단위.

              공통된 속성과 연산(행위)를 갖는 객체의 집합. 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀.

인스턴스 : 클래스에 속한 각각의 객체들.

메서드 : 클래스로부터 생성된 객체를 사용하는 방법. 함수, 연산.

 

 

 

캡슐화 : 데이터와 함수를 하나로 묶는 것. 세부 내용이 정보 은닉 됨. 외부 모듈 변경으로 인한 파급효과가 적음.

              재사용 용이. 인터페이스 단순화.

상속 : 이미 정의된 상위 클래스의 속성과 연산을 하위 클래스가 물려받음. 재사용률 증가.

다중 상속 : 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산을 상속받음.

다형성 : 하나의 메시지에 대해 각각의 객체(클래스)가 가지고 있는 고유한 방법(특성)으로 응답.

 

 

 

결합도 : 모듈 간에 상호의존하는 정도. 연관관계. 낮을수록 좋음.

 - 자료 : 다른 모듈 호출 시, 매개변수나 인수로 데이터를 넘겨주고 반환 받음.

 - 스탬프 : 모듈 간에 인터페이스로 배열이나 레코드 등의 자료구조를 전달.

 - 제어 : 논리적인 흐름을 제어하기 위해 제어 신호를 이용해 통신하거나 제어 요소 전달.

 - 외부 : 어떤 모듈에서 선언한 변수를 외부의 다른 모듈에서 참조.

 - 공통 : 공유되는 공통 데이터 영역을 여러 모듈이 사용.

 - 내용 : 한 모듈이 다른 모듈의 내부 기능 및 내부 자료를 직접 참조하거나 수정.

        => (높은 순으로) 내공외제스자

 

응집도 : 모듈의 내부 요소들이 서로 관련되어 있는 정도. 높을수록 좋음.

 - 우연적 : 관련 없는 요소들.

 - 논리적 : 유사한 성격을 갖거나 특정한 형태로 분류.

 - 시간적 : 특정 시간에 처리.

 - 절차적 : 구성 요소들이 한 기능을 순차적으로 수행.

 - 통신적(교환적) : 동일한 입출력에 서로 다른 기능 수행.

 - 순차적 : 모듈 내 활동으로 나온 출력 값을 다음 활동의 입력값으로 사용.

 - 기능적 : 모든 기능 요소들이 단일 문제와 연관되어 수행.

        => (낮은 순으로) 우논시절통순기

 

 

 

순차(순서) 코드 : 순서대로 일련번호 부여. ex) 1, 2, 3, 4...

블록 코드 : 공통성 있는 것끼리 블록으로 구분. ex) 1001~1100: 총무부, 1101~1200: 영업부...

10진 코드 : 10진 분할 반복. ex) 1000: 공학, 1100: 소프트웨어 공학, 1110: SW 설계...

그룹 분류 코드 : 대, 중, 소분류 구분. ex) 1-01-001: 본사-총무부-인사계, 2-01-001: 지사-총무부-인사계...

연상 코드 : 관계 있는 숫자, 문자, 기호를 이용. ex) TV-40: 40인치 TV...

표의 숫자 코드 : 물리적 수치 적용. ex) 120-720-1500 : 120x720x1500 크기의 강판...

합성 코드 : 위의 코드들 중 두 개 이상의 코드를 조합하여 사용.

 

 

 

생성 패턴

 - 추상 팩토리 : 서로 연관, 의존하는 객체들을 그룹으로 생성해 추상적으로 표현.

 - 빌더 : 객체의 생성 과정과 표현 방법 분리 (동일한 객체 생성에도 서로 다른 결과)

 - 팩토리 메소드 : 객체 생성을 위한 인터페이스 정의. 어떤 클래스가 인스턴스화 될 건지는 서브클래스가 결정.

 - 프로토타입 : 원본 객체를 복제.

 - 싱글톤 : 하나의 객체를 여러 프로세스가 동시에 참조할 수 없음.

 

구조 패턴

 - 어댑터 : 호환성이 없는 클래스가 인터페이스를 이용할 수 있도록 변환.

 - 브리지 : 구현부에서 추상층을 분리. 독립적으로 확장, 다양성.

 - 컴포지트 : 여러 객체를 가지 복합, 단일 객체를 구분 없이 다룸.

 - 데코레이터 : 상속하지 않고도 객체의 기능을 동적으로 확장.

 - 퍼싸드 : 서브 클래스들의 기능을 간편하게 사용.

 - 플라이웨이트 : 공유해서 사용함으로써 메모리를 절약.

 - 프록시 : 접근이 어려운 객체를 연결. 인터페이스 역할.

 

위에 속하지 않으면 행위 패턴.

 

 

 

요구사항 검증 방법

 - 동료 검토 : 요구사항 명세서 작성자가 내용을 직접 설명하고 동료들이 들어면서 결함을 발견.

 - 워크 스루 : 검토회의 전에 요구사항 명세서를 미리 배포해 사전 검토. 짧은 검토 회의.

 - 인스펙션 : 작성자을 제외한 전문가들이 검토.

 

 

 

원격 프로시저 호출 (RPC) : 원격 프로시저를 로컬 프로시저처럼 호출.

 

메시지 지향 미들웨어 (MOM) : 메시지 기반의 비동기형 메시지 전달.

 

트랜잭션 처리 모니터 (TP-Moniter) : 항공기나 철도 예약 등 빠른 응답 속도를 유지해야 하는 업무에 사용.

 

객체 요청 브로커 (ORB) : 객체 지향 미들웨어. CORBA 표준 스펙.