Научная статья на тему 'Управление процессами разработки программного обеспечения через приоритизацию и временное дифференцирование задач в рамках одной итерации'

Управление процессами разработки программного обеспечения через приоритизацию и временное дифференцирование задач в рамках одной итерации Текст научной статьи по специальности «Математика»

CC BY
326
99
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАЗРАБОТКА / ПРИОРИТИЗАЦИЯ / ДИФФЕРЕНЦИРОВАНИЕ / ИТЕРАЦИЯ / ПЛАНИРОВАНИЕ / ФОКУС-ФАКТОР / DEVELOPMENT / PRIORITIZING / DIFFERENTIATION / ITERATION PLANNING / FOCUS FACTOR

Аннотация научной статьи по математике, автор научной работы — Данилин Артем Олегович, Курипта Оксана Валериевна

Рассматриваются аспекты влияния приоритизации на процессы разработки программного обеспечения; освещается суть подходов временного дифференцирования с учетом приоритизации задач одной из итераций проекта.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Данилин Артем Олегович, Курипта Оксана Валериевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MANAGEMENT OF SOFTWARE DEVELOPMENT PROCESSES THROUGH PRIORITIZATION AND TEMPORAL DIFFERENTIATION OF TASKS WITHIN A SINGLE ITERATION

The article deals with aspects of the impact of prioritization on the software development processes; the essence of the approaches temporary differentiation with regard to prioritiz the tasks of one of the project’s the iterations of the project is considered.

Текст научной работы на тему «Управление процессами разработки программного обеспечения через приоритизацию и временное дифференцирование задач в рамках одной итерации»

А.О. Данилин,

Воронежский государственный технический университет

О.В. Курипта,

кандидат технических наук,

Воронежский государственный архитектурно-строительный университет

УПРАВЛЕНИЕ ПРОЦЕССАМИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ЧЕРЕЗ ПРИОРИТИЗАЦИЮ И ВРЕМЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ ЗАДАЧ В РАМКАХ ОДНОЙ ИТЕРАЦИИ

MANAGEMENT OF SOFTWARE DEVELOPMENT PROCESSES THROUGH PRIORITIZATION AND TEMPORAL DIFFERENTIATION

Рассматриваются аспекты влияния приоритизации на процессы разработки программного обеспечения; освещается суть подходов временного дифференцирования с учетом приоритизации задач одной из итераций проекта.

The article deals with aspects of the impact of prioritization on the software development processes; the essence of the approaches temporary differentiation with regard to pri-oritiz the tasks of one of the project’s the iterations of the project is considered.

Введение. Разработка программного обеспечения (ПО) представляет собой сложную систему взаимосвязи различных процессов реализации проекта. Сюда следует отнести работу с требованиями, предъявляемыми к конечному продукту, работу с техническими рисками реализации проекта, комплекс мер по обеспечению и управлению качеством, а также другие процессы, которые возникают в процессе разработки или имеют место в свете используемой политики проекта организации. Каждый процесс имеет свои специфические особенности, которые также могут быть регламентированы внутренней политикой организации. Это позволяет говорить о том, что каждая организация обладает огромнейшим управленческим потенциалом, от которого на определенном проекте зависит как наличие тех или иных процессов разработки, их специфики, так и конечный результат их выполнения. Успешное завершение каждого процесса разработки ПО может гарантировать более высокое качество конечного продукта, большую экономическую отдачу (выгоду), повышение уровня зрелости, как проекта, так и организации в целом.

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

Понятие многоуровневой приоритизации. В настоящее время единые стандарты осуществления приоритизации в области разработки ПО не определены, поэтому

OF TASKS WITHIN A SINGLE ITERATION

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

—ї Глобальная —г приоритизация

^ I Локальная Iі приоритизация

_1___: Временная

__1 приоритизация

Рис.1. Функциональная схема многоуровневой приоритизации проекта

