Применение модели СОСОМО в экономике программной инженерии
Автор: Битковский Д.И., Моторко А.В.
Журнал: Экономика и бизнес: теория и практика @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.
 
	 
		