środa, 7 listopada 2012

Import wymagań z Linked Document

Enterprise Architect jest wyposażony w mechanizm, dzięki któremu możliwe jest stworzenie biblioteki dokumentów. Elementy typu Document Artifact (tak naprawdę elementy dowolnego typu, ale na potrzeby tego przykładu skupiam się tylko na elementach tego typu) mogą służyć do przechowywania w modelu kompletnych dokumentów w formacie MS Word.
W tym artykule opisuję jeden z praktycznych sposobów wykorzystania tego mechanizmu.

Opis przykładu

Naszym przykładem będzie realizacja projektu mającego na celu informatyzację biblioteki miejskiej. Do tego celu wykonawca projektu w narzędziu Enterprise Architect tworzy i utrzymuje model. Projekt jest w fazie analizy. W ramach projektu odbywa się szereg spotkań projektowych. Z każdego spotkania sporządzana jest notatka. Zapisy z notatek są istotne zarówno z  punktu widzenia kierownictwa projektu, jak również z punktu widzenia analityków. W trakcie takich spotkań mogą być zgłaszane określone wymagania. Kierownik projektu nalega na uczestników spotkań, żeby każde nowe wymaganie zgłaszane przez klienta było rejestrowane. Oczekiwanie kierownika projektu ma na celu takie zarządzanie wymaganiami, aby każda sygnalizowana potrzeba klienta była odpowiednio zaadresowana. Kierownik projektu chce uniknąć niezręcznych sytuacji, gdy po pewnym czasie, w następnych etapach projektu klient robi wyrzuty typu "Przecież już dawno mówiliśmy Wam o tym..", a analitycy odpowiadają "Nic takiego sobie nie przypominamy..." Znacie z własnego doświadczenia takie sytuacje?



Zawartość modelu

Model projektowy dla naszego przykładu składa się z następujących widoków:
  • Model wymagań,
  • Model procesów biznesowych,
  • Model użycia,
  • Model domeny (logiczny model danych),
  • oraz dodatkowo Model Projektu.
Poniższy rysunek prezentuje odpowiednią strukturę pakietów w modelu.
Przykładowa struktura pakietowa modelu EA - widok z okna Project Browser

Zawartość Modelu Projektu stanowi biblioteka dokumentów, w tym notatki ze spotkań. W pakiecie o nazwie Notatki ze spotkań znajduje się diagram typu Documentation.

Document Artifact

W pakiecie tym umieszczane będą elementy typu Document Artifact wybierane z toolboxa Documentation.
toolbox documentation
Nazwą elementu będzie "Notatka ze spotkania rrrr-MM-dd".

Czym jest Document Artifact?
Document Artifact służy do odzwierciedlenia w modelu dowolnego typu dokumentu lub jego części, który jest wykorzystywany w jakimś procesie lub jest produktem (efektem) wywołania procesu. W praktyce również jest wykorzystywany jako element składowy raportów RTF generowanych z EA.

Linked Document

Technicznie Linked Document to jedna z możliwych cech do przypisania elementowi w modelu. Cecha ta to skojarzony z elementem plik RTF, który jest przechowywany wprost w modelu. Linked Document umożliwia dołączanie do elementów dodatkowych treści, które zawierają na przykład elementy graficzne czy tabele, dla których istotna jest graficzna forma prezentacji.

Dwukrotne kliknięcie na elemencie typu Document Artifact otwiera okno, w którym możliwe jest utworzenie w modelu nowego Linked Document, tak jak to pokazano poniżej.
new linked document

Naciśnięcie przycisku OK umożliwia rozpoczęcie jego edycji.
Treść notatki możemy umieścić w modelu na dwa sposoby:
  • zaznaczenie w MS Word całej zawartości dokumentu i wklejenie jej do Linked Document,
  • zaimportowanie pliku MS Word - w tym przypadku jednak konieczne jest, aby uprzednio zmienić format notatki na RTF.
    W tym celu na pustej kartce klikamy prawym przyciskiem myszy i wybieramy z menu kontekstowego File -> Import....Po czym wskazujemy plik na dysku, który zawiera notatkę ze spotkania. 
Zawartość Linked Document z przykładową notatką po wklejeniu lub imporcie wygląda następująco:
Linked Document - notatka ze spotkania W punkcie drugim treści spotkania wprost zostały wymienione dwa wymagania niefunkcjonalne, które powinny znaleźć się w modelu wymagań:
  • W przypadku awarii musi być możliwość odtworzenia bazy danych z kopii zapasowej nie starszej niż sprzed 24h
  • Podtrzymanie zasilania w przypadku awarii zasilania przez 2 godziny.

