공든탑앱 열기

정처기 첫걸음: 먼저 알아야 할 말

정보처리기사 · 요구사항 확인 · 약 8분

쉽게 말하면

정보처리기사는 소프트웨어를 만드는 전 과정을 묻는 시험이에요. 무엇을 만들지 정하고(요구사항), 어떻게 만들지 그리고(설계), 코드로 짜고(구현), 제대로 되는지 확인해요(테스트). 그 과정에서 데이터를 담는 데이터베이스, 프로그램이 돌아가는 운영체제, 컴퓨터끼리 대화하는 네트워크, 그리고 보안까지 다뤄요. 이 페이지에서 앞으로 계속 나올 낱말을 먼저 익혀 둬요.

시험용 정의

소프트웨어 공학은 소프트웨어를 정해진 비용과 기간 안에 좋은 품질로 만들기 위한 원리와 방법이다. 개발은 보통 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수 순서로 진행되고, 이 흐름 전체를 소프트웨어 생명 주기라고 한다. 데이터는 데이터베이스에 모아 두고 DBMS(데이터베이스 관리 시스템)가 관리하며, SQL로 조회·변경한다. 프로그램은 운영체제 위에서 실행되고, 컴퓨터끼리는 프로토콜(통신 규칙)에 따라 네트워크로 데이터를 주고받는다.

비유로 이해하기

집 짓기와 같다. 집주인의 바람을 듣고(요구사항), 설계도를 그리고(설계), 벽돌을 쌓고(구현), 물이 새는지 점검하고(테스트), 살면서 고친다(유지보수). 데이터베이스는 창고, 운영체제는 집이 서 있는 땅, 네트워크는 집과 집을 잇는 도로다.

자세히

먼저 알아 둘 말

말뜻
소프트웨어컴퓨터가 할 일을 적은 프로그램과 그에 딸린 문서·데이터
시스템여러 요소가 모여 하나의 목적을 이루는 것 (입력 → 처리 → 출력, 제어와 피드백)
모듈프로그램을 기능 단위로 나눈 조각. 따로 만들고 고칠 수 있다
요구사항소프트웨어가 해야 할 일과 갖춰야 할 조건
설계요구사항을 어떤 구조와 방법으로 만들지 정하는 일
구현설계대로 코드를 작성하는 일 (코딩)
테스트만든 것이 요구사항대로 동작하는지, 결함이 없는지 확인하는 일
유지보수배포한 뒤 오류를 고치고 기능을 바꾸는 일. 생명 주기에서 비용이 가장 많이 든다
데이터베이스여러 사람이 함께 쓰려고 모아 둔 데이터의 집합
DBMS데이터베이스를 만들고 관리하는 소프트웨어 (Oracle, MySQL 등)
SQL데이터베이스에 데이터를 묻고 바꾸는 언어
운영체제하드웨어를 관리하고 프로그램이 돌아갈 환경을 주는 소프트웨어 (Windows, Linux)
프로세스실행 중인 프로그램
프로토콜컴퓨터끼리 통신할 때 지키는 약속 (HTTP, TCP 등)
알고리즘문제를 푸는 절차
객체지향데이터와 그 데이터를 다루는 기능을 묶은 '객체' 단위로 프로그램을 만드는 방식

필기 다섯 과목이 다루는 것

과목한 줄 요약자주 나오는 것
1. 소프트웨어 설계무엇을, 어떤 구조로 만들지생명 주기 모델, 애자일, UML, 결합도·응집도, 디자인 패턴
2. 소프트웨어 개발만들고, 묶고, 시험하기자료 구조, 정렬, 형상 관리, 테스트 기법
3. 데이터베이스 구축데이터를 담고 다루기정규화, 관계 대수, SQL, 트랜잭션
4. 프로그래밍 언어 활용코드 읽기와 운영체제·네트워크C·Java·Python 출력, 스케줄링, 페이지 교체, IP 주소
5. 정보시스템 구축 관리프로젝트와 보안비용 산정, 신기술 용어, 시큐어 코딩, 암호, 공격 기법

