본문 바로가기
정보처리기사, 정보처리산업기사

[정보처리기사/ 정보처리산업기사] 개정 후 실기 기출 문제 정리 요약본 1탄

by 시스코킹 2021. 6. 30.
반응형

 

스크럼 개발 프로세스 ( )

스프린트 계획 회의 -> 스프린트 -> 일일 스크럼 회의 -> 스프린트 검토 회의 -> 스프린트 회고

 

 

 

XP 핵심 가치 ( )

의사소통, 단순성, 용기, 존중, 피드백

 

 

 

요구사항 개발 프로세스 ( )

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

 

 

 

UML

  • 사물 : 구조, 행동, 그룹, 주해
  • 관계 : 집합(), 포함(), 의존(<·······), 일반화(), 실체화(---)
  • 다이어그램

 

 

UI

  • 와이어프레임 : 뼈대
  • 목업 : 정적형태
  • 스토리보드 : 와이어프레임 + 이동 흐름, 설명
  • 프로토 타입 : 인터랙션, 테스트

 

 

 

품질 요구사항

  • 기능성(적합성, 정밀성, 상호운용성, 보안성, 호환성)
  • 신뢰성(성숙성, 고장 허용성, 회복성)
  • 사용성(이해성, 학습성, 운용성, 친밀성)
  • 효율성(시간 / 자원 효율성)
  • 유지보수성(분석성, 변경성, 안정성, 시험성)
  • 이식성(적용성, 설치성, 대체성, 공존성)

 

 

 

소프트웨어 아키텍쳐

  • 모듈화 : 모듈의 개수와 크기는 반비례, 개수와 비용은 비례
  • 추상화 : 세분화하여 구체화

 

 

아키텍쳐 패턴

  • 레이어 패턴
  • 클라이언트 서버
  • 파이프 필터
  • MVC(모델 컨트롤러) 패턴
  • 마스터-슬레이브 : 작업 분할 다시 돌려받음
  • 브로커 패턴 : 브로커 컴포넌트가 요청에 맞는 컴포넌트 연결
  • 피어투피어 패턴 : 피어가 서버도 되고 클라이언트도
  • 이벤트 버스 : 구독한 리스너에게 메시지 받아 이벤트 처리
  • 블랙보드 : 검색을 통해 블랙보드에서 데이터 찾음

 

 

모듈

  • 결합도는 약하게 응집도는 강하게
  • 결합도 : 모듈 간의 관계
  • 응집도 : 모듈 내부 요소가 관련된 정도

 

 

디자인 패턴

  • GoF(Gangs of Four) 디자인 패턴 분류
    1.
    생성 패턴
    2.
    구조 패턴
    3.
    행위 패턴
  •  
  • 생성 패턴
  • 구조 패턴 : 클래스나 객체들을 조합하여 구조로 만들 있게 해주는 패턴
  • 행위 패턴 :클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의한 패턴

 

 

 

요구사항 검증 방법

  • 동료 검토 : 직접 설명하는걸 동료들이 들으면서 결함 발견
  • 워크 스루 : 미리 배포하여 사전 검토 짧은 회의를 통해 발견
  • 인스펙션 : 검토 전문가들이 발견
  • CASE : 일관성 분석을 통해 표준 준수 여부 확인

 

 

 

시스템 연계 기술

  • DB Link, API/Open API, EAI(송수신 처리 현황 모니터링, 통제), Socket, Web Service

 

 

 

미들웨어

  • RPC : 프로시저를 사용하여 원격 프로시저를 로컬 프로시저처럼 호출
  • MOM : 메시지 기반의 비동기형 메시지 전달
  • TP-Monitor : 트랜잭션 처리 감시
  • ORB : 객체 지향 미들웨어
  • WAS : 동적인 콘텐츠 처리

 

 

 

 

 

 

자료구조

·        배열 : 첨자로 접근

·        선형 리스트

o   연속 리스트 : 배열을 이용, 삽입 / 삭제 자료 이동 용이

o   연결 리스트 : 포인터 이용, 접근 속도 느리고 기억 공간 효율이 좋지 않음

·        스택 : LIFO

·        : FIFO

·        트리

o   노드와 가지를 이용하여 구성

o   트리의 디그리 : 노드들 디그리 가장 많은

 

 

 

데이터베이스의 정의

·        통합된 데이터 : 중복 최소화

·        저장된 데이터 : 저장 매체 저장

·        운영 데이터 : 고유한 업무 수행

·        공용 데이터 : 여러 시스템 공동 소유

 

 

 

DBMS 기능

·        정의 : 타입 구조 명시하는 기능 (DDL)

·        조작 : 검색, 갱신, 삭제, 삽입하는 기능 (DML)

·        제어 : 무결성 유지, 보안 유지, 권한 검사, 병행 제어 (DCL)

 

 

 

