출제기준(필기)

직무분야	정보통신		중직무분야	정보기술	자격종목		정보처리기사		적용기간		2020.1.1.∼2022.12.31.
○ 직무내용 : 정보시스템 등의 개발 요구사항을 이해하여 각 업무에 맞는 소프트웨어의 기능에 관한 설계, 구현 및 테스트를 수행하고 사용자에게 배포하며, 버전관리를 통해 제품의 성능을 향상시키고 서비스를 개선하는 직무이다.
필기검정방법		객관식				문제수		100		시험시간		2시간30분

필 기 과목명	출 제 문제수	주요항목	세부항목	세세항목
소프트 웨어 설계	20	1. 요구사항 확인	1. 현행 시스템 분석	1. 플랫폼 기능 분석 2. 플랫폼 성능 특성 분석 3. 운영체제 분석 4. 네트워크 분석 5. DBMS 분석 6. 비즈니스융합분석
			2. 요구사항 확인	1. 요구분석기법 2. UML 3. 애자일(Agile)
			3. 분석모델 확인	1. 모델링 기법 2. 분석자동화 도구 3. 요구사항 관리 도구
		2. 화면 설계	1. UI 요구사항 확인	1. UI 표준 2. UI 지침 3. 스토리보드
			2. UI 설계	1. 감성공학 2. UI 설계 도구
		3. 애플리케이션 설계	1. 공통 모듈 설계	1. 설계 모델링 2. 소프트웨어 아키텍처
			2. 객체지향 설계	1. 객체지향(OOP) 2. 디자인패턴
		4. 인터페이스 설계	1. 인터페이스 요구사항 확인	1. 내외부 인터페이스 요구사항 2. 요구공학
			2. 인터페이스 대상 식별	1. 시스템 아키텍처 2. 인터페이스 시스템
			3. 인터페이스 상세 설계	1. 내외부 송수신 2. 데이터 명세화 3. 오류 처리방안 명세화 4. 인터페이스 설계 5. 미들웨어 솔루션

필 기 과목명	출 제 문제수	주요항목	세부항목	세세항목
소프트 웨어 개발	20	1. 데이터 입출력 구현	1. 논리 데이터저장소 확인	1. 자료구조 2. 논리 데이터저장소
			2. 물리 데이터저장소 설계	1. 물리 데이터저장소 2. ORM(Object-Relational Mapping) 프레임워크 3. 트랜잭션 인터페이스
			3. 데이터 조작 프로시저 작성	1. 프로시저 2. 프로그램 디버깅 3. 단위테스트 도구
			4. 데이터 조작 프로시저 최적화	1. 쿼리(Query) 성능 측정 2. 소스코드 인스펙션
		2. 통합 구현	1. 모듈 구현	1. 단위모듈 구현 2. 단위모듈 테스트
			2. 통합 구현 관리	1. IDE 도구 2. 협업도구 3 형상관리 도구
		3. 제품소프트웨어 패키징	1. 제품소프트웨어 패키징	1. 애플리케이션 패키징 2. 애플리케이션 배포 도구 3. 애플리케이션 모니터링 도구 4. DRM
			2. 제품소프트웨어 매뉴얼 작성	1. 제품소프트웨어 매뉴얼 작성 2. 국제 표준 제품 품질 특성
			3. 제품소프트웨어 버전관리	1. 소프트웨어 버전관리 도구 2. 빌드 자동화 도구
		4. 애플리케이션 테스트 관리	1. 애플리케이션 테스트케이스 설계	1. 테스트 케이스 2. 테스트 레벨 3. 테스트 시나리오 4. 테스트 지식 체계
			2. 애플리케이션 통합 테스트	1. 결함관리 도구 2. 테스트 자동화 도구 3. 통합 테스트
			3. 애플리케이션 성능 개선	1. 알고리즘 2. 소스코드 품질분석 도구 3. 코드 최적화

필 기 과목명	출 제 문제수	주요항목	세부항목	세세항목
		5. 인터페이스 구현	1. 인터페이스 설계 확인	1. 인터페이스 기능 확인 2. 데이터 표준 확인
			2. 인터페이스 기능 구현	1. 인터페이스 보안 2. 소프트웨어 연계 테스트
			3. 인터페이스 구현 검증	1. 설계 산출물 2. 인터페이스 명세서

