Битковский Д.И. Применение модели СОСОМО в экономике программной инженерии / Д.И. Битковский, А.В. Моторко // Экономика и бизнес: теория и практика – 2017. – Т. 2. №4. – С. 11-14

ПРИМЕНЕНИЕ МОДЕЛИ СОСОМО В ЭКОНОМИКЕ ПРОГРАММНОЙ

ИНЖЕНЕРИИ

 

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

А.В. Моторко, студент

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

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

 

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

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

 

 

Одним из важнейших критериев при разработке программного продукта является экономическая составляющая. Существует много методов для анализа и оценки времени, ресурсов и качества программных продуктов, которые в свою очередь автоматизируют расчёты этих затрат и оценки экономической эффективности проекта. Примером могут быть методы из работы [1].

Наиболее известной и широко используемой предприятиями является модель конструктивных затрат (Constructive COst Model или COCOMO). СОСОМО – это алгоритмическая модель оценки стоимости, разработанная в начале 80-ых годов прошлого столетия Барри Боэмом [2]. Модель использует 3 режима, на каждом из которых проекты разбиваются ещё на три типа. Эти три типа классифицируют сложность системы и среду разработки: органический тип (organic projects); сблокированный тип (semidetached projects); внедрённый тип (embedded projects) [2]. Более подробно про внедрение SCADA-систем и информационных технологий на предприятиях можно узнать в работах Евдокимова И.В. [3, 4].

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

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

Сблокированный тип находится между органическим и внедрённым типами – это проекты средней сложности. Исполнители знакомы не со всеми характеристиками создаваемой системы, имеют средний опыт работы с подобными изделиями, а проект обладает элементом новизны. В основном, разработчики имею свободу выбора, лишь некоторые требования к проекту жестко фиксируются.

Рассмотрим уровни модели COCOMO. Первый уровень – базовый, он подходит для выполнения быстрых и приближенных оценок, так как не учитывается множество важных факторов, таких как: квалификация персонала; характеристики оборудования; опыт современных методов разработки программного обеспечения и др. Ниже приведены уравнения базового уровня.

 

,

 

,

 

где ТР – трудоёмкость (чел.*мес.), ВР – время разработки (мес.), размер – объём программного продукта (тыс. строк). Коэффициенты a(i), b(i), c(i) и d(i) выбираются из таблицы 1.

 

Таблица 1. значение коэффициентов базового уровня в зависимости от типа проекта

Тип проекта

a

b

c

d

Органический

2,4

1,05

2,5

0,38

Сблокированный

3,0

1,12

2,5

0,35

Внедрённый

3,6

1,2

2,5

0,32

 

 

Следующий уровень – промежуточный. На данном этапе происходит определение необходимых затрат, связанных с размером, режимом и 15 дополнительными переменными, приведенными в таблице 2. Они имеют название «драйвера затрат» и относятся непосредственно к характеристике продукта, персоналу, аппаратному обеспечению и проекту. Перемножив все драйвера затрат, мы получим корректировочный множитель среды (КМС).

 

 

Таблица 2. факторы стоимости и их значения в зависимости от уровня

Атрибуты стоимости

 

Рейтинг

Очень низкий

Низкий

Средний

Высокий

Очень

высокий

Критический

Характеристики продукта

1.Требуемая надежность ПО

0,75

0,88

1,00

1,15

1,40

n/a

2.Размер БД приложения

n/a

0,94

1,00

1,08

1,16

n/a

3.Сложность продукта

0,70

0,85

1,00

1,15

1,30

1,65

Характеристики аппаратного обеспечения

4.Ограничения быстродействия при выполнении программы

n/a

n/a

1,00

1,11

1,30

1,66

5.Ограничения памяти

n/a

n/a

1,00

1,06

1,21

1,56

6.Неустойчивость окружения виртуальной машины

n/a

0,87

1,00

1,15

1,30

n/a

7.Требуемое время восстановления

n/a

