<<
>>

Проблемы при оценке размера

Существуют различные показатели размера программных проектов, в том числе: функции; требования; сценарии использования; функциональные пункты; веб-страницы; компоненты GUI (окна, диалоговые окна, отчеты и т.

д.); таблицы баз данных; определения интерфейсов; классы; строки программного кода.

На практике для оценки чаще всего используются строки программного кода (LOC), поэтому я начну именно с них.

Роль строк кода в оценке размеров

Оценка программных проектов в строках кода имеет как положительные, так и отрицательные стороны. С одной стороны, у них есть ряд преимуществ. Данные по количеству строк кода в прошлых проектах легко собираются при помощи служебных программ. Во многих организациях уже наработан большой объем исторических данных, выраженных в строках кода. Объем работы на строку кода остается более или менее постоянным для разных языков программирования или, во всяком случае, достаточно близким для практических целей. (Как объясняется в главе 5, объем работы на строку кода в большей степени зависит от размера проекта и типа программы, нежели от языка программирования. А вот функциональность одной строки кода радикально изменяется в зависимости от языка.) Измерения в строках кода позволяют выполнять межпроектные сравнения и оценивать будущие проекты по данным прошлых проектов. В большинстве коммерческих оценочных программ оценки объема работ и сроков в конечном счете основываются на строках кода.

С другой стороны, строки кода также создают определенные трудности при оценке размера. Упрощенные модели вида «количество строк кода на человеко-месяц» подвержены ошибкам из-за издержек масштаба и заметных различий в скорости кодирования для разных типов программного обеспечения. Строки кода не могут использоваться в качестве основы для оценки задач, порученных отдельным программистам, из-за огромных различий в производительности.

Если проект требует более сложного кода по сравнению с проектом, использовавшимся для калибровки предположений о производительности, это может нарушить точность оценки. Применение метрики LOC при оценке работы по постановке требований, проектированию и других действий, предшествующих созданию кода, выглядит противоестественно. Строки кода трудно оценивать напрямую и их обычно приходится оценивать опосредованно. Вы должны заранее тщательно определить, что именно следует считать строкой кода (это необходимо для предотвращения проблем, описанных в разделе 8.2).

Некоторые эксперты возражают против использования строк кода в качестве метрики размера из-за проблем, возникающих при попытке анализа производительности в проектах с разными типами, размерами, языками программирования и программистами (Jones 1997). Другие эксперты указывают, что аналогичные проблемы встречаются и при использовании других метрик размеров, включая функциональные пункты (Putnam and Myers 2003).

Общая проблема оценки в строках кода, функциональных пунктах и других простых метриках заключается в том, что измерение чего-либо столь многогранного, как размер программного проекта, в одномерных метриках неизбежно порождает аномалии, по крайней мере в отдельных ситуациях (Gilb 1988, Gilb 2005).

Одномерные метрики не применяются для описания экономических моделей или других сложных сущностей. Они даже не применяются для определения лучшего подающего в бейсбольной команде — мы учитываем среднее количество попаданий, пробежек и других факторов, но даже после этого продолжаем спорить о смысле этих чисел. Если даже уровень подающего нельзя оценить по одному простому показателю, почему можно полагать, что простая метрика подойдет для оценки чего-то настолько сложного, как размер программного проекта?

Мое личное отношение относительно оценки проектов по строкам кода напоминает высказывание Уинстона Черчилля по поводу демократии. Метрика LOC — очень плохой способ оценки размера программного проекта, но все остальные способы еще хуже.

В большинстве организаций, несмотря на все свои недостатки, метрика LOC остается основным рабочим инструментом для измерения размера прошлых проектов и создания ранних оценок новых проектов.

Метрика LOC — это lingua franca оценки программных проектов и обычно хорошая отправная точка (при условии, что вы не забываете о ее ограничениях).

Возможно, ваша среда достаточно сильно отличается от типичной среды программирования, и количество строк кода в ней слабо коррелируется с размером проекта. В этом случае найдите другой показатель, в большей степени связанный с размером проекта, подсчитайте его и заложите в основу своих оценок размера, как обсуждалось в главе 8. Ищите метрику, легко подсчитываемую, коррелированную с объемом работ и достаточно универсальную для использования в нескольких проектах.

СОВЕТ № 80

Используйте строки программного кода для оценки размеров, но помните об общих ограничениях простых метрик, а также специфических опасностях метрики LOC.

<< | >>
Источник: Макконнелл С.. Сколько стоит программный проект. 2007

Еще по теме Проблемы при оценке размера:

  1. Специфические проблемы при оценке размера
  2. Специфические проблемы при оценке сроков
  3. Специфические проблемы при оценке объема работ
  4. 18.4. Сводка методов оценки размера
  5. 32.. Каким образом рассчитывается размер страхового платежа при экологическом страховании?
  6. Пример оценки общественной сравнительной эффективности лучшего проектного варианта, отобранного при оценке отраслевой эффективности.
  7. Проблемы, возникающие при совершении торговых операций
  8. 8.1. При вовлечении в сделку публичных объектов оценки
  9. 31.8. Проблема стоимостной оценки природных богатств
  10. Глава VII. Экономический расчет при социализме (I): характер и история проблемы
  11. Оценка кредитоспособности заемщика при страховании банковских кредитов
  12. 1. Учёт фактора времени при оценке инвестиционных проектов
  13. РАЗРАБОТКА ПРОБЛЕМ ПОЛИТИЧЕСКОЙ ЭКОНОМИИ КАПИТАЛИЗМА КАФЕДРАМИ ВПШ И АОН ПРИ ЦК КПСС
  14. 41. Методы учета рисков при оценке эффективности инвестиций.
  15. Проблемы и противоречия по вопросам оценки налогового потенциала региона