본문 바로가기
정보처리/소프트웨어설계

요구사항 확인 소프트웨어 개발 방법론 4/4

by 피갓자 2025. 4. 1.

요구사항 확인 소프트웨어 개발 방법론
요구사항 확인 소프트웨어 개발 방법론

프로젝트 관리

프로젝트 관리

프로젝트 관리의 개념

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

프로젝트 관리 대상

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

품질 관리 : 품질 통제 및 품질 보증

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

프로젝트 관리 3대 요소

사람(People) : 프로젝트에서 가장 기본이 되는 인적 자원

문제(Problem) : 사용자의 관점에서 문제를 분석하여 인식함

프로세스(Process) : 소프트웨어 개발에 필요한 전체적인 작업 계획 및 구조(Framework)

비용산정 모형

비용산정 모형 개념

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

비용산정 모형 분류

하향식 산정 방법

  • 경험이 많은 전문가에게 비용 산정을 의뢰하거나 여러 전문가와 조정자를 통해 산정하는 방식
  • 전문가 판단, 델파이 기법

상향식 산정 방법

  • 세부적인 요구사항과 기능에 따라 필요한 비용을 계산하는 방식
  • 코드 라인 수(LoC), Man Month, COCOMO 모형, 푸트남 모형, 기능점수(FP) 모형

비용산정 모형 종류

LoC(Lines of Code) 모형

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

Man Month 모형

  • 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 방식

COCOMO(COnstructive COst MOdel) 모형

  • 보헴(Boehm)이 제안한 모형으로 프로그램 규모에 따라 비용을 산정하는 방식
  • 비용산정 결과는 프로젝트를 완성하는 데 필요한 노력(Man Month)으로 산정
  • 비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 통용됨

COCOMO의 소프트웨어 개발 유형

조직형(Organic Mode)

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

반분리형(Semi Detached Mode)

  • 트랜잭션 처리 시스템이나, 데이터베이스 관리 시스템, 컴파일러, 인터프리터와 같은 유틸 개발에 적용
  • 30만(KDSI) 라인 이하의 소프트웨어를 개발하는 유형

임베디드형(Embedded Mode)

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

푸트남(Putnam) 모형

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

기능점수(FP, Function Point) 모형

  • 요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능의 점수를 계산하여 비용을 산정하는 방식
  • 경험을 바탕으로 단순, 보통, 복잡한 정도에 따라 가중치를 부여

일정 관리 모델

일정 관리 모델 개념

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

일정 관리 모델 종류

주 공정법(CPM, Critical Path Method)

  • 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법

PERT(Program Evaluation and Review Technique)

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

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

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

위험 관리

위험 관리(Risk Management) 개념

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

위험의 종류

  • 소프트웨어 개발 시 나타나는 일반적인 위험 요소에는 인력 부족, 예산 관리, 일정 관리, 사용자 요구사항 변경 등이 있으며, 이 중 가장 대표적인 위험 요소는 사용자 요구사항 변경임
  • 알려진 위험 : 프로젝트 계획서, 기술적 환경, 정보 등에 의해 발견될 수 있는 위험
  • 예측 가능한 위험 : 과거 경험으로부터 예측할 수 있는 위험
  • 예측 불가능한 위험 : 사전 예측이 매우 어려운 위험

위험 대응 전략

회피(Avoidance) : 발생 가능성을 원천적으로 제거하는 전략

전가(Transference) : 위험에 대한 책임의 제3자에게 넘기는 전략

완화(Mitigation) : 위험 발생 가능성을 감소시키거나 영향력을 감소시키는 전략

수용(Acceptance) : 위험을 그대로 받아들이는 전략