czwartek, 25 października 2012

Element typu Feature

Element type - Feature
Domyślna paleta (toolbox) dla diagramu wymagań zawiera obok podstawowego typu elementu, jakim jest wymaganie (requirement) również typ elementu zwany Feature.

W języku polskim słowo feature jest tłumaczone jako cecha, właściwość, aspekt, akcent. Istnieje nawet spolszczona wersja tego słowa: "ficzer". W związku z tym rzadko element tego typu jest stosowany w modelowaniu w narzędziu Enterprise Architect. Analityk dochodzi często do wniosku, że nie ma potrzeby zajmować się jakimiś "ficzerami", podczas gdy powinien skupić się na podstawowych kwestiach. W dodatku podstawowe metodyki zarządzania wymaganiami nie wspominają o pojęciu Feature.

Mimo to, chciałbym pokazać, że zastosowanie tego elementu jest zgoła inne niż to się wydaje na pierwszy rzut oka.A element Feature może on być bardzo przydatny na przykład na wczesnym etapie zarządzania wymaganiami, czyli w procesie gromadzenia / wydobywania wymagań (requirement elicitation) oraz analizy wymagań, gdy nie nie zostały jeszcze zidentyfikowane przypadki użycia.


wtorek, 23 października 2012

Enterprise Architect 10 - wersja beta 1

Sparx Systems opublikował ostatnio nową wersję programu Enterprise Architect. Po wersji 9.3 nadchodzi wersja 10.0. Obecnie pierwsza wersja beta jest możliwa do pobrania dla zarejestrowanych użytkowników pod adresem: www.sparxsystems.com/securedownloads/beta/ea10/EA100_Reg.exe.


Możemy oczekiwać, że już niedługo będziemy w stanie korzystać z nowych usprawnień i funkcjonalności.
Najważniejsze ze zmian dotyczą:
  • Przebudowa zawartości menu i paneli na bardziej intuicyjną.
  • Zmiana wersji MDG Technology SysML na 1.3.
  • Dodanie MDG Technology GML (Geography Markup Language).
  • W przypadku wielu typów elementów przedziały (compartments) zawierające np. tagged values, constraints itp. mogą się nie pojawiać, jeśli brak atrybutów do wyświetlenia w takim przedziale.
  • Nowe możliwości dotyczące macierzy (Matrix Relationship) - wprowadzenie tzw. textual overlays. Dzięki nim możliwe jest w końcu stworzenie macierzy uprawnień CRUD (create, read, update, delete). 
  • Wprowadzono nowy typ tagged value o nazwie MatrixOverlay - wartości tych tagów mogą być wyświetlane w komórkach macierzy.
  • Usprawnienie korzystania z wyników wyszukiwania (Model Search) - znaleziony obiekt może być przeciągnięty wprost na diagram.
  • Nareszcie wprowadzono wsparcie przy tworzeniu MDG Technology. Można będzie zaoszczędzić wiele czasu na debugging dzięki wprowadzeniu szablonu (package structure) z wzajemnie powiązanym profilem UML, toolboxem i diagramem.
  • Wprowadzono możliwość debugowania skryptów JScript, VBScript i JavaScript. Będzie możliwość wstawiania breakpointów i śledzenia wykonania skryptu.
  • Wywołanie skryptów będzie kontekstowe, to znaczy, że skrypty będą dostępne w menu kontekstowym przypisanym do właściwego typu (pakiet, element, diagram).
  • Raporty RTF - dodano możliwość wołania zewnętrznych szablonów. Jestem bardzo ciekawy co to oznacza w praktyce.
  • Poprawiono wydajność repozytorium na bazie Oracle - mam nadzieję, że skorzystano również z wyników mojego dochodzenia w tym zakresie przesłanych w formie ticketu.
Poza tym ogłoszono wiele innych usprawnień i poprawek.
Pełną informację o tym wydaniu można znaleźć tutaj: www.sparxsystems.com/products/ea/10/beta/index.html.

poniedziałek, 22 października 2012

Szablony projektowe - Template Package

