Traceability, czyli zdolność do śledzenia, to jedna z najważniejszych funkcji narzędzi do modelowania systemów informatycznych. Stanowi ona jedną z przewag narzędzi typu CASE (Computer-aided software engineering – komputerowego wspomagania projektowania oprogramowania) nad zwykłymi programami do rysowania diagramów. Śledzenie poszczególnych zagadnień od ich źródeł, przez wymagania, do projektu i testów umożliwia zmniejszanie ryzyka utraty spójności podczas wprowadzania zmian oraz zwiększanie jakości projektowanego systemu.

Różnica między narzędziami CASE a zwykłymi programami do rysowania diagramów

Aby wykorzystać dobrodziejstwo tej funkcji (ang. traceablility), należy, po pierwsze, dostrzec różnicę między narzędziem CASE a zwykłym programem do rysowania diagramów. W drugim przypadku tworzone są oddzielne diagramy (obrazki), które nie są ze sobą powiązane, nawet, jeśli na kilku diagramach występuje ta sama klasa, np. Wiadomość na diagramie klas, komunikacji, sekwencji widziana jest za każdym razem jako osobny element – kolejny bloczek – klasa „Wiadomość”.
Narzędzia CASE bardzo ułatwiają życie analitykom i projektantom – jeśli jakiś element, np. klasa „Wiadomość” istnieje już w danym projekcie (np. na diagramie klas), można na kolejnych diagramach wykorzystywać jej reprezentację. Powoduje to, że na diagramie pojawi się (tak samo jak w zwykłych narzędziach do rysowania) kolejny element, ale narzędzie CASE będzie widziało go jako reprezentację jednej i tej samej klasy „Wiadomość”. Dzięki temu wszelkie zmiany w klasie „Wiadomość” są automatycznie propagowane w całym modelu (projekcie). Zapobiega to powstawaniu niespójności.
4549wiza1Różnicę tę można porównać do architektury i budownictwa. Wyobrażasz sobie, żeby zbudować dom na podstawie zdjęć ścian bocznych? 4, albo lepiej – 3 zdjęcia ścian domu. Mając tylko osobne rzuty nie jesteśmy w stanie zagwarantować, że taki dom da się zbudować, albo, że będzie miało to sens. Poszczególne widoki mogą do siebie nie pasować, np. z południowego widać narożny balkon, a na wschodnim i zachodnim po balkonie ani śladu. Możemy oczywiście liczyć na swój intelekt i wprawne oko, jednak dobry projekt – rysunek techniczny jest nieoceniony i tylko on zagwarantuje, że projekt domu jest spójny, kompletny i wykonalny.
Tak samo jest z projektem systemów. Niektórzy próbują tworzyć system na podstawie kilku niespójnych rysunków. Jednak narzędzia CASE dają nam znacznie więcej możliwości stosowania podejścia godnego inżyniera.

004_projekt_domu_parterowego_rzut_parteru

Przykłady narzędzi CASE: Visual Paradigm for UML, Enterprise Architect
Przykłady programów do rysowania diagramów: MS Visio, Lucid Chart, yEd
 

Jak wykorzystać dobrodziejstwa narzędzi CASE

Kiedy już zostaje dostrzeżona zaleta narzędzi CASE, należy zacząć ją wykorzystywać.  Podkreślenie „zacząć ją wykorzystywać” oznacza, że można pracować w narzędziu CASE nie wykorzystywać jego możliwości. Upewnij się, czy w Enterprise Architect:

  1. Wykorzystujesz ponownie elementy modelu na kolejnych diagramach czy za każdym razem tworzysz nowe
  2. W narzędziu powiązujesz diagramy, które mają logiczne powiązanie
  3. Oznaczasz zależności elementów (dependency, trace, implement)

Zaniechanie 1 ma miejsce w przypadku, kiedy podczas tworzenia kolejnego diagramu nie używasz elementów z poprzedniego diagramu, np. w diagramie sekwencji do stworzenia obiektu nie przeciągasz na obszar roboczy istniejącej już klasy „Wiadomość” z wcześniej stworzonego diagramu klas, ale tworzysz nowy element. Nie masz wtedy powiązania między tymi elementami i narzędzie „nie wie”, że to ta sama klasa – nie będzie mogło kontrolować spójności i podpowiadać Ci np. dostępnych metod klasy.
Aby wykorzystać istniejący element, przeciągnij go z okna przeglądu projektu (modelu) w obszar roboczy nowego diagramu. Poniżej przykład dla Enterprise Architect.
Screenshot-2014-01-08-12_55_50
 
