МЕТРИКИ ПРОГРАММНОЙ ПРОДУКЦИИ: ТРУДОЕМКОСТЬ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И МОДЕЛЬ СОСОМО II
С.С. Ставенко, студент А.И. Раткевич, студент А.Ю. Харитонов, студент Сибирский федеральный университет (Россия, г. Красноярск)
Аннотация. Данная работа посвящена такому актуальному вопросу, как анализ важности таких характеристик программных средств как стоимость и трудоёмкость. В центре внимания работы находятся различные системы оценки трудоёмкости и стоимости программного обеспечения. Раскрывается причина их несостоятельности и неэффективности. Более подробно рассматривается одна из самых популярных и используемых на практике моделей оценки стоимости COCOMO II и выполняется анализ её достоинств.
Ключевые слова: COCOMO II, оценка стоимости, трудоёмкость, методы оценки, трудозатраты.
Сегодня производство программного обеспечения обязательно должно оцениваться не только по качеству [1,2] и ряду других важных характеристик [3], но и по стоимости производства.
Трудоёмкость - это важный обобщающий показатель затрат труда на производство единицы продукции. Трудозатраты - объём работ необходимый для того чтобы достичь определённую цель. Обычно для измерения трудозатрат используют такую условную единицу как человеко-часы, а чаще человеко-месяцы.
Для определения последующих при разработке программного средства трудозатрат используются ориентиры, включающие следующее:
- задачи, которые будет выполнять ПО;
- задача разработки ПО (разработка архитектуры, написание кода, тестирование);
- задачи поддержки (менеджмент, СМ);
- дополнительные затраты (командировки, оборудование);
- используемые инструменты;
- опытность разработчиков.
Трудозатраты на разработку программных средств могут меняться в довольно обширных рамках и их оценка на данном этапе развития индустрии информационных технологий очень
важная задача, однако она является достаточно сложной [4].
Для её выполнения есть большое количество моделей, но, к сожалению, большинство из них устарели и недостаточно отражают современное состояние сферы ИТ.
Например, модель линейного подхода в котором основной мерой трудозатрат является количество строк кода, его необъективность очевидна и доказывается тем, что более опытный программист пишет короче, допускает меньшее количество ошибок [5], нежели начинающий и это неоспоримый плюс при изменении, отладке или же доработке существующего кода. Однако такой метод оценки стимулирует разработчика к обратным действиям.
Другой пример: метод оценки Use Case Point (UCP) который был разработан в 1993 году [6]. Этот метод основан на использовании для оценки размера программного обеспечения примеров из унифицированного языка моделирования (Unified Modeling Language - UML). UCP оценивает такие элементы как: исполнители, техническая сложность и сложность среды. Сама же оценка производится по формуле:
UCP = (UUCW + UAW) X TCF х ECF где UUCW - нескорректированный вес прецедента,
UAW - нескорректированный вес исполнителя,
ТСБ - коэффициент технической сложности,
БСБ - коэффициент сложности среды.
Эта система оценки более полно учитывает всё разнообразие факторов разработки и рисков [7,8], однако, вышеуказанные факторы не охватывают все многообразие возможных оценок проекта.
Найти идеальный подход к решению проблемы оценки трудоёмкости и, следовательно, стоимости программного обеспечения затруднительно, но модель оценки СОСОМО II, по-нашему мнению, охватывает большинство сторон разработки и именно поэтому она стала такой популярной и широко используемой технологией оценки.
СОмйиС^е COst MOdel (разработанная модель стоимости) - это модель, созданная Барри Боэмом. Представляет собой алгоритмическую модель оценки стоимости разработки программного обеспечения, для работы с которой также нужно собирать данные о разрабатываемых проектах, которые позже будут использоваться в расчетных формулах [9]. Для использования этой модели используется регрессионная формула с параметрами [10].
Регрессионная модель создаётся из данных статистики, определяющих средние значения или связь между переменными. Основные качества этой модели:
- с её помощью создаётся прогнозирование одной переменой (количественное и качественное), которое зависит от значения других переменных;
- применение определённой техники статистики для поиска зависимостей (в том числе и взаимозависимостей) между переменными с целью спрогнозировать будущие значения.
Модель СОСОМО - II это наследник более ранней модели СОСОМО, которая была представлена ещё в 1981 г. Новая модель имеет в своей основе современные идеи и приспособлена к текущим методологиям разработки программных средств (например, к спи-
ральной и итеративной моделям жизненного цикла ПО).
В COCOMO - II можно различить две стадии оценки: начальная или предварительная на начальном этапе и детальная после проработки архитектуры.
Преимуществами оценочной системы COCOMO - II являются:
- проста применения;
- факторы корректировки оценки могут идеально подходить данной организации, так как система может принять дополнительные (уникальные) факторы для корректировки, которые определены организацией;
- процесс, который применяется является повторяемым;
- прежний опыт позволит максимально точно откалибровать оценку;
- документация обязательна;
- является универсальной, потому что умеет поддерживать разные так называемые «уровней» и «режимов»;
Но, к сожалению, в модели оценки COCOMO - II присутствуют и недостатки, основными из них являются следующие:
- опыт имеет свойство устаревать, поэтому оценки, сделанные на его основе, не всегда соответствует актуальному состоянию развития проекта;
- зависимость уровней от оценки размера (точность при оценивании должна быть высокая, а этого не всегда легко добиться);
- уровни взаимодействия персонала не учитываются;
- IDE не учитывается;
- большинство вопросов, связанных с АО, не учитываются;
По концепции Боэма, изначально трудозатраты делились следующим образом:
- 30% на дизайн;
- 30% на тестирование и кодирование;
- 40% на тестирование и интеграцию;
На рисунке 1 изображены фазы COCOMO-II.
[¿ишемиый анализ
Системпье требования Разработка программного продукте Кодирование Системная интеграция и тестирование
Модель СОСОМО включает
Рисунок 1. Фазы, включаемые в COCOMO-II
Для того, чтобы успешно применять модель оценки СОСОМО - II следует накапливать настолько больше данных, насколько это возможно, особенно оценок и тех результатов, которые получились фактически. Также стоит пригото-
виться к выполнению повторной оценки и её перепроверке с самых начальных стадий, и калибровке модели/инструмента в соответствии с теми потребностями, которые выдвинет конкретная организация.
Библиографический список
1. Евдокимов И.В. Проблема и показатели качества программного обеспечения Труды // Братского государственного университета. Серия: Экономика и управление. 2009. Т. 1. С. 121-124.
2. Евдокимов И.В. Менеджмент качества и управление развитием системы обработки экспертной аналитики // Труды Братского государственного университета. Серия: Экономика и управление. 2015. Т. 1. С. 212-219.
3. Евдокимов И.В. Методика исследования систем управления предприятий для целей информатизации // Труды Братского государственного университета. Серия: Экономика и управление. 2007. Т. 1. С. 284-288.
4. Евдокимов И.В., Михалев А.С., Тимофеев Н.А., Батурин Ю.А. Прогнозирование эффективности использования технологий виртуальной реальности в образовательном процессе // Проблемы социально-экономического развития Сибири. 2017. № 3 (29). С. 129-135.
5. Михалёв А.С., Чучунёва А.А., Павлушкина Л.В., Евдокимов И.В. Применение систем отслеживания ошибок в дистанционном обучении по ИТ-направлениям подготовки // Дистанционное и виртуальное обучение. 2018. № 1 (121). С. 132-137.
6. Евдокимов И.В., Михалев А.С., Кицкалов А.Е., Яшевский Д.Е. Особенности применения метода Use Case Points в экономике программной инженерии с открытым исходным кодом // Проблемы социально-экономического развития Сибири. 2017. № 4 (30). С. 36-42.
7. Евдокимов И.В., Михалев А.С., Новиков О.С., Суханова А.В. Применение свободных лицензий для разработки программного обеспечения в России // Международный журнал прикладных и фундаментальных исследований. 2017. № 6-1. С. 3336.
8. Евдокимов И.В., Красиков В.А., Мартынов Н.Е., Дёмин Г.А. Реестр рисков программного проекта // Качество. Инновации. Образование. 2017. № 6 (145). С. 6571.
9. Евдокимов И.В., Алалван А.Р.Д., Тимофеев Н.А., Нехоношин С.Р. Интернет вещей в контексте экономики программной инженерии и управления стоимостью проекта // Интернет-журнал «НАУКОВЕДЕНИЕ» Том 9, №6 (2017) https://naukovedenie.ru/PDF/56TVN617.pdf (доступ свободный). Загл. с экрана. Яз. рус., англ.
10. Орлов С. Технологии разработки программного обеспечения: Учеб. пособие. СПб.: Питер, 2003.
SOFTWARE METRICS: PROBLEMS OF SOFTWARE DEVELOPMENT
AND COCOMO II MODEL
S.S. Stavenko, student A.I. Ratkevich, student A.Yu. Kharitonov, student Siberian federal university (Russia, Krasnoyarsk)
Abstract. The article analyzes the importance of such software features as cost and labor intensity. Examples of various systems for estimating the complexity and cost of software are given. The cause of their insolvency and inefficiency is revealed. In more detail, one of the most popular and used in practice models of COCOMO II cost estimation is considered and its merits are analyzed.
Keywords: COCOMOII, cost estimation, labor intensity, evaluation methods, labor input.