Математическое моделирование трудоемкости разработки ПО основано на сопоставлении экспериментальных данных с формой существующей математической функции. В начале 1960-х годов Питер Норден из фирмы IBM пришел к выводу, что в проектах по исследованию и разработке может применяться хорошо прогнозируемое распределение трудовых ресурсов, основанное на распределении вероятности, называемом кривой Рэлея (Rayleigh distribution). Позднее, в 1970-х годах Лоуренс Патнэм[33] из компании Quantitative Systems Management применил результаты Нордена к разработке ПО. Используя статистический анализ проектов, Патнэм обнаружил, что взаимосвязь между тремя основными параметрами проекта (размером, временем и трудоемкостью) напоминает функцию Нордена-Рэлея (рис. 6.9), отражающую распределение трудовых ресурсов проекта в зависимости от времени.
Рис. 6.9. Функция Рэлея
Функция Рэлея моделируется дифференциальным уравнением:
.
где — скорость роста персонала проекта; t — время, прошедшее от начала проекта до изъятия продукта из эксплуатации; К — область под кривой — представляет полную трудоемкость в течение всего жизненного цикла (включая сопровождение), выраженную в человеко-годах; а — константа, которая определяет форму кривой (фактор ускорения) и вычисляется по формуле
|
|
,
где - время разработки.
Приняв ряд допущений, Патнэм получил следующее уравнение:
,
где Е — трудоемкость разработки ПО, S — размер ПО в LOC, —
планируемый срок разработки, С — технологический фактор,
учитывающий различные аппаратные ограничения, опыт персонала и характеристики среды программирования. Он определяется на основе хронологических данных по прошлым проектам и,
согласно рекомендациям Патнэма определяется для различных
типов проектов следующим образом:
· проект, внедренный в сжатые сроки без детальной проработки, -1500;
· проект, выполненный в соответствии с четким планом, — 5000;
· проект, предусматривающий оптимальную организацию и поддержку, — 10000.
Оптимальный срок разработки определяется как
,
что хорошо согласуется с большинством статистических моделей.
Более подробное описание модели Патнэма приведено в книге Фатрелл Р., Шафер Д., Шафер Л. Управление программными проектами: достижение оптимального качества при минимуме затрат: Пер. с англ. — М.: Вильяме, 2003.
6.3.2.