Применение модели COCOMO II для оценки разработки программного обеспечения в Windows проектах

ПРИМЕНЕНИЕ МОДЕЛИ COCOMO II ДЛЯ ОЦЕНКИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В WINDOWS ПРОЕКТАХ

И.Д. Садовский, студент Сибирский федеральный университет

Аннотация. Раскрывается суть метода оценки разработки программного обеспечения COCOMO-II на примере программы для ЭВМ по нематериальному стимулированию труда - «Стимул». Данное программное обеспечение нацелено на руководящий состав коммерческих и некоммерческих организаций, сотрудников кадровых служб. Программа позволит эффективнее применять на практике методы и приемы нематериального стимулирования труда персонала:

- своевременно поздравлять сотрудников с различными праздниками;

- получать доступ к информации о достижениях сотрудника;

- следить за этапами горизонтального и вертикального карьерного роста;

- иметь доступ к информации о сбоях в работе, нарушений правил компании сотрудниками.

Ключевые слова: COCOMO II, программа для ЭВМ, IT-проект, оценка эффективности, экономическая эффективность, программное обеспечение, нематериальное стимулирование труда.

COnstructive COst MOdel (конструктивная модель стоимости) - это алгоритмическая модель оценки стоимости разработки программного обеспечения (ПО), разработанная Барри Боэмом (Barry Boehm) [1]. Модель использует простую формулу регрессии с параметрами, определенными из данных, собранных по ряду проектов [2].

Возможность оценить трудозатраты, а также временной промежуток разработки нового программного обеспечения - задача весьма сложная, но при этом необходимая. Она позволяет спланировать расходы на время выполнения проекта, определить оптимальные сроки выполнения, что важно, так как слишком малый срок может повлиять как на снижение качества продукта, так и на физическую и психологическую усталость разработчиков [3-4].

Существует достаточно много моделей оценки создания ПО, активно применяемых на практике, но, к сожалению, большинство из них уже достаточно устаревшие и доказавшие свою несостоятельность [5-8]. Примером может служить метод линейного подхода, в котором применяется простейшая формула: С = Т х Ц, где Т -количественная мер трудозатрат, а Ц -

удельная стоимость. Под мерой трудозатрат в основном понимается количество строк кода и временная производительность, другие аспекты не учитываются. Абсурдность данного метода можно доказать тем, что с опытом программист начинает писать более сжато и лаконично, что является плюсом для последующей отладки, доработке или изменения программы, но данный метод абсолютно не стимулирует программиста к таким действиям. Данный пример говорит об актуальности данной темы. При стремлении к повышению качества ПО, средства его оценки должны быть адекватны. В данное время нет идеального подхода к разрешению данной проблемы, однако, рассматривая модель СОСОМО-11, по нашему мнению, наиболее полно и адекватно учитывает все аспекты разработки, не даром она стала одной из самых популярных.

Модель СОСОМО-11 является наследником первоначальной модели СОСОМО, которая к данному времени уже достаточно устарела, так как была представлена в 1981 г. В данной статье предпринята попытка оценить стоимость 1Т-проекта на начальном этапе. По окончании разработки будет возможна оценка по другим,

2. SFj - фактор масштаба (Scale Factors) (табл. 1-2). Для данного проекта выбранные коэффициенты выделены в таблице 2.

3. S I ZE - объем программного продукта в тысячах строк исходного текста

4. E Mj - множители трудоемкости (Effort Multiplier). n=7 - для предварительной оценки, n=17 - для детальной оценки (табл. 3). Для данного проекта выбранные коэффициенты выделены в таблице З.

5. E A F (Effort Adjustment Factor) - произведение выбранных множителей трудоемкости: E4 F = П k=1 EMk

Таблица 1. Описание уровней значимости факторов масштаба

SFj Описание Уровень значимости фактора

Очень низкий Низкий Средний Высокий Очень высокий Критический

PREC Прецедент-ность, наличие опыта аналогичных разработок опыт в продукте и платформе отсутствует продукт и платформа немного знакомы некоторый опыт в продукте и платформе присутствует продукт и платформа в основном известны продукт и платформа в большой степени знакомы продукт и платформ а полностью знакомы

