COCOMO II
(Constructive Cost Model)
Василенко Анатолий
2017
COCOMO – история
1981 г. - COCOMO - Барри Боэм - «Экономика разработки программного обеспечения»
На основе 63-х проектов аэрокосмической компании TRW
Водопадная модель разработки
Основные параметры: KLOC, язык программирования
1997 г. – COCOMO II
На основе 161-го проекта
COCOMO – 3 этапа детализации
• COCOMO 81: Basic / Intermediate / Advanced
• COCOMO II: Applicatons Compositon / Early Design / Post-architecture models
Трудоёмкость (чел*мес) =
Трудоёмкость (чел*мес) =
Трудоёмкость (чел*мес) =
5 факторов масштаба (SFj):
Множители трудоёмкости (EMj) (в среднем 0.9-1.4):
• PREC — опыт аналогичных разработок
• Характеристики продукта
• Характеристики аппаратного обеспечения
• FLEX — гибкость процесса разработки
• RESL — архитектура и разрешение рисков
• TEAM — сработанность команды
• PMAT — зрелость процессов
• Характеристики персонала
• Характеристики проекта
Особенности COCOMO
• Проблема применимости базовой оценки COCOMO
• Завышенные оценки для чисто программных проектов
• Для полной оценки проекта, предпочтительна последовательная (водопадная)
модель разработки
• Проблема оценки множителей трудоёмкости и факторов масштаба
Диапазон применимости COCOMO довольно широк
Примеры использования COCOMO
• Принятие инвестиционных или иных финансовых решений, связанных с разработкой
программного обеспечения
• Определение бюджетов и графиков проектов в качестве основы для планирования и
контроля
• Определение рисков, связанных с разработкой дополнительного ПО
• Принятие решений о разработке, доработке, переиспользовании, аренде или
покупке ПО
Спасибо за внимание
Закон Паркинсона: Работа заполняет всё время, отпущенное на неё
References
• Center for Systems and Softare Engineering htp://csse.usc.edu/csse/research/COCOMOII/cocomo_main.html
• Sofstar Systems - htp://ttt.sofstarsystems.com/cocomo2.htm
• Wikipedia - htps://ru.tikipedia.org/tiki/COCOMO
Пример
• Оценка при базовом уровне детализации для проекта в 32000 строк:
• Трудоёмкость = 3.0 * 321.12 = 146 человеко-месяцев
• Длительность разработки = 2.5 * 1460.35 = 14 месяцев
• Число разработчиков = 146 / 14 = 10 человек