Применение модели СОСОМО в экономике программной инженерии

Автор: Битковский Д.И., Моторко А.В.

Журнал: Экономика и бизнес: теория и практика @economyandbusiness

Статья в выпуске: 4-2 (26), 2017 года.

Бесплатный доступ

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

Программа для эвм, it-проект, программное обеспечение, оценка эффективности, экономическая эффективность

Короткий адрес: https://sciup.org/170180447

IDR: 170180447

Текст научной статьи Применение модели СОСОМО в экономике программной инженерии

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

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

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

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

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

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

ТР cq ∗ ( размер ) bi (1),

ВР Ci ∗ (ТР) at (2), где ТР – трудоёмкость (чел.*мес.), ВР – время разработки (мес.), размер – объём программного продукта (тыс. строк). Коэффициенты 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

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

ТР = КМС ai (размер) bi (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) проведём оценку трудоёмкости и времени разработки программы:

КМС ≈ 1,327 ; a =3,0 ; b = 1,12 ;

ТР = 1,327 3,0   1,51, 12 = 6,27 ( чел ․∗ мес ․)

ВР =2,5  8,65° , 35 = 4,75 ( мес )

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

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

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

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

Список литературы Применение модели СОСОМО в экономике программной инженерии

  • Евдокимов И.В. Менеджмент качества и управление развитием системы обработки экспертной аналитики // Труды Братского государственного университета. Серия: Экономика и управление. 2015. Т. 1. С. 212-219.
  • Миньков С.Л. Программная инженерия. Лабораторный практикум. Часть 2: учебное пособие - Томск: ТУСУР. 2014.
  • Евдокимов И.В. Кадровое обеспечение внедрения SCADA-систем на предприятиях // Труды Братского государственного университета. Серия: Экономика и управление. 2005. Т. 1. С. 116-119.
  • Евдокимов И.В. Аспекты внедрения информационных технологий на предприятиях г. Братска // Труды Братского государственного университета, Серия: Экономика и управление, 2006. Т. 1. С. 144-148.
  • Евдокимов И.В. Информационные технологии учета методического обеспечения образовательного процесса//Проблемы социально-экономического развития Сибири. - 2012. - №4 (10). - С. 9-14.
  • Евдокимов И.В. Адаптация стандартов программных средств к проектам в области информационных технологий // Труды Братского государственного университета. Серия: Экономика и управление. 2010. Т.2. С. 97-101.
  • Евдокимов И.В. Процедура идентификации как этап создания систем управления и принятия решений // Проблемы социально-экономического развития Сибири. 2012. №4. С. 14-18.
Еще
Статья научная