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

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

УДК: 519.8

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

Анна Борисовна Клименко,

аспирант

Владислав Валерьевич Клименко,

кандидат технических наук Таганрогский технологический институт южного федерального университета

г. Таганрог, Россия anna_klimenko@mail.ru

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

Ключевые слова: исследование операций, управление, управление программными проектами, планирование в условиях неопределенности.

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

В настоящее время разработаны различные подходы к решению задачи своевременного выполнения программного проекта. Один из подходов заключается в выборе наиболее подходящей к случаю методологии разработки. Далее в рамках используемых методологий могут применяться методы сетевого планирования и управления, такие, например, как CPM/PERT, или «метод критической цепи», разработанный относительно недавно [1]. Составление календарного графика позволяет провести более точный анализ, который может быть получен на основе результатов анализа сетевой модели: здесь решается вопрос распределения работ по ресурсам, т.е. фактически составляется предварительное расписание выполнения тех или иных работ.

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

Цель данной статьи - выявление и анализ неопределенностей, оказывающих существенное влияние на процесс разработки ПО.

Рассмотрим основные классы факторов, характерных для систем промышленного производства и влияющих на необходимость перепланирования. Факторами перепланирования в [2] называются неожиданные события, могущие отрицательно повлиять на производительность всей системы в целом. Также в [2] выделяют следующие классы таких событий:

- поломка оборудования;

- появление срочной работы;

- отмена работы;

- изменение сроков выполнения заказа;

- задержка в поставке материалов;

- изменение приоритета работ;

- повторная обработка или проблемы качества продукции, требующие доработки;

- недооценка или переоценка требующегося на выполнение работы времени.

Вариантами реакции на перечисленные выше события могут быть следующие управляющие

воздействия, которые и предполагают внесение изменений в календарный график[2]:

- увеличение нормативов рабочего времени,

- 72 -

- привлечение новых подрядчиков на выполнение поставленных задач,

- замена оборудования,

- ограничение численности сотрудников, освобождение оборудования.

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

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

- болезнь персонала;

- увольнение персонала;

- появление новых срочных работ;

- отмена работ;

- изменение сроков сдачи проекта;

- задержка поставки программного кода отдельно взятыми сотрудниками;

- изменение приоритета работ;

- доработка задач и исправление ошибок;

- неверная оценка времени, требующегося на решение задачи.

В качестве наиболее широко применяемых управляющих воздействий выделим следующие:

- изменение нормативов рабочего времени;

- варьирование числа сотрудников (добавление или убавление);

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

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

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

1. Количество сотрудников на протяжении проекта - сотрудник может заболеть или уволиться.

2. Трудоемкости задач - как в результате предварительной некорректной оценки, так и в силу необходимости доработки;

3. Количество задач вследствие появления срочных задач или наоборот, отмены некоторой их части;

4. Последовательность задач в силу возможности изменения их приоритетов.

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

Неопределенность в производительности играет ключевую роль в вопросе моделирования управляющих воздействий, меняясь на протяжении длительности проекта [4,5]. Например, увеличение норм рабочего времени ведет к практически непредсказуемому результату [4], когда производительность сотрудников уменьшается непредсказуемым образом в произвольный момент времени. Моделирование привлечения новых подрядчиков к проекту также становится нетривиальной задачей по следующим причинам: во-первых, сложно оценить производительность нового сотрудника, во-вторых, в процессе ассимиляции в проекте происходит рост производительности и, в-третьих, с принятием на работу новых сотрудников, как правило, происходит снижение производительности сотрудников старых и средней производительности всего коллектива [4,5,6]. Особое внимание непостоянной производительности сотрудников уделяют авторы [4,5], но предложенные ими модели, разработанные в рамках направления «Системная динамика», не ориентированы на взаимную связь решаемых задач и не учитывают того факта, что принятый в произвольный момент времени новый сотрудник не будет гарантированно иметь возможность приступить к решению «своей» задачи. Нельзя не отметить, что в рамках методов сетевого планирования и управления предлагается решение задачи об уменьшении временных затрат на работу путем привлечения дополнительных средств [7], но здесь не учитывается тот факт, что в процессе кодирования одна задача решается одним человеком. Если вести речь об укрупненном сетевом графике, когда несколько человек выполняют одну работу, не учитываются изменения производительностей сотрудников.

Таким образом, можно сделать следующие выводы:

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

2. Наиболее значимые неопределенности в области разработки ПО - это количество персонала, количество, трудоемкости и порядок решаемых задач, а также производительность персонала, которая может меняться на протяжении всего проекта.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ

1. Eliyahu M. Goldratt. Critical Chain. (1997) ISBN 0-88427-153-6.

2. Vieira, G., Herrmann, W., Lin. E. Rescheduling manufacturing systems: a framework of strategies, policies, and methods.[Электронный ресурс] / G.Vieira, J.W. Herrmann, E. Lin. - Режим доступа: http://www.isr.umd.edu/Labs/CIM/projects/jos-rescheduling.pdf

3. Ouelhadj D., Petrovic S. Survey of dynamic scheduling in manufacturing systems. Journal of Scheduling. Volume 12, Issue 4 (August 2009). Pages: 417 - 431. 2009. ISSN:1094-6136.

4. Madachy, R. Software Process Dynamics. IEEE Press. 2008.

5. Abdel-Hamid, T., and Madnick, S., Software Project Dynamics, Englewood Cliffs, NJ: Prentice-Hall, 1991.

6. Brooks, F. The mythical man-month (Essays on Software Engineering). Addison-Wesley Publishing Company Reading. 1975.

7. Костевич Л.С., Лапко А.А. Теория игр. Исследование операций:Учеб. Пособие для эконом. вузов. - Мн.: Выш. Школа, 1981.-231с., ил.

УДК 621.311.21.-827

ЭКОЛОГИЧНАЯ ГИДРОЭНЕРГЕТИЧЕСКАЯ УСТАНОВКА

Бауржан Джамалбекович Кулжабаев1,

кандидат технических наук Виктор Степанович Лысенко2,

кандидат технических наук г. Алматы, РК Токтасын Мендебаевич Мендебаев3,

доктор технических наук 1Казахский государственный женский педагогический университет

2Казахский национальный педагогический университет им. Абая 3Казахский национальный технический университет им. Сатпаева г. Алматы, Республика Казахстан vikstel.777@mail.ru

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

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком