COCOMOCOnstructive COst MOdel (COCOMO – модель издержек разработки) – это алгоритмическая модель оценки стоимости разработки программного обеспечения, разработанная Барри Боэмом (Barry Boehm). Модель использует простую формулу регрессии с параметрами, определенными из данных, собранных по ряду проектов. ИсторияCOCOMO была впервые опубликована в 1981 году в книге Барри Боэма «Экономика разработки программного обеспечения» в качестве модели для оценки трудоемкости, себестоимости и плана-графика для проектов по разработке программного обеспечения. Она использовала исследование 63 проектов в аэрокосмической компании TRW, в которой Барри Боэм был директором отдела исследований программного обеспечения и технологий. В исследовании проекты классифицировались по размеру в зависимости от количества строк кода (от 2 до 100 тысяч), а также по языку программирования (от ассемблеров до высокоуровневого языка PL/I. Эти проекты были основаны на водопадной (классической) модели жизненного цикла разработки ПО, доминировавшей в отрасли в 1981 году. В 1997 году была разработана модель COCOMO II, окончательно доработанная и опубликованная в 2000 году в книге “Оценка стоимости разработки ПО с COCOMO II”. COCOMO II является наследником первоначальной модели и более подходящей для оценивания современных проектов разработки ПО. Она предоставляет более полную поддержку современных процессов разработки ПО и построена на обновленной базе проектов. COCOMO состоит из иерархии трех последовательно детализируемых и уточняемых форм. Первый уровень, Базовый, подходит для быстрых ранних оценок стоимости разработки ПО и обладает неточностью вследствие некоторых факторов, которые невозможно учесть на ранних стадиях разработки. Средний уровень COCOMO учитывает эти факторы, тогда как Детальный уровень дополнительно учитывает влияние отдельных фаз проекта на его общую стоимость. Базовый уровень (COCOMO Model 1: Basic)Базовый уровень рассчитывает трудоемкость и стоимость разработки как функцию от размера программы. Размер выражается в оценочных тысячах строк кода (KLOC - kilo lines of code). COCOMO применим к трем классам проектов разработки ПО:
Вот базовые уравнения COCOMO:
Коэффициенты ab, bb, cb и db приведены в следующей таблице. Таблица 1. Коэффициенты модели COCOMO Базового уровня
Базовый уровень COCOMO хорош для быстрой оценки стоимости разработки. Однако он не принимает во внимание различия в аппаратных ограничениях, качестве и опыте персонала, а также использованию современных техник и средств разработки и других факторов. Средний уровень (COCOMO Model 2: Intermediate)Средний уровень рассчитывает трудоемкость разработки как функцию от размера программы и множества «факторов стоимости», включающих субъективные оценки характеристик продукта, проекта, персонала и аппаратного обеспечения. Это расширение включает в себя множество из четырёх факторов, каждый из которых имеет несколько дочерних характеристик.
Каждому из этих 15 факторов ставится в соответствие рейтинг по шести бальной шкале, начиная от «очень низкий» и до «экстра высокого» (по значению или важности фактора). Далее значения рейтинга заменяются множителями трудоемкости из нижеприведенной таблицы. Произведение всех множителей трудоемкости составляет Регулирующий фактор трудоемкости (РФТ). Обычно он принимает значения в диапазоне от 0.9 до 1.4. Коэффициенты представлены в таблице ниже. Таблица 2. Коэффициенты рейтинга
Формула модели COCOMO для среднего уровня принимает вид
где E – трудоемкость разработки ПО в человеко-месяцах, KLoC – оценочный размер программы в тысячах строках исходного кода, и РФТ – регулирующий фактор, рассчитанный ранее. Коэффициенты ai и показатель степени bi представлены в следующей таблице. Таблица 3. Коэффициенты Среднего уровня модели COCOMO
Расчет времени разработки для среднего уровня COCOMO совпадает с расчетом для Базового уровня. Детальный уровень (COCOMO Model 3: Advanced/Detailed)Детальный уровень включает в себя все характеристики среднего уровня с оценкой влияния данных характеристик на каждый этап процесса разработки ПО. Оценка метода COCOMOКритерии для применения метода COCOMO
Для небольших проектов, затраты на проведение оценки в соответствии со средним и детальным уровнями метода COCOMO слишком высоки. Однако результаты оценки, полученные от применения одного лишь базового уровня метода COCOMO, недостаточно точны.
Для программных проектов, занятых разработкой коммерческих приложений, метод COCOMO обычно приводит к завышенным значениям оценки затрат (ср. также / Noth, 1986 / стр. 87). Поэтому метод COCOMO применяется только к разработке технического программного обеспечения.
Это обстоятельство связано с тем, что отношение DSI к человеко-месяцам, реализованное в оценочном уравнении метода COCOMO, соответствует производительности при разработке технического программного обеспечения. В отношении коммерческой разработки программного обеспечения полагаются более высокие значения показателя DSI/человеко-месяц.
Сильные и слабые стороны метода и возможные меры ликвидации
С помощью инструкции оценки базы (DSI) была сделана попытка уменьшить большой неопределенностью и проблемами в связи с традиционной оценкой базы LOC. Однако некоторые проблемы остаются: неопределенность оценки DSI (-) и для усилий в области развития являются DSI-на основе современных методов разработки программного обеспечения, не большое значение, так как усилия все более происходит в начале деятельности и DSI будет только эффективной в конце процесса развития (-); DSI, а также LOC зависит от выбранного языка программирования (принятия Ада COCOMO уже доступна, однако).
Средство может быть достигнуто путем взвешивания инструкции в соответствии с их различных типов (см. / Снид, 1987 / С. 73-74: компилятор, описание данных, преобразования, управления и ввода / вывода инструкции, или см. / Снид, 1987 / С. 183-185: описание данных инструкций (дифференцированы в зависимости от степени интеграции, сообщений и данных объекта, изменения степени) и инструкции по обработке (дифференцированы в зависимости от партии / онлайн, изменения степени сложности, языка)).
С помощью различных уровнях модели COCOMO позволяет реализовать как макрос оценки с помощью Основные COCOMO и микро оценки с помощью промежуточных COCOMO и подробная COCOMO (+). Микро оценка позволяет усилий распределения деятельности и функциональных подразделений. Однако, метод COCOMO не только на основе жизненного цикла программных средств отклоняется от V-модель, но и на другой системе структуры (-). Поэтому, для того, чтобы список индивидуальных усилий для подмодели, (суб-) деятельности, и (суб-) продукции, необходимо, чтобы настроить эти элементы метода COCOMO к концепции V-модель.
В оценке усилий, COCOMO учитывает характеристики проекта, продукта, и персонала, а также технологии (+). В целях обеспечения объективной оценки этих факторов влияния, COCOMO предлагает точные определения (+). Количественная оценка влияния факторов представляет определенную проблему, хотя и (-), которая имеет сильное влияние на качество метода оценки и необходимой информации
Дифференцируя уравнения оценки в соответствии с проектом размеров и типов систем, область применения метода для COCOMO является широкий один (+). Он также является одним из немногих методов оценки предлагая-кроме поддержки проектов развития, поддержки усилий оценке задач SWMM, а (также параметрические уравнения оценки), а для оценки продолжительности проекта (+).
Компьютерная поддержка необходима для промежуточных и подробная COCOMO, основанных на количестве проблема (дифференциация влияния факторов на этапы и субпродукты (-).
Ссылки
|