본문 바로가기

자격증/정보처리기사

[정보처리기사] 2020/09/26 _ 오답노트1

728x90

좀 더 노력하세요. 화이팅~!

1. XP (EXtreme Programming)

  • Pair Programming : 하나의 컴퓨터에 2명의 프로그래머가 같이 공동 작업 진행
  • Collective Ownership : 소스코드에 대한 팀의 공통책임자 코드는 누구든지 수정 가능
  • Continuous Integration : 컴포넌트 또는 모듈 단위로 나누어 개발된 코드들은 하나의 작업이 끝날 때 마다 지속적으로 통합되고 동시 테스트
  • 단순성, 의사소통, 피드백, 용기
  • 애자일 방법론은 소프트웨어 개발 방법에 있어 아무 계획 없는 개발 방법과 계획이 지나치게 많은 개발 방법 사이에서 타협점을 찾고자 하는 방법론으로 적은 규모의 개발 프로젝트에 적용하기 좋다.
  • Linear Sequential Method : 순차적 방법

2. 럼바우 객체지향 분석 기법 중 '동적 모델링'에 활용되는 다이어그램

  • 상태 다이어그램(State Diagram)
  • 동적 모델링은 상태 다이어그램(상태도)를 이용해 시간 흐름에 따른 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현하는 모델링을 말한다.
  • 객체 모델링 : 객체 다이어그램, 가장 중요시 선행
  • 동적 모델링 : 상태 다이어그램, 동적인 흐름 행위
  • 기능 모델링 : 자료의 흐름을 이용하여 프로세스간의 자료 흐름 처리

9. DFD (data flow diagram)

  • 자료 흐름 그래프 또는 버블 차트라고 한다.
  • 구조적 분석 기법에 이용된다.
  • DFD의 요소는 화살표, 원, 사각형, 직선으로 표시한다.
  • DFD는 시간 흐름을 명확히 표현 할 수 없다.
  • 자료에 대한 흐름을 표현하며 구조적 분석기법에 이용된다.

11. UML의 기본 구성요소

  • Things : 사물
  • Relationship : 관계
  • Diagram : 다이어그램

12. 소프트웨어의 상위 설계

  • 아키텍처 설계
  • 데이터 설계
  • 시스템 분할
  • 인터페이스 정의
  • 사용자 인터페이스 설계 (UI 설계)

12-1. 소프트웨어의 하위 설계

  • 모듈 설계
  • 인터페이스 작성

14. 소프트웨어의 사용자 인터페이스 개발 시스템(User Interface Development System)이 가져야 할 기능

  • 사용자 입력의 검증
  • 에러 처리와 에러 메시지 처리
  • 도움과 프롬프트 제공
  • 소스 코드 분석 및 오류 복구 : 백엔드에서 컴파일러가 하는 역할

15. 요구 사항 명세기법

  • 정형 명세기법
    • 수학적 기반 / 모델링 기반
    • Z, VDM, Petri-Net (모형 기반)
    • CSP, CCS, LOTOS (대수적 방법)
    • 시스템 요구특성이 정확하고 명세가 간결. 명세와 구현이 일치
    • 이해도가 낮으며 이해관계자의 작성 부담 가중
  • 비정형 명세기법
    • 상태, 기능, 객체 중심 명세법
    • 사용자의 요구를 표현 할 때 자연어 기반
    • 불충분한 명세가능성, 모호성
    • ER 모델링
    • 명세 작성이 간편하고 의사전달 방법이 다양

17. 애자일 방법론

  • 익스트림 프로그래밍
  • 스크럼
  • 익스트림 모델링
  • 크리스털 패밀리
  • 기능 중심 개발

19. GoF(Gangs of Four) 디자인 패턴 분류

  • 생성 패턴 (추상 팩토리)
  • 구조 패턴
  • 행위 패턴

24. 사용자가 개발자 앞에서 행하는 검사

  • 알파검사

29. 인터페이스 구현 검증 도구

  • xUnit
  • STAF
  • NTAF
  • Watir
  • FitNesse
  • Selerium

30. 소프트웨어 형상 관리의 관리 항목

  • 소스 코드
  • 프로젝트 요구 분석서
  • 운영 및 설치 지침서

34. 테스트 오라클

  • 테스트의 결과가 참인지 거짓인지 판단하기 위해 사전에 정의된 참값을 입력하여 비교하는 기법 및 활동
  • 종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재

35. 빌드 자동화 도구

  • 빌드를 포함하여 테스트 및 배포를 자동화하는 도구
  • 지속적인 통합개발환경에서 유용하게 활용
  • Ant, Make, aven, Gradle, Jenkins

35-1. Jenkins

  • JAVA 기반의 오픈소스 형태
  • 서블릿 컨테이너에서 실행되는 서버 기반 도구
  • 분산 빌드나 테스트 가능

35-2. Gradle

  • Groovy를 기반으로 한 오픈 소스 형태
  • 안드로이드 앱 개발 환경에서 사용
  • 행할 처리 명령들을 모아 태스크로 만든 후 태스크 단위로 실행