Рассмотрим детальнее каждую ступень лестницы приоритетов приведенной выше схемы. Инициатором приоритизированного представления задач является «глобальная приоритизация». Расстановка приоритетов задач на данном уровне может быть основана на требованиях, предъявляемых к разрабатываемому ПО. Тогда на основе выявленных приоритетов формируется «локальная приоритизация», которая может детализировать каждую из задач, предварительно разбив их на подзадачи. На приведённой выше схеме в общем виде представлен блок локальной приоритизации, который в соответствии с политикой организации может быть структурирован или представлять собой более сложный механизм управления приоритетами, а также и отсутствовать вовсе. Соответственно, если блоков локальной приоритизации несколько, то помимо разделения задач на подзадачи могут меняться приоритеты в соответствии с некими критериями, продиктованными политикой каждого из данных блоков. Заключительным уровнем приоритизации является «временная приоритизация», представляющая собой максимально детализированный перечень задач и подзадач в рамках каждой итерации. Приоритеты данного уровня могут постоянно меняться даже при неизменных значениях приоритетов предыдущих уровней приоритизации. Изменение приоритетов на уровне «временная приоритизация» обусловлено, прежде всего, временными рамками. Во-первых, в зависимости от процента выполненных задач одной итерации меняется перечень задач последующей, что влечёт за собой изменение приоритетов задач, переходящих из одной итерации в другую. Во-вторых, изменение сроков завершения проекта неизбежно влечет за собой изменение приоритетов глобального и локального уровней приоритизации. В-третьих, влияние технических рисков, возникших дефектов и иных факторов также будет сказываться на приоритетах данного уровня [3]. Более того, изменение приоритетов на каждом последующем уровне находится в прямой зависимости от изменения приоритетов предыдущего уровня. Таким образом, при изменении приоритета задачи верхнего уровня происходит изменение перечня подзадач следующего уровня, что само по себе требует пересмотра приоритетов.

Основные подходы временной дифференциации. Использование итерационных рамок как критерия формирования приоритетов уровня «временной приоритиза-

ции» является лишь составной частью механизмов управления временем разработки, которое можно рассмотреть с точки зрения универсального или фрагментарного подходов. В общем смысле под временной дифференциацией задач подразумевается использование методик и средств определения временных затрат на выполнение каждой задачи или подзадачи. Под универсальным подходом понимается использование временной дифференциации в рамках только текущей итерации или спринта. Фрагментарный подход включает итерацию в общий временной поток как один из фрагментов с приоритетом выполнения, соответствующим выбранной политике. При этом временной интервал спринта всегда меньше или равен временному интервалу итерации. Сравнительный анализ описанных выше подходов по отношению к основным объектам временной дифференциации приведен в таблице.

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

Сравнение универсального и фрагментарного подходов по отношению к основным

объектам временной диф ференциации

Объекты временной дифференциации Обработка объектов в соответствии с выбранным подходом

универсальный подход фрагментарный подход

Общий перечень задач Ограничен временными рамками итерации Не ограничен

Успешно выполненные задачи Вычеркиваются из перечня задач Переходят в категорию «завершенные»

Задачи, не выполненные за итерацию/спринт Мигрируют в перечень задач следующей итерации Находятся в категории «запланированные»

Задачи, выполненные с расхождением ожидаемых сроков Оказывают влияние на фокус-фактор при планировании следующей итерации Оказывают влияние на фокус-фактор в соответствии с внутренней политикой ведения проекта

Внеплановые задачи Сказываются на приоритетах невыполненных активных задач Не сказываются на приоритетах невыполненных задач

Система приоритетов Распространяется на одну итерацию Соответствует внутренней политике ведения проекта

Для апробации указанных подходов временной дифференциации был разработан программный продукт контроля времени выполнения проекта, который получил рабочее название «WorkingHour» и имеет следующие особенности:

возможность ведения проекта с учётом дифференциации времени согласно фрагментарному подходу;

возможность ведения проекта с учётом дифференциации времени согласно универсальному подходу;

возможность интеграции задач, соответствующих выполнению проекта согласно универсальному подходу, в перечень задач, соответствующих выполнению проекта согласно фрагментарному подхода дифференциации;

реализация приоритизации для задач и подзадач; реализация учёта статистики и мониторинга выполнения проекта; функции выбора и корректировки используемого фокус-фактора (стабильный/динамичный).

Управление процессами разработки проекта посредством предложенного программного продукта основывается на использовании шести основных моделей обеспечения дифференциации времени (ОДВ), приведенных на рис. 2, в основе разделения которых лежит многоступенчатая система приоритизации.