필 기 과목명	출 제 문제수	주요항목	세부항목	세세항목
데이터 베이스 구축	20	1. SQL 응용	1. 절차형 SQL 작성	1. 트리거 2. 이벤트 3. 사용자 정의 함수 4. SQL 문법
			2. 응용 SQL 작성	1. DML 2. DCL 3. 윈도우 함수 4. 그룹 함수 5. 오류 처리
		2. SQL 활용	1. 기본 SQL 작성	1. DDL 2 관계형 데이터 모델 3. 트랜잭션 4. 테이블 5. 데이터 사전
			2. 고급 SQL 작성	1. 뷰 2. 인덱스 3. 집합 연산자 4. 조인 5. 서브쿼리
		3. 논리 데이터베이스 설계	관계데이터베이스 모델	1. 관계 데이터 모델 2. 관계데이터언어(관계대수, 관계해석) 3. 시스템카탈로그와 뷰
			데이터모델링 및 설계	1. 데이터모델 개념 2. 개체-관계(E-R)모델 3. 논리적 데이터모델링 4. 데이터베이스 정규화 5. 논리 데이터모델 품질검증
		4. 물리 데이터베이스 설계	1. 물리요소 조사 분석	1. 스토리지 2. 분산 데이터베이스 3. 데이터베이스 이중화 구성 4. 데이터베이스 암호화 5. 접근제어
			2. 데이터베이스 물리속성 설계	1. 파티셔닝 2. 클러스터링 3. 데이터베이스 백업 4. 테이블 저장 사이징 5. 데이터 지역화(locality)
			3. 물리 데이터베이스 모델링	1. 데이터베이스 무결성 2. 칼럼 속성 3. 키 종류 4. 반정규화

필 기 과목명	출 제 문제수	주요항목	세부항목	세세항목
			4. 데이터베이스 반정규화	1. 정규화
			5. 물리데이터 모델 품질검토	1. 물리데이터 모델 품질 기준 2. 물리 E-R 다이어그램 3. CRUD 분석 4. SQL 성능 튜닝
		5. 데이터 전환	1. 데이터 전환 기술	1. 초기데이터 구축 2. ETL(Extraction, Transformation, Loading) 3. 파일 처리 기술
			2. 데이터 전환 수행	1. 데이터 전환 수행 계획 2. 체크리스트 3. 데이터 검증
			3. 데이터 정제	1. 데이터 정제 2. 데이터 품질 분석 3. 오류 데이터 측정

필 기 과목명	출 제 문제수	주요항목	세부항목	세세항목
프로그래밍 언어 활용	20	1. 서버프로그램 구현	1. 개발환경 구축	1. 개발환경 구축 2. 서버 개발 프레임워크
			2. 공통 모듈 구현	1. 재사용 2. 모듈화 3. 결합도 4. 응집도
			3. 서버 프로그램 구현	1. 보안 취약성 식별 2. API
			4. 배치 프로그램 구현	1. 배치 프로그램
		2. 프로그래밍 언어 활용	1. 기본문법 활용	1. 데이터 타입 2. 변수 3. 연산자
			2. 언어특성 활용	1. 절차적 프로그래밍 언어 2. 객체지향 프로그래밍 언어 3. 스크립트 언어 4. 선언형 언어
			3. 라이브러리 활용	1. 라이브러리 2. 데이터 입출력 3. 예외 처리 4. 프로토타입
		3. 응용 SW 기초 기술 활용	1. 운영체제 기초 활용	1. 운영체제 종류 2. 메모리 관리 3. 프로세스 스케쥴링 4. 환경변수 5. shell script
			2. 네트워크 기초 활용	1. 인터넷 구성의 개념 2. 네트워크 7 계층 3. IP 4. TCP/UDP
			3. 기본 개발환경 구축	1. 웹서버 2. DB서버 3. 패키지

