Назва: 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) – підході до керування IT-проектами, що був розроблений та застосовується всередині Microsoft. Створивши формальний опис 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.