Линейная модель одноуровневой дифференциации представляет собой строгую иерархическую структуру подчинения и взаимного влияния всех уровней планирования. Так, множество крупных задач стратегического плана делятся на подзадачи конкретного типа в локальном плане высокого уровня («Локальный план ВУ»), которые в свою очередь также классифицируются по типам и распределяются по локальным планам низкого уровня («Локальный план НУ»). Каждый локальный план НУ инициирует содержимое конкретного индивидуального плана (ИП). Локальные планы одного уровня не пересекаются друг с другом, т.е. между ними отсутствует взаимодействие, как по типам задач, так и по влиянию задач друг на друга при их непосредственной реализации. Данная модель допускает пересечение индивидуальных планов по одной или не-

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

• план і іу у

Тй^п.іі.гі Га-кпьнз# ' ппаїКг' ■ПГИ ■ ■ ,

НІ

ІТІ і

С ЯіСік-£.>гн ийі

Лсрзгы-ыР | ..

-ПЯЫГУ - V *... --іи-і

; |Л:+ігь иК.--

■ ЛжиыыП >. ппаиН^п4, . ПЛ?НВУ \ /ці-'

\ ~

" І

,-чіИП V-, Г ’ и Ы- Ну

. Гп-.чпкн-.і? ■. у

“ПЧ-ІК |і_________

\. н-:ин пгтін

. П.в І НУ

' "V .

. •" / 4 Гп-ппкн-л'' ■. И }

\ "па- НУ ‘

\

б

в

а

і

Г-1Р-7.ТО*№№МН ПППН

Л.ііі и иГ ГйХПШ.Ґ

-па ВУ ■, паї 2У ■'

Л..*

;хцг ; шьиН/ ч 'Токлииґ ; :ЙГ!