필 기 과목명	출 제 문제수	주요항목	세부항목	세세항목
정보 시스템 구축관리	20	1. 소프트웨어개발 방법론 활용	1. 소프트웨어개발 방법론 선정	1. 소프트웨어 생명주기 모델 2. 소프트웨어 개발 방법론 3. 요구공학 방법론 4. 비용산정 모델
			2. 소프트웨어개발 방법론 테일러링	1. 소프트웨어 개발 표준 2. 테일러링 기준 3. 소프트웨어 개발 프레임워크
		2. IT프로젝트 정보시스템 구축관리	1. 네트워크 구축 관리	1. IT 신기술 및 네트워크 장비 트렌드 정보 2. 네트워크 장비(라우터, 백본 스위치 등)
			2. SW 구축 관리	1. IT 신기술 및 SW 개발 트렌드 정보 2. SW개발보안 정책
			3. HW 구축 관리	1. IT 신기술 및 서버장비 트렌드 정보 2. 서버장비 운영(Secure-OS, 운영체제, NAS, DAS, SAN, 고가용성 등)
			4. DB 구축 관리	1. IT 신기술 및 데이터베이스 기술 트렌드 정보 2. 데이터베이스 관리기능 3. 데이터베이스 표준화
		3. 소프트웨어 개발 보안 구축	1. SW개발 보안 설계	1. Secure SDLC(Software Development Life Cycle) 2. 입력데이터 검증 및 표현 3. 보안기능(인증, 접근제어, 기밀성, 권한 관리 등) 4. 에러처리 5. 세션통제
			2. SW개발 보안 구현	1. 암호 알고리즘 2. 코드오류 3. 캡슐화 4. API 오용
		4. 시스템 보안 구축	1. 시스템 보안 설계	1. 서비스 공격 유형 2. 서버 인증 3. 서버 접근통제 4. 보안 아키텍처 5. 보안 Framework
			2. 시스템 보안 구현	1. 로그 분석 2. 보안 솔루션 3. 취약점 분석

출제기준(실기)

직무분야	정보통신		중직무분야	정보기술	자격종목		정보처리기사	적용기간	20201.1.∼2022.12.31.
○ 직무내용 : 정보시스템 등의 개발 요구사항을 이해하여 각 업무에 맞는 소프트웨어의 기능에 관한 설계, 구현 및 테스트를 수행하고 사용자에게 배포하며, 버전관리를 통해 제품의 성능을 향상시키고 서비스를 개선하는 직무이다. ○ 수행준거 : 1. 업무 분석가가 수집·분석·정의한 요구사항과 이에 따른 분석모델에 대해서 확인과 현행 시스템에 대해 분석할 수 있다. 2. 응용소프트웨어가 다루어야 하는 데이터 및 이들 간의 연관성, 제약조건을 식별하여 논리적으로 조직화 하고, 소프트웨어 아키텍처에 기술된 데이터저장소에 조직화된 단위의 데이터가 저장될 최적화된 물리적 공간을 구성하고 데이터 조작언어를 이용하여 구현할 수 있다. 3. 모듈간의 분산이 이루어진 경우를 포함하여 단위 모듈간의 데이터 관계를 분석하여 이를 기반으로 한 메커니즘을 통해 모듈간의 효율적인 연계를 구현하고 검증할 수 있다. 4. 애플리케이션 설계를 기반으로 개발에 필요한 환경을 구성하고, 프로그래밍 언어와 도구를 활용하여 공통모듈, 업무프로그램과 배치 프로그램을 구현할 수 있다. 5. 모듈간의 분산이 이루어진 경우를 포함하여 단위 모듈간의 데이터 관계를 분석하고 이를 기반으로 한 메커니즘을 통해 모듈간의 효율적인 연계를 구현하고 검증할 수 있다. 6. 요구사항분석 단계에서 파악된 화면에 대한 요구사항을 소프트웨어 아키텍처 단계에서 정의된 구현 지침 및 UI/UX 엔지니어가 제시한 UI표준과 지침에 따라 화면을 설계할 수 있다. 7. 요구사항대로 응용소프트웨어가 구현되었는지를 검증하기 위해서 테스트케이스를 작성하고 개발자 통합 테스트를 수행하여 애플리케이션의 성능을 개선할 수 있다. 8. 관계형 데이터베이스에서 SQL을 사용하여 응용시스템의 요구기능에 적합한 데이터를 정의하고, 조작하며, 제어할 수 있다. 9. 정의된 보안요구사항에 따라 SW의 보안 요구사항을 명세하고 이에 따라 SW에 대한 보안을 설계, 구현, 테스트 할 수 있다. 10. 응용소프트웨어 개발에 사용되는 프로그래밍 언어의 기초문법을 적용하고 언어의 특징과 라이브러리를 활용하여 기본 응용소프트웨어를 구현할 수 있다. 11. 응용소프트웨어개발을 위하여 운영체제, 데이터베이스, 네트워크의 기초 기술을 적용하고 응용개발에 필요한 환경을 구축할 수 있다. 12. 개발이 완료된 제품소프트웨어를 고객에게 전달하기 위한 형태로 패키징하고, 설치와 사용에 필요한 제반 절차 및 환경 등 전체 내용을 포함하는 매뉴얼을 작성하며, 제품소프트웨어에 대한 패치 개발과 업그레이드를 위해 버전관리를 수행할 수 있다.
실기검정방법		필답형				시험시간		2시간 30분

