개발 방법론과 비용 산정
쉽게 말하면
개발 방법론은 소프트웨어를 만드는 '공식 레시피'예요. 기능을 위에서 아래로 쪼개는 구조적 방법, 데이터 중심의 정보공학, 객체로 만드는 객체지향, 부품(컴포넌트)을 조립하는 CBD 같은 것들이 있어요. 프로젝트를 시작할 땐 얼마나 들지 미리 계산해야 해요. 코드 줄 수(LOC)로 어림하거나, COCOMO 같은 공식을 쓰거나, 기능의 수와 복잡도로 점수(FP)를 매겨요.
시험용 정의
소프트웨어 개발 방법론: 구조적 방법론(정형화된 분석 절차, 분할과 정복, DFD·자료 사전), 정보공학 방법론(정보 시스템 개발을 위한 계획·분석·설계·구축에 정형화된 기법 적용, 데이터 중심), 객체지향 방법론(객체 단위, 재사용), 컴포넌트 기반(CBD)(컴포넌트를 조립, 재사용으로 생산성 향상), 애자일, 제품 계열 방법론(특정 제품에 적용할 공통 기능을 정의해 개발, 임베디드). 비용 산정은 하향식(전문가 감정, 델파이)과 상향식(LOC 기법, 단계별 인원수(Man Month)) 기법이 있다. LOC 기법은 낙관치·중간치·비관치로 예측치 = (낙관 + 4 × 중간 + 비관) / 6을 구하고, 노력(인월) = LOC / 1인당 월평균 생산 코드 줄 수, 개발 기간 = 노력 / 투입 인원이다. COCOMO(보헴)는 LOC를 바탕으로 비용을 산정하며 유형은 조직형(Organic, 5만 라인 이하), 반분리형(Semi-detached, 30만 라인 이하), 내장형(Embedded, 30만 라인 이상)이다. 푸트남 모형은 Rayleigh-Norden 곡선의 노력 분포를 가정하고, 기능 점수(FP)는 기능별 가중치로 점수를 낸다. 자동화 도구로 SLIM(푸트남), ESTIMACS(FP)가 있다.
비유로 이해하기
집 공사 견적이다. 벽돌 수(LOC)로 어림하거나, 평형과 유형(COCOMO)으로 공식에 넣거나, 방·욕실·주방 수와 난이도(FP)로 점수를 매겨 비용을 낸다.
자세히
먼저 알아 둘 말
| 말 | 뜻 |
|---|---|
| LOC | Lines Of Code. 원시 코드 줄 수 |
| MM (Man Month) | 인월. 한 사람이 한 달 동안 하는 일의 양 |
| 델파이 기법 | 전문가 여러 명의 의견을 조정자가 모아 산정 |
| 컴포넌트 | 독립적으로 배포·교체할 수 있는 소프트웨어 부품 |
| FP | Function Point. 기능의 수와 복잡도로 매긴 점수 |
개발 방법론 비교
| 방법론 | 핵심 |
|---|---|
| 구조적 | 분할과 정복, 하향식, DFD·자료 사전·소단위 명세서 |
| 정보공학 | 기업 전체의 정보 전략 계획부터 데이터 중심으로 |
| 객체지향 | 객체·클래스 단위, 상속·재사용 |
| CBD | 컴포넌트를 만들고 조립. 재사용성·생산성 |
| 애자일 | 짧은 반복, 변화 대응, 고객 협력 |
| 제품 계열 | 제품군의 공통 기능을 정의해 개발. 영역 공학·핵심 자산 |
COCOMO 유형
| 유형 | 규모 | 예 |
|---|---|---|
| 조직형 (Organic) | 5만(50 KDSI) 라인 이하 | 사무 처리, 업무용 |
| 반분리형 (Semi-detached) | 30만(300 KDSI) 라인 이하 | 운영체제, DBMS |
| 내장형 (Embedded) | 30만 라인 이상 | 미사일 유도, 신호 기술 같은 초대형 시스템 |
계산 연습
- LOC 낙관 2,000, 중간 3,000, 비관 7,000 → 예측치 = (2,000 + 12,000 + 7,000) / 6 = 3,500줄
- 총 LOC 36,000, 1인당 월 300줄, 6명 → 노력 120 MM, 기간 20개월
- COCOMO 모형 단계: 기본(Basic), 중간(Intermediate), 발전(Detailed)
기출에서 더 나온 것
| 말 | 뜻 |
|---|---|
| 재공학 | 기존 소프트웨어를 고쳐 다시 쓰는 것. 분석·재구성·역공학·이식(마이그레이션). 위험과 비용이 줄고 개발 시간도 준다 |
| 마이그레이션 | 기존 소프트웨어를 새 기술·하드웨어 환경에서 쓸 수 있게 바꾸는 재공학 활동 |
| 재사용 방법 | 합성 중심(부품을 끼워 맞추기, 블록 구성), 생성 중심(패턴으로 새로 만들기) |
| CASE 원천 기술 | 구조적 기법, 프로토타이핑, 자동 프로그래밍, 정보 저장소, 분산 처리 |
| 상위 CASE | 요구 분석·설계 단계 지원(모순 검사, 자료 흐름도 작성). 소스 코드 생성은 하위 CASE |
| 기능 점수 요소 | 외부 입력·외부 출력·외부 조회·내부 논리 파일·외부 인터페이스 파일 |
| CBD | 컴포넌트를 조립해 개발한다. 1960년대 방식도, 하향식 분할 정복 방식도 아니다 |
| PERT | 작업 순서와 기간을 그물 모양 그림으로 그려 일정을 관리하는 기법. 비용 추정 모형이 아니다 |
시험에 이렇게 나와요
- LOC 개발 기간 → 총 라인 수 ÷ (프로그래머 수 × 1인 월 생산성)
- LOC 예측치 → (낙관치 + 4×기대치 + 비관치) ÷ 6
- COCOMO 유형 → 조직형(5만 줄 이하)·반분리형·내장형 (Sequential은 아님)
- 푸트남 → 레일리-노든 곡선, 자동화 도구 SLIM / 기능 점수(FP) 도구 → ESTIMACS
- 비용 추정 모형이 아닌 것 → PERT (일정 관리 기법)
- CASE → 개발 과정 자동화, 그래픽 지원, 생명 주기 전 단계 연결 (언어 번역은 아님)
확인 문제
Q1. 예상 LOC가 30,000줄, 개발자 5명, 1인당 월평균 생산량이 300줄일 때 개발 기간은?
- 20개월
- 10개월
- 100개월
- 6개월
정답 보기
1번 20개월
노력(인월) = 30,000 / 300 = 100 MM. 기간 = 100 / 5명 = 20개월.
Q2. COCOMO 모델에서 30만 라인 이상의 초대형 시스템에 해당하는 유형은?
- 반분리형
- 내장형
- 조직형
- 분산형
정답 보기
2번 내장형
내장형(Embedded)이다. 조직형(Organic)은 5만 라인 이하, 반분리형(Semi-detached)은 30만 라인 이하다.
Q3. LOC 기법에서 낙관치 1,000, 중간치 2,000, 비관치 6,000일 때 예측치는?
- 1,500
- 2,000
- 2,500
- 3,000
정답 보기
3번 2,500
(1,000 + 8,000 + 6,000) / 6 = 2,500.
Q4. Rayleigh-Norden 곡선의 노력 분포를 기초로 하는 비용 산정 모형은?
- 델파이
- 기능 점수
- 푸트남 모형
- COCOMO
정답 보기
3번 푸트남 모형
푸트남 모형이다. 개발 기간에 따른 노력 분포를 Rayleigh-Norden 곡선으로 본다. 자동화 도구로 SLIM이 있다. COCOMO는 코드 라인 수로 비용을 추정한다.
Q5. 이미 만들어진 부품을 조립해 소프트웨어를 만드는 방법론은?
- 폭포수 모델
- 구조적 방법론
- CBD 방법론
- 정보공학 방법론
정답 보기
3번 CBD 방법론
Component Based Development.
헷갈리기 쉬운 O·X
COCOMO의 조직형은 5만 라인 이하의 업무용 소프트웨어에 적용한다.
정답 보기
O
FP 기법은 코드 줄 수만으로 비용을 산정한다.
정답 보기
X 기능의 수와 복잡도 가중치로 점수를 낸다.
델파이 기법은 전문가 한 명의 판단만으로 산정한다.
정답 보기
X 여러 전문가의 의견을 조정자가 모은다.