'"•і'п•'ГТг 4• ЧГ'.(••ті;

Й ■

; мг :

ГйМП.ІІ.Ґ . С (й -ЧґЧСЙШґ ІПиі а У и ын

',Чїі:«іиі^ / ■

?п ; п-ин м'.'І / ^

\ /п.. • ■

. иг. ■, па-НЇ.. , ^н. ■■ лі. -.

% у \ / ч—:ии.

І ИП - 1 и-'“ 1 .1 ІІ-ИП.Н. й,'

. . . Г.РІІ и и,- ■ ЛМіі Ы-ЫЬ* ■ 7»-- .. І /П

П'й І Ну ІГЙ БУ '■ ■. " ■. -■

/ Гсіаіии 'різнім нчжмчн1. пі.н Зі'

■ 'ПІЛ З У ' 11 ™ \

і'- ' -V .

\

/•

■ ’ ЛПииь-Й; .■ • ГйїПШ.гі

»-ч> шин Нї( / Гйкінм.і> . _па Е/

і иг :■

. ИГ.;

,'П —■

пікііВу ' / .и

І " ..........«і"--.*,--;

^"Л шіь*іг. /'ТОКПІІЬІІ . НГ І »“ •„• "паї Ні*’; •. 1 П.

д

г

е

Рис.2. Модели обеспечения дифференциации времени выполнения задач

конкретного проекта: а — линейная модель одноуровневой дифференциации; б — модель смешанных уровней дифференциации; в — интегрированная модель одноуровневой дифференциации; г — интегрированная модель линейной многоуровневой дифференциации; д — интегрированная модель смешанных уровней дифференциации; е — интегрированная многоуровневая модель смешанных и линейных уровней дифференциации

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Интегрированная модель одноуровневой дифференциации представляет собой совокупность линейных иерархий, точки взаимодействия между которыми устанавливаются только на одном уровне дифференцирования. Таким образом, допускается разделение одних и тех же задач между различными локальными планами одного уровня или объединение планов для решения этих задач. Для каждой иерархии допустима лишь одна точка взаимодействия с локальным планом данного уровня, но другого типа предшествующего уровня. При этом для одного типа более высокого уровня (предшествующего текущему уровню) локального плана допустимо неограниченное количество точек взаимодействия.

Интегрированная модель линейной многоуровневой дифференциации допускает установку неограниченного количества точек взаимодействия для каждого уровня каждой линейной иерархии.

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

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

При разбиении локального плана на несколько уровней (например, локальный план НУ и локальный план ВУ) индивидуальный план всегда имеет прямую зависимость только от плана низшего уровня, а стратегический план оказывает прямое влияние лишь на локальный план высшего уровня.

Апробация моделей обеспечения дифференциации времени. Все описанные выше модели могут сочетаться в разработанном приложении <^огкт§Ноиг», однако одному проекту может соответствовать только одна модель обеспечения дифференциации. Возможности предложенного программного продукта позволяют одновременно вести неограниченное количество проектов, использующих для организации дифференциации времени задач различные модели ОДВ. Сочетание различных подходов временной дифференциации в соответствии с выбранной моделью ОДВ задач проекта достигается за счёт системы промежуточных расчётов и механизмов обратной связи при назначении нового плана.

Для проведения испытаний и демонстрации возможностей программного продукта был разработан демо-план, включающий в себя перечень задач для проверки реализации универсального подхода дифференциации (ПЗ-1) и перечень задач для проверки реализации фрагментарного подхода дифференциации с перечнем подзадач (ПЗ-2). В рамках проведения испытаний в ПЗ-2 были интегрированы задачи из ПЗ-1. Основной моделью ОДВ задач (ПЗ-1 и ПЗ-2) была выбрана линейная модель одноуровневой дифференциации. Система приоритетов установлена следующим образом: критичный (А); высокий (Б); средний (В); низкий (Г).

В данном случае локальная приоритизация представлена всего одним уровнем в соответствии с моделью ОДВ. В качестве временной базы выбрана итерация продолжительностью 10 рабочих дней. Поскольку модель ОДВ сочетает в себе сразу два подхода дифференциации, для итерации заданы два спринта продолжительностью 5 рабочих дней каждый. Таким образом, общая база времени составляет 80 часов. Фокус-фактор установлен в среднее значение (0,5) и является динамическим по отношению к итерации, но стабилен внутри спринта.

На рис. 3 схематично представлена работа приложения <^огкт§Ноит» для ПЗ-1 и ПЗ-2 относительно стратегического плана условного проекта разработки.

Рис.3. Функциональная схема работы приложения <^огкіп§Ноиг»

Разбиение локального плана на два спринта, в рамках которых решаются задачи плана ПЗ-1 является лишь схематичным представлением обработки групп задач. Непосредственное выполнение каждой задачи будет разбито на множество подгрупп в соответствии с количеством исполнителей. Так, ПЗ-1 для первого спринта будет подразделён на количество групп, соответствующих количеству исполнителей (участников) данного спринта. Аналогичное разбиение будет реализовано и для второго спринта, причём количество и состав участников могут отличаться. Несмотря на разбиение задач спринтов по участникам (индивидуальным планам) системой «WorkingHour», корректировка фокус-фактора может быть обработана как результат выполнения группы задач конкретного спринта (т.е. независимо от индивидуальных показателей каждого участника). В этом случае расчёт времени выполнения следующего спринта имеет вид

Вс=ВухКхФф , (1)

где Ву — установленное время (т.е. время, равное продолжительности спринта); К — дополнительный коэффициент (вводится на уровне политик проекта и может равняться произведению сложности спринта на неопределённость реализации); Фф —

динамичное значение фокус-фактора.

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

При настройке корректировки фокус-фактора по участникам можно получить более гибкий результат коэффициента корректировки, поскольку для каждого участника система будет сохраняться индивидуальное значение фокус- фактора. Механизм обработки данных времени с учётом приоритизации представлен на рис. 4.

Рис. 4. Функциональная схема реализации корректировки фокус-фактора по участникам проекта (составу участников для локального плана 1)

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

Вз=(РхСхН )хФф , (2)

где Вз — время одной задачи одного участника; Р — работа (временные затраты без учёта погрешности и рисков); С — сложность задачи; Н — неопределённость (или дополнительный коэффициент на уровне политик проекта); Фф — персональный фокус-фактор каждого участника.

Согласно формуле (2) при увеличении количества расхождений по времени в большую сторону (для задач индивидуального плана) увеличивается значение коэффициента фокус-фактора и рассчитывается:

*А ВїМ (3)

т (р*с*н:’

где Взн — реальное время выполнения задачи, полученной после её завершения.

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

фс»= * (їїг51)

Л СЧБП_1 / \ г

где п — номер локального плана для которого составляется план спринтов (диапазон значений лежит от 2 до бесконечности); т = п-і> 0,причём диапазон і значений лежит от 2 до бесконечности; Фсп — фокус-фактор спринта для п-локального плана; СФсп — суммарный фокус-фактор всех спринтов п-локального плана; Ксп — количество спринтов п-локального плана.

Задача определения суммарного фокус-фактора (СФсп) представляет собой отношение суммы всех значений фокус-фактора каждого участника спринта к их количеству:

, (5)

где СФсп — суммарный фокус-фактор по завершении всех спринтов п-локального плана, Фф — персональный фокус-фактор каждого участника по завершении последнего спринта п-локального плана, Ку - количество участников п-локального плана.

В рамках апробации универсального подхода значение количества участников было принято равным двум (Ку = 2). Режим корректировки фокус-фактора был выбран по участникам. По истечении первого спринта значение фокус- фактора второго участ-

ника отклонилось на 0,1, что было учтено при планировании второго спринта. Расхождения по временному интервалу привели к корректировке периода времени персонального плана для второго спринта. Скорректированное значение фокус-фактора позволило сузить границы второй итерации. По прошествии запланированных 40 часов (вторая итерация) персональный фокус-фактор второго участника сохранил значение Фф = 0,6 и задачи были выполнены в течение времени, рассчитанным в соответствии с изменённым фокус-фактором. По результатам выполнения всех запланированных задач демо-плана с учётом корректирующего значения фокус-фактора участников можно сделать вывод, что время выполнения задач каждого последующего спринта принимает более объективные оценки индивидуально для каждого участника.

Заключение. Данные проведенного эксперимента позволяют прийти к выводу, что при одноуровневой временной дифференциации универсальный подход за счёт динамично-изменяющегося фокус-фактора осуществляет корректировку запланированных задач по срокам согласно ожидаемому результату, тем самым представляя более объективное время как для задач пользователя (индивидуальный план), так и для задач спринта (ПЗ-1). Комбинированное использование подходов универсальной и фрагментарной дифференциации позволяет сохранить преимущества каждого подхода, уменьшая при этом их недостатки. Так, задачи, выполненные в первом и втором сприн-тах, сохраняются в базе данных программного продукта, а значения коэффициентов фокус-фактора составляют вес в дальнейшей корректировке времени при планировании спринтов последующих локальных планов. Единая система приоритизации позволяет без искажения корректировать все переменные коэффициенты планирования.

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

ЛИТЕРАТУРА

1. Луиза Тамре. Введение в тестирование программного обеспечения. — М.: Вильямс, 2003. — 368 с.

2. Джеральд И. Кендалл, Стивен К. Роллинз. Современные методы управления портфелями проектов и офис управления проектами: Максимизация ROI. — М.: ПМСОФТ, 2004. — 576 с.

3. Данилин А.О. Управление техническими рисками разработки программного обеспечения // Научный вестник Воронежского государственного архитектурностроительного университета. Серия: Информационные технологии в строительных, социальных и экономических системах. — Воронеж: ВГАСУ. — 2013. — Вып. 2/2. — С. 309—310.

REFERENCES

1. Luiza Tamre. Vvedenie v testirovanie programmnogo obespecheniya. - M.: Vilyams, 2003. - 368 s.

2. Dzherald I. Kendall, Stiven K. Rollinz. Sovremennyie metodyi upravleniya port-felyami proektov i ofis upravleniya proektami: Maksimizatsiya ROI. - M.: PMSOFT, 2004. -576 s.

3. Danilin A.O. Upravlenie tehnicheskimi riskami razrabotki programmnogo obe-specheniya // Nauchnyiy vestnik Voronezhskogo gosudarstvennogo arhitekturno-stroitelnogo universiteta. Seriya: Informatsionnyie tehnologii v stroitelnyih, sotsialnyih i ekonomicheskih sistemah. - Voronezh: VGASU. - 2013. - Vyip. 2/2. - S. 309-310.

i Надоели баннеры? Вы всегда можете отключить рекламу.