실 기 과목명	주요항목	세부항목	세세항목
정보처리실무	1. 요구사항 확인	1. 현행 시스템 분석하기	1. 개발하고자 하는 응용소프트웨어에 대한 이해를 높이기 위해, 현행 시스템의 적용현황을 파악함으로써 개발범위와 향후 개발될 시스템으로의 이행방향성을 분석할 수 있다. 2. 개발하고자 하는 응용소프트웨어와 관련된 운영체제, 데이터베이스관리시스템, 미들웨어 등의 요구사항을 식별할 수 있다. 3. 현행 시스템을 분석하여, 개발하고자 하는 응용소프트웨어가 이후 적용될 목표시스템을 명확하고 구체적으로 기술할 수 있다.
		2. 요구사항 확인하기	1. 소프트웨어 공학기술의 요구사항 분석 기법을 활용하여 업무 분석가가 정의한 응용소프트웨어의 요구사항을 확인할 수 있다. 2. 업무 분석가가 분석한 요구사항에 대해 정의된 검증기준과 절차에 따라서 요구사항을 확인할 수 있다. 3. 업무 분석가가 수집하고 분석한 요구사항이 개발하고자 하는 응용소프트웨어에 미칠 영향에 대해서 검토하고 확인할 수 있다.

실 기 과목명	주요항목	세부항목	세세항목
		3. 분석모델 확인하기	1. 소프트웨어 공학기술의 요구사항 도출 기법을 활용하여 업무 분석가가 제시한 분석모델에 대해서 확인할 수 있다. 2. 업무 분석가가 제시한 분석모델이 개발할 응용소프트웨어에 미칠 영향을 검토하여 기술적인 타당성 조사를 할 수 있다. 3. 업무 분석가가 제시한 분석모델에 대해서 응용소프트웨어를 개발하기 위해 필요한 추가적인 의견을 제시할 수 있다.
	2. 데이터 입출력 구현	1. 논리 데이터저장소 확인하기	1. 업무 분석가, 데이터베이스 엔지니어가 작성한 논리 데이터저장소 설계 내역에서 정의된 데이터의 유형을 확인하고 식별할 수 있다. 2. 논리 데이터저장소 설계 내역에서 데이터의 논리적 단위와 데이터 간의 관계를 확인할 수 있다. 3. 논리 데이터저장소 설계 내역에서 데이터 또는 데이터간의 제약조건과 이들 간의 관계를 식별할 수 있다.
		2. 물리 데이터저장소 설계하기	1. 논리 데이터저장소 설계를 바탕으로 응용소프트웨어가 사용하는 데이터저장소의 특성을 반영한 물리 데이터저장소 설계를 수행할 수 있다. 2. 논리 데이터저장소 설계를 바탕으로 목표 시스템의 데이터 특성을 반영하여 최적화된 물리 데이터저장소를 설계할 수 있다. 3. 물리 데이터저장소 설계에 따라 데이터저장소에 실제 데이터가 저장될 물리적 공간을 구성할 수 있다.
		3. 데이터 조작 프로시저 작성하기	1. 응용소프트웨어 설계와 물리 데이터저장소 설계에 따라 데이터 저장소에 연결을 수행하는 프로시저를 작성할 수 있다. 2. 응용소프트웨어 설계와 물리 데이터저장소 설계에 따라 데이터 저장소로부터 데이터를 읽어 오는 프로시저를 작성할 수 있다. 3. 응용소프트웨어 설계와 물리 데이터저장소 설계에 따라 데이터 변경 내용 또는 신규 입력된 데이터를 데이터 저장소에 저장하는 프로시저를 작성할 수 있다. 4. 구현된 데이터 조작 프로시저를 테스트할 수 있는 테스트 케이스를 작성하고 단위 테스트를 수행하기 위한 테스트 조건을 명세화 할 수 있다.
		4. 데이터 조작 프로시저 최적화하기	1. 프로그래밍 언어와 도구에 대한 이해를 바탕으로 응용소프트웨어 설계, 물리 데이터저장소 설계와 운영 환경을 고려하여 데이터 조작 프로시저의 성능을 예측할 수 있다. 2. 업무 분석가에 의해 정의된 요구사항을 기준으로, 성능측정 도구를 활용하여 데이터 조작 프로시저의 성능을 측정할 수 있다. 3. 실 데이터를 기반으로 테스트를 수행하여 데이터 조작 프로시저의 성능에 영향을 주는 병목을 파악할 수 있다. 4. 테스트 결과와 정의된 요구사항을 기준으로 데이터조작 프로시저의 성능에 따른 이슈 발생 시 이에 대해 해결할 수 있다.

