КОКОМО
Эта статья нуждается в дополнительных цитатах для проверки . ( октябрь 2015 г. ) |
Модель конструктивной стоимости ( 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.
Драйверы затрат | Рейтинги | |||||
---|---|---|---|---|---|---|
Очень низкий | Низкий | Номинальный | Высокий | Очень высокий | Очень высокий | |
Атрибуты продукта | ||||||
Требуемая надежность программного обеспечения | 0.75 | 0.88 | 1.00 | 1.15 | 1.40 | |
Размер базы данных приложения | 0.94 | 1.00 | 1.08 | 1.16 | ||
Сложность продукта | 0.70 | 0.85 | 1.00 | 1.15 | 1.30 | 1.65 |
Атрибуты оборудования | ||||||
Ограничения производительности во время выполнения | 1.00 | 1.11 | 1.30 | 1.66 | ||
Ограничения памяти | 1.00 | 1.06 | 1.21 | 1.56 | ||
Нестабильность среды виртуальных машин | 0.87 | 1.00 | 1.15 | 1.30 | ||
Требуемое время оборота | 0.87 | 1.00 | 1.07 | 1.15 | ||
Атрибуты персонала | ||||||
Возможности аналитика | 1.46 | 1.19 | 1.00 | 0.86 | 0.71 | |
Опыт применения | 1.29 | 1.13 | 1.00 | 0.91 | 0.82 | |
Возможности инженера-программиста | 1.42 | 1.17 | 1.00 | 0.86 | 0.70 | |
Опыт работы с виртуальной машиной | 1.21 | 1.10 | 1.00 | 0.90 | ||
Опыт языка программирования | 1.14 | 1.07 | 1.00 | 0.95 | ||
Атрибуты проекта | ||||||
Применение методов программной инженерии | 1.24 | 1.10 | 1.00 | 0.91 | 0.82 | |
Использование программных инструментов | 1.24 | 1.10 | 1.00 | 0.91 | 0.83 | |
Требуемый график разработки | 1.23 | 1.08 | 1.00 | 1.04 | 1.10 |
Формула Промежуточного Кокомо теперь принимает вид:
- E = а я (KLoC) с (ЭДП)
где E — затраченные усилия в человеко-месяцах, KLoC — предполагаемое количество тысяч строк кода, поставленных для проекта, а EAF — коэффициент, рассчитанный выше. Коэффициент a i и показатель степени b i приведены в следующей таблице.
Программный проект а с с cТам Органический 3.2 1.05 0.38 Двухквартирный дом 3.0 1.12 0.35 Встроенный 2.8 1.20 0.32
Для расчета времени разработки D , а также наиболее эффективного количества людей P используется E так же, как и в базовом COCOMO:
- Д = 2,5 Е cТам
-
Обратите внимание, что помимо EAF, параметр a i отличается в Intermediate COCOMO от базовой модели:
Программный проект а б Органический 2.4 Двухквартирный дом 3.0 Встроенный 3.6
Параметры b и c одинаковы в обеих моделях.
См. также
[ редактировать ]- Сравнение программного обеспечения для оценки разработки
- Перерасход средств
- КОСИСМО
- Оценка в программной инженерии
- Функциональная точка
- Точка объекта
- Модель Патнэма
- ИЗВИНИ
- Оценка усилий по разработке программного обеспечения
- Экономика программной инженерии
- ЦЕНА Системы
Ссылки
[ редактировать ]- ^ Штуцке, Ричард. «Технология оценки программного обеспечения: обзор» . Архивировано из оригинала 28 марта 2020 года . Проверено 9 октября 2016 г. ДОКТОР
- ^ Бём, Барри (1981). Экономика программной инженерии . Прентис-Холл. ISBN 0-13-822122-7 .
- ^ Барри Бём , Крис Абтс, А. Уинзор Браун, Сунита Чулани, Брэдфорд К. Кларк, Эллис Горовиц, Рэй Мадачи, Дональд Дж. Райфер и Берт Стис. Оценка стоимости программного обеспечения с помощью COCOMO II (с компакт-диском). Энглвуд Клиффс, Нью-Джерси: Прентис-Холл, 2000. ISBN 0-13-026692-2
Дальнейшее чтение
[ редактировать ]- Кемерер, Крис Ф. (май 1987 г.). «Эмпирическая проверка моделей оценки стоимости программного обеспечения» (PDF) . Коммуникации АКМ . 30 (5): 416–42. дои : 10.1145/22899.22906 .
Внешние ссылки
[ редактировать ]- Данные COCOMO 81 о тера-ОБЕЩАНИИ
- Анализ данных COCOMO 81 дает другое значение органического показателя.