Z modelem przypadków użycia tworzonym przez analityków w programie Enterprise Architect powinno się zapoznać wielu interesariuszy projektu. Spośród nich można wymienić projektantów, programistów, ale przede wszystkim przedstawicieli klienta, takich jak kluczowi użytkownicy, eksperci dziedzinowi i inni. W związku z tym, jeśli decydujemy się na opisywanie scenariuszy przypadków użycia w formie Structured Scenario w EA - powinniśmy również zadbać o ich stronę dokumentacyjną.
Profesjonalnie przygotowany raport poprawia czytelność i odbiór wyników pracy fazy analizy.
Pokazywanie postów oznaczonych etykietą raportowanie. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą raportowanie. Pokaż wszystkie posty
sobota, 10 sierpnia 2013
piątek, 15 marca 2013
Jak wybrać tylko właściwe elementy?
Ostatnio od kilku różnych osób dostałem zapytania dotyczące odfiltrowania tylko wybranych elementów do raportu RTF. Pytania te dotyczyły na przykład umieszczenia w raporcie elementów o określonym statusie lub przypisanych do określonej fazy. Pisałem już o tym w artykule Generowanie raportów RTF w EA, jednak postanowiłem bardziej przybliżyć temat pisząc o mechanizmie Element filters. Ta sama funkcja dotycząca filtrowania elementów została zastosowana w dwóch miejscach w EA:
- Model Search - alternatywnie do budowania zapytań SQL możliwe jest wyszukiwanie elementów (i nie tylko) w oparciu o filtry.
- Dokumentacja - filtry można zastosować w odniesieniu do definicji całego dokumentu (dostępnej z poziomu okna Resources --> Documents --> RTF Documents lub w odniesieniu do pojedynczych szablonów RTF.
Dalej skupię się na zastosowaniu Element Filters dla raportów RTF.
czwartek, 20 grudnia 2012
Edycja szablonów RTF: Elementy spoza pakietu
W prosty sposób można umieścić w szablonie RTF opisy elementów znajdujących się w pakiecie objętym raportem. Wystarczy wstawić odpowiednie znaczniki, a następnie wybrać właściwe pola, które opisują znaczące cechy, takie jak nazwa (Name), czy opis (Notes).
Często jednak może być potrzebne wymienienie również innych elementów, które są powiązane z raportowanym pakietem poprzez kontekst. Dotyczyć to może elementów powiązanych relacjami lub obcych elementów umieszczonych na diagramach w raportowanym pakiecie. Dzięki temu raport może zawierać również (lub tylko) elementy pochodzące z innych pakietów niż raportowany.
Taki zabieg może być przydatny na przykład w sytuacji, gdy w rozdziale opisującym przypadki użycia chcemy nawiązać również do kontekstu procesów biznesowych lub komponentów aplikacji, które je realizują.
Często jednak może być potrzebne wymienienie również innych elementów, które są powiązane z raportowanym pakietem poprzez kontekst. Dotyczyć to może elementów powiązanych relacjami lub obcych elementów umieszczonych na diagramach w raportowanym pakiecie. Dzięki temu raport może zawierać również (lub tylko) elementy pochodzące z innych pakietów niż raportowany.
Taki zabieg może być przydatny na przykład w sytuacji, gdy w rozdziale opisującym przypadki użycia chcemy nawiązać również do kontekstu procesów biznesowych lub komponentów aplikacji, które je realizują.
środa, 19 grudnia 2012
Edycja szablonów RTF
Program Sparx Enterprise Architect jest instalowany wraz z kolekcją predefiniowanych szablonów RTF. Dostęp do tych raportów jest możliwy z poziomu okna Resources. Szablony te są zebrane w grupę o nazwie System. Raport wygenerowany przy użyciu predefiniowanego szablonu jest łatwo rozpoznawalny z uwagi na zastosowanie specyficznych styli paragrafów. Chociażby wszystkie nagłówki mają odcienie koloru niebieskiego.
Taki styl może nie odpowiadać każdemu, w związku z tym sugeruję, aby traktować je jedynie jako przykłady możliwych konstrukcji, a dla celów projektowych opracować na ich podstawie własne szablony.
Jest to o tyle istotne, że predefiniowane szablony zawierają bardzo dużą ilość cech, tabel oraz pól, które mogą być nadmiarowe. Brak doświadczenia w edycji szablonów bądź po prostu ludzka niechęć do wyrzucania czegokolwiek sprawia, że wygenerowany raport przy użyciu standardowego szablonu staje się nieczytelny z uwagi na przeładowanie niepotrzebnymi informacjami.
W jednym z projektów spotkałem się z raportem wygenerowanym przy użyciu standardowego szablonu, który liczył blisko 200 stron. Ważne informacje były tak rzadko rozsiane, że samo przewijanie stawało się nieprzyjemne, a jak się pomyśli jeszcze o tym, że taki raport jest drukowany w kilku egzemplarzach, to aż żal lasów. Ten raport zamiast 200 stron bez problemu zmieściłby się na 20-30 stronach.
Taki styl może nie odpowiadać każdemu, w związku z tym sugeruję, aby traktować je jedynie jako przykłady możliwych konstrukcji, a dla celów projektowych opracować na ich podstawie własne szablony.
Jest to o tyle istotne, że predefiniowane szablony zawierają bardzo dużą ilość cech, tabel oraz pól, które mogą być nadmiarowe. Brak doświadczenia w edycji szablonów bądź po prostu ludzka niechęć do wyrzucania czegokolwiek sprawia, że wygenerowany raport przy użyciu standardowego szablonu staje się nieczytelny z uwagi na przeładowanie niepotrzebnymi informacjami.
W jednym z projektów spotkałem się z raportem wygenerowanym przy użyciu standardowego szablonu, który liczył blisko 200 stron. Ważne informacje były tak rzadko rozsiane, że samo przewijanie stawało się nieprzyjemne, a jak się pomyśli jeszcze o tym, że taki raport jest drukowany w kilku egzemplarzach, to aż żal lasów. Ten raport zamiast 200 stron bez problemu zmieściłby się na 20-30 stronach.
poniedziałek, 17 grudnia 2012
Virtual Reports
W programie Enterprise Architect w zakresie generowania dokumentacji w formacie RTF jest możliwość generowania tzw. raportów prostych - opartych o jeden szablon oraz raportów złożonych - opartych o więcej niż jeden szablon. Zaproponowany przeze mnie podział na typy raportów został opisany w artykule Rodzaje raportów.
Metoda wykorzystania raportów złożonych, czyli Virtual Reports może nie być czytelna dla każdego, w związku z tym postanowiłem poświęcić jej nieco miejsca.
Metoda wykorzystania raportów złożonych, czyli Virtual Reports może nie być czytelna dla każdego, w związku z tym postanowiłem poświęcić jej nieco miejsca.
sobota, 15 grudnia 2012
Definicje pojęć związanych z generowaniem raportów
W artykułach opisujących funkcjonalność generowania raportów w programie Sparx Enterprise Architect pojawia się szereg pojęć, które mogą być niejasne. W związku z tym w poniższej tabeli zaprezentowano ich definicje. Należy je traktować jako moją propozycję definicji, gdyż mogą się nieco różnić od opisów dostępnych w publikacjach Sparx Systems.
Pojęcie
|
Definicja
|
Document Artifact
|
Element wykorzystywany m.in. przez mechanizm Virtual Report. W tym kontekście służy do przechowywania treści statycznych w formie Linked Document.
|
Linked Document
|
Dokument w formacie RTF, który jest przyporządkowany do określonego elementu. Dokument ten można edytować lub usunąć. Informacja o tym, że element posiada Linked Document prezentowana jest na diagramie w postaci literki A w prawym dolnym rogu elementu.
|
Master Document
|
Element (package element) wykorzystywany przez mechanizm Virtual Report. Do Master Document możliwe jest przypisanie głównego szablonu RTF określającego m.in. paginę czyli nagłówek i stopkę całego dokumentu.
|
Model Document
|
Element wykorzystywany przez mechanizm Virtual Report służący do zdefiniowania sekcji dokumentu. Atrybuty Model Documentu określają treść sekcji, zaś szablon RTF formę prezentacji tej treści.
|
Package Template
|
Plik XMI zawierający szablon pakietu wraz z zawartością (podpakiety, diagramy i elementy). Szablon taki służy automatyzacji tworzenia struktury pakietowej, która może być wielokrotnie powielana. Package Template może być dystrybuowany przy użyciu MDG Technology lub importowany jako plik XMI (z zastosowaniem opcji Strip GUID).
|
Resource Document
|
Definicja całego dokumentu wyjściowego dostępna w panelu Resources. Definicja ta obejmuje wszystkie opcje takie jak nazwa pliku wynikowego, Master Document, filtry itp.
|
Treść statyczna
|
Zawartość sekcji dokumentu pochodząca z Linked Document należącego do elementu typu Document Artifact. Treść statyczna w odróżnieniu od treści dynamicznych generowanych z zawartości pakietu jest sformatowana w formacie RTF, może zawierać tabele oraz elementy graficzne.
|
Virtual Report
|
Mechanizm programu Enterprise Architect służący do generowania złożonych dokumentów w formacie RTF umożliwiający wybór, grupowanie oraz ustalenie kolejności treści pochodzących z różnych pakietów i zawierających różny zakres informacyjny.
|
piątek, 14 grudnia 2012
Rodzaje raportów
Program Enterprise Architect umożliwia generowanie raportów, dzięki którym diagramy oraz opisy zawartości modelu mogą być prezentowane osobom zaangażowanym w przedsięwzięcie bez potrzeby korzystania bezpośrednio z EA.
Poniżej został przedstawiony podział na kategorie tych raportów.
Poniżej został przedstawiony podział na kategorie tych raportów.
Raporty HTML
Raport w formacie HTML odzwierciedla strukturę repozytorium lub strukturę wybranego drzewa pakietów, czyli podzbioru repozytorium. Istnieje możliwość zmiany domyślnego szablonu HTML poprzez edycję styli CSS. Edycja szablonu pozwala zmienić styl wyświetlania określonych cech elementów oraz ograniczyć zakres prezentowanych w raporcie cech. Czyli na przykład możemy usunąć z raportu informację o autorze diagramu, czy dacie utworzenia i poprzestać tylko na informacjach ważnych z merytorycznego punktu widzenia. Ponadto w łatwy sposób możliwa jest zmiana logo prezentowanego w prawym górnym rogu raportu.
Sugerowane zastosowanie tego typu raportu to udostępnienie treści zawartych w modelu kierownictwu projektu lub klientowi.
Podstawową zaletą tego typu raportów jest łatwość dostępu, gdyż nie jest konieczne instalowanie aplikacji Enterprise Architect lub EA Viewer oraz konfigurowanie dostępu do współdzielonego modelu.
W niektórych projektach zdefiniowany raport HTML jest generowany cyklicznie i publikowany w serwisie WWW zawierającym zbiór aktualnych informacji dotyczących całego przedsięwzięcia.
Poniższy rysunek prezentuje przykładowy raport w formacie HTML.
Raporty proste
Raporty proste to inaczej raporty w formacie RTF wygenerowane przy użyciu pojedynczego szablonu specyficznego dla jednego zakresu informacyjnego. Aby wygenerować na przykład raporty opisujące wymagania, przypadki użycia oraz model danych konieczne jest zastosowanie oddzielnych szablonów specyficznych dla każdego rodzaju elementów z uwagi na ich inny zakres informacyjny.
Sugerowane zastosowania:
- Zestawienie określonego typu elementów wraz z ich cechami - może służyć np. dalszemu przetwarzaniu w MS Excel.
- Raport roboczy dla członków zespołu projektowego - może służyć np. zebraniu w jednym miejscu wszystkich elementów spełniających określone kryteria w celu walidacji i weryfikacji zbioru danych.
Podstawową zaletą takich raportów jest ich prostota, gdyż wytworzenie pojedynczego szablonu nie jest czasochłonne, a uruchomienie generowania raportu nie wymaga żadnej konfiguracji.
Raporty proste mogą być generowane przy użyciu tych samych szablonów, które są wykorzystywane w generowaniu raportów złożonych.
Poniższy rysunek przedstawia przykład raportu prostego zawierającego zestawienie wymagań funkcjonalnych.
Raporty złożone - Virtual Reports
Raport złożony umożliwia wygenerowanie kompletnego dokumentu w formacie MS Word zgodnego z szablonem projektowym wykorzystywanym również do tworzenia dokumentacji wprost w MS Word lub Open Office. Dzięki temu cała dokumentacja projektowa posiada jednolitą i spójną formę, czyli takie same:
- style paragrafów,
- stronę tytułową,
- metrykę,
- formę spisu treści,
- oraz paginę (nagłówek i stopkę).
Dokument taki może składać się z wielu sekcji, z których każda prezentuje inny zakres informacyjny charakterystyczny dla różnego rodzaju elementów modelu. Dodatkowo część treści takiego dokumentu może stanowić tzw. treść statyczną, pochodzącą z zawartości Linked Documents, czyli dokumentów RTF przechowywanych w repozytorium EA. Dokumenty takie mogą zawierać elementy graficzne oraz tabele, które trudno byłoby umieścić w opisach elementów lub pakietów. Format zawartości Linked Document może być niezależny od zastosowanych szablonów projektowych.
Sugerowane zastosowanie to generowanie kompletu dokumentacji projektowej. Zastosowanie Virtual Reports pozwala zachować spójność treści modelu oraz dokumentów, łatwość aktualizacji oraz sprawniejsze zarządzanie dokumentacją poprzez rozdzielenie treści dokumentów od formy ich prezentacji.
Aby skorzystać z tego typu raportów konieczne jest oprócz przygotowania szablonów również opracowanie odpowiedniej struktury pakietowej oraz diagramów. Przykładowy diagram, który definiuje raport złożony przedstawia poniższy rysunek.
Mechanizm Virtual Reports umożliwia dodatkowo wygenerowanie również raportu w formacie HTML. Tego typu hybryda pozwala stworzyć raport HTML, który posiada strukturę zgodną z dokumentem w formacie RTF, a nie ze strukturą pakietową repozytorium.
Poniższy rysunek przedstawia taki przykładowy raport, którego strukturę można porównać z odpowiednikiem z zamieszczonym wyżej przykładowym raportem w formacie HTML.
czwartek, 13 grudnia 2012
Generowanie raportów RTF w EA
Gdy zakończymy pracę nad opracowaniem modelu w Enterprise Architect nadchodzi moment, gdy należy podzielić się wynikami pracy z innymi członkami zespołu projektowego lub z klientem. Możemy przesłać lub udostępnić repozytorium EA, ale o wiele lepszym rozwiązaniem jest opracowanie dokumentacji, która w bardziej przejrzysty i czytelny sposób prezentuje zawartość modelu. W tym celu należy skorzystać z funkcjonalności generowania raportów w EA.
piątek, 7 grudnia 2012
Raporty Enterprise Architect jako narzędzie komunikacji
Wyzwanie
Aby poprawić efektywność komunikacji stosujemy różnorodne techniki modelowania. Powszechnie znane jest chińskie przysłowie mówiące o tym, że jeden obraz wart jest tysiąca słów. Ale czy to wystarcza?Nawet, gdy opracujemy doskonałe diagramy zgodne z przyjętą notacją, z których jesteśmy dumni może się okazać, że odbiorca ich nie rozumie. A co gorsza, nie przyzna się, że ich nie rozumie i nie sformułuje żadnych uwag. W rezultacie przedstawimy materiał, do którego klient nie jest w stanie się odnieść i go zweryfikować.
Niby wszystko się zgadza z regułami sztuki: zamiast opisu tekstowego, który bywa niedoskonały tworzymy diagramy. Załóżmy, że taki diagram jest zgodny z wybraną metodyką oraz notacją. Więc o co chodzi? Problem jest w tym, że autor modelu posiada przygotowanie techniczne, podczas gdy odbiorca modelu może go nie posiadać. Autor modelu zna dobrze narzędzie typu CASE, w którym opracował model, a odbiorca modelu może go nie znać. Zatem brak znajomości aspektów technicznych, notacji oraz narzędzia stanowi barierę w komunikacji.
Podejście TOGAF®
Problem ten został zarysowany w ramach architektonicznych TOGAF®. Sposób, w jaki to zostało opisane bardzo mi odpowiada, dlatego też chciałbym to pokrótce omówić.Poniższy diagram pochodzi ze strony pubs.opengroup.org/architecture/togaf9-doc/arch/chap34.html, gdzie zostało opisane zagadnienie tzw. metamodelu.
![]() |
| Relacje pomiędzy udziałowcami, modelami i repozytorium. Źródło: The Open Group. |
- Architecture Repository (pol. Repozytorium architektoniczne) - system zarządzajacy wszystkimi danymi o korporacji, w tym modelami danych i procesów, oraz informacjami o korporacji.
- Model - reprezentacja przedmiotu zainteresowania. Model dostarcza zmniejszonego, uproszczonego i/lub abstrakcyjnego odzwierciedlenia przedmiotu modelowanego. Tworzy się go jako środek do osiągnięcia celu. W kontekście architektury korporacyjnej, przedmiotem podlegającym modelowaniu jest całość lub część korporacji, zaś zamierzonym celem jest zdolność do konstruowania widoków odpowiadających na troski poszczególnych interesariuszy, w szczególności punktów widzenia związanych z analizowanym zagadnieniem.
- Viewpoint (pol. Punkt widzenia) - definiuje perspektywę, z której ujmowany jest widok. Jest to specyfikacja konwencji dla konstruowania i używania widoku. Widok jest tym, co widzisz; punkt widzenia jest tam, skąd patrzysz - dogodnym punktem odniesienia lub perspektywą, która określa, co widzisz.
- Stakeholder Views (pol. Widoki interesariuszy) - reprezentacja zbioru powiązanych ze sobą trosk. Widok architektoniczny może być przedstawiony jako model, aby zaprezentować interesariuszom ich obszar zainteresowania architekturą. Widok nie musi mieć postaci wizualnej lub graficznej.
- Stakeholder (pol. Interesariusz) - osoba, zespół lub organizacja (lub ich klasy) zainteresowana architekturą lub posiadająca troski związane z wynikami implementacji architektury.
Co to tak naprawdę oznacza?
Repozytorium, (które może być zarządzane przez program Enterprise Architect, ale wcale nie musi) służy do przechowywania modelu opisującego architekturę. Tak naprawdę nie ma potrzeby do ograniczania się tylko do modeli architektonicznych, można tę definicję rozszerzyć na dowolne modele. Model, (który nie jest wymieniony wprost na diagramie) przechowuje informacje, które są udostępniane (komunikowane) interesariuszom w postaci widoków, które są istotne z ich punktu widzenia.Zatem opracowując model należy mieć na uwadze również potrzeby informacyjne interesariuszy. Zamiast publikować czy udostępniać całą zawartość modelu wszystkim zainteresowanym stronom warto zastanowić się, jakiego typu informacje kogo mogą interesować.
Ale warto pójść dalej tym tokiem myślenia. Już na etapie prac przygotowawczych do projektu warto zastanowić się, z czego powinien się składać model.
Czy wystarczy ograniczyć się do modelu danych, czy może rozszerzyć go o zakres funkcjonalny, model przypadków użycia? Czy wystarczy opisać biznesowe przypadki użycia, czy rozwinąć je w niskopoziomowe - systemowe? Czy wystarczy wymienić wymagania funkcjonalne, czy również wymagania biznesowe? Czy opisać strukturę organizacji? Czy wystarczy opisać łańcuchy wartości, czy modelować procesy biznesowe? Czy stworzyć model uprawnień? Czy opisywać aspekty wdrożeniowe? I tak dalej...
Aby odpowiedzieć sobie na tego typu pytania należy wyjść od potrzeb informacyjnych interesariuszy. Bo innego typu informacji wymaga departament informatyki, innego departamenty merytoryczne, a jeszcze innego departament bezpieczeństwa. A przy tym wszystkim warto też pamiętać o programistach, z którymi trzeba rozmawiać w inny sposób niż z biznesem.
Nie wystarczy udostępnić klientowi repozytorium i powiedzieć, że zawiera ono kompletny model rozwiązania. Klient po pierwsze może mieć trudności ze znalezieniem przeznaczonych dla niego informacji. Jeśli ich nie znajdzie, to oprócz wrażenia niedosytu może nie żądać ich dostarczenia, bo nie będzie potrafić odpowiednio sformułować wymagania.
Rozwiązanie
Jak traktować te abstrakcyjne pojęcia jak widok i punkt widzenia w praktyce?
W odniesieniu do programu Enterprise Architect widoki i punkty widzenia są realizowane przez mechanizm raportowania. EA umożliwia wygenerowanie raportów w formacie HTML oraz RTF. Ponadto część informacji może być dostarczana w innej formie za pomocą odpowiednich zapytań, czy transformacji.Widok stanowi raport wygenerowany z repozytorium. Widok ten zawiera wybrane informacje w formie tekstowej i/lub graficznej. Raport taki może być generowany wielokrotnie, w różnych wersjach powstających w miarę dopracowywania zawartości modelu.
Aby ułatwić wielokrotne generowanie raportu można stworzyć w EA jego definicję. Definicja taka określa zakres informacyjny raportu i stanowi w praktyce określony punkt widzenia interesariusza.
Definicje raportów dostępne są w EA w oknie Resources. Poniższy rysunek zawiera przykład różnych definicji raportów przeznaczonych dla różnych odbiorców.
Dzięki opisanemu powyżej podejściu polegającemu na wyjściu od potrzeb informacyjnych różnego typu interesariuszy jesteśmy w stanie opracować dla każdego typu odbiorcy dokumenty napisane w zrozumiały przez nich sposób i nie przeładowane nadmiarem informacji. Jeśli dany odbiorca będzie odczuwał niedosyt informacji, wówczas możemy wskazać mu, że interesujące go informacje są dostępne z innego punktu widzenia, czyli w innym dokumencie, z którym może się zapoznać.
Zatem postępując według zasady "każdemu według potrzeb" z jednego modelu przy użyciu mechanizmów raportowania możemy opisywać jedno rozwiązanie z różnych perspektyw.
Oprócz samego zdefiniowania zawartości raportu poprzez określenie jego sekcji warto też określić również zakres informacyjny dotyczący opisu poszczególnych typów elementów. Na przykład w odniesieniu do wymagań funkcjonalnych dla departamentu merytorycznego może być istotne źródło wymagania, opis czy uzasadnienie. Dla departamentu informatyki może być istotny priorytet i data realizacji, zaś dla programistów sposób realizacji. Po uzgodnieniu zakresu informacyjnego z interesariuszami możemy filtrować (nie pokazywać) wybranych elementów opisu. Błędem bywa generowanie raportów opartych na domyślnych szablonach programu EA, w których prezentowane są wszystkie elementy opisu. Sprawia to, że dokument może zawierać setki stron, a istotne informacje są tak rzadko rozsiane, że zniechęcają do czytania.
piątek, 20 lipca 2012
Osadzanie raportów RTF w MS Word
A ja tak na przekór wszystkim najbardziej cenię sobie właśnie funkcjonalność generowania dokumentacji. Wynika to chyba z mojej dawnej pasji, którą kiedyś było DTP. Obecnie, gdy uda mi się wyprodukować ładnie wyglądający raport z EA - pękam z radości.
Zamierzam na tym blogu w kolejnych postach dzielić się z Wami doświadczeniem związanych z raportami RTF.
Pominiemy chyba proste generowanie zwykłych raportów, bo łatwo znaleźć w aplikacji polecenie, które do tego służy. Zaczniemy od opisu możliwości osadzania raportów RTF w dokumencie MS Word.
Subskrybuj:
Posty (Atom)










