Садовский И.Д. Применение модели COCOMO II для оценки разработки Программного обеспечения в Windows проектах // Экономика и бизнес: теория и практика. – 2016. – №10. – С. 102-106.

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

 

И.Д. Садовский, студент

Сибирский федеральный университет

(Россия, г. Красноярск)

 

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

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

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

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

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

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

 

 

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

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

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

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

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

 

, где    (1)

 

……   (2)

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

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

3.  – объем программного продукта в тысячах строк исходного текста (KSLOC – Kilo of Source Line of Code)

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

5.  (Effort Adjustment Factor) – произведение выбранных множителей трудоемкости:

 

 

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

Описание

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

Очень низкий

Низкий

Средний

Высокий

Очень высокий

Критический

PREC

Прецедентность, наличие опыта аналогичных разработок

опыт в продукте и платформе отсутствует

продукт и платформа немного знакомы

некоторый опыт в продукте и платформе присутствует

продукт и платформа в основном известны

продукт и платформа в большой степени знакомы

продукт и платформ а полностью знакомы

FLEX

Гибкость процесса разработки

процесс строго предопределен

допускаются некоторые компромиссы

значительная жесткость процесса

относительная жесткость процесса

незначительная жесткость процесса

определены только общие цели

RESL

Архитектура и разрешение рисков

риски известны/

проанализированы на 20%

—″—

На 40%

—″—

На 60%

—″—

На 75%

—″—

На 90%

—″—

На 100%

TEAM

Сработанность команды

формальные взаимодействия

тяжелое взаимодействие до некоторой степени

чаще всего коллективная работа

в основном коллективная работа

высокая степень взаимодействия

полное доверие, взаимозаменяемость и взаимопомощь

PMAT

Зрелость процессов

СММ Уровень 1 ниже среднего

СММ Уровень 1 выше среднего

СММ Уровень 2

СММ Уровень 3

СММ Уровень 4

СММ Уровень 5

 

 

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

 

 

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

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

Очень низкий

Низкий

Средний

Высокий

Очень высокий

Критический

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

 

 

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

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

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

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

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

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

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

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

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

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

 

 

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

Множитель трудоемкости,

Описание

Оценка уровня множителя трудоемкости

Супер низкий

Очень низкий

Низкий

Нормальный

Высокий

Очень высокий

Супер высокий

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

6

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

JavaScript

56

44

65

Visual Basic

50

14

276

 

 

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

 

 

 

 

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

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

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

Пример (100 KSLOC):

E = 0,91 + 0,01 0,00;

 

PM = 2,94 (100)0,91 = 194 челмес;

 

E = 0,91 + 0,01 31,6;

 

PM = 2,94 (100)1,226 = 832;

 

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

 

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

1. Barry Boehm, et al. «Software cost estimation with COCOMO II». Englewood Cliffs, NJ:PrenticeHall, 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.

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

 

I.D. Sadowski, student

Siberian federal university

(Russia, Krasnoyarsk)

 

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.