Narzędzia wspierające proces Inżynierii Wymagań

Podstawą do opracowania dopasowanego do organizacji procesu Inżynierii Wymagań są odpowiednio dobrane dobre praktyki, metody zarządzania oraz efektywne narzędzia je wspierające. Wybór ich stanowi wyzwanie i poważny problem dla wielu organizacji. Jeżeli popatrzymy na środowiska, w których obecnie rozwijane jest oprogramowanie, to możemy stwierdzić, że zwykle zespoły analityków, programistów i testerów nie komunikują się ze sobą w sposób efektywny, co negatywnie wpływa na wydajność pracy, koszty i jakość finalnego produktu.

Powszechnie używane narzędzia, jak Microsoft Word i Excel wspierające rozwój oprogramowania nie potrafią wymieniać między sobą informacji na poziomie relacji pomiędzy wymaganiami oraz ich różnymi wersjami, co prowadzi do powielania w nich funkcjonalności i konieczność żmudnego i narażonego na błędy przenoszenia między nimi danych.

Wybór narzędzi dokonywany jest zwykle pod kątem zaspokojenia potrzeb każdego zespołu z osobna co z czasem całkowicie blokuje dalszy rozwój strategii departamentu odpowiedzialnego za rozwój oprogramowania. Oczywistym wnioskiem jest konieczność dążenia do konsolidacji dyscyplin inżynierii oprogramowania na poziomie integracji repozytoriów danych i ujednolicenia narzędzi, eliminując powielanie ich podstawowych funkcji.

Narzędzia w zarządzaniu wymaganiami

1. IBM Doors Next Generation (IBM Rational Requirements Composer)

Oprogramowanie IBM Rational Doors Next Generation to rozwiązanie do definiowania wymagań, które poma­ga ujednolicać rozumienie potrzeb i spo­sobu ich zaspokojenia w zespole opra­cowującym produkty i usługi przy użyciu platformy współpracy (Jazz). Doors NG jest dostosowany szczegól­nie do potrzeb procesów tworzenia oprogramowania.

Oferuje członkom zespołów możliwe do dostosowania i dobrze zabezpieczone widoki projektu, które w czasie rzeczywistym przedstawiają informacje na temat nowych artefaktów, komentarzy i wymagań, na których członkowie zespołów powinni skoncen­trować swój wysiłek. Możliwość poglą­dowego spojrzenia na bieżący zbiór wymagań, a także wzięcia udziału w rozmowach na temat dodatkowych informacji, daje zespołom lepszy wgląd w sytuację oraz kontrolę nad nią.

blog-image
Rysunek 12‑1 Interfejs narzędzia IBM Rational Doors Next Generation

Oprogramowanie Rational Doors Next Generation umożliwia zespołom tworze­nie dokumentów tekstowych z rozbudo­wanym formatowaniem i diagramów procesów biznesowych, a także opra­cowywanie diagramów przypadków użycia, szkicowanie interfejsów użyt­kownika oraz rozrysowywanie i tworze­nie scenariuszy. W ten sposób interesa­riusze mogą zrozumieć zmiany oraz ich wpływ na projekt. Użytkownicy Doors NG mają możliwość pracowania z narzędziem z poziomu przeglądarki internetowej.

W narzędziu definiowanie wymagań opiera się o następującą strukturę artefaktów:

  • Aktor
  • Diagram procesu biznesowego
  • Kolekcja artefaktów
  • Dokument
  • Słownik
  • Wymaganie
  • Przepływy ekranów
  • Scenorys
  • Przypadki użycia
  • Diagramy przypadków użycia
  • Szkic interfejsu użytkownika, prototypy
  • Reużywalny fragment interfejsu użytkownika

Dokument Doors NG jest artefaktem programu, który możemy zaimportować ze zwykłego dokumentu MS Word lub Open Office. Przykładowo do opisanego w dokumencie procesu biznesowego możemy dołączyć stworzony w edytorze graficznym programu diagram. Aktor, przypadki użycia oraz diagramy przypadków użycia są natomiast artefaktami ściśle związanymi z językiem UML wykorzystywanym w modelowaniu systemów informatycznych Samo narzędzie posiada wbudowany mechanizm śledzenia zmian pomiędzy wymaganiami oraz innymi elementami, które mają na te wymagania wpływ.

Więcej informacji: www.jazz.net

2. Micro Focus - Borland Caliber RM

