Szkolenie przeznaczone jest dla analityków, projektantów, inżynierów testów, kierowników projektów informatycznych i innych udziałowców projektów informatycznych zainteresowanych tworzeniem efektywnych przypadków użycia.
Wzorce
Idea wzorców ma swoje korzenie w architekturze. Architekt Christopher Alexander poszukując obiektywnych podstaw oceny rozwiązań architektonicznych zadał sobie pytania:
Odpowiadając na powyższe pytania Alexander stwierdził po wnikliwych studiach nad różnymi strukturami architektonicznymi, że dobre rozwiązania mają szereg cech wspólnych. Podobieństwa te nazwał wzorcami. W swej fundamentalnej pracy „Język wzorców” pojęcie wzorca opisał w ten sposób:
„Każdy wzorzec opisuje problem, który ciągle pojawia się w
naszej dziedzinie, a następnie określa zasadniczą część jego rozwiązania w taki
sposób, by można było zastosować je nawet milion razy, za każdym razem w inny
sposób”.
W architekturze pomysł wzorców zupełnie się nie przyjął, ale z początkiem lat dziewięćdziesiątych trafił do świata informatyki i zaczął tam robić oszałamiającą karierę. Jak się okazało, język wzorców stał się świetnym narzędziem do opisywania rozwiązań problemów projektowych dla twórców oprogramowania. Najpopularniejsze są wzorce projektowe; uniwersalne, sprawdzone w praktyce rozwiązania często pojawiających się, powtarzalnych problemów projektowych.
Przypadki użycia
Przypadki użycia są mocnym narzędziem służącym do określania wymagań funkcjonalnych widzianych z punktu widzenia użytkownika systemu. Opisują one sekwencje działań wykonywanych przez system, które realizują cel mający wartość dla aktora, czyli użytkownika systemu występującego w jakieś roli. Należy pamiętać, że przypadki użycia są tyko częścią pracy związanej z gromadzeniem wymagań. Tym niemniej jest to część bardzo ważna, pełniąca rolę spoiwa łączącego definicje danych, reguły biznesowe, projekt interfejsu użytkownika, modele procesów biznesowych itd. Drugą sprawą, którą trzeba mieć na uwadze jest fakt, że przypadki użycia to nie tylko elipsy, ludziki złożone z kilku kresek i strzałki, ale przede wszystkim opisy słowne. Chociaż przypadki użycia stały się składową UML, to utożsamianie ich tylko z diagramami jest dużą pomyłką. Diagramy są jedynie dwuwymiarowym narzędziem mnemonicznym służącym do uwydatnienia związków wymagań, ale rysunki nie mają zastąpić opisów tekstowych, a je jedynie uzupełnić. Zatem pisanie efektywnych przypadków użycia nie polega na nieustannym ulepszaniu graficznej reprezentacji PU, tworzeniem arcyskomplikowanych diagramów pełnych wyrafinowanych związków zawierania (include), rozszerzania (extend) i uogólniania (generalization), ale na wyrażaniu na piśmie w sposób jednoznaczny i zrozumiały dla wszystkich dialogu aktor-system.
Właściwy styl pisania , odpowiednia forma zapisu przypadku użycia jest dużo istotniejsza niż trywialne zazwyczaj w swej istocie rysunki. Niestety spojrzenie na przypadki użycia zostało wykrzywione przez różnorakich producentów narzędzi do rysowania UML’owych diagramów. Związki pomiędzy przypadkami użycia pojawiają się w sposób naturalny, gdy przypadki rozwijane są harmonicznie. Spory o wyższości związków include nad extend i odwrotnie to naszym zdaniem strata czasu. Lepiej zainwestować swój czas na pisanie PU w taki sposób, by nasz tekst był łatwy do czytania i zrozumienia.
Efektywne przypadki użycia i wzorce
Już
Fredrick
Brookes zauważył, że „najtrudniejszą częścią budowy systemów informatycznych
jest precyzyjne określenie co należy zbudować”. Tradycyjne podejście do
określenia wymagań oparte o normy IEEE, a sprowadzające się do zrobienia listy
wymagań w postaci „system powinien…” nie gwarantuje powodzenia. Przypadki
użycia wydatnie przyczyniają się do sprecyzowania informacji, co trzeba
zbudować. Pod pewnym warunkiem, że są dobre. I w tym miejscu warto zadać sobie
pytanie:
Szukamy zatem obiektywnej podstawy do oceny stylu pisania! Przy braku absolutnych kryteriów, najlepszą metodą szacowania wartości przypadków użycia mogą być odnośne wzorce. Dzięki ich stosowaniu będziemy mogli tworzyć efektywne przypadki użycia.
W celu utrwalenia wiedzy nabywanej podczas kursu uczestnicy wykonują szereg ćwiczeń, między innymi z zakresu: