Skip to content

소프트웨어 공학 ​

소프트웨어 공학(software engineering)은 소프트웨어를 예측 가능하게 만들기 위해 개발 방식, 요구사항 정리, 비용·일정 추정, 품질 관리를 체계화한 분야다. 실기 시험의 첫 관문이라 개발 모형의 이름과 특징, 요구사항의 종류, 비용 산정 공식이 단답형으로 자주 나온다.

학습 순서 ​

  1. 폭포수·프로토타입·나선형 모형 — 계획 중심의 전통 개발 모형 세 가지의 단계와 강점·약점 (출제 빈도: 높음)
  2. 애자일·XP·스크럼 — 애자일(agile) 선언의 가치, XP(eXtreme Programming, 익스트림 프로그래밍)의 가치와 실천 방법 (출제 빈도: 높음)
  3. 애자일·XP·스크럼 2 — 스크럼(Scrum)의 역할·이벤트·산출물 (출제 빈도: 높음)
  4. 요구사항과 분석 기법 — 기능 요구사항(functional requirement)과 비기능 요구사항(non-functional requirement), 자료 흐름도(data flow diagram), HIPO(Hierarchy plus Input-Process-Output, 계층 입력 처리 출력), 요구사항 검토 방법 (출제 빈도: 높음)
  5. 비용·일정 산정 — LOC(Lines Of Code, 코드 줄 수) 공식, COCOMO(COnstructive COst MOdel, 구성적 비용 모형) 세 유형, Putnam 모형·기능 점수(function point), CPM(Critical Path Method, 임계 경로 기법)의 임계 경로(critical path) (출제 빈도: 보통)
  6. 프로세스 품질과 개발 도구 — CMMI(Capability Maturity Model Integration, 능력 성숙도 통합 모델) 5단계, SPICE(Software Process Improvement and Capability dEtermination, 소프트웨어 프로세스 개선 및 능력 결정), CASE(Computer Aided Software Engineering, 컴퓨터 지원 소프트웨어 공학), 컴포넌트 기반 개발(CBD), 프레임워크 특성 (출제 빈도: 보통)