트랜잭션

·        하나의 논리적 기능 수행 작업 단위

·        한꺼번에 수행될 일련의 연산

·        TCL : COMMIT, ROLLBACK, SAVEPOINT

 

 

테스트 케이스

·        테스트 항목에 대한 명세서

·        입력 데이터, 테스트 조건, 예상 결과를 모아 만듬

·        계획/제어 -> 분석/설계 -> 구현/실현 -> 평가 -> 완료

 

 

 

빌드 도구

·        소스 코드를 소프트웨어로 변환

·        Ant : 자바 빌드

·        Maven : Ant 대안 의존성 라이브러리 관리

·        Gradle : 안드로이드 스튜디오

 

 

 

디지털 저작권 관리

·        클리어링 하우스 : 사용 권한, 라이선스 발급, 사용량에 따른 결제 관리 수행

·        콘텐츠 제공자 : 저작권자

·        패키저 : 암호화 프로그램

·        콘텐츠 분배자 : 암호화 콘텐츠 유통

·        콘텐츠 소비자 : 콘텐츠 사용

·        DRM 콘트롤러 : 콘텐츠 이용 권한 통제 프로그램

·        보안 컨테이너 : 콘텐츠 원본 전자적 보안 장치

 

 

 

소프트웨어 버전 등록

·        Import( 저장소에 파일 복사) -> checkout(저장소에서 소스 파일 버전 관리 파일 받음) -> commit(갱신) -> update(저장소의 최신 버전 동기화) -> diff

 

 

 

 

버전 관리 도구

·        공유 폴더 방식

·        클라이언트 / 서버 방식

o   서버의 자료를 복사하여 작업 서버에 반영

o   서버에서 버전 관리

o   SVN : trunk 에서 작업 추가 작업은 branches 디렉토리 안에 작업 trunk 병합, 리버전

·        분산 저장소 방식

o   하나의 원격 저장소와 분산된 PC 로컬 저장소에 함께 저장되어 관리

o   Git : 브랜치를 이용하여 다양한 형태의 테스트, 스냅샷

 

 

 

 

애플리케이션 테스트

·        확인(Validation) : 사용자 입장에서 요구사항을 만족하는지

·        검증(Verification) : 개발자 입장에서 명세서에 맞게 만들어 졌는지

·        pareto 법칙 : 애플리케이션의 20% 코드에서 80% 결함이 발견

·        정적 테스트 : 프로그램 실행 없이 소스코드나 명세서 분석

·        동적 테스트 : 프로그램 실행

·        화이트박스 테스트 : 원시 코드를 오픈하여 모든 경로를 실행하면서 테스트

o   검사, 검사, 이터 흐름 검사

o   문장 검증 기준, 분기 검증 기준, 조건 검증 기준, 분기/조건 검증 기준

·        블랙박스 테스트 : 특정 기능이 작동되는 것을 입증하는 테스트

o   동등 분할 검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사

·        단위 테스트 -> 통합 테스트 -> 시스템 테스트 -> 인수 테스트

·        통합 테스트 : 모듈 상호 작용 오류 검사

o   점진적 : 미리 결합되어 있는 것을 테스트, 통합

o   점진적 : 모듈 단위로 통합하면서 테스트, 하향식, 상향식, 혼합식

§  하향식 : 상위 모듈에서 하위 모듈 방향, 스텁

§  상향식 : 하위 모듈에서 상위 모듈 방향, 드라이버

§  혼합식 : 샌드위치 통합 테스트

·        인수 테스트 : 사용자의 요구사항을 만족하는지 테스트

o   알파테스트 : 개발된 환경에서 개발자 앞에서

o   베타테스트 : 사용자 환경에서 사용자가 직접

 

 

 

테스트 오라클

·        정의된 값을 대입하여 비교

·        제한된 검증, 수학적 기법, 자동화 기능

·        오라클, 샘플링 오라클, 추정 오라클, 일관성 검사 오라클

 

 

모듈 연계

·        EAI : 기업 상호 연동이 가능하게 해주는 솔루션

o   point to point, Hub & Spoke, Message Bus, Hybrid

·        ESB : 애플리케이션 표준 기반 인터페이스 제공

 

 

인터페이스 구현 검증 도구

·        xUnit : java, C++, .Net

·        STAF : 서비스 호출 컴포넌트 재사용

·        FitNesse : 기반

·        NTAF : FitNess + STAF, NHN 프레임워크

·        Selenium : 다양한 브라우저 개발 언어

·        watir : Ruby

 

 

 

1. 연상 코드: 항목의 명칭이나 약호와 관계 있는 숫자, 문자, 기호를 이용하여 코드를 부여하는 방법

