Модель конструктивной стоимости ( COCOMO ) — это процедурная модель оценки стоимости программного обеспечения , разработанная Барри В. Бёмом . Параметры модели получены путем подбора формулы регрессии с использованием данных исторических проектов (63 проекта для COCOMO 81 и 163 проекта для COCOMO II).
Модель конструктивной стоимости была разработана Барри В. Бёмом в конце 1970-х годов [1] и опубликована в книге Бема 1981 года « Экономика программной инженерии» [2] как модель для оценки усилий, стоимости и графика проектов разработки программного обеспечения. В основу исследования легло исследование 63 проектов компании TRW Aerospace, где Бём был директором по исследованиям и технологиям программного обеспечения. В исследовании рассматривались проекты размером от 2000 до 100 000 строк кода и языки программирования от ассемблера до PL/I . Эти проекты были основаны на каскадной модели разработки программного обеспечения, которая была распространенным процессом разработки программного обеспечения в 1981 году.
В ссылках на эту модель ее обычно называют COCOMO 81 . В 1995 году COCOMO II был разработан и окончательно опубликован в 2000 году в книге « Оценка стоимости программного обеспечения с помощью COCOMO II» . [3] COCOMO II является преемником COCOMO 81 и, как утверждается, лучше подходит для оценки современных проектов разработки программного обеспечения; обеспечивает поддержку более поздних процессов разработки программного обеспечения и был настроен с использованием более крупной базы данных, состоящей из 161 проекта. Потребность в новой модели возникла, когда технология разработки программного обеспечения перешла от мэйнфреймов и ночной пакетной обработки к разработке настольных компьютеров, повторному использованию кода и использованию готовых программных компонентов.
COCOMO состоит из иерархии трех все более подробных и точных форм. Первый уровень, Basic COCOMO, хорош для быстрой, ранней и грубой оценки затрат на программное обеспечение, но его точность ограничена из-за отсутствия факторов для учета различий в атрибутах проекта ( факторы затрат ). Промежуточный COCOMO учитывает эти факторы затрат, а подробный COCOMO дополнительно учитывает влияние отдельных этапов проекта. Последняя — это полная модель COCOMO, которая устраняет недостатки как базового, так и промежуточного уровня.
Средний уровень COCOMO рассчитывает затраты на разработку программного обеспечения в зависимости от размера программы и набора «факторов затрат», которые включают субъективную оценку продукта, оборудования, персонала и характеристик проекта. Это расширение рассматривает набор из четырех «факторов затрат», каждый из которых имеет ряд вспомогательных атрибутов:
Каждому из 15 атрибутов присваивается рейтинг по шестибалльной шкале от «очень низкого» до «очень высокого» (по важности или ценности). К рейтингу применяется множитель усилий из таблицы ниже. Произведение всех множителей усилий дает поправочный коэффициент усилий (EAF) . Типичные значения для ЭДП варьируются от 0,9 до 1,4.
Формула Промежуточного Кокомо теперь принимает вид:
где E — затраченные усилия в человеко-месяцах, KLoC — предполагаемое количество тысяч строк кода, доставленных для проекта, а EAF — коэффициент, рассчитанный выше. Коэффициент a i и показатель степени b i приведены в следующей таблице.
Для расчета времени разработки D , а также наиболее эффективного количества людей P используется E так же, как и в базовом COCOMO:
Обратите внимание, что помимо EAF, параметр a i отличается в Intermediate COCOMO от базовой модели:
Параметры b и c одинаковы в обеих моделях.