FLEX Гибкость процесса разработки процесс строго предопределен допускаются некоторые компромиссы значительная жесткость процесса относительная жесткость процесса незначительная жесткость процесса определены только общие цели

RESL Архитектура и разрешение рисков риски известны/ проанализированы на 20% На 40% На 60% На 75% На 90% На 100%

TEAM Сработанность команды формальные взаимодействия тяжелое взаимодействие до некоторой степени чаще всего коллективная работа в основном коллективная работа высокая степень взаимодействия полное доверие, взаимозаменяемость и взаимопомощь

PMAT Зрелость процессов СММ Уровень 1 ниже среднего СММ Уровень 1 выше среднего СММ Уровень 2 СММ Уровень 3 СММ Уровень 4 СММ Уровень 5

СММ (Capability Maturity Model) — пя- женная SEI (Software Engineering Institute, тиуровневая модель зрелости возможно- США). стей компании-разработчика ПО, предло-

Таблица 1. Значение фактора масштаба

SFj Оценка уровня фактора

Очень низкий Низкий Cредний Высокий Очень высокий Критический

PREC 6.20 4.96 3.72 2.48 1.24 0.00

FLEX 5.07 4.05 3.04 2.03 1.01 0.00

RESL 7.07 5.65 4.24 2.83 1.41 0.00

TEAM 5.48 4.38 3.29 2.19 1.10 0.00

PMAT 7.80 6.24 4.68 3.12 1.56 0.00

расширенным критериям. Модель COCOMO-II предоставляет такую возможность. Как было сказано, в COCOMO-II различаю две стадии оценки: предварительная оценка на начальном этапе и детальная оценка после проработки архитектуры [1]. В данной статье рассматривается предварительная оценка.

Формула для оценивания трудоемкости в чел X мес имеет вид:

РМ = Е A F X Ах SIZEe, где......

Е = В + 0 . О 1 х Ylj=iSFj.........

1. В = 0,91; А = 2,94 предварительная оценка; А = 2,45 детальная.

Данные факторы применяются на обеих стадиях оценки проекта.

Рассмотрим множители трудоемкости. Для предварительной и детальной стадии оценки, множители трудоемкости имеют отличия. В данном случает для предварительной оценки выделяют семь множителей трудоемкости.

- PERS квалификация персонала.

- PREX опыт персонала.

- RCPX сложность и надежность продукта.

- RUSE разработка для повторного использования.

- PDIF сложность платформы разработки.

аблица 3. Значения множителей трудоемкости

№ Множитель трудоемкости, EMj Описание Оценка уровня множителя трудоемкости

Супер низкий Очень низкий Низкий Нормальный Высокий Очень высокий Супер высокий

1 PERS квалификация персонала 2.12 1.62 1.26 1.00 0.83 0.63 0.50

2 PREX опыт персонала 1.59 1.33 1.22 1.00 0.87 0.74 0.62

3 RCPX сложность и надежность продукта 0.49 0.60 0.83 1.00 1.33 1.91 2.72

4 RUSE разработка для повторного использования n/a n/a 0.95 1.00 1.07 1.15 1.24

5 PDIF сложность платформы разработки n/a n/a 0.87 1.00 1.29 1.81 2.61

б FCIL оборудование 1.43 1.30 1.10 1.00 0.87 0.73 0.62

7 CSED требуемое выполнение графика работ n/a 1.43 1.14 1.00 1.00 n/a n/a

Примечание: n/a - соответствующий уровень не оценивается

Таблица 4. Количества строк, необходимых на реализацию одной не выровненной функциональной точки_

Язык Количество строк кода одной функциональной точки

Вероятная Оптимистичная Пессимистичная

Assembler 172 86 320

C 148 9 704

C++ 60 29 178

C# 59 51 66

Visual Basic 50 14 276

- FCIL оборудование (инструменты простейшие/интегрированные средства поддержки жизненного цикла).

- SCED требуемое выполнение графика работ.

Значения множителей приведены в табл. 3 Главной особенностью метода является наличие информации о размере ко-да^КЕ). Размер продукта может быть оценен экспертами с помощью метода PERT или с помощью анализа продукта методом функциональных точек. Во втором случае размер может быть рассчитан с помощью таблицы 4.