실 기 과목명	주요항목	세부항목	세세항목
	3. 통합 구현	1. 연계 데이터 구성하기	1. 개발하고자 하는 응용소프트웨어와 관련된 외부 및 내부 모듈 간의 데이터 연계 요구사항을 분석할 수 있다. 2. 개발하고자 하는 응용소프트웨어와 관련된 외부 및 내부 모듈 간의 연계가 필요한 데이터를 식별할 수 있다. 3. 개발하고자 하는 응용소프트웨어와 관련된 외부 및 내부 모듈 간의 연계를 위한 데이터 표준을 설계할 수 있다.
		2. 연계 매카니즘 구성하기	1. 개발하고자 하는 응용소프트웨어와 연계 대상 모듈 간의 특성을 고려하여 효율적 데이터 송수신 방법을 정의할 수 있다. 2. 개발하고자 하는 응용소프트웨어와 연계 대상 모듈 간의 데이터 연계 요구사항을 고려하여 연계주기를 정의할 수 있다. 3. 개발하고자하는 응용소프트웨어와 연계 대상 내외부 모듈 간의 연계 목적을 고려하여 데이터 연계 실패 시 처리방안을 정의할 수 있다. 4. 응용소프트웨어와 관련된 내외부 모듈 간의 연계 데이터의 중요성을 고려하여 송수신 시 보안을 적용할 수 있다.
		3. 내외부 연계 모듈 구현하기	1. 구성된 연계 메카니즘에 대한 명세서를 참조하여 연계모듈구현을 위한 논리적, 물리적 환경을 준비할 수 있다. 2. 구성된 연계 메카니즘에 대한 명세서를 참조하여 외부 시스템과의 연계 모듈을 구현할 수 있다. 3. 연계모듈의 안정적인 작동여부와 모듈 간 인터페이스를 통해 연동된 데이터의 무결성을 검증할 수 있다. 4. 구현된 연계모듈을 테스트할 수 있는 테스트 케이스를 작성하고 단위 테스트를 수행하기 위한 테스트 조건을 명세화 할 수 있다.
	4. 서버프로그램 구현	1. 개발환경 구축하기	1. 응용소프트웨어 개발에 필요한 하드웨어 및 소프트웨어의 필요 사항을 검토하고 이에 따라, 개발환경에 필요한 준비를 수행할 수 있다. 2. 응용소프트웨어 개발에 필요한 하드웨어 및 소프트웨어를 설치하고 설정하여 개발환경을 구축할 수 있다. 3. 사전에 수립된 형상관리 방침에 따라, 운영정책에 부합하는 형상관리 환경을 구축할 수 있다.
		2. 공통 모듈 구현하기	1. 공통 모듈의 상세 설계를 기반으로 프로그래밍 언어와 도구를 활용하여 업무 프로세스 및 서비스의 구현에 필요한 공통 모듈을 작성할 수 있다. 2. 소프트웨어 측정지표 중 모듈간의 결합도는 줄이고 개별 모듈들의 내부 응집도를 높인 공통모듈을 구현할 수 있다. 3. 개발된 공통 모듈의 내부 기능과 제공하는 인터페이스에 대해 테스트할 수 있는 테스트 케이스를 작성하고 단위 테스트를 수행하기 위한 테스트 조건을 명세화 할 수 있다.

