Dzisiejszy wpis poświęcony jest Software & Systems Process Engineering Meta-Model Specification (SPEM). Co to jest SPEM?
SPEM to zaproponowany przez OMG (ang. Object Management Group), który został pomyślany jako spójny zestaw pojęć do opisu procesu inżynierii oprogramowania.
Co oferuje SPEM? Cytując artykuł “SPEM/UML w specyfikacji procesów zarządzania projektem” (Iwona Dubielewicz, Jerzy Sas, e-Informatica Software Engineering Journal/ “Problemy i metody inżynierii oprogramowania” (KKIO V) pod redakcją Zbigniewa Huzara i Zygmunta Mazura.) : SPEM jest metamodelem przeznaczonym do definiowania procesów i ich komponentów. W metamodelu zaproponowano minimalny zbiór elementów do modelowania procesu i nie wprowadzono żadnych ograniczeń ani dodatkowych modeli do opisu specyficznych zagadnień jak np. analiza, testowanie. Pojęcia wprowadzone w metamodelu można podzielić na :
- opisujące strukturę procesu, do których należą: ProduktPracy, OpisPracy, Aktywność, RolaProcesu, WykonawcaProcesu;
- opisujące cykl życia procesu, w tym Iterację, Fazę;
- umożliwiające zarządzanie złożonością: KomponentProcesu, Proces, Dyscyplina.
Tak więc SPEM dostarcza nam języka opisu procesu wytwórczego oprogramowania. Nie jest to bardzo odkrywcze, gdyż ten jeżyk meta modelu używany jest w OpenUP, Rational Unified Process i innych metodykach.
Nie będę opisywał notacji SPEM, gdyż specyfikacja jest dostępna na stronie OMG: http://www.omg.org/spec/SPEM/2.0/
Osobiście używam go modelowania dwóch przypadkach. Pierwszy to gdy pomagam wraz z Klientem opracować metodykę pracy jego zespołu. Drugi przypadek to gdy w ramach danego projektu muszę określić produkty oraz sposób ich wytworzenia.
W Enterprise Architect także możemy używać SPEM.
SPEM diagram wraz z toolbox pozwala opisać proces wytwórczy. Oto kilka przykładów.
Modelowanie odpowiedzialności poszczególnych ról członków zespołu:
i na sam koniec przykład diagramu aktywności:
Jak widać na załączonych poglądowych rysunkach SPEM w Enterprise Architect może być przydatny do opisania procesu wytwórczego oprogramowania w danej organizacji.
Z doświadczenia wiem, że nie jest to łatwe zadanie. Zarówno opisanie metodyki i uzgodnienie jej z zespołem oraz zapisanie tych ustaleń czy to w formie SPEM czy innej wymaga sporej determinacji Klienta i zaufania do konsultanta (-ów). Zadanie to jednak udaje się zakończyć sukcesem. Powodzenia w budowie własnych metodyk :-).