Caliber RM jest korporacyjnym narzędziem do zarządzania wymaganiami, mającym na celu wsparcie pracy grupowej, komunikacji z dostawcami oraz analizy wpływu w skomplikowanych projektach. Według specyfikacji producenta pozwala zespołom na dostarczenie wartości biznesowej dla projektu z większą dokładnością co do czasu oraz przewidywalnością. Narzędzie może być stosowane zarówno w małych oraz dużych projektach o różnej charakterystyce ról, kompetencjach czy rozlokowaniu zespołu. Caliber RM zapewnia centralne repozytorium wymagań dla projektów, do których dostęp jest regulowany na podstawie uprawnień przydzielanych użytkownikom.

blog-image
Rysunek 12‑2 Interfejs narzędzia Caliber RM

Narzędzie pozwala na konfigurację w celu dostosowania do dowolnych procesów, przez co umożliwia lepsze dopasowanie do klienta i przyśpieszenie prac. Otwarta architektura produktu pozwala łączenie w postaci powiązań, wymagań oraz dowolnych innych elementów cyklu życia aplikacji Opisane podejście do łączenia artefaktów, umożliwia łatwiejsza analizę wpływu, która może być w narzędziu przedstawiana graficznie, dzięki czemu dowolny użytkownik może od raz zrozumieć zakres zmiany oraz jej wpływ na cały projekt. Rozwiązanie integruje się z popularnymi rozwiązaniami używanym w projektach jak Eclipse czy Microsoft Visual Studio, Microsoft Team Foundation Server oraz zapewnia bezpośredni dostęp do zasobów przez przeglądarkę www.

Więcej informacji: www.borland.com/products/caliber

3. Micro Focus - Serena Dimensions RM

Serena Dimensions RM jest kompletnym narzędziem wspierającym inżynierie wymagań, która dostarcza funkcjonalności związanych z identyfikacją wymagań, ich opracowanie, ponownym użyciem oraz śledzeniem zmian na dalszych etapach projektów. Rozwiązanie oparte o przeglądarkę www, zapewnia pełną funkcjonalność pracy z wymaganiami bez potrzeby instalowania dodatków po stronie klienta. Narzędzie posiada jeden interfejs, pozwalający na eliminacje niespójności wersji wymagań trzymanych przez użytkowników w wielu dokumentach na swoich stacjach roboczych. W aktualnej wersji interfejs pozwana na tworzenie i edycje wymagań, ich komentowanie, ankiety oraz zarządzanie zmianami. Możliwym także jest tworzenie i zarządzanie dokumentami w ramach repozytorium.

blog-image
Rysunek 12‑3 Interfejs narzędzia Serena Dimensions

Rozwiązanie pozwala na pracę z narzędziem bez dostępu do repozytorium, dzięki integracji z Microsoft Word. Serena Dimensions RM pozwala na stworzenie dokumentu na podstawie informacji z repozytorium, a po naniesieniu poprawek w dokumencie na jego ponowne zaimportowanie z naniesieniem zmian. W przypadku brak zmian, a pojawieniu się nowych elementów zostają one zapisane w postaci nowych wymagań lub odpowiadających im wpisów w repozytorium. Narzędzie podobnie jak inne profesjonalne narzędzia tego typu pozwana na wgląd w status wymagań oraz śledzenie ich relacji ze zmianami, przypadkami testowymi czy innymi zależnymi artefaktami. Serena Dimensions RM jest jednym z modułów pakietu Orchestrated ALM (ang. Application Lifecycle Management), który obejmuje cały cykl życia budowy aplikacji od wymagań po zarządzanie testami. Platforma Dimensions RM umożliwia ponowne użycie zasobów oraz pomaga identyfikować elementy już reużywane w projekcie w celu zwiększenia tej utylizacji oraz informuje o zmianach mogących mieć wpływ na elementy na nich bazujących.

Wszystkie wymienione cechy narzędzia wynikają z faktu, że bazuje ono na centralnym repozytorium, które eliminuje potrzebę kopiowania źródła wymagań czy przechowywania wymagań w wielu miejscach.

Więcej informacji: www.serena.com/index.php/en/products

4. Rational DOORS (Dynamic Object Oriented Requirements System)

Narzędzie IBM Rational Doors (wcześniej Telelogic DOORS) zostało zaprojektowane w celu wsparcia identyfikacji, śledzenia, analizy i zarządzania zmianami wymagań oraz zapewnienia zgodności ze standardami przemysłowymi. Doors jest kompletnym rozwiązaniem do zarządzania wymaganiami bazującym na platformie IBM Jazz. Narzędzie składa się z cześci serwerowej z dostępem przez przeglądarkę www oraz opcjonalnie z klienta działającego po stronie stacji roboczej. Oba interfejsy zapewniają pełen dostęp do funkcjonalności wspierających identyfikowanie, analizę i zarządzanie wymaganiami w projektach wytwarzania oprogramowania, produktów czy systemów przemysłowych. Na zaprezentowanym interfejsie użytkownika przedstawiono specyfikację wymagań zapisaną w postaci modułu oraz dodatkowych relacji śledzenia z innymi dokument wymagań czy testów.