실 기 과목명	주요항목	세부항목	세세항목
		3. 서버 프로그램 구현하기	1. 업무 프로세스 맵과 세부 업무 프로세스를 확인할 수 있다. 2. 세부 업무프로세스를 기반으로 프로그래밍 언어와 도구를 활용하여 서비스의 구현에 필요한 업무 프로그램을 구현할 수 있다. 3. 개발하고자 하는 목표 시스템의 잠재적 보안 취약성이 제거될 수 있도록 서버 프로그램을 구현할 수 있다. 4. 개발된 업무 프로그램의 내부 기능과 제공하는 인터페이스에 대해 테스트를 수행할 수 있다.
		4. 배치 프로그램 구현하기	1. 애플리케이션 설계를 기반으로 프로그래밍 언어와 도구를 활용하여 배치 프로그램 구현 기술에 부합하는 배치 프로그램을 구현 할 수 있다. 2. 목표 시스템을 구성하는 하위 시스템간의 연동 시, 안정적이고 안전하게 동작할 수 있는 배치 프로그램을 구현 할 수 있다. 3. 개발된 배치 프로그램을 테스트를 수행할 수 있다.
	5. 인터페이스 구현	1. 인터페이스 설계서 확인하기	1. 인터페이스 설계서를 기반으로 외부 및 내부 모듈 간의 공통적으로 제공되는 기능과 각 데이터의 인터페이스를 확인할 수 있다. 2. 개발하고자 하는 응용소프트웨어와 관련된 외부 및 내부 모듈 간의 연계가 필요한 인터페이스의 기능을 식별할 수 있다. 3. 개발하고자 하는 응용소프트웨어와 관련된 외부 및 내부 모듈 간의 인터페이스를 위한 데이터 표준을 확인할 수 있다.
		2. 인터페이스 기능 구현하기	1. 개발하고자 하는 응용소프트웨어와 연계 대상 모듈 간의 세부 설계서를 확인하여 일관되고 정형화된 인터페이스 기능 구현을 정의할 수 있다. 2. 개발하고자 하는 응용소프트웨어와 연계 대상 모듈 간의 세부 설계서를 확인하여 공통적인 인터페이스를 구현할 수 있다. 3. 개발하고자하는 응용소프트웨어와 연계 대상 내외부 모듈 간의 연계 목적을 고려하여 인터페이스 기능 구현 실패 시 예외처리방안을 정의할 수 있다. 4. 응용소프트웨어와 관련된 내외부 모듈 간의 연계 데이터의 중요성을 고려하여 인터페이스 보안 기능을 적용할 수 있다.
		3. 인터페이스 구현 검증하기	1. 구현된 인터페이스 명세서를 참조하여 구현 검증에 필요한 감시 및 도구를 준비할 수 있다. 2. 인터페이스 구현 검증을 위하여 외부 시스템과의 연계 모듈 상태를 확인할 수 있다. 3. 인터페이스 오류처리 사항을 확인하고 보고서를 작성할 수 있다.

