본문 바로가기
자격증/정보처리기사(실기)

[정보처리기사 실기] 소프트웨어 개발 방법론

by spareone 2026. 10. 20.

1. 소프트웨어

1. 상용 소프트웨어

- 돈 받고 파는 거, 소스코드 안보여줌

- 범용, 특화

 

2. 응용 소프트웨어

- 특정 업무 처리 위한 거

- 오피스나 영상 편집 뭐 이런 거

 

3. 시스템 소프트웨어

- 컴퓨터 자원 효율적으로 쓰게 하는 거

- OS

 

3-1. 시스템 정의

- 입력, 처리, 출력, 제어, 피드백

 

3-2. 성능평가 기준

처리능력 (Throughput) 단위 시간 내 작업 처리량
반환 시간(Turnaround Time) 작업 의뢰부터 처리까지의 시간
사용 가능도(Availability) 필요할 때 즉시 사용 가능한 정도(가용성)
신뢰도(Reliability) 주어진 문제를 정확하게 해결하는 정도

 

 

3-3. 플랫폼

- 특정 시스템 기반 운영체제나 운영환경

- 플랫폼 성능측정 기준

가용성 (Availability) 필요할 때 즉시 사용 가능한 정도 (사용 가능도)
응답 시간 (Response TIme) 명령에 반응하는 시간 (처리 시간과 다름)
정확성 (Accuracy) 처리 결과가 기대한 값과 비교해서 정확한지 측정
사용률 (Utilization) 데이터 처리에 시스템 자원을 사용하는 정도

 

4. 소프트웨어 공학

- 효율적으로 SW 만들기

 

5. 소프트웨어 개발 프레임워크

 

5-1. 모듈

- 기능별로 분할

- 개발자가 기본 툴 제공하면 모듈을 활용하여 기능 구체화

 

5-2. 라이브러리

- 모듈 모은거

- 각 모듈이 반드시 독립적이진 않다

 

5-3. 디자인 패턴

- 문제해결을 위한 추상적 가이드라인

 

5-4. 소프트웨어 개발 프레임워크

- 디자인패턴에 모듈의 장점 결합하여 실제적인 개발 틀 제공

- 프레임워크가 기본 틀 제공하면 개발자가 기능 구체화

 

5-5. 소프트웨어 아키텍처

- 다수의 프레임워크를 체계적으로 구성하고 설명하는 구조체

 

5-6. 컴포넌트

- 소프트웨어 블록

 

5-7. 재사용 가능한 소프트웨어 요소

- 소프트웨어 부분 또는 전체 영역

- 부분적인 코드뿐 아니라 응용된 지식과 데이터 구조

- 개발 이후 테스트 계획, 문서화 방법 및 절차 등

 

5-8. 소프트웨어 재사용 방법

- 합성 / 생성

 


 

2. 수명주기

1. 수명주기 종류

 

1-1. 폭포수 (Waterfall)

[그림 1] 폭포수 모델

계획 > 요구분석 > 설계 > 구현 > 테스트 > 유지보수

 

이전단계로 못돌아감, 매뉴얼 작성 필수

 

1-2. 프로토타입 (Prototype)

[그림 2] 프로토타입 모델

시제품 만들어서 피드백 후 수정 및 구현

 

 

1-3. 나선형(Spiral)

[그림 3] 나선형 모델

폭포수 모델 장점 + 프로토타입 모델 장점 + 위험분석기능

여러번의 지속적인 개발 과정, 사이클 돌릴수록 완성도 올라감

유지보수 필요없음

누락된거 반영 가능

 

1-4. 애자일 (Agile)

[그림 4] 애자일 모델

고객과의 소통 중심

짧은 개발 주기를 반복하며 고객의 피드백 반영

소통, 협업, 변화 대응

 

 

2. 스크럼 (Scrum) - 애자일 모델 중 하나

 

[그림 5] 스크럼 모델


팀을 중심으로 개발 효율성 향상

반복적인 스프린트

확약, 전념, 정직, 존중, 용기

 

구성

- 제품 책임자

- 스크럼 마스터

- 개발팀

 

 

3. XP (eXtreme Programming)

[그림 6] XP 모델

고객의 참여와 짧은 개발 과정 반복 극대화

의사소통, 단순성, 용기, 존중, 피드백

 

스파이크: 특정 기술의 확인을 위해 다른 모든 조건을 무시하고 간단하게 개발

이터레이션: 하나의 릴리즈를 1-3주의 개발 기간으로 세분화한 단위

 

스파이크 해서 되면 이터레이션으로 전달

 


3. 개발 방법론

 

1. 소프트웨어 개발 방법론

 

- SW 개발 전 과정에 지속적으로 적용할 수 있는 방법이나 기법

 

- 절차

분석 개발 준비, 시스템 요구사항 분석, 소프트웨어 요구사항 분석
설계 시스템 설계, 소프트웨어 구조 및 상세 설계
구현 소프트웨어 코딩 및 단위 시험
시험 소프트웨어와 시스템 통합 및 테스트, 소프트웨어 설치 및 인수 지원

 

- 선정 계획서 바탕으로 정성, 정량 평가 진행하여 결정

 

 

2. 종류

 

2-1. 구조적 방법론

- 요구사항을 자료흐름도(DFD)로 표현

- 순차, 선택, 반복의 논리 구조 구성

 

2-2. 정보공학 방법론

- 정형화된 기법 이용

- 개념적 수준의 데이터와 프로세스 설계

- ERD 기반 설계

 

2-3. 객체지향 방법론

- Entity를 Object로 표현, 객체 간 메시지 교환

- 기본 원칙

캡슐화 데이터와 해당 데이터의 처리 기능을 하나로 묶음
정보 은닉 다른 객체에게 자신의 정보를 숨김
추상화 객체의 공통적인 속성을 상위 객체로 도출
상속성 상위 객체의 속성을 하위 개체가 물려받음
다형성 하나의 수행 방법으로 여러 형태의 기능 수행

 

2-4. 컴포넌트 기반(CBD) 방법론

- 컴포넌트 조합해 사용

- 일반적으로 프로세스 설계 과정에서는 객체지향 방법론을, 데이터 설계 과정에서는 정보공학 방법론 사용

- 선행 투자 비용이 높고, 조립식 시스템에 따르는 책임 및 지적 재산권 고려

 

2-5. 애자일 방법론

- 수시로 변하는거 바로 반영하여 개발

 

2-6. 제품계열 방법론

- 특정 제품에 넣고싶은 공통 기능 개발

- 임베디드 등

 

3. 소프트웨어 보안 개발 방법론

- 보안취약점 최소화

- 종류

MS-SDL MS에서 자체 수립
Seven Touchpoints 모범 사례 7가지
CLASP 개발 초기 단계 보안 강화
CWE 취약점 원인 7가지

 

'자격증 > 정보처리기사(실기)' 카테고리의 다른 글

[정보처리기사 실기] 테일러링  (0) 2026.10.20

댓글