blog-image
Rysunek 12‑4 Interfejs narzędzia IBM Rational Doors

Rozwiązanie zawiera moduł zarządzania zmianami, modułu zarządzania procesem testowania oraz raportowania ze wszystkich danych uwzględnionych w projekcie. W celu wsparcia pracy zespołów nad całym cyklem życia produktu, narzędzie dostarcza uniwersalnych interfejsów pozwalających na integracje innymi narzędziami popularnymi na rynku jak Sparx Enterprise Architect czy HP Quality Center. Narzędzie standardowo jest integrowane w ramach portfolio produktów IBM Rational i dostarczane w postaci prekonfigurowanego pakietu instalacyjnego. Rozwiązanie pozwala na definiowanie wymagań w postaci opisów, reprezentacji graficznej w postaci procesów biznesowych, przypadków użycia, interfejsów użytkownika czy scenorysów. Interfejs pozwala na tworzenie relacji wymagań z harmonogramem projektu, zadaniami, przypadkami testowymi, oraz elementami architektury systemu. Wymagania można organizować w postaci reużywalnych bloków, kolekcji lub modułów, które pozwalają zapanować nad skomplikowaniem zadaniem w postaci hierarchicznej struktury drzewiastej.

Więcej informacji: www-03.ibm.com/software/products/en/ratidoor

5. Blueprint Requirements Center

Blueprint jest narzędziem wspierającym definiowanie i zarządzanie wymaganiami w dużych organizacjach i skomplikowanych przedsięwzięciach. Narzędzie dostarcza pełnego wsparcia dla procesów tworzenia, walidacji, wsparcia pracy grupowej oraz zarządzania wymaganiami. Narzedzie zostało stworzone dla analityków biznesowych w obszarze wytwarzania oprogramowania, aby byli w stanie łatwo definiować wymagania, wizualizować oraz komunikować wymagania w ramach zespołu projektowego. Pozwala na zastosowanie popularnych standardów w modelowaniu oraz technik prototypowania, w celu uchwycenia kluczowych wymagań i koncepcji istotnych z perspektywy klienta. Rozwiązanie zostało zbudowane w oparciu o interfejs użytkownika znany wcześniej z produktów Microsoft Office, co sprawia, że system nawiązuje do wcześniej wypracowanych i popularnie stosowanych praktyk. Narzędzie bazuje na interfejsie dostępnym poprzez przeglądarkę, co umożliwia współbieżny dostęp do danych i ich łatwiejsze utrzymanie w przypadku pracy większych zespołów projektowych.

blog-image
Rysunek 12‑5 Interfejs narzędzia Blueprint Requirements Center

Mimo, że jest to narzędzie nastawione na pracę grupową, zachowuje ono możliwość przechowywania danych prywatnych oraz publikowanie ich w momencie, kiedy są one opracowane, a ich właściciel podejmie taką decyzję. Blueprint został zaprojektowany w taki sposób, aby umożliwić wsparcie dla zróżnicowanych typów wymagań, różnych form ich zapisu, czy w zależności od doświadczenia zespołów.

Jak wiele narzędzi działających w obszarze zarządzania wymaganiami, Blueprint pozwala na wbudowane przeglądy wymagań oraz dyskusje, co w ocenie producentów ma za zadanie podniesienie jakości wymagań oraz ich precyzyjności.

Dzięki partnerstwie firmy Blueprint z Hewlett-Packard, narzędzie pozwala na integrację z HP Quality Center na poziomie tworzenia dwustronnych powiązań pomiędzy wymaganiami czy przypadkami testowymi. Połączenie danych z obu rozwiązań, pozwala przekazywanie atrybutów wymagań, ich opisu, a także automatyczne generowanie przypadków testowych, czy raportowanie. Zbudowanie z obu narzędzi jednej platformy pozwala na zastosowanie koncepcji RBT (ang. Requirements Based-Testing) oraz zgodną z metodyką T-Map.Next RDT (ang. Result-Driven Testing), a przy tym ugruntowanie i sformalizowanie procesów zapewnienia jakości, czy istotne z perspektywy osób zarządzających skrócenie czasów testów.

6. Open Source Requirements Management Tool / aNimble Platform

