Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

josolha

소프트웨어 개발 방법론 / 비용 산정, 일정 관리 모형 본문

정보처리기사

소프트웨어 개발 방법론 / 비용 산정, 일정 관리 모형

josolha 2023. 3. 7. 22:15

소프트웨어 개발 방법론(Software Development Methodology) 개념

  • 소프트웨어 개발 방법론은 소프트웨어 개발 전 과정에 지속적으로 적용할 수 있는 방법, 절차, 기법이다
  • 소프트웨어를 하나의 생명체로 간주하고 소프트웨어 개발의 시작부터 시스템을 사용하지 않는 과정까지의 전 과정을 형상화한 방법론이다

소프트웨어 개발 방법론 종류

    •  

 

1) 구조적 방법론

 

사용자 요구사항을 파악하여 문서화하는 처리 중심의 방법론 ( 1960년대까지 많이 사용 )

분할과 정복 ( Divide and Conquer )

2) 정보공학방법론

 

정형화된 계획, 분석, 설계, 구축의 단계를 상호 연관성있게 통합하고 적용한 자료중심의 방법론

정보시스템 개발주기를 이용하여 대규모 정보시스템 구축에 용이

 

3) 객체지향 방법론

 

현실세계의 개체를 기계의 부품처럼 하나의 객체로 만든 후, 객체들을 조립하여 소프트웨어를 구현하는 방법론

 

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

 

컴포넌트를 조합하여 하나의 새로운 어플리케이션을 만드는 방법론

컴포넌트의 재사용이 가능하고 확장성이 좋아 유지보수 비용을 최소화할 수 있음.

 

5) 제품계열 방법론

 

특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론

임베디드 소프트웨어에 적합하다.

 


소프트웨어 공학의 발전 추세

 

1) 소프트웨어 재사용 ( Software Reuse ) 

 

이미 개발된 소프트웨어( 경험, 지식 )를 다른 소프트웨어의 개발과 유지에 사용하는 것

 

- 합성 중심 ( Composition-Based ) : 부품같은 블록을 맞추어 완성시키는 방법 ( 블록 구성 방법 )

- 생성 중심 ( Geneation-Based ) : 추상화된 형태를 구체화하는 방법 ( 패턴 구성 방법 )

 

2) 소프트웨어 재공학 ( Software Reenginerring )

 

새로운 요구에 맞도록 기존 시스템을 이용하여 더 나은 시스템을 구축하고 새로운 기능을 추가하여 성능을 향상시키는 것, 유지보수 비용이 줄어들고 생산성이 향상된다. 

 

3) CASE ( Computer Aided Software Engineering )

 

소프트웨어 개발과정의 전체 또는 일부 과정을 전용 소프트웨어 도구를 사용하여 자동화하는 것

 

CASE 기능

- 소프트웨어 생명 주기 전 단계 연결

- 다양한 소프트웨어 개발 모형에 적용 가능함

- 그래픽 기능

 


 비용 산정 기법

 하향식 비용 산정 기법

  • 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 방법
  • 프로젝트의 전체 비용을 산정한 후 각 작업별로 비용을 세분화
  • 하향식 비용 산정 기법
    - 전문가 감정 기법
    - 델파이 기법

전문가 감정 기법

  • 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법
  • 가장 편리하고 신속하게 비용 산정 가능
  • 개인적이고 주관적이나 의뢰자로부터 믿음을 얻을 수 있음

델파이 기법

  • 전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가의 의견을 종합하여 산정하는 기법
  • 전문가들의 편견이나 분위기에 지배되지 않도록 한 명의 조정자와 여러 전문가로 구성됨

상향식 비용 산정 기법

  • 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법
  • 주요 상향식 비용 산정 기법
    - LOC(원시 코드 라인 수) 기법
    - 개발 단계별 인원수 기법
    - 수학적 산정 가법

LOC(원시 코드 라인 수, source Line of Code)기법

  • 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법
  • 예측치 = ( 낙관치 + 4 * 기대치 + 비관치 ) / 6
  • 측정이 용이하고 이해하기 쉬워 가장 많이 사용되며 예측치를 이용하여 생산성, 노력, 개발 기간 등의 비용을 산정한다

개발 단계별 인월수(Effort per Task) 기법

  • 기능을 구현시키는 데 필요한 노력을 생명 주기의 각 단계별로 산정
  • LOC 기법보다 더 정확

수학적 산정 기법

  • 상향식 비용 산정 기법으로 경험적 추정 모형, 실험적 추정 모형이라고도 함
  • 개발 비용 산정의 자동화를 목표로 함
  • 비용의 자동산정을 위해 사용되는 공식은 과거의 유사한 프로젝트를 기반으로 유도된 것
  • 주요 산정기법
    - COCOMO 모형
    - Putnam 모형
    - 기능점수(FP) 모형
  • COCOMO(Constructive COst MOdel) 모형
  • LOC(원시 코드 라인 수)에 의한 비용 산정 기법
  • 개발할 소프트웨어의 규모(LOC)를 예측한 후 이를 소프트웨어 종류에 따라 다르게 책정되는 비용 산정 방정식에 대입하여 비용을 산정
  • 비용 산정 결과는 프로젝트를 완성하는 데 필요한 노력(Man-Month)로 나타남
  • 보헴이 제안
  • COCOMO의 소프트웨어 개발 유형

유형특징

조직형 기관 내부에서 개발된 중소 규모의 SW, 일괄 지료 처리나 과학기술 계산용, 비즈니스 자료 처리용 등의 5만 라인 이하의 소프트웨어를 개발하는 유형. 사무 처리용, 업무용, 과학용 응용 소프트웨어 개발에 적합함
반분리형 조직형과 내장형의 중간형 SW, 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만 라인 이하의 소프트웨어를 개발하는 유형
내장형 초대형 규모의 소프트웨어, 트랜잭션 처리 시스템이나 운영체제 등의 30만 라인 이상의 소프트웨어를 개발하는 유형. 신호기 제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적합함

COCOMO 모형의 종류

종류특징

기본형 소프트웨어의 크기와 개발 유형만을 이용하여 비용 산정
중간형 기본형의 공식을 기반으로 하나 제품/컴퓨터/개발 요원/프로젝트 특성에 의해 비용을 산정
발전형 중간형 COCOMO를 보완하여 만들어진 모형, 개발 공정별로 보다 자세하고 정확하게 노력을 산출하여 비용산정, 소프트웨어 환경과 구성 요소가 사전에 정의되어 있어야 하며 개발 과정의 후반부에 주로 작용함

Putnam 모형

  • 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 예상하는 모형
  • 푸트남이 제안한 것으로 생명 주기 예측 모형이라고도 함
  • 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 함
  • 대형 프로젝트의 노력 분포 산정에 이용
  • 개발 기간이 늘수록 프로잭트 적용 인원의 노력 감소

기능 점수(FP) 모형

  • 소프트웨어의 기능을 증대시키는 요인별로 기능 점수(FP)를 구한 후, 비용을 산정하는 기법
    = 알브레히트가 제안
  • 소프트웨어 기능 증대 요인
    - 자료 입력(입력 양식)
    - 정보 출력(출력 보고서)
    - 명령어(사용자 질의수)
    - 데이터 파일
    - 필요한 외부 루틴과의 인터페이스

 비용 산정 자동화 추정 도구

유형특징

SLIM Rayleigh-Nordan 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구
ESTTIMACS 다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로하여 개발된 자동화 추정 도구