Tworzenie nowego elementu z Linked Document

Wymagania te można najzwyczajniej w świecie przepisać lub skopiować z dokumentu (patrz również Import wymagań z MS Word). Jednakże korzystając z mechanizmu Linked Document mamy dodatkową możliwość.
Aby utworzyć nowe wymagania należy zaznaczyć w dokumencie wszystkie nowe wymagania, tak jak to pokazano poniżej.

Następnie klikając prawym przyciskiem myszy z menu kontekstowego należy wybrać: Create -> New -> Requirement.
Akcja ta spowoduje:
  • utworzenie w pakiecie z notatką dwóch nowych elementów typu Requirement,
  • utworzenie w notatce hipełączy (linków) do tych elementów.

Widok Project Browser - utworzone automatycznie wymagania

Teraz nie pozostaje nic innego, jak przenieść (przeciągnąć myszą) utworzone wymagania do właściwego pakietu zawierającego wymagania niefunkcjonalne w modelu wymagań oraz uzupełnienie opisu tych wymagań poprzez dodanie opisu, ustalenie odpowiedniego statusu, priorytetu itp.

Możliwości i korzyści

Warto zwrócić uwagę na to, że określone akapity w dokumencie zawierającym notatkę stanowią link do wymagań. Dzięki temu osoba, która otworzy notatkę w modelu może już na pierwszy rzut oka zauważyć, że w modelu istnieją jakieś powiązane elementy. Kliknięcie na taki link powoduje odnalezienie i zaznaczenie takiego elementu w oknie Project Browser. W odniesieniu do wymagań z naszego przykładu kierownik projektu jest w stanie po pewnym czasie odnaleźć notatkę, następnie odnaleźć powiązane wymaganie i skontrolować stan ich realizacji na przykład poprzez sprawdzenie statusu wymagania, powiązań do tego wymagania typu Realization i tak dalej.

Oprócz tworzenia wymagań mamy możliwość utworzenia:
  • powiązań do już istniejącego elementu (na przykład zgłoszenie zmiany, aktualizacja, powrót do tematu omawianego na innym spotkaniu);
  • łącza do prowadzącego na przykład do adresu WWW, pliku zewnętrznego, diagramu;
  • nowej definicji w Project Glossary;
  • nowej klasy danych;
  • każdego innego typu elementu.


Powyższy rysunek prezentuje okno dialogowe, które pokazuje się po wyborze z menu kontekstowego Create -> New -> Other. W oknie tym wybieramy tzw. Toolset, który jest w praktyce tożsamy z wyborem określonego toolboxa. Dalej wybieramy Type, czyli typ elementu z toolboxa oraz określamy dodatkowe opcje.

4 komentarze:

  1. Piotrze, a jest możliwe dojście w drugą stronę?
    Tzn. od wymagania do akapitu w dokumencie ?

    OdpowiedzUsuń
  2. Niestety nie jest to możliwe do uzyskania w sposób automatyczny. Konieczne byłoby manualne tworzenie powiązań do dokumentu, ale już nie do akapitu.

    Można pomyśleć ewentualnie o napisaniu jakiegoś skryptu, ale wykonanie go byłoby czasochłonne, bo musiałby przeszukiwać spakowane pliki RTF (Linked Document) na obecność łączy do elementów modelu. Poza tym działanie takiego skryptu również polegałoby na dojściu z dokumentu do wymagania, a nie odwrotnie.

    OdpowiedzUsuń
  3. Bardzo spodobała mi się możliwość podpinania elementów do tekstu w dokumencie. Jednak zauważyłem jedną ciekawą niedogodność. Wydaje mi się, że to może być po prostu błąd EA (używam wersji 9.3).

    Otóż próbowałem podłączyć element - Entity. Niestety nie można go wyszukać na drzewie jeśli próbujemy podłączyć do istniejącego elementu. Natomiast przy tworzeniu nowego elementu można stworzyć encję i automatycznie podpina się ona do tekstu.

    Chyba, że coś robię nie tak?

    OdpowiedzUsuń
  4. Bardzo fajny artykuł. Jestem pod wrażeniem.

    OdpowiedzUsuń