0,87

1,00

1,07

1,15

n/a

Характеристики персонала

8.Аналитические способности

1,46

1,19

1,00

0,86

0,71

n/a

9. Опыт разработки

1,29

1,13

1,00

0,91

0,82

n/a

10.Способности к разработке ПО

1,42

1,17

1,00

0,86

0,70

n/a

11.Опыт использования виртуальных машин

1,21

1,10

1,00

0,90

n/a

n/a

12. Опыт разработки на языках программирования

1,14

1,07

1,00

0,95

n/a

n/a

Характеристики проекта

13.Применение методов разработки ПО

1,24

1,10

1,00

0,91

0,82

n/a

14.Использование инструментария разработки ПО

1,24

1,10

1,00

0,91

0,83

n/a

15.Требования соблюдения графика разработки

1,23

1,08

1,00

1,04

1,10

n/a

 

 

 

Формула для расчёта промежуточного уровня модели выглядит так:

 

ТР = КМС 𝑎𝑖 (размер)𝑏𝑖(3)

где КМС – произведение выбранных драйверов затрат, коэффициенты a(i), b(i) выбираются из таблицы 3. Время разработки определяется формулой базового уровня.

 

 

Таблица 3. значение коэффициентов промежуточного уровня модели СОСОМО в зависимости от типа проекта

Тип проекта

a

b

Органический

3,2

1,05

Сблокированный

3,0

1,12

Внедрённый

2,8

1,2

 

 

Рассмотрим работу промежуточного уровня модели СОСОМО на примере нашей программы для ЭВМ «СОСОМО – калькулятор».

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

 

 

Таблица 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

 

 

Мы планируем писать нашу программу на языке C#.  С помощью данного метода она была оценена в 1,5 тысячи строк кода. Также нами было определено, что мы будем работать с данными сблокированного типа.

Применяя формулы (2) и (3) проведём оценку трудоёмкости и времени разработки программы:

 

; ;

 

Также существует и третий последний уровень – детализированный. Мы не будем рассматривать его здесь, но он включает в себя дополнительные множители трудозатрат, зависящих от иерархии ПС и фазы, надстраивается на промежуточном уровне СОСОМО модели.

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

Таким образом, осуществляется анализ данных с помощью модели СОСОМО, что актуально, в том числе для принятия управленческих решений и управления развитием системы обработки экспертной аналитики [6, 7].

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

 

 

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

1. Евдокимов И.В. Менеджмент качества и управление развитием системы обработки экспертной аналитики // Труды Братского государственного университета. Серия: Экономика и управление. 2015. Т. 1. С. 212-219.

2. Миньков С.Л. Программная инженерия. Лабораторный практикум. Часть 2: учебное пособие – Томск: ТУСУР. 2014.

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

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

5. Евдокимов И.В. Информационные технологии учета методического обеспечения образовательного процесса//Проблемы социально-экономического развития Сибири. – 2012. – №4 (10). – С. 9-14.

6. Евдокимов И.В. Адаптация стандартов программных средств к проектам в области информационных технологий // Труды Братского государственного университета. Серия: Экономика и управление. 2010. Т.2. С. 97-101.

7. Евдокимов И.В. Процедура идентификации как этап создания систем управления и принятия решений // Проблемы социально-экономического развития Сибири. 2012. №4. С. 14-18.

 

 

APPLICATION OF THE COCOMO MODEL IN THE ECONOMY

OF PROGRAM ENGINEERING

 

D.I. Bitkovskiy, student

A.V. Motorko, student

Siberian federal university

(Russia, Krasnoyarsk)

 

Abstract. In this article we consider the economic component of software development, in particular, the COCOMO model of constructional costs: its types, levels and also its using in software development. The work of this model show on the example of the computer program – «COCOMO – calculator». The program will perform the necessary calculations by using the parameters, which entered by the user.

Keywords: COCOMO, computer program, IT project, software, assessment of effectiveness, economic efficiency.