본문 바로가기
  • 適者生存
WorkOut/정보처리기사

요구사항 확인 | 소프트웨어 개발 방법론 _ 프로젝트 관리

by lcrvvxln 2024. 4. 19.

01. 요구사항 확인

Chapter 01. 소프트웨어 개발 방법론

 
 

2. 프로젝트 관리

 (1) 프로젝트 관리 (Project Management)

- 프로젝트 관리는 주어진 기간최소 비용으로 사용자만족시키는 시스템개발하기 위한 전반적 활동
- 소프트웨어 개발 계획을 세우고 분석, 설계, 구현 등의 작업을 통제하는 것으로 소프트웨어 생명 주기 전 과정에 걸쳐 진행
- 소프트웨어 프로젝트를 성공적으로 수행하기 위해 수행 작업 범위, 필요 자원, 수행 업무, 비용, 추진 일정들을 관리
 

[1] 프로젝트 관리 대상

 
1. 계획 관리 

  • 프로젝트 계획, 비용 산정, 일정 계획, 조직 계획에 대한 관리

2. 품질 관리 

  • 품질 통제 및 품질 보증

3. 범위 관리

  • 이해관계자가 요청한 모든 요구사항이 프로젝트 범위포함되는지 보장하고, 필요 작업만 수행될 수 있게 관리

 

[2] 프로젝트 관리 3대 요소 (3P)

 
1. 사람(People)

  • 프로젝트 관리에서 가장 기본이 되는 인적 자원

2. 문제(Problem)

  • 사용자 입장에서 문제 분석하여 인식

3. 프로세스(Process)

  • 소프트웨어 개발에 필요한 전체적 작업 계획 및 구조(Framework)

 
 

(2) 비용산정 모형

- 비용산정 모형은 소프트웨어 규모파악을 통한 투입자원, 소요시간파악하여 실행 가능한 계획수립하기 위해 비용산정하는 방식이다
 

[1] 비용산정 모형 분류

 
1. 하향식 산정방법

  • 경험 많은 전문가에게 비용 산정의뢰
  • 여러 전문가조정자를 통해 산정

전문가 판단, 델파이 기법
 

더보기

델파이 기법 (Delphi Method)

 

- 전문가경험적 지식을 통한 문제 해결미래 예측을 위한 기법으로 전문가 합의법이라고도 한다.

 
2. 상향식 산정방법

  • 세부적 요구사항기능에 따라 필요 비용계산하는 방식

▶ 코드 라인 수(LoC), Man Month, COCOMO 모형, 푸트남 모형, 기능점수(FP) 모형
 
 
 

[2] 비용산정 모형 종류

 
1. LoC(Lines of Code) 모형

  • 소프트웨어 각 기능의 원시 코드 라인 수낙관치, 중간치, 비관치를 측정하여 예측치 구하고 이를 이용하여 비용산정하는 방식
  • 측정이 쉽고 이해하기 쉬워 많이 사용
  • 예측치 이용하여 생산성, 노력, 개발 기간 등의 비용 산정

 

 예측치 = $=\frac{o+4m+p}{6}$ ($o$:낙관치, $m$:중간치, $p$:비관치)

비관치 : 가장 많이 측정된 코드 라인 수
중간치 : 측정된 모든 코드 라인 수의 평균
낙관치 : 가장 적게 측정된 코드 라인 수

 
 
 
2. Man Month 모형 - 2020년 1회

  • 한 사람1개월 동안 할 수 있는 을 기준으로 프로젝트 비용을 산정하는 방식 
✅ (Man Month) = (LoC)/(프로그래머의 월간 생산성)

✔ 프로젝트 기간 = (Man Month) / (프로젝트 인력)

 
 
3. COCOMO(COnstructive COst MOdel) 모형

  • 보헴(Boehm)이 제안한 모형으로 프로그램 규모에 따라 비용산정하는 방식
  • 비용산정 결과는 프로젝트 완성에 필요한 노력(Man-Month)으로 산정
  • 비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용
  • 규모에 따라 유형이 조직형(= 기본형, 단순형), 반 분리형, 임베디드형으로 나뉜다.

 

  • COCOMO 소프트웨어 개발 유형

조직형 (Organic Mode)

  • 기관 내부에서 개발된 중 소규모의 소프트웨어
  • 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리 개발에 적용
  • 5만(50KDSI) 라인 이하 소프트웨어 개발 유형