Jeśli tworząc model w Enterprise Architect borykasz się z uciążliwym ustawianiem tych samych opcji dla nowych diagramów i elementów, to zapoznaj się z funkcją programu Project Template Package.
Jako przykład wyobraźmy sobie, że jako analityk wprowadzasz do modelu nowe wymagania. Wymagania te są podzielone na różne kategorie (np. wymagania biznesowe, wymagania funkcjonalne, wymagania niefunkcjonalne) oraz obszary funkcjonalne (takie jak: wprowadzanie danych, realizacja zamówienia, raportowanie, administracja itp.). Każdej kategorii oraz obszarowi odpowiada określony pakiet w drzewie modelu wymagań.
W związku z tym Twoje zadanie jako analityka polega na:
  • utworzenie w każdym z pakietów diagramu typu Requirements,
  • na diagramie powinna być prezentowana legenda jako Diagram details (patrz Wersjonowanie diagramów),
  • na diagramie powinny być prezentowane wartości tagged values elementów,
  • utworzenie w każdej kategorii i obszarze zestawu wymagań odpowiadających potrzebom klienta,
  • status każdego wymagania powinien mieć wartość 'Zidentyfikowany' zamiast domyślnej wartości 'Proposed',
  • każde wymaganie na diagramie powinno mieć taką szerokość, aby poprawić czytelność opisu wymagania - czyli powinno być znacznie szersze niż standardowy kształt,
  • każde wymaganie powinno mieć tę samą szerokość na diagramie.

Problem

Realizacja tych zadań oprócz wysiłku merytorycznego polegającego na poprawnym formułowaniu treści wymagań wymaga również zmiany określonych ustawień.
Dla każdego diagramu należy w oknie Properties:
  • ustawić opcję Diagram -> Show Diagram Details,
  • ustawić opcję Elements -> Show Compartments -> Tags.
Dla każdego wymagania należy w oknie Properties:
  • ustawić wartość pola Status na Zidentyfikowany;
  • rozciągnąć element na diagramie do wymaganej szerokości.

niedziela, 21 października 2012

Import wymagań z MS Excel

W artykule Import wymagań z MS Word opisałem prostą metodę usprawniającą kopiowanie treści z edytora tekstu. Zasugerowałem, że można to wykorzystać do importu wymagań. Zaznaczyłem, że ta metoda jest przydatna, gdy dysponujemy bardzo ograniczonym czasem na wykonanie zadania. Jeśli jednak stać nas na solidne przygotowanie warsztatu pracy, spróbujmy wykorzystać VBA (Visual Basic for Applications) w MS Excel i opracujmy swój własny importer wymagań.
Zacznijmy jednak od początku...

Dlaczego mowa o imporcie wymagań?

Dlaczego mechanizmy importu zawężam tylko do wymagań, podczas gdy mechanizmy te są uniwersalne i umożliwiają importowanie elementów dowolnego typu?
Rzeczywiście można importować rozmaitego rodzaju treść do Enterprise Architect. Ja sam importowałem np. przypadki testowe, procesy biznesowe, komponenty aplikacyjne czy też urządzenia. Z punktu widzenia swojej praktyki w wielu projektach zauważam, że najczęściej potrzebny jest jednak właśnie import wymagań.
Wynika to z tego, że zanim wymagania zostaną udokumentowane, konieczne jest ustalenie ich zakresu. Treść wymagań ustala się wraz z klientem podczas spotkań lub poprzez wymianę uwag i odpowiadanie na uwagi w formie pisemnej.
Nie wyobrażam sobie, aby użytkownik z działu merytorycznego korzystał z repozytorium w narzędziu Enterprise Architect do przeglądania i czytania propozycji wymagań. Podobnie nie wyobrażam sobie edycji treści wymagań na spotkaniu bezpośrednio w Enterprise Architect.
Uważam, że do wymiany informacji z klientem, zwłaszcza z użytkownikiem merytorycznym powinny służyć dokumenty w formacie MS Word i MS Excel, gdyż są osoby merytoryczne czują się swobodnie korzystając z tych programów. W takim układzie potrzebne są mechanizmy zarówno do importu treści do modelu Enterprise Architect, jak i mechanizmy eksportu (np. raportowanie), dzięki którym będziemy w stanie "przerzucić" treści w drugą stronę.


sobota, 20 października 2012

Konektory rysowane linią krzywą

Powiązania (connectors) pomiędzy elementami mogą być prezentowane na diagramie przy użyciu różnych styli. Najczęściej stosowane style to: Custom, Direct oraz Auto Routing. Nie każdy jednak wie, że to nie wszystkie dostępne style dla powiązań. Konektory mogą być też rysowane linią krzywą.
Najpierw poświęcę trochę miejsca na opisanie standardowo dostępnych styli linii powiazań, a w dalszej części pokażę jak uzyskać linię krzywą.