Методика COCOMO позволяет оценить трудоемкость и время разработки программного продукта. Впервые была опубликована Бари Боэмом [3] в 1981 году в виде результат анализа 63 проектов компании «TRW Aerospace». В 1997 методика была усовершенствована и получила название COCOMO II. Калибровка параметров производилась по 161 проекту разработки. В модели используется формула регрессии с параметрами, определяемыми на основе отраслевых данных и характеристик конкретного проекта.
Различаются две стадии оценки проекта: предварительная оценка на начальной фазе и детальная оценка после проработки архитектуры.
Формула оценки трудоемкости проекта в чел.*мес. имеет вид:
где
· SIZE — размер продукта в KSLOC
· EMi — множители трудоемкости
· SFj — факторы масштаба
· n=7 — для предварительной оценки
· n=17 — для детальной оценки
Главной особенностью методики является то, что для того, чтобы оценить трудоемкость, необходимо знать размер программного продукта в тысячах строках исходного кода (KSLOC, Kilo Source Lines Of Code). Размер программного продукта может быть, например, оценен экспертами с применением метода PERT.
|
|
Если мы провели анализ продукта методом функциональных точек, то его размер может быть рассчитан с использованием собственных статистических данных или с использованием статистики по отрасли [5] (Таблица 13).
Таблица 13. Оценка количества строк, необходимых на реализацию одной не выровненной функциональной точки для некоторых распространенных языков программирования.
Язык программирования | Оценка количества строк | ||
Наиболее вероятная | Оптимистичная | Пессимистичная | |
Assembler | |||
C | |||
C++ | |||
C# | |||
J2EE | |||
JavaScript | |||
PL/SQL | |||
Visual Basic |
Факторы масштаба
В методике используются пять факторов масштаба SF;, которые определяются следующими характеристиками проекта:
1. PREC — прецедентность, наличие опыт аналогичных разработок (Very Low — опыт в продукте и платформе отсутствует; Extra High — продукт и платформа полностью знакомы)
2. FLEX — гибкость процесса разработки (Very Low — процесс строго детерминирован; Extra High — определены только общие цели).
3. RESL — архитектура и разрешение рисков (Very Low — риски неизвестны/не проанализированы; Extra High — риски разрешены на 100%)
4. TEAM — сработанность команды (Very Low — формальные взаимодействия; Extra High — полное доверие, взаимозаменяемость и взаимопомощь).
5. PMAT — зрелость процессов (Very Low — CMM Level 1; Extra High — CMM Level 5)
Значение фактора масштаб, в зависимости от оценки его уровня, приведены в Таблица 14
Таблица 14. Значение фактора масштаба, в зависимости от оценки его уровня
|
|
Фактор масштаба | Оценка уровня фактора | |||||
Very Low | Low | Nominal | High | Very High | Extra High | |
PREC | 6.20 | 4.96 | 3.72 | 2.48 | 1.24 | 0.00 |
FLEX | 5.07 | 4.05 | 3.04 | 2.03 | 1.01 | 0.00 |
RESL | 7.07 | 5.65 | 4.24 | 2.83 | 1.41 | 0.00 |
TEAM | 5.48 | 4.38 | 3.29 | 2.19 | 1.10 | 0.00 |
PMAT | 7.80 | 6.24 | 4.68 | 3.12 | 1.56 | 0.00 |