[정보처리기사 필기] 22년 1회 2과목 소프트웨어 개발
📍 22년 1회 2과목 소프트웨어 개발
📌 Q21.
클린코드를 작성하기 위한 원칙
추상화 : 상위 클래스를 통해 프로그램 특성만 간략하게, 하위클래스를 통해 세부적 내용 구현
의존성 : 다른 모듈에 미치는 영향을 최소화
가독성 : 누구든지 읽기 쉽게 작성
중복성 : 중복을 최소화 할 수 있는 코드 작성
📌 Q22.
테스트 드라이버 : 테스트의 대상이 되는 하위모듈을 호출하고 파라미터를 전달하는 가상의 모듈로 상향식테스트에 필요
테스트 스텁 : 하양식테스트에 필요
📌 Q23.
스택 : 인터럽트처리, 서브루틴 호출 작업에 응용
큐 : FIFO 방식, 뒤에서 노드가 삽입되며 앞에서 노드가 제거
데크 : 선형 리스트의 양쪽 끝에서 삽입과 삭제 모두 가능
📌 Q24.
모듈화의 장점 :
오류의 파급효과 최소화
기능의 분리가 가능해 인터페이스 단순
모듈의 지사용 가능으로 개발과 유지보수 용이
프로그램의 효율적인 관리
📌 Q25.
소프트웨어 프로젝트 관리 : 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템 개발
📌 Q26.
정형 기술 검토(FTR) :
의제 제한
논쟁과 반박을 제한
문제 영역을 명확히
참가자의 수 제한
📌 Q27.
Migration : 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환
📌 Q28.
프로그래밍 언어 선택시 고려 사항 :
개발 정보시스템의 특성, 컴파일러의 가용성, 사용자의 요구사항, (컴파일러의 독창성 X)
📌 Q29.
패키징 :
소비자 중심으로 진행
신규 및 변경 개발소스를 식별하고 이를 모듈화하여 상용제품으로 패키징
매뉴얼 및 버전관리를 지속적으로 함
범용 환경에서 사용 가능하도록 일반적인 배포 형태로 패키징 진행
📌 Q30.
선형 구조 : 리스트, 스택, 데크, 큐
비선형 구조 : 트리, 그래프
📌 Q31.
Alien Code : 오래되거나 참고문서 또는 개발자가 없어 유지보수작업이 어려운 프로그램
📌 Q32.
소프트웨어를 재사용함으로써 얻는 이점 :
생산성 증가, 프로젝트 문서 공유, 품질 향상
소프트웨어를 재사용함으로써 얻는 문제점 :
새로운 개발 방법론 도입 어려움
📌 Q33.
인터페이스 간의 통신을 위해 이용되는 데이터 포맷 :
JSON, XML, YAML, (AJTML X)
📌 Q34.
NS 차트 :
논리의 기술에 중점을 두고 도형을 이용한 표현방법
이해하기 쉽고 코드 변환 용이
연속, 선택, 반복 등의 제어 논리 구조 표현
GOTO나 화살표를 사용 X
📌 Q35.
스택
📌 Q36.
퀵 정렬(Quick Sort) : 분할 정복에 기반, 피벗 사용
📌 Q37.
화이트 박스 검사 : 데이터 흐름 검사, 루프 검사
블랙 박스 검사 : 동등 분할 검사, 경계값 분석, 원인 결과 그래프 기법, 오류예측 기법
📌 Q38.
ISO/IEC 25000 :
소프트웨어품질평가 통합 모델
SQuaRE라고도 함
ISO/IEC 9126, ISO/IEC 14598을 통합
📌 Q39.
코드 인스펙션 :
프로그램을 수행시켜보는 것 대신 읽어보고 눈으로 확인하는 방법
결함과 함께 코딩 표준 준수 여부, 효율성 등의 다른 품질 이슈 또한 검사
정적 테스트에 가까움
📌 Q40.
Risk Analysis :
내재된 위험요소 인식, 그 영향을 분석하여 이를 관리
프로젝트를 성공시키기 위해 위험 요소를 사전에 예측, 대비