Open Source Requirements Management Tool (OSRMT) jest jednym z najbardziej popularnych narzędzi do zarządzania wymaganiami, rozwijanym od roku 2006 w ramach SourceForge i licencji GPL. Produkt przeznaczony jest głównie do Inżynierii Wymagań, ale wspiera także takie obszary, jak zarządzanie zmiana. Dzięki pokryciu całego cyklu życia aplikacji pozwala na pełne śledzenie relacji pomiędzy artefaktami jak, wymagania, projekt, implementacja, testy. OSRMT wspiera pozyskiwanie wymagań, kontrole wersji, autorskie atrybuty dla wymagań, uzasadnianie, różne źródła wymagań, wymagany wysiłek, priorytety klienta oraz zespołu.

blog-image
Rysunek 12‑6 Interfejs narzedzia Open Source Requirements Management Tool

Rozwiązanie było dostępne przy użyciu dwóch interfejsów, jak aplikacja napisana w Javie (Swing) oraz przy użyciu przeglądarki. Dynamiczny rozwój projektu przez ostatnie lata doprowadził do przeszło 70 tysięcy pobrań i wdrożeń liczonych w setkach stacji roboczych. Niestety nie uchroniło to projektu przed brakiem aktywności zespołu, który rozwijał narzędzie i w rezultacie zawiesił projekt. Wyzwaniem biznesowym dużej liczby użytkowników stało się przeniesienie danych, raportów, procesów z tego już niewspieranego i nierozwijanego narzędzia.

Kontynuacją projektu OSRMT jest platforma aNimble, która w domyśle ma być rozwinięciem OSRMT w wersji 1.5. Platforma posiada przeprojektowaną architekturę bazującą na innych technologiach, a dostęp do wszelkich zasobów odbywa się tylko przez przeglądarkę www.

Projekt stanowi koło ratunkowe dla wcześniejszych użytkowników OSRMT, pozwalając na migrację z już nierozwijanego rozwiązania do rokującej platformy.

Więcej informacji: http://sourceforge.net/projects/nimble/

7. Cechy dobrego narzędzia do zarządzania wymaganiami

Bazując na wyzwaniach związanych z doborem narzędzi wspierających procesy Inżynierii Wymagań oraz dobrych praktykach wypisano listę kluczowych funkcjonalności, istotnych przy wyborze technologii. Na liście znalazły się jedynie funkcjonalności najbardziej kluczowe z perspektywy popularnych procesów analitycznych . Lista może więc nie uwzględniać pewnych aspektów istotnych dla niektórych gałęzi przemysłu.

Rozwiązanie było dostępne przy użyciu dwóch interfejsów, jak aplikacja napisana w Javie (Swing) oraz przy użyciu przeglądarki. Dynamiczny rozwój projektu przez ostatnie lata doprowadził do przeszło 70 tysięcy pobrań i wdrożeń liczonych w setkach stacji roboczych. Niestety nie uchroniło to projektu przed brakiem aktywności zespołu, który rozwijał narzędzie i w rezultacie zawiesił projekt. Wyzwaniem biznesowym dużej liczby użytkowników stało się przeniesienie danych, raportów, procesów z tego już niewspieranego i nierozwijanego narzędzia.

Do kluczowych cech z perspektywy nowoczesnego narzędzia do pracy z wymaganiami możemy zaliczyć:

  • Zapewnienie przechowywania wymagań w jednym miejscu - o łatwym dostępie dla wszystkich interesariuszy
  • Wsparcie dla zarządzania zmianami i wersjonowania wymagań
  • Prototypowanie interfejsów
  • Import i eksportowanie wymagań z/do plików CSV
  • Wbudowane wsparcie dla standardu ReqIF
  • Możliwość importowania wymagań z dokumentów tekstowych
  • Definiowanie wymagań przy użyciu rozbudowanego formatowania (ang. rich-text editing)
  • Modelowanie procesów biznesowych
  • Definiowanie własnych atrybutów dla wymagań
  • Tworzenie własnych typów wymagań
  • Modelowanie przypadków użycia
  • Możliwość definiowania wymagań i celów biznesowych w projekcie
  • Wbudowana obsługa słowników
  • Przeglądy wymagań
  • Tworzenie grup wymagań
  • Wsparcie dla planowania w projekcie
  • Integracja wymagań z przypadkami testowymi i innymi artefaktami cyklu życia
  • Wsparcie dla estymacji i ustalania priorytetów dla wymagań
  • Oznaczenie wymagań (ang. tagging)
  • Wsparcie dla dyskusji i komentarzy
  • Zarządzanie zamianami wymagań
  • Analiza wpływu z odkrywaniem podejrzanych wymagań (ang. suspect link changes)
  • Kontrola historii zmian
  • Możliwość przeszukiwania repozytorium
  • Tworzenie wersji bazowych i możliwość pracy z nimi
  • Generowanie raportów
  • Tworzenie szablonów dokumentów
  • Zarządzanie rolami oraz uprawnieniami