37. 블랙박스 테스트 기법

  • 동치 클래스 분해
  • 경계값 분석
  • 원인 결과 그래프

37-1. 화이트 박스 테스트 기법

  • 기초 경로 검사

38. 폴딩법

  • 해싱함수 중 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 사용하는 방식

39. 클린 코드 작성 원칙

  • 가독성
  • 단순성 : 한번에 한 가지 처리만 수행, 클래스/메소드/함수 등을 최소 단위로 분리
  • 의존성 배제 : 코드가 다른 모듈에 미치는 영향 최소화
  • 중복성 최소화
  • 추상화 : 상위 클래스/메소드/함수에서는 간략하게 애플리케이션 특성을 나타내고 상세 내용은 하위 클래스/메소드/함수에서 구현

41. 트랜잭션의 특징

  • Durability (연속성, 지속성) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다.
  • Isolation (독립성, 격리성)
  • Consistency (일관성) : 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 수행 완료 후의 상태가 같아야 한다.
  • Atomicity (원자성) : 트랜잭션의 연산은 모두 실행되거나 모두 실행되지 않아야 한다.

42. 데이터 모델링 기법

  • 인덱스 정규화
  • 반정규화 : 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법
  • 집단화 
  • 머징

52. 로킹 (Locking)

  • 로킹의 대상이 되는 객체의 크기를 로킹 단위라고 한다.
  • 로킹 단위가 작으면 로크의 수가 많아지고 제어 기법이 까다로워지며 병행성이 높아진다.
  • 데이터베이스도 로킹 단위가 될 수 있다.
  • 로킹 단위가 커지면 로크의 수가 작아 로킹 오버헤드가 감소한다.

54. 뷰 (View)

  • 뷰 위에 다른 뷰 정의 가능
  • 삽입, 갱신, 삭제 연산의 제약
  • 뷰의 정의를 변경하려면 삭제 후 재생성 해야 함
  • 뷰가 정의된 기본 테이블이 제거되면 뷰도 자동적으로 제거

59. 릴레이션의 차수

  • Degree
  • 속성

64. 운영체제에서 커널의 기능

  • 프로세스 관리 : 프로세스 생성, 종료 
  • 기억장치 관리 : 기억장치 할당, 회수
  • 파일 관리 : 파일 시스템 관리
  • 입출력 관리
  • 프로세스간 통신
  • 데이터 전송 및 변환

73. 결합도

자료결합도 (Data Coupling)

어떤 모듈이 다른 모듈을 호출하면서 매개 변수나 인수로 데이터를 넘겨주고, 호출 받은 모듈은 받은 데이터에 대한 처리 결과를 다시 돌려준다.

스탬프 결합도 (Stamp Coupling)

두 모듈이 매개변수로 자료를 전달 할 때, 자료구조 형태로 전달되어 이용되는 것을 말한다.

제어 결합도 (Control Coupling)

한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어 이를 통제하는 경우나 처리 기능이 두 모듈에 분리되어 설계된 경우에 발생한다.

외부 결합도 (External Coupling)

어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 때의 결합도이다.

공통 결합도 (Common Coupling)

두 모듈이 동일한 전역 데이터를 접근한다면 공통결합되어 있다고 한다.

내용 결합도 (Content Coupling)

하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.

74. 응집도

  • 기능적 응집도(Functional Cohesion) : 모듈 내 모든 요소들이 단일 기능을 수행
  • 순차적 응집도(Sequential Cohesion) : 모듈 내의 한 요소의 출력 자료가 다음 요소의 입력 자료로 사용
  • 교환적 응집도(Communication Cohesion) : 모듈 내의 요소들이 동일한 입출력 자료로 서로 다른 기능을 수행
  • 절차적 응집도(Procedural Cohesion) : 모듈 수행 요소들이 반드시 특정 순서대로 수행
  • 시간적 응집도(Temporal Cohesion) : 특정 시간에 실행되는 기능들을 모아 작성된 모듈
  • 논리적 응집도(Logical Cohesion) : 논리적으로 유사한 기능을 수행 하지만 서로의 관계는 밀접하지 않음
  • 우연적 응집도(Coincidental Cohesion) : 모듈 내 요소들이 뚜렷한 관계가 없이 존재, 어떠한 의미 있는 연관관계도 지니지 않은 기능 요소로 구성되고 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행하는 경우

80. PHP 연산자

  • @ : 에러 제어 연산자
  • < > : 관계 연산자
  • === : 관계 연산자

 

82. CMM (Capability Maturity Model)

  • 초기 단계
  • 관리 단계
  • 정의 단계
  • 정량적 관리 단계
  • 최적화 단계

84. SOA (Service Oriented Architecture, 서비스 지향 아키텍처)

  • 표현 계층
  • 프로세스 계층
  • 서비스 계층
  • 비즈니스 계층
  • 영속 계층

100. SPICE

  • 소프트웨어 프로세스에 대한 개선 및 능력 측정 기준에 대한 국제 표준

 

728x90
반응형

'자격증 > 정보처리기사' 카테고리의 다른 글

[정보처리기사] 필기 정리  (0) 2021.03.05