실 기 과목명	주요항목	세부항목	세세항목
	6. 화면 설계	1. UI 요구사항 확인하기	1. 응용소프트웨어 개발을 위한 UI 표준 및 지침에 의거하여, 개발하고자 하는 응용소프트웨어에 적용될 UI 요구사항을 확인할 수 있다. 2. 응용소프트웨어 개발을 위한 UI 표준 및 지침에 의거하여, UI 요구사항을 반영한 프로토타입을 제작할 수 있다. 3. 작성한 프로토타입을 활용하여 UI/UX엔지니어와 향후 적용할 UI의 적정성에 대해 검토할 수 있다.
		2. UI 설계하기	1. UI 요구사항과 UI 표준 및 지침에 따라, 화면과 폼의 흐름을 설계하고, 제약사항을 화면과 폼 흐름 설계에 반영할 수 있다. 2. UI 요구사항과 UI 표준 및 지침에 따라, 사용자의 편의성을 고려한 메뉴 구조를 설계할 수 있다. 3. UI 요구사항과 UI 표준 및 지침에 따라, 하위 시스템 단위의 내·외부 화면과 폼을 설계할 수 있다.
	7. 애플리케이션 테스트 관리	1. 애플리케이션 테스트케이스 설계하기	1. 개발하고자 하는 응용소프트웨어의 특성을 반영한 테스트 방식, 대상과 범위를 결정하여 테스트케이스를 작성 할 수 있다. 2. 개발하고자 하는 응용소프트웨어의 특성을 반영한 테스트 방식, 대상과 범위가 적용된 시나리오를 정의할 수 있다. 3. 애플리케이션 테스트 수행에 필요한 테스트 데이터, 테스트 시작 및 종료 조건 등을 준비 할 수 있다.
		2. 애플리케이션 통합 테스트하기	1. 개발자 통합테스트 계획에 따라 통합 모듈 및 인터페이스가 요구사항을 충족하는지에 대한 테스트를 수행할 수 있다. 2. 개발자 통합테스트 수행 결과 발견된 결함에 대한 추이 분석을 통하여 잔존 결함을 추정할 수 있다. 3. 개발자 통합테스트 결과에 대한 분석을 통해 테스트의 충분성 여부를 검증하고, 발견된 결함에 대한 개선 조치사항을 작성할 수 있다.
		3. 애플리케이션 성능 개선하기	1. 애플리케이션 테스트를 통하여 애플리케이션의 성능을 분석하고, 성능 저하 요인을 발견할 수 있다. 2. 코드 최적화 기법, 아키텍쳐 조정 및 호출 순서 조정 등을 적용하여 애플리케이션 성능을 개선할 수 있다. 3. 프로그래밍 언어의 특성에 대한 이해를 기반으로 소스코드 품질 분석 도구를 활용하여 애플리케이션 성능을 개선할 수 있다.
	8. SQL 응용	1. 절차형 SQL 작성하기	1. 반복적으로 사용하는 특정 기능을 수행하기 위해 여러 개의 SQL명령문을 포함하는 프로시저를 작성하고 프로시저 호출문을 작성할 수 있다. 2. 일련의 연산처리 결과가 단일 값으로 반환되는 사용자 정의함수를 작성하고 사용자 정의함수를 호출하는 쿼리를 작성ㄴ할 수 있다. 3. 하나의 이벤트가 발생하면 관련성이 있는 몇 개의 테이블 간에 연속적으로 데이터 삽입, 삭제, 수정을 할 수 있는 트리거를 작성할 수 있다.

실 기 과목명	주요항목	세부항목	세세항목
		2. 응용 SQL 작성하기	1. 윈도우함수와 그룹함수를 사용하여 순위와 소계, 중계, 총합계를 산출하는 DML(Data Manipulation Language)명령문을 작성할 수 있다. 2. 응용시스템에서 사용하는 특정 기능을 수행하기 위한 SQL문을 작성할 수 있다. 3. 사용자의 그룹을 정의하고 사용자를 생성 또는 변경할 수 있고 사용자의 권한 부여와 회수를 위한 DCL(Data Control Language)명령문을 작성할 수 있다.
	9. 소프트웨어 개발 보안 구축	1. SW개발 보안 설계하기	1. 정의된 보안요구사항에 따라 응용프로그램에 대한 보안 요구사항을 명세할 수 있다. 2. 명세된 보안 요구사항을 만족하는 응용프로그램을 설계 할 수 있다. 3. 보안성이 강화된 응용프로그램 구현을 위한 환경을 구축할 수 있다. 4. 보안성이 강화된 응용프로그램 구현을 위한 일정 계획을 수립할 수 있다.
		2. SW개발 보안 구현하기	1. 수립된 구현 계획에 따라 보안성이 강화된 응용프로그램을 구현할 수 있다. 2. 구현된 응용프로그램의 결함 여부를 테스트할 수 있다. 3. 테스트 결과에 따라 발견된 결함을 관리할 수 있다.
	10. 프로그래밍 언어 활용	1. 기본문법 활용하기	1. 응용소프트웨어 개발에 필요한 프로그래밍 언어의 데이터 타입을 적용하여 변수를 사용할 수 있다. 2. 프로그래밍 언어의 연산자와 명령문을 사용하여 애플리케이션에 필요한 기능을 정의하고 사용할 수 있다. 3. 프로그래밍 언어의 사용자 정의 자료형을 정의하고 애플리케이션에서 사용할 수 있다.
		2. 언어특성 활용하기	1. 프로그래밍 언어별 특성을 파악하고 설명할 수 있다. 2. 파악된 프로그래밍 언어의 특성을 적용하여 애플리케이션을 구현할 수 있다. 3. 애플리케이션을 최적화하기 위해 프로그래밍 언의의 특성을 활용 할 수 있다.
		3. 라이브러리 활용하기	1. 애플리케이션에 필요한 라이브러리를 검색하고 선택할 수 있다. 2. 애플리케이션 구현을 위해 선택한 라이브러리를 프로그래밍 언어 특성에 맞게 구성 할 수 있다. 3. 선택한 라이브러리를 사용하여 애플리케이션 구현에 적용할 수 있다.

