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