Метрики программной продукции: трудоёмкость разработки программного обеспечения и модель COCOMO II
Автор: Ставенко С.С., Раткевич А.И., Харитонов А.Ю.
Журнал: Экономика и бизнес: теория и практика @economyandbusiness
Статья в выпуске: 5-2 (39), 2018 года.
Бесплатный доступ
Данная работа посвящена такому актуальному вопросу, как анализ важности таких характеристик программных средств как стоимость и трудоёмкость. В центре внимания работы находятся различные системы оценки трудоёмкости и стоимости программного обеспечения. Раскрывается причина их несостоятельности и неэффективности. Более подробно рассматривается одна из самых популярных и используемых на практике моделей оценки стоимости COCOMO II и выполняется анализ её достоинств.
Методы оценки
Короткий адрес: https://sciup.org/170180976
IDR: 170180976
Текст научной статьи Метрики программной продукции: трудоёмкость разработки программного обеспечения и модель COCOMO II
Сегодня производство программного обеспечения обязательно должно оцениваться не только по качеству [1,2] и ряду других важных характеристик [3], но и по стоимости производства.
Трудоёмкость - это важный обобщающий показатель затрат труда на производство единицы продукции. Трудозатраты - объём работ необходимый для того чтобы достичь определённую цель. Обычно для измерения трудозатрат используют такую условную единицу как человеко-часы, а чаще человеко-месяцы.
Для определения последующих при разработке программного средства трудозатрат используются ориентиры, включающие следующее:
-
- задачи, которые будет выполнять ПО;
-
- задача разработки ПО (разработка архитектуры, написание кода, тестирование);
-
- задачи поддержки (менеджмент, см);
-
- дополнительные затраты (командировки, оборудование);
-
- используемые инструменты;
-
- опытность разработчиков.
Трудозатраты на разработку программных средств могут меняться в довольно обширных рамках и их оценка на данном этапе развития индустрии информационных технологий очень важная задача, однако она является достаточно сложной [4].
Для её выполнения есть большое количество моделей, но, к сожалению, большинство из них устарели и недостаточно отражают современное состояние сферы ИТ.
Например, модель линейного подхода в котором основной мерой трудозатрат является количество строк кода, его необъективность очевидна и доказывается тем, что более опытный программист пишет короче, допускает меньшее количество ошибок [5], нежели начинающий и это неоспоримый плюс при изменении, отладке или же доработке существующего кода. Однако такой метод оценки стимулирует разработчика к обратным действиям.
Другой пример: метод оценки Use Case Point (UCP) который был разработан в 1993 году [6]. Этот метод основан на использовании для оценки размера программного обеспечения примеров из унифицированного языка моделирования (Unified Modeling Language - UML). UCP оценивает такие элементы как: исполнители, техническая сложность и сложность среды. Сама же оценка производится по формуле:
UCP = (UUCW + UAW) x TCF x ECF где UUCW - нескорректированный вес прецедента,
UAW - нескорректированный вес исполнителя,
TCF - коэффициент технической сложности,
ECF - коэффициент сложности среды.
Эта система оценки более полно учитывает всё разнообразие факторов разработки и рисков [7,8], однако, вышеуказанные факторы не охватывают все многообразие возможных оценок проекта.
Найти идеальный подход к решению проблемы оценки трудоёмкости и, следовательно, стоимости программного обеспечения затруднительно, но модель оценки COCOMO II, по-нашему мнению, охватывает большинство сторон разработки и именно поэтому она стала такой популярной и широко используемой технологией оценки.
COnstructive COst MOdel (разработанная модель стоимости) – это модель, созданная Барри Боэмом. Представляет собой алгоритмическую модель оценки стоимости разработки программного обеспечения, для работы с которой также нужно собирать данные о разрабатываемых проектах, которые позже будут использоваться в расчетных формулах [9]. Для использования этой модели используется регрессионная формула с параметрами [10].
Регрессионная модель создаётся из данных статистики, определяющих средние значения или связь между переменными. Основные качества этой модели:
-
- с её помощью создаётся прогнозирование одной переменой (количественное и качественное), которое зависит от значения других переменных;
-
- применение определённой техники статистики для поиска зависимостей (в том числе и взаимозависимо-стей) между переменными с целью спрогнозировать будущие значения.
Модель COCOMO – II это наследник более ранней модели COCOMO, которая была представлена ещё в 1981 г. Новая модель имеет в своей основе современные идеи и приспособлена к текущим методологиям разработки программных средств (например, к спи- ральной и итеративной моделям жизненного цикла ПО).
В COCOMO – II можно различить две стадии оценки: начальная или предварительная на начальном этапе и детальная после проработки архитектуры.
Преимуществами оценочной системы COCOMO – II являются:
-
- проста применения;
-
- факторы корректировки оценки
могут идеально подходить данной организации, так как система может принять дополнительные (уникальные) факторы для корректировки, которые определены организацией;
-
- процесс, который применяется
является повторяемым;
-
- прежний опыт позволит макси
мально точно откалибровать оценку;
-
- документация обязательна;
-
- является универсальной, потому
что умеет поддерживать разные так называемые «уровней» и «режимов»;
Но, к сожалению, в модели оценки COCOMO – II присутствуют и недостатки, основными из них являются следующие:
-
- опыт имеет свойство устаревать, поэтому оценки, сделанные на его основе, не всегда соответствует актуальному состоянию развития проекта;
-
- зависимость уровней от оценки размера (точность при оценивании должна быть высокая, а этого не всегда легко добиться);
-
- уровни взаимодействия персона
ла не учитываются;
-
- IDE не учитывается;
-
- большинство вопросов, связан
ных с АО, не учитываются;
По концепции Боэма, изначально трудозатраты делились следующим образом:
-
- 30% на дизайн;
-
- 30% на тестирование и кодиро
вание;
-
- 40% на тестирование и интегра
цию;
На рисунке 1 изображены фазы COCOMO-II.

Рисунок 1. Фазы, включаемые в COCOMO-II
Для того, чтобы успешно применять модель оценки COCOMO – II следует накапливать настолько больше данных, насколько это возможно, особенно оценок и тех результатов, которые получились фактически. Также стоит пригото- виться к выполнению повторной оценки и её перепроверке с самых начальных стадий, и калибровке моде-ли/инструмента в соответствии с теми потребностями, которые выдвинет конкретная организация.