공부 순서 팁

  • 과목마다 40점(20문항 중 8개) 아래면 과락이라 한 과목도 버리면 안 된다
  • 용어 문제가 많다. 낱말 뜻을 '한 줄로 설명'할 수 있으면 대부분 풀린다
  • 4과목 코드 문제는 직접 손으로 값의 변화를 따라가 보는 연습이 가장 빠르다

소프트웨어 공학 기본 상식 (기출)

말뜻
소프트웨어 공학소프트웨어를 정해진 비용·기간 안에 좋은 품질로 만들기 위한 체계적인 방법을 다루는 학문
기본 원칙현대적 프로그래밍 기술 계속 적용, 개발 산출물 계속 검증, 결과를 명확히 기록해 관리
시스템 구성 요소입력(Input), 처리(Process), 출력(Output), 제어(Control), 피드백(Feedback)
잘 만든 소프트웨어유지보수가 쉽고 신뢰성이 높으며, 사용자 수준에 맞는 인터페이스를 제공한다
모델링개발 대상을 그림·기호로 추상화해 표현하는 일. 분석·설계·유지보수 모든 단계에서 쓴다

시험에 이렇게 나와요

확인 문제

Q1. '고객이 원하는 기능과 조건을 정리한 것'을 가리키는 말은?

  1. 테스트
  2. 프로토콜
  3. 요구사항
  4. 컴파일
정답 보기

3번 요구사항

요구사항은 소프트웨어가 무엇을 해야 하는지(기능)와 어떤 수준이어야 하는지(성능·보안 등)를 정리한 것이다. 개발은 요구사항에서 출발한다.

Q2. 소프트웨어 생명 주기에서 일반적으로 비용이 가장 많이 드는 단계는?

  1. 설계
  2. 요구사항 분석
  3. 유지보수
  4. 구현
정답 보기

3번 유지보수

배포 후 오래 쓰면서 고치고 바꾸는 유지보수에 전체 비용의 절반 이상이 든다고 알려져 있다.

Q3. 데이터베이스를 만들고 여러 사용자가 함께 쓰도록 관리하는 소프트웨어는?

  1. DBMS
  2. 웹 브라우저
  3. 컴파일러
  4. 운영체제
정답 보기

1번 DBMS

DataBase Management System. Oracle·MySQL·PostgreSQL 등.

Q4. 다음 중 개발 순서로 알맞은 것은?

  1. 설계 → 요구사항 분석 → 구현 → 테스트
  2. 요구사항 분석 → 설계 → 구현 → 테스트
  3. 구현 → 설계 → 테스트 → 요구사항 분석
  4. 요구사항 분석 → 구현 → 설계 → 테스트
정답 보기

2번 요구사항 분석 → 설계 → 구현 → 테스트

무엇을 만들지 정한 뒤 어떻게 만들지 설계하고, 코드로 옮긴 다음 시험한다.

Q5. 시스템의 기본 구성 요소가 아닌 것은?

  1. 유지보수
  2. 입력
  3. 처리
  4. 피드백
정답 보기

1번 유지보수

시스템은 입력·처리·출력·제어·피드백으로 이루어진다.

Q6. 소프트웨어 공학의 기본 원칙으로 보기 어려운 것은?

  1. 개발 과정을 계속 검증한다
  2. 품질 높은 제품을 만든다
  3. 결과를 기록으로 남긴다
  4. 인력을 최대한 많이 넣는다
정답 보기

4번 인력을 최대한 많이 넣는다

사람을 많이 넣는다고 품질이나 일정이 나아지지 않는다.

헷갈리기 쉬운 O·X

프로토콜은 컴퓨터끼리 통신할 때 지키는 약속이다.

정답 보기

O HTTP, TCP, IP 등.

소프트웨어는 프로그램만을 뜻하고 문서는 포함하지 않는다.

정답 보기

X 프로그램과 그 운용에 필요한 문서·데이터를 모두 포함한다.

정보처리기사 필기는 평균 60점만 넘으면 한 과목이 30점이어도 합격이다.

정답 보기

X 과목마다 40점 미만이면 과락으로 불합격이다.

함께 보면 좋은 개념