УДК 519.237.5
И. М. Якимов, Р. З. Бедретдинов
МОДЕЛИРОВАНИЕ И ОПТИМИЗАЦИЯ ПРОЦЕССОВ РАЗРАБОТКИ СИСТЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Ключевые слова: разработка, имитационное моделирование, регрессионный анализ, оптимизация, BPWin, GPSS W, Arena,
Statistica 8.0, MS Excel 2007.
Предлагается компьютерная технология моделирования и оптимизации процессов разработки систем программного обеспечения (СПО). Структурное моделирование проведено в системе BPWin. Имитационное моделирование проведено в системах GPSS W и Arena. Построена математическая модель процессов проектирования, разработки и внедрения СПО, представляющая собой совокупность уравнений регрессии. Проведена оптимизация. Получены формулы для вычисления оптимального количества занятых сотрудников.
Keywords: development, simulation modeling, regression analysis, optimization, BPWin, GPSS W, Arena, Statistica 8.0, MS Excel
2007.
Software development processes simulation and optimization computer technology is represented. Structural modeling has been conducted in GPSS W and Arena systems. Design, development and implementation processes mathematical model has been created. It is represented by a set of regression equations. Model optimization has been held. Formulas for calculating optimal number of employees have been obtained.
В настоящий момент рынок услуг с применением ГГ быстро развивается. При этом значительная часть услуг начинает предоставляться удаленно. Как правило, организация сервисных компаний и подразделений описывается при помощи процессного подхода. Компании, занимающиеся предоставлением каких-либо услуг, часто сталкиваются с проблемой формализации и необходимостью реинжиниринга существующих процессов с целью повышения собственной эффективности, снижения издержек для развития собственных конкурентных преимуществ.
В настоящем исследовании рассматривается новый практический подход к исследованию и оптимизации процессов по разработке ПО на примере поиска возможностей уменьшения стоимости работ по договорам на разработку ПО.
Договорные работы по проектированию, разработке и внедрению систем программного обеспечения (СПО) выполняются специализированным подразделением предприятия. Условия выполнения работ устанавливаются по согласованию заказчика и исполнителя. В работах принимают участие следующие категории исполнителей:
• руководитель проекта контролирует всех работников, занятых в рамках договора, и отвечает за выполнение работ в срок;
• руководители функциональных групп координируют работы каждой группы соответственно;
• отдел маркетинга и продаж участвует в проекте на этапе переговоров и подписания договора;
• экономический отдел участвует в проекте на этапе формирования и распределения бюджета проекта;
• руководители групп координируют соответственно работы аналитиков, разработчиков и архитекторов;
• аналитики, выполняют работы по сбору и документированию требований заказчиков,
постановке задач и оформлению технических заданий на проекты;
• архитекторы, разрабатывают высокоуровневый дизайн СПО и выбирают методы решения поставленных задач;
• разработчики, разрабатывают программные модули (подсистемы), составляют методики тестирования, внедряют и сопровождают СПО.
Для моделирования и оптимизации процессов проектирования, разработки и внедрения СПО предлагается технология, состоящая из следующих этапов:
1. Выбор совокупностей результативных показателей эффективности процессов и влияющих на них оптимизируемых и объективных факторов;
2. Математическая постановка задач;
3. Построение IDEF-диаграмм процессов в системе BPwin и их качественный анализ;
4. Переход от диаграммы IDEF3 в систему Arena и отладка в ней имитационной модели процессов;
5. Разработка и отладка имитационной модели в системе GPSS W;
6. Составление стратегического плана проведения имитационных экспериментов;
7. Определение требуемого количества реализаций состояния модели для получения результатов с заданной достоверностью (тактическое планирование);
8. Моделирование процессов по стратегическому плану;
9. Вычисление коэффициентов линейной корреляции и отбор существенно влияющих факторов в математическую модель;
10. Построение математической модели, состоящей из совокупности уравнений регрессии, связывающих результативные показатели эффективности процессов с влияющими на них факторами;
11. Оценка степени влияния факторов на результативные показатели эффективности моделируемого процесса;
12. Оптимизация процессов;
13. Вывод формул для вычисления оптимальных значений количества аналитиков, разработчиков и архитекторов;
14. Генерация управляющих решений по построению эффективных процессов проектирования, разработки и внедрения для конкретных примеров СПО.
Далее последовательно рассмотрим все выделенные этапы.
1. Для исследования процессов отобраны 8 результативных показателей эффективности и 7 влияющих на них факторов. Первые три фактора, которые мы можем менять для обеспечения требуемых значений откликов, будем называть оптимизируемыми факторами. Остальные факторы мы не имеем возможности менять, их будем называть объективными факторами. Отобранные для исследования факторы и отклики представлены в таблице 1.
Таблица 1 - Результативные показатели и факторы, отобранные для исследования
№ Код Наименование
1 Уі Стоимость работ за время выполнения договора в рублях
2 У2 Среднее время выполнения работ по договору в часах
3 Уз Среднее отклонение времени выполнения работ по договору в часах
4 У4 Вероятность выполнения работ в установленные договором сроки
5 У5 Среднее время просрочки работ по договору в часах
6 Уб Коэффициент утилизации аналитиков
7 У7 Коэффициент утилизации разработчиков
8 у8 Коэффициент утилизации архитекторов
9 *1 Количество аналитиков
10 *2 Количество разработчиков
11 *3 Количество архитекторов
12 *4 Сложность выполнения работ (количество подсистем)
13 х5 Средняя заработная плата за один час работы в рублях
14 хб Планируемое время выполнения работ по договору в часах
15 х7 Штраф за каждый просроченный час выполнения договорных работ в рублях
Принято, что все временные распределения являются экспоненциальными.
2. Требуется построить математическую модель процесса в виде совокупности уравнений регрессии:
У] = А- (*1, Х2,, *3, Х4, *5, Х6, Х7>; І = 1 8. (1)
По математической модели (1) производится постановка оптимизационной задачи:
У І = Аі * 2,, ^ *4, *5, x6, *7) ^ тт; (2)
аі - УІ = АІ (*і1, *і2,, *і3, *І4, *І5, *І6, *І7 ) - ЬІ ;
і = Щ І = 18;
Є - *і - <Лі; і =1, 7,
где а-,Ъ] - левая и правая границы допустимых значений і - го результативного показателя эффективности; є^і - левая и правая границы допустимых значений і - го фактора; N - количество промоделированных вариантов реализации процессов.
По результатам оптимизации (2) выводятся расчётные формулы для вычисления оптимальных значений факторов: х1, х2 и *3:
Xi=fi(x4,x5,xб,х7); і = 1, 3; (3)
3. Структурные модели процессов проектирования, разработки и внедрения СПО разработаны в системе BPWin в виде диаграмм ГОЕБО (рис. 1) и ГОЕР3 (рис. 2).
Рис. 1 - Модель ГОЕЕО процессов
проектирования, разработки и внедрения СПО
В диаграмме ГОЕБО указываются информационные и материальные связи. ГОЕБО отображает структуру и функции процессов и потоки используемой и генерируемой информации [1]. На диаграмме А-0, которая представлена на рисунке 1, содержится наиболее общее описание объекта моделирования. Диаграмма А-0 описывает, как и с помощью каких средств производятся работы по проектированию, разработке и внедрению СПО.
Более подробно эти процессы представляются диаграммой ГОЕБЗ. Структурная модель ГОЕБЗ позволяет представить сценарий информационного процесса (информационной технологии) в виде параллельно и последовательно выполняемых действий с одновременным описанием объектов, имеющих к процессу непосредственное отношение. Ещё одним несомненным достоинством структурной модели ГОЕБЗ является возможность непосредственного перехода от неё в систему имитационного моделирования, для этого требуется только дополнительно ввести некоторые количественные характеристики процессов с помощью предусмотренной совокупности меню.
Рис. 2 - Структурная модель IDEF3 процессов проектирования, разработки и внедрения СПО
4. С помощью встроенной в Arena процедуры была проведена генерация имитационной модели на основе разработанной структурной модели IDEF3 (рис. 2).
В системе Arena проведено имитационное моделирование одного варианта реализации процессов со средними значениями факторов и зарегистрированы значения результативных показателей эффективности процессов.
5. Параллельно с системой Arena имитационная модель была разработана и отлажена на языке GPSS W, имеющим больше возможностей по представлению моделируемых процессов по сравнению с системой Arena, но проигрывающий ей в трудоёмкости разработки моделей.
6. В качестве стратегического принят план, состоящий из 23 вариантов. В первом варианте - центральной точкой взяты средние значения всех факторов. Ещё 8 вариантов в геометрической интерпретации представляют собой вершины куба для трёх основных оптимизируемых факторов. Четыре дополнительных факторов меняются по законам изменения произведений основных факторов, т.е. реализуется план дробного факторного эксперимента. Для обеспечения отображения возможных нелинейностей в зависимостях результативных показателей эффективности от влияющих на них факторов вводятся 14 «звёздных» точек [2].
7. Количество реализаций состояний модели вычислено по формуле, полученной
на основании неравенства Чебышева:
^*2 487,842 ,.ч
n =—-------=----------------------= 221,334 « 220, (4)
s2(1 -Р) (0.1 • 1035,77)2 • (1 - 0.90)
*
где а - оценка среднего квадратического отклонения; е - половина ширины доверительного интервала, берётся равной 0,1m1 ; m1 - оценка математического ожидания; в - доверительная вероятность, берётся равной 0,90.
8. Моделирование процессов проведено в двух системах по 23 вариантам.
Согласно полученным данным различие в результатах моделирования в двух системах сравнительно невелико и не превышает 10%, его наличие можно объяснить отличием используемых генераторов случайных чисел в Arena и GPSS W. Можно ожи-
дать, что это различие будет уменьшаться при увеличении количества реализаций состояния моделей.
9. Вычисленные значения коэффициентов линейной корреляции позволили установить, что большинство зависимостей результативных показателей от влияющих на них факторов являются существенными, но в то же время они не являются линейными. Кроме того, существенное влияние на результативные показатели оказывают и некоторые произведения факторов между собой. Поэтому принято решение в качестве уравнений регрессии использовать нелинейные зависимости второй степени с включением в них произведений факторов между собой.
10. Постановка задачи построения уравнений регрессии требует, чтобы сумма квадратов отклонений экспериментальных значений от вычисленных по аппроксимирующей зависимости была минимальной. Кроме того, требуется, чтобы отношение стандартной ошибки к среднему значению не превышало 0,1; уровень значимости по коэффициенту множественной детерминации, критерию Фишера для уравнения регрессии и уровни значимости по критерию Стьюдента для коэффициентов уравнения регрессии не превышал 0,05. Совокупность 8 полученных уравнений регрессии представляет собой математическую модель процессов. Для примера представим нелинейные уравнения регрессии, связывающие результативные показатели эффективности: у1 - стоимость работ и у2 - среднее время выполнения работ с влияющими на них факторами.
у1=20079094,22-147694,281х1-594944,679■ х2 -14475,045х6 +158157,632■ х32+1427,528х42 +
+0,559■ х52+3,582■ х62+0, 235х72; (5)
У2=-453,6-40,5626х1-294,8992■ х2 -215,5050хз+8,1071х4+2,1701х5+ 1,1663хе+0,3697х7+ +0,7567■ х21+14,2960х22+25,3811х23+0,2291х24-0,0007^5-0,0004х26-0,0001х27.
Для полученных уравнения регрессии были определены показатели качества. Все они находятся в допустимых интервалах.
11. Оценка степени влияния факторов на результативные показатели эффективности процессов проектирования, разработки и внедрения СПО проведена по удельным весам и коэффициентам эластичности факторов. Для примера представим результаты оценки степени влияния факторов на стоимость работ - у1 по их удельным весам (рис. 3) и коэффициентам эластичности (рис. 4).
Рис. 3 - Круговая диаграмма удельных весов факторов, влияющих на изменение у1
2 -ґ
1 _ 1
1 ! | 1 І | 1 - т Н Г Г 1 хЗ х4 х5 х0 х7
7
Рис. 4 - Гистограмма коэффициентов эластичности факторов влияющих на изменение уі
По полученным диаграммам, представленным на рис. 3 и рис. 4 можно сделать следующие выводы:
• наиболее существенное положительное влияние на увеличение стоимости работ оказывает сложность выполнения работ (х4), т.е. чем проще работы, тем они дешевле;
• количество аналитиков (х2) и количество разработчиков (х2) следует увеличить;
• количество архитекторов (х3) следует уменьшить;
• сформулированные предложения позволят сократить стоимость выполняемых работ.
Отметим, что рекомендации, выданные на основании диаграмм, представленных на рис. 3 и 4 носят качественный характер. Количественные рекомендации можно выдать на основе результатов оптимизации процессов.
12. По математической модели в соответствии с математической постановкой (2) проведем оптимизацию как задачу нахождения минимального значения - у2, за счет выбора оптимальных значений оптимизируемых факторов х2, х2 и х3 при ограничениях на другие показатели эффективности и факторы для каждого из 23 вариантов модели.
13. По результатам оптимизации получено 3 уравнения регрессии для вычисления оптимальных значений количества аналитиков, разработчиков и архитекторов в зависимости от объективных факторов, характеризующих конкретную СПО. х1оРі=-3,16662+0,35472 х4+0,00022■ х5 +0, 00276-Хб -0,00248- Х7+0, 43572 х42+0,00053■ Х52+ 0,00000063■ х62 -0,00000081- х72;
х2 оРі=2,640308+0,131235х4+0,000347■ х5 +0,001650х6 - 0,001350х7+0,001210х42+ +0,00000035 х52+0,000002 х62 -0,00000028х72; ХзоРі=3,514593+0,049782х4-0,000340х5 +0,000043 x6 -0,000733 x7+ +0,001245х42+0,00000016х52-0,00000015х62-0,00000055х72.
14. Решение контрольного примера. Пусть заключен договор на проектирование, разработку и внедрение СПО со следующими параметрами: х4=60 подпрограмм; х5= 1300 рублей; х6=2000 часов; х7=1500 рублей. По формулам (6) и (5) вычислены: хш=-3,16662+0,35472 60+0,00022■ 1300 +0, 00276- 2000-0,00248■ 1500 +
+0,43572 60+0,00053 1300? +0,00000063 2000 2 -0,0000008115002 =20 человек; х2ОР1=2,640308+0,131235-60+0,0003471300 +0,001650■ 2000 -0,001350■ 1500+
+0,00121060+0,00000035 1300+0,0000022000 2 -0,0000002815002 = 12 человек; х3ор,=3,514593+0,049782■ 60-0,000340■ 1300 +0,000043 2000 -0,000733 1500 +
+0,00124560+0,00000016 1300 -
0,00000015 2000-0,000000551500= 5 человек.
УюР1=20079094,219-147694,28120-594944,679■
12-14475,045 2000 +158157 632-52 +
+1427,528 60 +0,559- 1300+3,582- 2000+0, 235-1500 =5930284 рубля.
У2ор1= -453,6011-40,562620-294,8992 12 -215,5050-5+8,1071- 60+2,1701 1300+ 1,16632000+ +0,36971500 +0,7567■ 20+14,2960-122+25,3811-52+0,2291-60-
0,0007 1300-0,0004-2000- 0,0001 1500= 1126 часов .
Вычисленные оптимальные значения факторов и результативных показателей эффективности приведены в таблице 2.
Таблица 2 - Оптимальные значения факторов и результативных показателей
Код Наименование Значение Ед. изм-ия
Х1 Количество аналитиков 20 Человек
Х2 Количество разработчиков 12 Человек
Хз Количество архитекторов 5 Человек
Уі Стоимость работ за время выполнения договора 5930284 Рубли
У2 Среднее время выполнения работ по договору 1126,129 Часы
Уз Стандартное отклонение времени выполнения работ 695,6799 Часы
У4 Вероятность выполнения работ в установленные сроки 0,95 -
У5 Среднее время задержки по срокам по договору 133,5228 Часы
У6 Коэффициент утилизации аналитиков 0,78 -
У7 Коэффициент утилизации разработчиков 0,82 -
У8 Коэффициент утилизации архитекторов 0,87 -
В данной статье представлена методика исследования и оптимизации процессов разработки
ПО. В работе достигнуто следующее:
1. Осуществлен выбор 8 результативных показателей эффективности процессов, 3 оптимизируемых и 4 объективных факторов, влияющих на них;
2. Произведена математическая постановка оптимизационной задачи;
3. Были построены IDEF0 и IDEF3 диаграммы процесса разработки ПО в системе BPwin и их качественный анализ;
4. На основе разработанной логической модели в IDEF3 были созданы имитационные модели процессов в Arena и GPSS W;
5. Спланирована и проведена серия из 23 опытов с использованием разработанных имитационных моделей в Arena и GPSS W;
6. Построена математическая модель процесса разработки ПО, состоящая из 8 уравнений регрессии;
7. В результате оценки степени влияния факторов
на стоимость выполнения работ (у), проведенной по удельным весам и коэффициентам эластичности факторов, было определено, что для уменьшения необходимо постараться
уменьшить сложность выполнения работ (х4), увеличить количество аналитиков (х}) и коли-
чество разработчиков (х2), а также уменьшить количество архитекторов (х3);
8. По результатам оптимизации получено 3 уравнения регрессии для вычисления оптимальных значений количества аналитиков (хД разработчиков (х2) и архитекторов (х5) в зависимости от объективных факторов, характеризующих конкретную СПО.
Новизной представленной работы является разработка имитационной модели процесса разработки ПО, а также построение математической модели процесса, представляющей собой совокупность из 8 уравнений регрессии, и, позволяющую провести оптимизацию, а также выработать обоснованные управленческие решения по оптимизации исследуемого процесса разработки ПО.
В заключение отметим, что предложенная методика пригодна для исследования любых бизнес-процессов.
Литература
1. Р.З. Бедретдинов, III Всероссийская научная конференция (Казань, Россия, 19-22 октября 2010 года). Казань: ТГГПУ, 2010. - С. 228-236.
2. И. Ф. Салихов, Вестник Казанского технологического университета. - 2006. - №6. - С.114-120.
© И. М. Якимов - канд. техн. наук, доц. КНИТУ им. А.Н. Туполева; Р. З. Бедретдинов - асп. КНИТУ им. А.Н. Туполева, [email protected].