Название: Process patterns, основанные на MSF.
Авторы: Д.А.Маленко (maldim@gmx.net), В.Л.Павлов (vlpavlov@ieee.org)
Организации: Факультет прикладной математики Днепропетровского национального университета, Украина; eLine Software, Inc., Украина/США
Научный руководитель: В.Л.Павлов (vlpavlov@ieee.org)
Город: Днепропетровск, Украина

Инженерия процессов разработки ПО (Process Engineering) - молодая, но бурно развивающаяся область программной инженерии (SE, Software Engineering). Сейчас используется большое количество разнообразных процессов разработки ПО, которые решают во многом схожие задачи. Возможно ли выделять существенные черты процессов для дальнейшего перенесения их в иные процессы? Возможно ли применение формальных методов для синтеза новых производственных процессов из уже существующих? 

В объектно-ориентированном проектировании для поиска ответов на подобные вопросы используются design patterns (http://hillside.net/patterns). Они описывают взаимодействие между объектами и классами для решения общей проектной проблемы в некотором контексте. Подобно design patterns, process patterns и organizational patterns описывают проверенные подходы и методики, применимые в различных производственных процессах (прежде всего – процессах разработки ПО). На сегодняшний день уже найдено и документировано большое количество разнообразных patterns такого рода. Но, в отличие от design patterns, которые традиционно формально вводились с использованием UML, process patterns подобного уровня формализации не имели. Некоторые авторы использовали UML для описания process patterns, но, к сожалению, нотации, используемые разными авторами, были несовместимыми. В 2002 году OMG приняла спецификацию Software Process Engineering Meta-model (SPEM, http://www.omg.org/technology/documents/formal/spem.htm), которая  создавалась для описания процессов разработки ПО. Ожидается, что эта спецификация будет широко применяться при решении разнообразных задач, возникающих в области инженерии процессов. Одно из интересных приложений данной метамодели – формальное описание organizational patterns и process patterns.

Описываемое в докладе исследование было сосредоточено на Microsoft Solutions Framework (MSF, http://www.microsoft.com/rus/msf) – разработанном и используемом внутри Microsoft подходе к управлению IT-проектами. Создав формальное описание MSF на SPEM, мы попытались выделить process patterns, которые применимы и к другим процессам разработки ПО, и описать их в классическом стиле GoF (The Gang of Four).

Мы выделили несколько organizational patterns и process patterns. Некоторые из них используются только в MSF, некоторые можно найти и в других SE-процессах. В докладе подробно рассматривается четыре шаблона: Living Document; Reenterable Process; Smart Lifecycle; Stakeholder-Oriented Organization. Первые три являются process patterns и описывают информационные потоки внутри различных фаз процесса разработки ПО. Последний pattern определяет структуру проектной группы и взаимосвязи между членами команды. Для всех patterns приводится формальное описание в виде SPEM-модели. Неформальная часть описания проясняет смысл шаблона и показывает его использование в MSF и других процессах разработки ПО.

Конечно, рассматриваемые четыре patterns не единственные в MSF. В действительности, их выявление явилось “побочным результатом” процесса создания формальной SPEM-модели MSF. Создание и сравнение моделей различных процессов наверняка приведет к обнаружению новых process patterns.