Итак, программа «Стимул», с помощью метода функциональных точек была оценена в 10 KSLOC. По формулам (1) и (2) имеем:

Е = 0.91 + 0.01 х (3.72 + 2.03 + 2.83 + 2.19 + 4.68) = 1.0644 EAF = 1.26 х 1.33 х 1.00 х 1.1 х 1 = 1.84338 РМ = 1.843 38 х 2 . 94 х 1010 644 = б 2, 85 чел х мес

Число 62.85 чел х мес говорит о том, что данный проект может быть выполнен за 62.85 месяце - одним человеком или, например, чуть больше чем за год группой из 5 человек (62.85/5 = 12.57).

Для расчета цены в рублях или в другой валюте, данной число умножается на удельную цену, которая оговаривается с заказчиком проекта.

Рассмотрим влияние факторов масштаба, которые могут менять трудоемкость в 4.3 раза.

Библиографический список

1. Barry Boehm, et al. «Software cost estimation with COCOMO II». Englewood Cliffs, NJ:Prentice-Hall, 2000.

2. Евдокимов И.В. Аспекты внедрения информационных технологий на предприятиях г. Братска // Труды Братского государственного университета, Серия: Экономика и управление. - 2006. - Т.1. - С. 144-148.

3. Евдокимов И.В. Кадровое обеспечение внедрения SCADA-систем на предприятиях // Труды Братского государственного университета. Серия: Экономика и управление. -2005. - Т.1. - С. 116-119.

4. Прокопенко А.В., Русаков М.А., Царев Р.Ю. Синтез систем реального времени с гарантированной доступностью программно-информационных ресурсов // Сибирский федеральный университет, Институт космических и информационных технологий. Красноярск, 2013. - 91 с.

5. Евдокимов И.В. Математическое и программное обеспечение идентификации нелинейных динамических объектов при использовании суммы гармонических сигналов: Дис. ... канд. техн. наук / Евдокимов Иван Валерьевич; Братский государственный университет. - Братск., 2006. - 135 с.

6. Буштрук Т.Н., Буштрук А.Д., Евдокимов И.В. Метод идентификации моделей фильтр Заде // Современные информационные технологии. - 2004. - № 1. C. 122-125.

7. Евдокимов И.В. Математическое и программное обеспечение идентификации нелинейных динамических объектов при использовании суммы гармонических сигналов: Ав-тореф. ... дис. канд. техн. наук. - Братск: БрГУ, 2006. - 17 с.

8. Евдокимов И.В. Сумма гармонических сигналов с постоянной составляющей как тестирующее воздействие в одном методе активной идентификации // Труды Братского государственного университета. Серия: Естественные и инженерные науки. - 2005. - Т.1. -С. 39-41.

Пример (100 KSLOC):

Е = 0,91 + 0,01 х 0,00;

РМ = 2,94 х (100)0,91 = 194 чел х мес; Е = 0,91 + 0,01 х 31,6;

РМ = 2,94 х (100)1,226 = 832;

Не стоит недооценивать предварительную экономическую оценку программного продукта, которая может позволить спокойно, продуктивно и качественно выполнить задачу, поставленную перед командой разработчиков. Одна из наиболее популярных моделей оценки СОСОМО-11 была продемонстрирована в данной статье на конкретном программном продукте.

THE USE OF THE SECOND MODEL COCOMO FOR THE EVALUATION OF SOFTWARE DEVELOPMENT IN WINDOW PROJECTS

I.D. Sadowski, student Siberian federal university

Abstract. Reveals the essence of the evaluation method of software development COCOMO-II example of a computer program on intangible incentives - «Incentive». This software is aimed at the senior members of commercial and non-profit organizations, employees of personnel services. The program will effectively apply the methods and techniques of non-material motivation of personnel:

- time to congratulate staff with different holidays;

- to access information about the achievements of the employee;

- to monitor the stages of horizontal and vertical career growth;

to have access to information about the failures and violations of the rules of the company employees.

Keywords: COCOMO II, and computer program, it project, assessment of effectiveness, economic efficiency, software, non-financial incentives.