2. 블록 코드: 대상 항목에서 공통적인 것을 블록으로 구분하고 블록 내에 일련 번호를 부여하는 방법

3. 순차 코드: 일정 기준에 따라 최초의 자료부터 일련번호를 부여하는 방법

4. 표의 숫자 코드: 길이 넓이 부피 등 항목의 성질의 물리적인 수치를 그대로 코드에 적용시키는 방법

 

 

 

 

* 럼바우(Rumbaugh)의 분석 기법
  
가장 일반적으로 사용되는 방법, 분석 활동을 체 모델, 적 모델, 능 모델로 나누어 수행함. 모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링, 객체 모델링 기법(OMT)이라고도 함.

-
객체 모델링(Object Modeling) = 정보 모델링
  
시스템에서 요구되는 객체를 찾아내 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체 다이어그램으로 표시함, 분석 활동의 세 가지 모델 중 가장 중요!

-
동적 모델링(Dynamic Modeling)
  
상태 다이어그램(상태도)를 이용하여 시간의 흐름에 따른 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현함

-
기능 모델링(Function Modeling)
  
자료 흐름도(DFD)를 이용하여 다수의 프로세스들 간의 자료 흐름 중심으로 처리 과정을 표현함.

 

 

 

*ORB(Object Request Broker)
객체 지향 미들웨어로 코바(CORBA) 표준 스펙을 구현함
최근 TP-Monitor의 장점인 트랜잭션 처리와 모니터링 등을 추가로 구현한 제품이 있음

* UML 확장 모델: 스테레오 타입 객체 표현기호= << >>

 

 

 

* 자료 사전

정의 =
구성,연결 +
반복 { }
주석 **
선택 []
생략 ( )

 

 

 

 

* 협약에 의한 설계의 세 가지 타입: (선 결 불)
-
선행조건(precondition): 오퍼레이션이 호출되기 전에 참이 되어야 할 조건
-
결과조건(postcondition): 오퍼레이션이 수행된 후 만족하여야 하는 조건
-
불변조건(invariant): 클래스 내부가 실행되는 동안 항상 만족하여야 하는 조건(: 리스트에 있는 노드가 항상 오름차순으로 되어야 함)

 

 

 

 

* UML 구조 다이어그램(structure diagram)은 시간에 독립적이고 시스템의 개념과 어떻게 각각이 연결되어 있는지를 전달하는 방법을 나타낸다.
구조 다이어그램은

클래스(Class), 객체(object), 복합체 구조(Composite Structure), 배치(Deployment),

컴포넌트(Component), 패키지(Package) 다이어그램 이 있다.

 

Activity Diagram -> Behavioral Diagram에 속한다.

 

 

 

* 객체지향 설계원칙
1.
단일 책임 원칙(SRP, Single Responsibility Principle)
객체는 단 하나의 책임만 가져야 한다.

2.
개방-폐쇄의 원칙(OCP, Open Closed Principle)
기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다.

3.
리스코프 치환 원칙(LSP, Liskov Substitution Principle)
일반화 관계에 대한 이야기며, 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다.

4.
인터페이스 분리 원칙(ISP, Interface Segregation Principle)
인터페이스를 클라이언트에 특화되도록 분리시키라는 설계 원칙이다.

5.
의존 역전 원칙(DIP, Dependency Inversion Principle)
의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 것.

 

 

 

 

* 자료 흐름도 구성 요소
-
프로세스 (Process)
-
자료 흐름(Data Flow)
-
자료 저장소(Data Store)
-
단말(Terminator)

 

 

-Rumbaugh - 가장 일반적으로 사용되는 방법으로 분석 활동을 객체/동적/기능 모델로 나누어 수행하는 방법
-Booch -
미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석방법
-Jacobson - Use Case
를 강조하여 사용하는 분석방법
-Coad
Yourdon - E-R다이어그램을 사용하여 개체의 활동들을 데이터 모델링하는데 초점을 둔 기법
-Wirfs-Brock - :
분석과 설계간의 구분이 없고 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법

 

 

 

 

선택정렬 : O(n^2)
삽입정렬 : O(n^2)
버블정렬 : O(n^2)
합병정렬 : O(Nlog2N)

 

 

 

 

* 소스코드 품질분석 도구

정적 분석 도구 - pmd, checkstyle, cppcheck, SonarQube, ccm

 

 

 

* V(G) = Edge - Node + 2

Edge = 6 (화살표)   /   Node = 4 (동그라미)

 

 

 

* 반 정규화 유형 중 중복 테이블 추가 방법:
진행 테이블 추가 / 집계 테이블 추가 / 특정 부분만을 포함하는 테이블 추가

 

 

 

* 형상 관리 항목: (프로젝트 요구 분석서, 소스코드, 운영및설치지침서)

 

 

 

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

반응형

댓글