2009-09-21 2 views
11

프로젝트 견적을위한 LOC 올바른 매개 변수입니까?프로젝트 견적을위한 LOC 올바른 매개 변수입니까?

LOC 이외의 프로젝트 추정을 위해 제안 된 매개 변수가 될 수있는 코드의 한 줄에 복잡성이 훨씬 더 많은 시나리오가 있습니까?

사람들이 프로그램의 기능적 포인트에 대해 이야기하면서 사용 사례 관련 정보를 의미합니까?

분석, 디자인, 테스트 케이스 준비 및 코딩으로 구성 될 수있는 전체 소프트웨어 개발 추정을위한 견고한 기반을 찾으려고합니다. 제발 제안 해주십시오.

답변

1

반대의 경우에만 사용하십시오.

- 편집

아니요. 아니요. 그렇지 않습니다. 이것은 거의 쓸모없는 조치이며 일반적으로 해로운 것입니다. 아시다시피, 적은 코드가 거의 이고 항상입니다.

다른 것들을 확인 하시겠습니까? 자, 무엇을 측정 하려니? 당신이 점검 할 일들의 변화로 어떤 결과를보고 싶습니까? 이러한 변화를 바탕으로 어떤 종류의 결정을 내릴 것입니까?

3
급속한 발전에

스티브 맥코넬 (마이크로 소프트 출판사, 1996) :

때문에 다른 프로그래밍 언어가 소프트웨어 산업의 많은 이 이동하고, 코드 라인의 특정 번호를 서로 다른 앞머리 을 생산"기능 점수"측정 값으로 프로그램 크기를 측정합니다. 기능 점수는 입력, 출력, 질의 및 파일 수의 가중 합계를 기준으로 을 기반으로하는 프로그램 크기 측정 값입니다. 기능 점수는 이므로 크기의 프로그램을 독립적 인 언어로 생각할 수 있으므로 유용합니다.

자세한 내용은 Google "기능 점수"를 참조하십시오.

1

LOC는 문제 크기을 측정하기위한 하나의 대책입니다.

LOC 추정을 사용할 수 있으며 LOC 계산은 역사 프로젝트에서 측정하기에 상대적으로 저렴합니다. 그러나 LOC는 다른 답변에서 이미 지적한대로 문제 크기에 대한 프록시가 아닌 다른 용도로 사용되는 경우 문제가 될 수 있습니다.

문제점 크기는 요구 사항에 따라 다소 일정합니다. 예상 크기에서부터 노력, 일정 및 비용 견적을받을 수 있습니다. 비용이나 일정과 같은 계획 운전자에 따라 다릅니다. 과거 데이터를 통해 문제의 크기가 어떻게 노력으로 변환되고 다른 계획 작성자가 결과에 어떻게 영향을 주는지 상관 관계를 찾을 수 있습니다. 따라서 크기 측정과 노력을 다른 매개 변수와 비교하여 측정하고 추정 프로세스를 미세 조정해야합니다. 문헌에서 사용할 수있는 LOC-to-effort 척도가 있지만 사용중인 기술과 보유한 팀을 사용하여 도메인에서 정확하지 않습니다.

문제 크기에 대한 다른 프록시는 기능 점수 및 스토리 포인트입니다.기능 점수에 대한 나의 경험은 거의 가치가 없다는 것입니다. 다른 한편, 애자일 방법의 스토리 포인트는 고의적으로 추상적이어서 (따라서 LOC와 관련된 많은 문제를 피하고) 스프린트별로 스프린트 기준으로 측정되고 다음 스프린트에 즉각적인 피드백을 제공하므로 매우 잘 작동합니다.

2

개발자가 변경 사항을 테스트하는 데 대부분의 시간을 소비하는 것으로 보아도 코드 줄은 문제의 크기를 나타내는 좋은 지표가 아닙니다.

기존의 대규모 응용 프로그램이 있다고 가정 해 보겠습니다. 한 줄의 코드를 변경하면 사소한 것처럼 보일 수 있지만 테스트 계획 및 실행에는 몇 주가 소요될 수 있습니다.

마찬가지로 쉽게 테스트 할 수있는 단일 제한 범위 모듈에 비교적 많은 양의 코드를 추가하는 데 며칠이 소요될 수 있습니다.

* 최소한해야합니다. 테스트보다 코드를 작성하는 데 더 많은 시간을 소비한다면 아마도 버그로 가득차있을 것입니다. 그리고 귀하의 전담 QA 팀에 도달하기 전에는 의미합니다.

1

아니요, 아닙니다. 그 이유는 간단합니다. 개발 중에 새로운 코드 줄을 생성한다면 솔루션에 한발 더 다가서야합니까? 작업을 완료하기 위해 1000 줄의 코드를 계산했다면 이제 해당 작업을 0.1 % 완료 했습니까?

코드 줄은 메트릭으로 사용할 수 있지만 부정적인 의미로만 사용할 수 있습니다. 코드 줄 수가 많을수록 더 많은 버그가 있다고 가정하는 것이 합리적입니다. 과거 데이터를 기반으로 일반적으로 코드 줄과 버그 수 사이에는 선형 상관 관계가 있습니다. 노동의

  1. 시간 : 여기

    은 고려 가치가있는 몇 가지 유용한 측정 가능한 요소입니다.
  2. 달러를 소비했습니다. 테스터 나 고객의 손에있는 것보다 개발자의 데스크톱에서 버그를 찾는 것이 강하게 집행되기 때문에 좋은 방법입니다.
  3. 마일스톤 : 적합한 날짜에 고객이 사용할 수있는 시스템입니까?
  4. 요구 사항 완료 : 이는 재미있을 수 있습니다. 프로젝트에서 새로운 고객의 필요성을 발견하면 어떻게 될까요?

요약하면 코드 줄은 사용 가능한 최악의 측정 항목입니다.

0

프로젝트 기간에 대한 합리적인 추정치를 얻는 유일한 방법은 최종 요구 사항의 일부 하위 집합을 완벽하게 구현 및 제공하는 것입니다. 그런 다음 완성 된 작업과 그 복잡성을 비교하여 나머지 요구 사항을 예측할 수 있습니다.

관련 문제