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

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

ИНЖЕНЕРИИ

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

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

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

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

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

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

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

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

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

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

ТР а[ * (размер) ь 1 ( 1) , ВР с * (ТР)* (2 ) ,

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

З.Сложность продукта 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

б.Неустойчивость окружения виртуальной машины 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

Формула для расчёта промежуточного где КМС - произведение выбранных

уровня модели выглядит так: драйверов затрат, коэффициенты a

выбираются из таблицы 3. Время разра-ТР = КМС ai (размер)Ь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

Visual Basic 50 14 276

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

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

КМС « 1,32 7; а = 3, 0 ; Ъ = 1 , 1 2 ;

ТР = 1,32 7 3,0 1,51 1 2 = 6, 2 7

ВР = 2,5 8,65°,3 5 = 4, 7 5

Также существует и третий последний уровень - детализированный. Мы не бу-

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

Данную модель используют не только опытные разработчики, но и студенты в ходе выполнения курсовых проектов. О внедрении информационных технологий в образовательный процесс наиболее подробно написано в работе [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

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.