실 기 과목명	주요항목	세부항목	세세항목
	11. 응용 SW 기초 기술 활용	1. 운영체제 기초 활용하기	1. 응용 소프트웨어를 개발하기 위하여 다양한 운영체제의 특징을 설명할 수 있다. 2. CLI(Command Line Interface) 및 GUI(Graphic User Interface) 환경에서 운영체제의 기본명령어를 활용할 수 있다. 3. 운영체제에서 제공하는 작업 우선순위 설정방법을 이용하여 애플리케이션의 작업우선순위를 조정할 수 있다.
		2. 데이터베이스 기초 활용하기	1. 데이터베이스의 종류를 구분하고 응용 소프트웨어 개발에 필요한 데이터베이스를 선정할 수 있다. 2. 주어진 E-R 다이어그램을 이용하여 관계형 데이터베이스의 테이블을 정의할 수 있다. 3. 데이터베이스의 기본연산을 CRUD(Create, Read, Update, Delete)로 구분하여 설명할 수 있다.
		3. 네트워크 기초 활용하기	1. 네트워크 계층구조에서 각 층의 역할을 설명할 수 있다. 2. 응용의 특성에 따라 TCP와 UDP를 구별하여 적용할 수 있다. 3. 패킷 스위칭 시스템을 이해하고, 다양한 라우팅 알고리즘과 IP 프로토콜을 설명할 수 있다.
		4. 기본 개발환경 구축	1. 응용개발을 위하여 선정된 운영체제를 설치하고 운용할 수 있다. 2. 응용개발에 필요한 개발도구를 설치하고 운용할 수 있다. 3. 웹서버, DB서버 등 응용개발에 필요한 기반 서버를 설치하고 운용할 수 있다.
	12. 제품소프트웨어 패키징	1. 제품소프트웨어 패키징하기	1. 신규 개발, 변경, 개선된 제품소프트웨어의 소스들로부터 모듈들을 빌드하고 고객의 편의성을 고려하여 패키징 할 수 있다. 2. 이전 릴리즈 이후의 변경, 개선사항을 포함하여 신규 패키징한 제품소프트웨어에 대한 릴리즈 노트를 작성할 수 있다. 3. 저작권 보호를 위해 암호화/보안 기능을 제공하는 패키징 도구를 활용하여, 제품소프트웨어의 설치, 배포 파일을 생성할 수 있다.
		2. 제품소프트웨어 매뉴얼 작성하기	1. 사용자가 제품소프트웨어를 설치하는데 참조할 수 있도록 제품소프트웨어 설치 매뉴얼의 기본 구성을 수립하고 작성할 수 있다. 2. 사용자가 제품소프트웨어를 사용하는데 참조할 수 있도록 제품소프트웨어 사용자 매뉴얼의 기본 구성을 수립하고 작성할 수 있다. 3. 사용자가 제품소프트웨어를 설치하고 사용하는데 필요한 제품소프트웨어의 설치파일 및 매뉴얼을 배포용 미디어로 제작할 수 있다.

실 기 과목명	주요항목	세부항목	세세항목
		3. 제품소프트웨어 버전관리하기	1. 형상관리 지침을 활용하여 제품소프트웨어의 신규 개발, 변경, 개선과 관련된 버전을 등록할 수 있다. 2. 형상관리 지침을 활용하여 제품소프트웨어의 신규 개발, 변경, 개선과 관련된 버전 관리 도구를 사용할 수 있다. 3. 버전 관리 도구를 활용하여 제품소프트웨어에 대한 버전 현황 관리와 소스, 관련 자료 백업을 수행할 수 있다.