본문 바로가기

정보처리기사 (필기)/2. 소프트웨어 개발

[정보처리기사] CBT 모의고사 202108~202203 개념 - 2과목

2. 소프트웨어 개발

 

21. 클린코드 (Clean Code) 작성 원칙

2022년 03월 05일 기출

① 추상화 : 상위 클래스; 프로그램 특성만 간략하게, 하위 클래스; 세부적 내용 구현

② 의존성 (배제) : 다른 모듈에 미치는 영향을 최소화하여 코드 변경시 영향이 가지 않도록

③ 중복성 (최소화) : 코드의 중복을 최소화

④ 가독성 : 누구든지 읽기 쉽게 작성

⑤ 단순성 : 코드를 단순하게 작성(프로그램을 최소단위로 분리해 작업을 한번에 하나씩 처리하도록)

22. 테스트

2022년 03월 05일 기출

① 테스트 스텁(Test Stub) : 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로, 일시적으로 필요한 조건만을 가지고 있는 테스트용 모듈

② 테스트 드라이버(Test Driver) : 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합

③ 테스트 슈트(Test Suites) : 사용자의 요구사항을 정확히 준수했는지 확인하기 위한 입력 값, 실행조건, 기대결과 등으로 만들어진 테스트 항목의 명세서

④ 테스트 케이스(Test Case) : 테스트의 대상이 되는 하위 모듈을 호출하고, 파라미터를 전달하는 가상의 모듈로 상향식 테스트에 필요

23. 스택 (Stack)

2022년 03월 05일 기출

  • 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어짐
  • 가장 나중에 삽입된 자료가 가장 먼저 삭제되는 후입선출 (LIFO : Last In First Out)
  • TOP : 마지막으로 삽입된 자료가 기억 된 위치 (=스택 포인터)
  • BOTTOM : 스택의 가장 밑바닥
  • overflow : 스택이 차있을 때 top poiner > m,  자료를 더이상 삽입할 수 없는 상태
  • underflow : top pointer = 0, 자료를 더이상 삭제할 수 없는 상태

26. 선형, 비선형, 파일구조

2021년 08월 14일 기출

  • 선형구조 : 리스트, 스택, 큐, 데크
  • 비선형구조 : 트리, 그래프
  • 파일구조 : 순차파일, 색이파일, 직접파일

29. 소프트웨어 패키징

2022년 03월 05일 기출

  • 소프트웨어 패키징은 소비자 중심으로 진행
  • 신규 및 변경 개발 소스를 식별하고, 이를 모듈화하여 상용제품으로 패키징
  • 고객의 편의성을 위한 매뉴얼 및 버전관리를 지속적으로 진행
  • 범용환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행됨

30. 소프트웨어 테스트

2021년 08월 14일 기출

  • 고객의 요구사항을 만족시키는지 확인(Validation) : 사용자 입장
  • 기능을 정확히 수행하는지 검증(Verification) : 개발자 입장
  • 정적 테스트 : 워크스루, 인스펙션, 코드검사, 개발 초기결함 발견, 개발비용 낮음
  • 동적 테스트 : 블랙박스, 화이트박스, 개발의 모든 단계에서 가능 
  • 통합테스트 : 단위 테스트 후 모듈을 통합하는 과정에서 발생하는 오류 및 결함을 찾는 테스트 기법
  • 비점진적 : 소규모에 유리, 단시간 내 테스트 가능
  • 점진적 : 하향식, 상향식, 혼합식 통합 방식이 있음, 모듈단위로 단계적으로 테스트
  • 하향식 : 상위에서 하위, 깊이우선, 넓이우선, 스텁 사용
  • 상향식 : 하위에서 상위, 클러스터, 드라이버 사용

32. 형상관리

2021년 08월 14일 기출

  • 소프트웨어의 변경 사항을 체계적으로 추적하고 통제하는 것 (버전관리보다 포괄적인 개념)
  • 형상 관리 절차: 형상 식별 -> 형상 통제 -> 형상 감사 -> 형상 기록/보고
  • 형상식별 : 형상관리 대상 구분
  • 형상통제 : 소프트웨어 형상 변경 제안을 검토, 현재 소프트웨어 기준선(Baseline)에 반영하도록 통제, 형상통제위원회의 승인을 통한 변경 통제가 이루어짐
  • 형상감사 : 검토, 승인, 제 3 자의 객관적인 확인 및 검증과정에서 무결성을 확보하는 활동
  • 형상 기록/보고 : 소프트웨어 개발 상태에 대한 보고서 제공

34. 프로그램 설계도의 하나인 NS Chart에 대한 설명

2022년 03월 05일 기출

  • NS-Chart(Nassi-Schneiderman Chart)
  • 3가지 기본구조만으로 논리를 표현(표준화 가능)
  • Flow Chart의 최대 단점인 화살표가 표시되지 않음
  • 기본구조의 입구와 출구는 각 하나씩
  • 전체적인 알고리즘을 일목요연하게 볼 수 있음

36. 품질 목표

2021년 08월 14일 기출

* 이식성(Portability): 다양한 하드웨어 환경에서도 운용 가능하도록 쉽게 수정될 수 있는 능력

* 품질목표항목 : 정확성, 신뢰성, 효율성, 무결성, 유지보수 용이성, 사용 용이성, 검사 용이성, 이식성, 상호 운용성, 유연성, 재사용성

① 효율성(Efficiency): 최소의 작업으로 요구되는 기능을 수행하는 정도

② 사용 용이성(Usability): 소프트웨어를 쉽게 사용할 수 있는 정도

③ 정확성(Correctness): 사용자의 요구사항을 충족시키는 정도

37.  검색 효율이 가장 나쁜 트리 구조

2021년 08월 14일 기출

  • 최악의 경우에서 검색 시간복잡도?
  • 이진 탐색트리: O(n) : 효율이 나쁜 트리 구조
  • AVL트리: O(log n)
  • 2-3트리: O(log 3n)
  • 레드 블랙 트리:  O(log n)

38. 소프트웨어 품질 관련 국제 표준인 ISO/IEC 25000에 관한 설명으로 옳은 것?

2022년 03월 05일 기출

  • 소프트웨어 품질 평가를 위한 소프트웨어 품질평가 통합모델 표준이다.
  • System and Software Quality Requirements and Evaluation으로 줄여서 SQuaRE라고도 한다.
  • 기존 소프트웨어 품질 평가 모델과 소프트웨어 평가 절차 모델인 ISO/IEC 9126과 ISO/IEC 14598을 통합하였다.
  • 여러 표준 문서를 통합하고 재구성하여 만든 표준 문서
  • 품질 관리, 품질 모형, 품질 측정, 품질 정의, 품질 평가
  • 틀린 것 : ISO/IEC 2501n에서는 소프트웨어의 내부 측정, 외부측정, 사용품질 측정, 품질 측정 요소 등을 다룬다.

39. 코드 인스펙션

2022년 03월 05일 기출

  • 결함 뿐만 아니라 모든 것이 표준대로 되어 있는 지 확인하기 위한 검토
  • 표준이나 명세서에 서술항 내용과 비교하여 편차와 에러를 식별하기 위해 산출물을 근거로 수행하는 검사
  • 정적 테스트에 가까움