반 분리형 (Semi-Detached Mode)

  • 단순형임베디드형중간형
  • 트랜잭션 처리 시스템, 데이터베이스 관리 시스템, 컴파일러, 인터프리터와 같은 유틸 개발에 적용
  • 30만(300KDSI) 라인 이하 소프트웨어 개발 유형

임베디드형 (Embedded Mode)

  • 초대형 규모 트랜잭션 처리 시스템이나 운영체제, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적용
  • 30만(300KDSI) 라인 이상의 소프트웨어 개발 유형

 

📌 COCOMO의 소프트웨어 개발 유형

※ 오세임 : Organic Mode / Semi-Detached Mode / Embedded Mode

 
 
4. 푸트남(Putnam) 모형

  • 소프트웨어 개발주기의 단계별요구인력분포를 가정하는 방식
  • 푸트남이 제안한 것으로 생명주기 예측 모형이라고 한다.
  • 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선노력 분포도기초로 한다.

 
5. 기능점수(FP; Function Point) 모형

  • 요구 기능 증가시키는 인자별 가중치 부여하고 요인별 가중치 합산하여 총 기능 점수 계산하여 비용 산정하는 방식
기능점수(FP) = 총 기능점수 x [0.65 + (0.1 x 총 영향도)]

 

  • 경험 바탕으로 단순, 보통, 복잡 정도에 따라 가중치 부여

 
 
 

(3) 일정관리 모델

- 일정관리 모델은 프로젝트일정 기한 내에 적절하게 완료될 수 있도록 관리하는 모델
 

[1] 일정관리 모델 종류
 

1. 주 공정법 (CPM; Critical Path Method)

  • 여러 작업 수행 순서가 얽혀 있는 프로젝트 일정을 계산하는 기법
  • 모든 자원 제약사항 배제한 상태로 프로젝트 시작을 나타내는 노드(Node)노드 간 연결을 통해 공정을 계산하기 위한 액티비티(Activity) 표기법
주 공정(Critical Path; 임계 경로)

- 프로젝트 시작에서 종료까지 가장 긴 시간이 걸리는 경로

 
2. PERT (Program Evaluation and Review Technique)

  • 일의 순서를 계획적으로 정리하기 위한 수렴 기법
  • 비관치, 중간치, 낙관치3점 추정방식을 통해 일정을 관리하는 기법

 
3. 중요 연쇄 프로젝트 관리 (CCPM; Critical Chain Project Management)

  • 주 공정 연쇄법으로 자원제약사항을 고려하여 일정을 작성하는 기법

 
 

주 공정법(CPM) 일정 계산

 

📌 CPM(주 공정법) 이용 일정 계산

- 프로젝트 시작에서 종료까지 가장 긴 시간이 걸리는 경로 계산


임계 경로는 시작 > 가 > 나 > 바 > 종료 = 24일 이다.

① 시작 > 가 > 나 > 바 > 종료 = 8+10+2+4 = 24
② 시작 > 가 > 다 > 사 > 종료 = 8+5+1+4 = 18
③ 시작 > 라 > 사 > 종료 = 3+1+4 = 8
④ 시작 > 마 > 아 > 종료 = 7+6+4 = 17

 
 
 

(4) 위험 관리 (Risk Management)

- 프로젝트내재된 위험 요소인식하고 그 영향분석하여 이를 관리하는 활동
- 위험 관리는 프로젝트를 성공시키기 위해 위험 요소사전예측, 대비하는 모든 기술과 활동을 포함
 

 
[1] 위험 종류

 
소프트웨어 개발 시 나타나는 일반적 위험 요소에는 인력 부족, 예산 관리, 일정 관리, 사용자 요구사항 변경 등이 있음
 
→ 이 중 대표적 위험 요소는 사용자 요구사항 변경
 

  • 위험 종류 3가지

1. 알려진 위험

  • 프로젝트 계획서, 기술적 환경, 정보 등에 의해 발견될 수 있는 위험

2. 예측 가능한 위험

  • 과거 경험으로부터 예측할 수 있는 위험

3. 예측 불가능한 위험

  • 사전 예측이 매우 어려운 위험

 
 

[2] 위험 대응 전략

 
1. 회피(Avoidance)

  • 발생 가능성 원천 제거 전략

2. 전가(Transference)

  • 위험에 대한 책임제3자에게 넘기는 전략

3. 완화(Mitigation)

  • 위험 발생 가능성감소시키거나 영향력감소시키는 전략

4. 수용(Acceptance)

  • 위험을 그대로 받아들이는 전략