piątek, 9 sierpnia 2013

Scenariusze przypadków użycia w EA


W Sparx Enterprise Architect od wersji 8.0 wprowadzono możliwość opisywania scenariuszy przypadków użycia w formie ustrukturalizowanej (Structured Scenario). Wcześniej scenariusz można było tworzyć tylko w postaci sformatowanego tekstu zawierającego ewentualnie listy numerowane. Od dawna możliwe było również opracowanie scenariusza w formie Linked Document dołączonego do elementu typu Use Case.
W tym artykule chciałbym przybliżyć możliwości wykorzystania mechanizmu Structured Scenario. Ten sposób posiada wiele zalet i warto się z nimi zapoznać.



Edytor Structured Scenario

Po utworzeniu elementu typu Use Case możemy otworzyć zakładkę Scenarios. Wygląda ona następująco.

W polu Scenario wyświetlana jest nazwa scenariusza. Domyślnie jest to Basic Path, czyli inaczej przebieg podstawowy. Nazwę scenariusza można zmienić w tym miejscu. 

Typy scenariuszy

Każdy scenariusz ma swój typ. Domyślnie jest to również Basic Path. Ponadto dostępne są również typy:
  • Alternate - dla scenariuszy alternatywnych,
  • Exception - dla sytuacji wyjątkowych.
Scenariusz alternatywny definiuje listę kroków, których sekwencyjne wykonanie również warunkuje osiągnięcie stanu opisanego przez warunki końcowe. Zaś sytuacja wyjątkowa (Exception) opisuje metody obsługi przypadku, gdy wystąpi określony warunek uniemożliwiający poprawne zakończenie przypadku użycia, czyli osiągnięcie warunków końcowych.

Możliwe jest definiowanie własnych typów scenariuszy (menu Settings -> Project Types --> General Types, zakładka Scenario) lub dodanie tłumaczenia dla istniejących w opcjach generowania dokumentacji.
Niestety z niewiadomych dla mnie względów na liście Word Substitution brak jest słowa Exception. Być może dla tego słowa Sparx zrobił wyjątek, czyli Exception.

Lista scenariuszy

Ale wróćmy do okna służącego tworzeniu scenariuszy. W dolnej części okna widoczna jest lista scenariuszy. Dla każdego z nich wskazane jest, w którym kroku się zaczynają, jaką mają nazwę, typ i ewentualnie w którym kroku zachodzi powrót (Join) do przebiegu głównego. W podanym przykładzie scenariusz Alternatywny1 rozpoczyna się w kroku 3 (podanym tu jako 3a), a wraca do scenariusza podstawowego w kroku 4.
Sytuacja wyjątkowa1 może wystąpić w kroku 4 (podanym tu jako 4a) i nie wraca do scenariusza podstawowego, co oznacza, że wywołanie przypadku użycia może się skończyć niepowodzeniem.

Kroki scenariusza

Każdy krok scenariusza jest numerowany, gdyż istotna jest ich kolejność. Pole Action służy do opisania kroku. Pola Uses, Results oraz State służą do podania dodatkowych informacji o kroku.

  • Uses - dla wskazania na przykład klas danych i/lub reguł biznesowych, które są wykorzystywane w danym kroku.
  • Results - dla wskazania na przykład danych wynikowych, które zostają utworzone lub zmodyfikowane w danym kroku.
  • State - dla wskazania zmiany stanu jakiejś danej wynikowej (np. instancja klasy Zamówienie może przyjmować w jednym kroku stan Utworzone, w kolejnym Zwalidowane, a w jeszcze innym Zatwierdzone.
Wykorzystanie tych pól jest opcjonalne. Z reguły proces tworzenia przypadków użycia jest iteracyjny, w którym analityk przechodzi od ogółu do szczegółu - rozpoczynając od identyfikacji przypadków użycia, poprzez tworzenie scenariusza głównego, a gdy jest potrzeba - kończąc na dokładnym opisaniu wykorzystanych danych referencyjnych.

Każdy krok opatrzony jest ikonką pokazującą, czy jest wykonywany przez użytkownika, czy przez opisywany system. Ikonki te są przypisywane naprzemiennie. Oczywiście może się zdarzyć, że kilka kroków pod rząd jest wykonywanych na przykład przez system, wówczas ikonkę tę można zmienić klikając dwukrotnie na nią. 

Toolbar edytora scenariuszy

Nad listą kroków scenariusza znajduje się belka zawierająca wiele przycisków.

Pierwszy z nich służy do zapisania treści scenariusza. Drugi aktywny jest tylko w przypadku edycji scenariuszy alternatywnych lub sytuacji wyjątkowych i umożliwia szybki powrót do głównego scenariusza.
Kolejne dwa przyciski są z kolei aktywne tylko z poziomu edycji scenariusza głównego i umożliwiają utworzenie nowych scenariuszy, odpowiednio Alternate i Exception.
Okno Manage Uses Context List służy do dodawania i usuwania elementów powiązanych z krokami scenariusza.
Przyciski opatrzone strzałką w górę i w dół służą do zmiany kolejności kroków.
Następny przycisk umożliwia wybór typu i wygenerowanie (lub aktualizację istniejącego) diagramu obrazującego scenariusz.
Kolejny przycisk umożliwia automatyczne stworzenie przypadków testowych dla wszystkich scenariuszy.

Usuwanie całego scenariusza

Jeśli uznamy, że jakiś scenariusz jest zbędny (na przykład, gdy scenariusz alternatywny należy przenieść do innego przypadku użycia jako scenariusz główny), wówczas istnieje oczywiście możliwość jego usunięcia.
use case scenario delete
W tym celu należy przejść do zakładki Description, zaznaczyć scenariusz na liście i nacisnąć przycisk Delete.

Importowanie scenariusza

W przypadku, gdybyśmy dysponowali już scenariuszami opracowanymi np. w MS Word nie musimy pieczołowicie przepisywać kroków scenariusza jeden po drugim.
W takim przypadku możemy w dokumencie zaznaczyć i skopiować do schowka wszystkie kroki.
use case scenario in MS Word document
A następnie w edytorze scenariuszy kliknąć prawym przyciskiem myszy na liście kroków i wybrać z menu kontekstowego Create Structrue From Clipboard Text -> New Line Delimited.
paste scenario steps from document
Rezultatem będą automatycznie utworzone kroki ze skopiowanego tekstu.
W przypadku, gdy kroki miały postać listy numerowanej pozostaje jeszcze ręczne usunięcie numerów kroków z treści.

5 komentarzy:

  1. Świetnie! Takiego artykułu szukałem! Naprawdę przydatne.
    Pozdrawiam

    OdpowiedzUsuń
  2. Krótkie, przydatne wprowadzenie, dzięki.

    OdpowiedzUsuń
  3. Przyłączam się do podziękowań, pozdrawiam. :)

    OdpowiedzUsuń
  4. Pozytywna praca. Dziękuję.

    OdpowiedzUsuń
  5. Czy można eksportować scenariusz utworzony w EA? Np na potrzeby umieszczeni go w dokumencie Word?

    OdpowiedzUsuń