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일 기출
- 결함 뿐만 아니라 모든 것이 표준대로 되어 있는 지 확인하기 위한 검토
- 표준이나 명세서에 서술항 내용과 비교하여 편차와 에러를 식별하기 위해 산출물을 근거로 수행하는 검사
- 정적 테스트에 가까움
'정보처리기사 (필기) > 2. 소프트웨어 개발' 카테고리의 다른 글
[정보처리기사] 2-5. 애플리케이션 테스트 (0) | 2022.04.21 |
---|---|
[정보처리기사] 2-4. 형상관리 / 버전 관리 도구 / 빌드 자동화 도구 (0) | 2022.04.21 |
[정보처리기사] 2-3. 디지털 저작권 관리 (DRM: Digital Right Management) (0) | 2022.04.21 |
[정보처리기사] 2-2. 데이터베이스 / DBMS / 데이터 입출력 (0) | 2022.04.21 |
[정보처리기사] 2-1. 자료구조 (0) | 2022.04.21 |