Оценка длительности базового проекта СОСОМО
Оценка длительности проекта при использовании базовой модели СОСОМО производится по следующим формулам:
Длительность проекта в органическом режиме:
Длительность проекта в сблокированном режиме:
Длительность проекта во внедренном режиме:
В таблице 3.5 представлены базовые формулы, применяемые для оценки трудозатрат и времени разработки в каждом режиме.
Таблица 3.5 - Базовые формулы оценки необходимых для разработки времени и трудозатрат в модели СОСОМО
Если известны трудоемкость (Е) и время разработки (TDEV), может быть вычислена средняя численность персонала (SS), необходимого для завершения проекта при использовании базовой модели СОСОМО:
средняя численность персонала = трудозатраты/ время разработки, т.е. SS = Е/TDEV
Если известна средняя численность персонала (SS), может быть определен уровень производительности (Р) для базовой модели СОСОМО:
производительность = размер кода /трудозатратыили Р = KLOC/E.
В базовой модели СОСОМО предлагается метод быстрых оценок трудозатрат, времени разработки, количества персонала, а также производительности. При этом исходными являются сведения о размере кода и режиме базовой модели. Для вычисления достаточно использовать обычный калькулятор. Однако достаточно просто выполнить оценку трудозатрат на базовом уровне, но полученные при этом результаты будут весьма приблизительными.
Метод быстрых оценок широко применяется на начальных этапах разработки ИС.
С целью улучшения процесса оценки Барри Боэм разработал руководство по "настройке" точности метода с помощью фактора корректировки сложности, описанного в промежуточной модели СОСОМО.
Промежуточный уровень
Оценка трудозатрат в промежуточной модели СОСОМО
В промежуточной модели СОСОМО используются значения размера кода программы, а также режимы, которые применялись в базовой модели. Дополнительно применяются 15 переменных, называемых драйверами затрат, с помощью которых могут быть объяснены и модифицированы уравнения трудозатрат (таблица 1.7). Применение драйверов затрат позволяет управлять затратами (трудозатратами) проекта в зависимости от характеристик данного проекта.
Входными данными в промежуточной модели СОСОМО являются показатели KLOC (аналогично базовой модели) и значения драйверов затрат, с помощью которых производится корректировка и улучшение оценки.
Драйверы затрат
Концепция, связанная с фактором корректировки трудозатрат, заключается в том, что он создает эффект увеличения либо уменьшения трудозатрат, а следовательно, и затрат, в зависимости от набора факторов среды. Факторы среды иногда называются факторами корректировки затрат [ ] либо драйверами затрат. Определение этого фактора-множителя происходит в два этапа.
На этапе 1 драйверам затрат назначаются числовые значения.
На этапе 2 происходит перемножение драйверов затрат, в результате чего определяется фактор корректировки трудозатрат EAF (Effort adjustment factor, EAF).
Факторы корректировки затрат могут сказываться на оценках графика и затрат проекта, изменяя их в 10 и более раз!
Таким образом, произведение драйверов затрат образует фактор корректировки затрат:
Общая формула определения трудозатрат для промежуточной модели СОСОМО с учетом фактора корректировки затрат:
Формула для промежуточной модели СОСОМО (коэффициенты и экспоненты, изменены по сравнению с базовой моделью):
Трудоемкость для органического режима:
Трудоемкость для сблокированного режима:
Трудоемкость для внедренного режима:
В приведенных формулах коэффициенты а и b различаются для каждого режима, что показано в сводной таблице 4.
Таблица 3.6 - Формулы для оценки трудозатрат в промежуточной модели СОСОМО с рекомендуемыми значениями коэффициентов
Драйверы затрат выбираются в соответствии с их общей значимостью для всех программных проектов, причем они являются независимыми от размера проекта. Драйверы затрат группируются в виде четырех категорий, как показано в таблице 3.7. В скобках приводятся принятые обозначения переменных.
Таблица 3.7 - Категории драйверов затрат в промежуточной модели СОСОМО в соответствии с атрибутами
Каждый драйвер затрат определяет умножающий фактор, который позволяет оценить эффект действия атрибута на величину трудозатрат. Числовые значения драйверов затрат при их совместном перемножении образуют фактор корректировки трудозатрат. Ниже приводится произведение драйверов затрат (дополнительных переменных) в соответствии с их предметным обозначением (таблица 5):
Драйверы затрат выбираются в зависимости от атрибутов проекта. Ниже указаны некоторые рекомендации учета атрибутов в зависимости от условий реализации ИС.
Атрибуты программного продукта
- требуемая надежность ПО (обычно применяется в системах реального времени);
- размер базы данных приложения;
- сложность продукта (связана с ограничениями на время выполнения).
Атрибуты, связанные с аппаратными средствами
- ограничения времени выполнения – применяются в том случае, когда быстродействие процессора является ограниченным;
- ограничения объема основной памяти – применяются в случае, когда размер памяти является ограниченным;
- изменчивость виртуальной машины;
- время реакции компьютера – среднестатистическое время от момента передачи задания на выполнение и до момента завершения его выполнения.
Атрибуты проекта
- использование современных методов (например, объектно– ориентированные технологии);
- использование программных инструментов – CASE-инструменты, хорошие отладчики, инструменты, используемые при выполнении тестирования;
- требуемые сроки разработки (например, могут либеральные, средние или очень жесткие).
Атрибуты персонала
- способности аналитика;
- опыт в создании приложений;
- способности программиста;
- опыт в области виртуальных машин, включая операционную систему и аппаратное обеспечение;
- опыт в области языков программирования, включая инструменты и практику.
Другие драйверы затрат
Наиболее часто в рамках промежуточной модели СОСОМО используются указанные четыре категории атрибутов, но менеджер проекта может еще добавлять дополнительные атрибуты, например:
- изменяемость требований – некоторые из них являются ожидаемыми, однако большинство из них могут представлять значительную проблему;
- изменяемость программных средств, предназначенных для разработки – нестабильные ОС, компиляторы, CASE-инструменты и т.д.;
- требования безопасности – применяются для классифицированных программ;
- доступ к данным – иногда является весьма затрудненным;
- влияние стандартов и навязанных методов;
- влияние физического окружения.
Некоторые из атрибутов, которые могут изменять величину затрат проекта могут применяться наравне с самим продуктом или выполняться в ходе соответствующей работы. В таблице 3.8 приводится пример значений драйверов затрат с учетом конкретных показателей проекта и расчета фактора корректировки трудозатрат EAF.
Таблица 3.8 – Пример значений драйверов затрат для промежуточной модели СОСОМО
Детализированный уровень
Детализированный уровень включает в себя все характеристики промежуточного (среднего) уровня с оценкой влияния данных характеристик на каждый этап процесса разработки ПО. Каждому из указанных атрибутов ставится в соответствие рейтинг по шести бальной шкале, начиная от "очень низкий" и до "сверхвысокого" (по значению или важности атрибута). Далее значения рейтинга заменяются множителями трудоемкости из таблицы 3.9.
Таблица 3.9 – Рекомендуемые значения драйверов затрат при разработке ПО в рамках модели СОСОМО
Предварительная оценка затрат на разработку программного обеспечения ИС с применением модели COCOMO определяется в следующей последовательности: