소프트웨어 공학의 배경과 목적을 설명할 수 있다
TOPCIT · V4.0K
출제기준
공식 사이트의 출제기준을 옮긴 학습용 복사본입니다. 번호·분류·기준 문장을 원문대로 보관했습니다.
가져온 날짜: · 공식 원본 확인 ↗
이후 개정 내용은 자동으로 반영되지 않습니다.
4개 평가영역 · 세부 기준 163개
1 소프트웨어 개발
1.1 소프트웨어 이해
1.1.1 소프트웨어 공학 개요
소프트웨어 개발 생명주기(SDLC: Software Development Life Cycle) 모형에 대하여 설명할 수 있다.
소프트웨어 개발 방법론에 대해 설명할 수 있다.
1.1.2 소프트웨어 재사용
소프트웨어 재사용의 개념을 설명할 수 있다
역공학(Reverse Engineering)과 재공학(Reengineering)의 개념과 방법을 설명할 수 있다
1.2 자료구조와 알고리즘
1.2.1 자료구조
자료구조의 정의와 분류에 대하여 설명할 수 있다
선형·비선형 자료구조를 활용할 수 있다.
1.2.2 알고리즘
알고리즘의 역할을 설명하고 상황에 따라 적합한 알고리즘을 선택할 수 있다.
정렬과 탐색 알고리즘을 설명하고 활용할 수 있다.
문제해결 알고리즘을 설명하고 활용할 수 있다.
1.3 인공지능의 이해
1.3.1 인공지능 기술 이해
인공지능(Artificial Intelligence)에 대한 개념과 기계학습(Machine Learning)을 설명할 수 있다
딥러닝(Deep Learning)의 개념과 알고리즘 유형을 설명할 수 있다
생성형 인공지능(Generative AI)의 개념과 기술유형을 설명할 수 있다
1.4 소프트웨어 분석 및 설계
1.4.1 소프트웨어 요구사항 분석
소프트웨어 요구사항의 분석과 명세 방법에 대해 설명할 수 있다
객체지향 분석을 수행할 수 있다
요구사항 분석 결과를 검증 및 확인하고 문서화 할 수 있다
소프트웨어 요구사항 관리의 개념과 프로세스를 설명할 수 있다
1.4.2 소프트웨어 설계
소프트웨어 설계 원리를 설명할 수 있다
모듈 설계 평가 기준인 응집도(Cohesion)와 결합도(Coupling)의 개념을 설명할 수 있다
소프트웨어 아키텍처(SA: Software Architecture)의 기본 개념을 설명할 수있다.
대표적인 소프트웨어 아키텍처 스타일에 대하여 설명할 수 있다
객체지향(Object-Oriented) 설계 개념과 원리를 설명할 수 있다
정적 및 동적 모델링을 수행하고 UML(Unified Modeling Language)로 표현할 수 있다
디자인 패턴(Design Pattern)의 개념과 대표적인 패턴을 활용할 수 있다.
UI/UX 설계 원리를 설명하고 활용할 수 있다.
1.5 소프트웨어 개발 및 테스팅
1.5.1 소프트웨어 개발언어 및 개발환경
소프트웨어 개발언어의 개념, 특성에 대하여 설명할 수 있다
소프트웨어 개발 프레임워크를 설명할 수 있다.
통합 개발 환경(IDE, CI/CD, DevOps, MLOps, AIOps, DB연결)을 설명할 수 있다.
소프트웨어 실행환경(리눅스 명령어, 쉘 환경 등)을 설명할 수 있다.
1.5.2 소프트웨어 프로그램 구현
기본 프로그램(C, Java, Python)을 구현할 수 있다
자료구조 및 알고리즘을 구현할 수 있다.
인공지능(머신러닝, 딥러닝, 생성형 AI) 알고리즘을 활용하여 구현할 수 있다
응용 프로그램(웹, C/S, 모바일 앱, 배치 등)을 이해하고 구현할 수 있다.
1.5.3 소프트웨어 테스팅
테스팅 개념 및 프로세스를 설명할 수 있다
테스트 케이스 설계방법을 설명할 수 있다
1.6 소프트웨어 관리 및 유지보수
1.6.1 소프트웨어 형상관리
소프트웨어 형상관리의 개념과 활동에 대하여 설명할 수 있다
소프트웨어 형상관리 도구를 활용할 수 있다
1.6.2 소프트웨어 변경관리
소프트웨어 변경관리와 추적관리를 설명할 수 있다.
1.6.3 소프트웨어 유지보수
소프트웨어 유지보수의 개념 및 유형에 대해 설명할 수 있다
소프트웨어 유지보수 활동을 설명할 수 있다.
1.6.4 소프트웨어 리팩토링
리팩토링(Refactoring)의 개념을 설명하고 활용할 수 있다
1.7 소프트웨어 개발 동향
1.7.1 오픈소스 소프트웨어와 최신 개발 동향
오픈소스 소프트웨어 라이선스를 설명할 수 있다.
최신 어플리케이션 개발 동향(MSA, 어플리케이션 현대화)을 설명할 수있다.
2 데이터 관리
2.1 데이터와 데이터베이스의 이해
2.1.1 데이터의 이해
데이터, 정보, 지식에 대한 개념과 특징을 설명할 수 있다
데이터 처리 유형의 개념과 특징을 설명할 수 있다
2.1.2 데이터베이스의 이해
파일처리 시스템의 개념과 특징을 설명할 수 있다
데이터베이스의 개념과 특징을 설명할 수 있다
2.1.3 데이터베이스 시스템의 이해
데이터베이스 시스템의 개념과 구성요소를 설명할 수 있다
ANSI·SPARC의 3-Level Database Architecture를 설명할 수 있다
데이터 독립성에 대하여 설명할 수 있다
DBMS(DataBase Management System)의 개념과 기능을 설명할 수 있다
2.1.4 데이터베이스 종류의 이해
유형별 데이터베이스의 데이터모델과 구조를 설명할 수 있다
다양한 DBMS, DB를 설명할 수 있다.
2.2 데이터베이스 설계
2.2.1 데이터베이스 설계 및 구축 절차
데이터 베이스 구축 과정을 설명할 수 있다.
데이터 베이스 설계 시 고려사항을 설명할 수 있다
2.2.2 데이터 모델링
데이터 모델링(Data Modeling)의 개념을 설명할 수 있다
데이터 모델링의 절차를 설명할 수 있다.
데이터 모델링 업무 요건에 따라 엔티티, 속성 식별자의 설계 할 수 있다.
데이터 모델링에서 업무 요건에 따른 관계의 설계 할 수 있다
데이터 모델의 문제점을 확인하고 이를 해결 할 수 있다.
데이터 모델 표기법을 활용하여 설계 할 수 있다.
확장 ER(Entended Entity-Relationship) 유형에 대해 설명할 수 있다
데이터 무결성에 대하여 설명할 수 있다
식별자 속성의 지정을 수행할 수 있다
2.2.3 정규화와 반 정규화
함수 종속성의 개념과 추론 규칙을 설명할 수 있다
정규화의 이상현상을 설명하고 정규화를 설계할 수 있다.
반(역) 정규화를 설명할 수 있다
성능 설계를 위한 고려사항을 설명할 수 있다
2.2.4 데이터 베이스 물리 설계
관계형 테이블 전환의 개념과 과정을 설명할 수 있다
데이터 Type을 설계를 수행할 수 있다
인덱스 설계를 수행할 수있다
데이터 베이스 View 설계를 수행할 수 있다
분산데이터 베이스의 설계에 대해 설명할 수 있다
2.2.5 데이터베이스 품질과 표준화
데이터 품질 개념을 설명할 수 있다
데이터 표준화 개념을 설명할 수 있다
2.3 데이터베이스 프로그래밍
2.3.1 관계연산(관계대수)
관계대수, 관계연산을 설명 할 수 있다.
2.3.2 관계 데이터베이스 언어(SQL)
데이터 정의어(DDL: Data Definition Language)를 사용할 수 있다.
데이터 제어어(DCL: Data Control Language)를 사용할 수 있다.
데이터 조작어(DML: Data Manipulation Language)을 사용할 수 있다.
데이터 그룹 함수를 사용할 수 있다.
데이터 조인(Join) 연산을 사용할 수 있다.
부속 질의(SubQuery)를 사용할 수 있다.
2.3.3 데이터베이스 질의 응용
동적 SQL의 개념과 특징을 설명할 수 있다
질의 최적화(Query Optimization)의 단계별 특징을 설명할 수 있다
유형별 옵티마이저(Optimizer)의 특징을 설명할 수 있다
2.4 데이터베이스 운영
2.4.1 동시성(병행)제어
트랜잭션의 개념과 특성에 대해 설명할 수 있다
트랜잭션의 완료(Commit) 연산과 트랜잭션 철회(Abort)를 위한 복귀(Rollback) 연산을 설명할 수 있다
동시성(병행)제어의 목적 및 필요성과 기법들을 설명할 수 있다
2단계 잠금기법(2PL: 2-Phase Locking)을 설명할 수 있다
데이터베이스의 교착상태(Deadlock)의 발생원인과 해결방안을 설명할 수 있다
트랜잭션 격리수준(Isolation Level)을 설명하고 적용할 수 있다
2.4.2 데이터베이스 복구(회복, Recovery)
데이터베이스 장애의 개념 및 유형을 설명할 수 있다
데이터베이스 복구(회복)의 개념 및 방법을 설명할 수 있다
2단계 완료(2 Phase Commit) 프로토콜에 대해 설명 할 수 있다.
데이터베이스 백업방식의 종류와 특징을 설명할 수 있다.
2.5 인공지능 및 데이터분석 이해
2.5.1 데이터분석의 이해
데이터웨어하우스(DW: Data Warehouse)의 개념과 특징을 설명할 수 있다
데이터웨어하우스 모델링에 대하여 설명할 수 있다
ETL(ETT)에 대하여 설명할 수 있다
데이터 마트에 대해서 설명할 수 있다.
온라인 분석처리(OLAP: OnLine Analytical Processing)의 개념과 탐색기법을 설명할 수 있다
데이터마이닝의 개념과 알고리즘을 설명할 수 있다
2.5.2 빅데이터의 이해
빅데이터(Big data)에 대한 개념과 관련기술을 설명할 수 있다
Data Lake에 대해서 설명할 수 있다.
NoSQL에 대한 개념과 특징을 설명할 수 있다
2.5.3 데이터 기반 인공지능의 이해
인공지능 모델 구축을 위한 데이터 처리를 수행할 수 있다.
인공지능을 위한 데이터베이스를 설명할 수 있다.
3 시스템 아키텍처와 정보보안
3.1 시스템 아키텍처와 정보보안 개요
3.1.1 시스템 아키텍처와 정보보안 개념
시스템 아키텍처 개념과 구성에 대해 설명할 수 있다.
네트워크에 개념 및 계층구조에 대하여 설명할 수 있다.
정보보안 개념과 구성에 대해 설명할 수 있다.
3.2 시스템 기반기술
3.2.1 컴퓨터 구조
컴퓨터 하드웨어 구성요소를 설명할 수 있다.
메모리 계층구조와 유형을 설명할 수 있다.
3.2.2 운영체제
운영체제의 개념과 역할에 대하여 설명할 수 있다
운영체제 프로세스 관리방법을 설명할 수 있다
운영체제의 병행성 지원 방법을 설명할 수 있다.
운영체제 서비스와 운영체제 종류를 설명할 수 있다.
3.3 시스템 아키텍처 활용기술
3.3.1 시스템 아키텍처 기반기술
클라이언트/서버와 웹 기반 아키텍처를 설명할 수 있다.
가상화 기술을 설명할 수 있다.
고가용성 기술을 설명할 수 있다.
3.3.2 클라우드 아키텍처
클라우드 플랫폼을 설명할 수 있다.
3.3.3 빅데이터 아키텍처
빅데이터 시스템 아키텍처를 설명할 수 있다.
3.4 네트워크 기반 기술
3.4.1 네트워크 기본 기술
네트워크 장비에 대해 설명할 수 있다.
네트워크 전송 오류 제어에 대해 설명할 수 있다.
3.4.2 네트워크 계층
네트워크 계층의 프로토콜 개념에 대해 설명할 수 있다.
TCP(Transmission Control Protocol) 및 UDP(User Datagram Protocol)의 개념을 설명하고, 개발에 활용할 수 있다.
3.5 네트워크 활용 기술
3.5.1 네트워크 응용 기술
애플리케이션 계층 프로토콜을 설명할 수 있다
웹 응용기술을 설명할 수 있다.
3.5.2 네트워크 융합 기술
네트워크 융합 기술을 설명할 수 있다.
사물인터넷 네트워크 기술을 설명할 수 있다.
3.6 정보보안 기반 기술과 관리체계
3.6.1 정보보안 기본 기술
암호기술을 설명할 수 있다.
인증기술을 설명할 수 있다.
접근통제 기술을 설명할 수 있다.
3.6.2 보안 관리체계
국제표준 정보보호 관리체계를 설명할 수 있다.
국내표준 정보보호 관리체계를 설명할 수 있다.
3.7 정보보안 응용 기술
3.7.1 애플리케이션, 데이터 보안
소프트웨어 개발을 위한 시큐어 코딩을 설명할 수 있다.
소프트웨어 개발을 위한 시큐어 코딩을 수행할 수 있다.
데이터 보안기술을 설명할 수 있다.
3.7.2 시스템 보안
운영체제 보안기술을 설명할 수 있다.
네트워크 보안기술을 설명할 수 있다.
3.7.3 AI, 클라우드 보안
AI 보안기술을 설명할 수 있다.
클라우드 보안기술을 설명할 수 있다.
4 IT비즈니스
4.1 IT비즈니스의 이해와 실행
4.1.1 IT비즈니스 개념
IT비즈니스의 개념과 특성에 대해 설명할 수 있다
비즈니스에 투입되는 IT 자원과 활동의 이해를 통해 비즈니스 가치사슬에 대해 설명할 수 있다
4.1.2 IT비즈니스 전략 및 계획 수립
IT비즈니스 전략과 비즈니스 환경 분석 모델을 설명할 수 있다
정보화전략계획((ISP: Information Strategy Planning)의 개념을 설명할 수 있다.
4.1.3 IT비즈니스 도입과 프로세스
IT비즈니스 절차와 도입 방식을 설명할 수 있다.
IT비즈니스 프로세스 개선기법을 설명할 수 있다.
IT비즈니스 성과평가의 종류를 설명할 수 있다.
4.1.4 IT비즈니스 서비스
IT비즈니스를 위한 경영정보시스템에 대해 설명할 수 있다
IT 서비스 관리(ITSM)를 설명할 수 있다.
4.2 IT비즈니스 트렌드
4.2.1 IT비즈니스환경 변화와 대응
IT비즈니스환경 변화와 대응 트렌드를 설명할 수 있다.
4.2.2 IT비즈니스 최신 서비스
IT비즈니스 최신 서비스에 대해 설명할 수 있다.
인공지능을 활용한 IT 비즈니스를 설명할 수 있다.
4.3 IT비즈니스의 윤리
4.3.1 IT비즈니스 관련 직업윤리
IT비즈니스 관련 직업윤리와 윤리적 이슈에 대해 설명할수 있다.
4.3.2 저작권과 산업재산권 보호
IT비즈니스 관련 저작권과 산업재산권 보호에 대해 설명할 수 있다
4.4 프로젝트 이해와 관리
4.4.1 프로젝트 이해
프로젝트와 프로젝트가 가지는 특성을 설명할 수 있다
프로젝트 수행을 위한 조직구조와 구성원의 역할과 책임을 설명할 수 있다
4.4.2 프로젝트 프로세스와 관리
프로젝트 생명주기와 관리방법론, 프로젝트 평가를 설명할 수 있다.
프로젝트 수행에 필요한 문서에 대해 설명할 수 있다.
4.5 프로젝트 관리
4.5.1 범위 관리
범위 관리의 개념, 프로세스 및 기법을 설명할 수 있다
4.5.2 일정 관리
일정 관리의 개념, 프로세스 및 기법을 설명할 수 있다
4.5.3 품질
품질관리의 개념, 프로세스 및 기법을 설명할 수 있다
4.5.4 위험 관리
위험관리의 개념, 프로세스 및 기법을 설명할 수 있다.
4.5.5 프로젝트 기법과 도구
프로젝트 관리시스템과 모니터링 기법에 대하여 설명할 수 있다