Aby spełnić warunek 2, podpinasz diagramy pochodne pod diagramy źródłowe (w EA), np.:

  • Diagram stanów pod klasę na diagramie klas, której zachowanie jest zamodelowane,
  • Diagram sekwencji pod przypadek użycia na diagramie p.u., którego przebieg jest modelowany (jeśli sekwencja opisuje przypadek użycia, a nie szerzej rozumianą sekwencję),
  • Diagram komunikacji pod przypadek użycia na diagramie p.u., którego przebieg komunikacji jest modelowany,
  • Diagram aktywności pod przypadek użycia na p.u., którego przebieg jest modelowany (jeśli diagram aktywności opisuje przypadek użycia a nie ich sekwencję czy większy proces).

Screenshot-2014-01-08-13_09_22
Warunek 3 można spełnić w Enterprise Architect łącząc elementy powiązaniami typu Dependency, Trace, Implement, zgodnie z ich przeznaczeniem – więcej poniżej.

Śladowanie

W Enterprise Architect dane są następujące możliwości wykorzystania funkcji śladowania:

  • Traceability Window – okno śladowania,
  • Relationship Matrix – macierz relacji,
  • Relationships Window – okno relacji,
  • Dependency Report – report zależności,
  • Implementation Report – raport implementacji.

Ich wykorzystanie opisane jest na stronie: http://www.sparxsystems.com/enterprise_architect_user_guide/10/navigate_search_and_trace/traceability_tools.html. Zachęcam do zagłębienia się w ten zestaw możliwości.
Na szczególną uwagę zasługuje diagram http://www.sparxsystems.com/enterprise_architect_user_guide/10/navigate_search_and_trace/create_traceability_diagrams.html. Do jego stworzenia można wykorzystać typ diagramu np. Extended -> Custom. Przedstawienie na nim elementów różnych typów i powiązanie ich relacją Trace umożliwia wykorzystanie np. narzędzia Relationship Matrix, pokazującego zależności między wybranymi typami elementów, czy np. Traceability Window, które pokazuje wszystkie zależności każdego typu dla zaznaczonego elementu.
Screenshot-2014-01-08-14_11_42
Śladowanie w Visual Paradigm pojawi się w kolejnym wpisie.
Im bardziej skomplikowany model (projekt), tym więcej korzyści z funkcji śladowania. Dzięki niej zmiany (ponoć najpewniejsza rzecz w projektach) przestają przerażać analityków i projektantów. Istnieje możliwość ich wprowadzania z zapewnieniem analizy wpływu na pozostałe elementy systemu. Dzięki temu wprowadzenie zmiany w jednym miejscu nie wpływa na skomplikowanie lub zepsucie działania pozostałych.
Zachęcam do używania narzędzi CASE i tworzenie prawdziwych modeli systemów, jak na inżynierów przystało.

5 thoughts to “Traceability, czyli potęga narzędzi CASE

  • Wm

    Które z narzędzi byś poleciła dla początkującego?

    Odpowiedz
    • Hania Wesołowska

      Warto uczyć się od razu na dobrych narzędziach. Visual Paradigm jest bardziej wierny standardom (notacji UML, itd.). Co prawda funkcji programu jest wiele, ale te podstawowe łatwo odnaleźć. Mamy też w Interecie sporą pomoc w manualach udostępnianych na stronach producenta.

      Odpowiedz
    • Tomasz Tomaszewski

      Warto dodać, że do użytku niekomercyjnego VP jest darmowy

      Odpowiedz
  • Paweł Mansfeld

    Świetny artykuł i podoba mi się ostatnie zdanie „prawdziwych modeli systemów, jak na inżynierów przystało.”
    Są firmy, które wymagania zbierają w Excelu a modelowanie wykonują w przypadkowych narzędziach.
    Super byłyby filmy z lekcjami dotyczącymi korzystania np. z Visual Paradigm bo początkujący mogą się pogubić 🙂
    Tak w ogóle świetny blog i kanał YouTube. Cieszę się, że tu trafiłem.

    Odpowiedz
    • Hania Tomaszewska

      Dziękuję 🙂 miło to słyszeć 🙂 pomysł zacny z VP. Jest na liście to do 🙂 pozdrawiam serdecznie

      Odpowiedz

Leave a comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *