Podczas niedawnej konferencji EA User Group w Monachium Jackie Mitchell, twórca eaDocX i jedna z najbardziej aktywnych osób w społeczności użytkowników Sparx Enterprise Architect - zaprezentował nową stronę: EA Workplace.
W zamyśle twórcy ma to być miejsce, gdzie można przejrzeć katalog wszystkich dodatków i narzędzi do EA, Oprócz narzędzi serwis kataloguje również szkolenia, książki, linki i inne zasoby dotyczące EA oraz kontakty do specjalistów od EA. Dodatkowo, aby ułatwić korzystanie z narzędzi i usług pochodzących od różnych dostawców serwis ma umożliwiać dokonywanie zakupów z jednego miejsca.
Pokazywanie postów oznaczonych etykietą rozszerzenia. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą rozszerzenia. Pokaż wszystkie posty
poniedziałek, 1 grudnia 2014
środa, 26 marca 2014
Zastosowanie UML Profile w Enterprise Architect
W artykule UML Profile opisałem czym jest taki profil oraz do czego może służyć. W tym miejscu chciałbym przybliżyć techniczne aspekty tworzenia, a później wykorzystania takiego profilu.
Tworzenie i późniejsze utrzymanie profilu UML to zadania realizowane w tzw. metamodelu, natomiast wykorzystanie takiego profilu ma miejsce już w docelowym modelu. Aby móc korzystać z profilu konieczne jest jego wdrożenie w formie pliku XML. Zostało to przedstawione w formie graficznej na poniższym rysunku.
Tworzenie i późniejsze utrzymanie profilu UML to zadania realizowane w tzw. metamodelu, natomiast wykorzystanie takiego profilu ma miejsce już w docelowym modelu. Aby móc korzystać z profilu konieczne jest jego wdrożenie w formie pliku XML. Zostało to przedstawione w formie graficznej na poniższym rysunku.
poniedziałek, 24 marca 2014
UML Profiles
W tym artykule opisuję zastosowanie mechanizmu UML Profile. Dowiesz się, do czego można to zastosować i jak samodzielnie przygotować.
Inaczej mówiąc: profile UML rozszerzają semantykę modelu. Semantyka określa, co należy rozumieć pod przyjętymi oznaczeniami. Czyli profil UML pozwala wprowadzić nowe oznaczenia i nadać im znaczenie, przy czym stosując taki profil nadal jesteśmy zgodni z ogólną składnią UML.
Profil UML bazuje na stereotypach. Oznacza to, że profil zawiera definicje dla określonych stereotypów, które są przypisywane standardowym typom elementów lub relacji UML.
Na przykład dla elementu typu Class można zdefiniować stereotypy:
Są jednak przypadki, gdy zastosowanie profili ma sens. Można sobie wyobrazić wiele projektów, gdzie w modelowanie zaangażowanych jest wiele osób, a jednocześnie chcemy zapewnić wysoką jakość modelu. Manualne przypisywanie stereotypu do elementu wiąże się z ryzykiem pojawiania się błędów, np. zamiast stereotypu "web page", ktoś może wpisać "webpage". A przecież może się pojawić konieczność wygenerowania raportu zawierającego kompletną listę elementów o stereotypie "web page". Błędna nazwa stereotypu w jednym przypadku sprawi, że raport nie będzie kompletny.
Bazując tylko na wiedzy teoretycznej o profilach UML trudno sobie zdać sprawę, że ten mechanizm służy również usprawnieniu i ułatwieniu pracy. Otóż, wyobraźmy sobie sytuację, że mamy za zadanie utworzyć model zawierający 100 elementów opatrzonych danym stereotypem, z których każdy powinien mieć przypisane po trzy tagged values wraz z ich wartościami.
Zastosowanie profilu UML w Enterprise Architect pozwala jednym ruchem już w momencie tworzenia elementu na:
Co to jest UML Profile?
UML Profile to mechanizm, dzięki któremu można dostosować język modelowania do potrzeb projektowych. Skrót "UML" w nazwie pojawia, gdyż ten mechanizm został zdefiniowany w ramach samej specyfikacji UML. W tej specyfikacji napisano, że:The Profiles package contains mechanisms that allow metaclasses from existing metamodels to be extended to adapt them for different purposes.A zatem, ogólny metamodel UML możemy uszczegółowić poprzez zastosowanie odpowiedniego pakietu, aby w lepszym stopniu odpowiadał specyfice modelowanego problemu, rozwiązania, czy też technologii.
Inaczej mówiąc: profile UML rozszerzają semantykę modelu. Semantyka określa, co należy rozumieć pod przyjętymi oznaczeniami. Czyli profil UML pozwala wprowadzić nowe oznaczenia i nadać im znaczenie, przy czym stosując taki profil nadal jesteśmy zgodni z ogólną składnią UML.
Profil UML bazuje na stereotypach. Oznacza to, że profil zawiera definicje dla określonych stereotypów, które są przypisywane standardowym typom elementów lub relacji UML.
Na przykład dla elementu typu Class można zdefiniować stereotypy:
- biznes - oznaczający byt mający znaczenie z biznesowego punktu widzenia,
- web page - oznaczający byt, który jest związany z interfejsem użytkownika,
- control - oznaczający byt, który kontroluje zachowanie i cykl życia bytów biznesowych, których zmiana inicjowana jest przez użytkownika.
Gdybyśmy mieli model klas pozbawiony tych stereotypów, trudniej byłoby nam się zorientować w znaczeniu tych klas. Jest to szczególnie ważne, gdy czyta się model stworzony przez kogoś innego.
UML Profile to nie jedyny mechanizm rozszerzalności UML, ale jest najbardziej złożony i kompleksowy. Dla każdego ze zdefiniowanych stereotypów możliwe jest również:
- zmodyfikowanie sposobu wyświetlania elementu na diagramie poprzez przypisanie określonego koloru lub symbolu graficznego,
- przypisanie określonych wartości etykietowanych, czyli tagged values: składających się ze słowa kluczowego i wartości,
- dodanie ograniczeń, czyli constraints oznaczających warunki i reguły, zgodnie z którymi obiekt opatrzony danym stereotypem funkcjonuje.
Po co mi UML Profile?
Rozszerzenie semantyki modelu można uzyskać poprzez zdefiniowanie stereotypów (patrz na przykład: Kolorowanie według stereotypów). Taki sposób w większości prostych przypadków sprawdza się doskonale i nie ma potrzeby zawracać sobie głowy profilami UML.Są jednak przypadki, gdy zastosowanie profili ma sens. Można sobie wyobrazić wiele projektów, gdzie w modelowanie zaangażowanych jest wiele osób, a jednocześnie chcemy zapewnić wysoką jakość modelu. Manualne przypisywanie stereotypu do elementu wiąże się z ryzykiem pojawiania się błędów, np. zamiast stereotypu "web page", ktoś może wpisać "webpage". A przecież może się pojawić konieczność wygenerowania raportu zawierającego kompletną listę elementów o stereotypie "web page". Błędna nazwa stereotypu w jednym przypadku sprawi, że raport nie będzie kompletny.
Bazując tylko na wiedzy teoretycznej o profilach UML trudno sobie zdać sprawę, że ten mechanizm służy również usprawnieniu i ułatwieniu pracy. Otóż, wyobraźmy sobie sytuację, że mamy za zadanie utworzyć model zawierający 100 elementów opatrzonych danym stereotypem, z których każdy powinien mieć przypisane po trzy tagged values wraz z ich wartościami.
Zastosowanie profilu UML w Enterprise Architect pozwala jednym ruchem już w momencie tworzenia elementu na:
- przypisanie właściwego stereotypu,
- dodaniu do elementu nazw tagged values wraz z domyślnymi wartościami.
W takim przypadku wystarczy tylko ręcznie nadać elementowi nazwę, zweryfikować poprawność domyślnych wartości tagged values i ewentualnie uzupełnić pozostałe atrybuty elementu, a dopisanie stereotypu oraz dodanie tagged values program EA wykona za nas automatycznie. Korzystając z profilu oszczędzamy czas i minimalizujemy ryzyko pomyłek, czy pominięć.
W jakich przypadkach sprawdza się UML Profile?
Z mojej praktyki wynika, że nie zawsze zastosowanie UML Profile ma sens. Przede wszystkim warto stosować ten mechanizm wtedy, gdy do elementów opatrzonych określonym stereotypem zastosowane będą tagged values.
Przykładem zastosowania mogą być diagramy wdrożeniowe (deployment diagrams), które pokazują rozmieszczenie komponentów i obiektów na węzłach. Element typu node można na przykład opatrzyć stereotypami, które odpowiadają fizycznym typom maszyn. Np. "MacBook Pro" lub "HP Proliant BL460c", a dla każdego ze stereotypów przypisać nazwy tagged values:
- Core - oznaczające liczbę rdzeni procesów, które mogą być ważne z punktu widzenia wydajności sprzętu lub warunków licencyjnych,
- RAM - zawierające wartości odpowiadające ilości wykorzystywanej pamięci, np. 8GB,
- HDD - zawierające wartości odpowiadające pojemności dysków twardych, np. 500GB, 1TB.
Innym przykładem zastosowania może być zarządzanie wymaganiami, gdy definiujemy kilka różnych kategorii wymagań dla elementu typu requirement. Mogą to być np.:
- Wymaganie biznesowe,
- Wymaganie wysokopoziomowe,
- Wymaganie funkcjonalne,
- Wymaganie niefunkcjonalne.
Dla takich kategorii wymagań w formie stereotypów można zdefiniować również katalog wartości etykietowanych, np.:
- Źródło - dokument, departament lub osobę, która zgłosiła wymaganie,
- Właściciel - osoba lub departament, która potrzebuje wymagania albo będzie jego biznesowym właścicielem po wdrożeniu rozwiązania na środowisku produkcyjnym.
czwartek, 21 marca 2013
Co to jest MDG Technology?
Korzystając z programu Enterprise Architect można natknąć się na pojęcie MDG Technology. Termin ten brzmi dość zagadkowo i może być trudno rozponawalny. MDG to skrót od Model Driven Generation. Na pierwszy rzut oka może się kojarzyć z generowaniem kodu na podstawie modelu. Jednak mechanizmy związane z transformacjami zawartości modelu to zagadnienie o nazwie Model Driven Architecture.
Czym zatem jest MDG Technology?
Czym zatem jest MDG Technology?
MDG Technology umożliwia użytkownikom rozszerzenie zdolności modelowania w programie Enterprise Architect o specyficzne dziedziny i notacje. MDG Technology w sposób niezauważalny dla użytkownika wpasowuje się w EA dostarczając dodatkowe toolboxy, profile UML, szablony, wzorce i inne zasoby ułatwiające modelowanie.
czwartek, 14 marca 2013
Interfejs webowy do EA
Pełne wykorzystanie możliwości narzędzia Enterprise Architect w dużych projektach informatycznych wymaga oprócz uruchomienia współdzielonego repozytorium również przestawienia mentalnego członków zespołu projektowego na tworzenie artefaktów projektowych w EA, zamiast wielu dokumentów w formacie MS Word lub Excel. Poza tym, barierami w pełniejszym stosowaniu EA mogą być:
- konieczność konfiguracji środowiska na stacjach roboczych (instalacja EA, dostęp do klucza licencyjnego, dostęp do repozytorium, czy systemu kontroli wersji),
- ograniczenia dostępu spoza sieci lokalnej organizacji (na przykład podczas spotkań u klienta, czy pracy z domu),
- przywiązanie użytkowników do prostszych i bardziej tradycyjnych metod pracy (pliki pakietów biurowych przechowywane lokalnie na stacji roboczej).
Metodą na eliminację dwóch pierwszych barier mogłoby być udostępnienie interfejsu WWW do repozytorium EA. Dzięki takiemu rozwiązaniu możliwe byłoby uzyskanie dostępu do zawartości repozytorium z poziomu przeglądarki internetowej. Dla określonych użytkowników, np. kierownictwa projektu, przedstawicieli klienta, eliminowałoby to potrzebę instalacji i konfiguracji klienta EA (lub EA Viewer) oraz konfiguracji dostępu.
Można wyobrazić sobie aplikację webową umożliwiającą odnalezienie i zapoznanie się ze szczegółami modelu domeny, modelu użycia, wymagań, czy wyświetlenie zawartości diagramów. Gdyby jeszcze interfejs użytkownika byłby bardziej przystępny, przejrzysty, a w dodatku w języku polskim, wówczas moglibyśmy mieć do czynienia z przeniesieniem wykorzystania EA w nowy wymiar.
środa, 14 listopada 2012
Eksport modeli UML do Eclipse
Sparx, producent Enterprise Architect kilka lat temu postawił na interoperacyjność tworzonych modeli i umożliwienie wymiany danych z innymi narzędziami. Ten cel jest wspierany przez możliwość eksportu i importu modeli w formacie XMI (XML Metadata Interchange).
EA umożliwia tworzenie i obsługę formatu zgodnego ze specyfikacją UML opracowaną przez OMG oraz różnych innych wariantów wersji formatu XMI. Jednakże implemenentacja standardu XMI w jednym z najbardziej popularnych narzędzi klasy IDE, jakim jest Eclipse nieco różni się od implementacji XMI w Enterprise Architect.
Z pomocą w tym zakresie przychodzi firma LieberLieber, która znana jest z budowania różnego rodzaju rozwiązań bazujących na Enterprise Architect. Firma ta opublikowała ostatnio skrypt XSLT obudowany w formie MDG Technology. Dodatek ten umożliwia eksport modeli UML, który jest poprawnie obsługiwany przez Eclipse.
Aby wykorzystać ten dodatek należy dodać na swojej stacji roboczej wprost ze strony firmy LieberLieber poprzez menu Settings -> MDG Technologies -> Advanced -> Add URL....
Można też alternatywnie zapisać plik UMLExportTechnology_v1.xml na dysku lokalnym i korzystać z MDG bez konieczności łączenia się do strony firmy LieberLieber poprzez wybranie w ostatnim kroku Add Path... i wskazanie katalogu z wyżej wymienionym plikiem XML.
Obecnie wspierany jest eksport modelu klas i maszyn stanowych. Sądzę, że z punktu widzenia zastosowania modelu UML w Eclipse jest to wystarczający zestaw.
Adres MDG Technology do podłączenia w EA: https://demo.lieberlieber.com/downloads/UMLExportTechnology_v1.xml
Więcej informacji na stronie: blog.lieberlieber.com/2012/11/13/export-your-ea-models-for-eclipse
EA umożliwia tworzenie i obsługę formatu zgodnego ze specyfikacją UML opracowaną przez OMG oraz różnych innych wariantów wersji formatu XMI. Jednakże implemenentacja standardu XMI w jednym z najbardziej popularnych narzędzi klasy IDE, jakim jest Eclipse nieco różni się od implementacji XMI w Enterprise Architect.
Z pomocą w tym zakresie przychodzi firma LieberLieber, która znana jest z budowania różnego rodzaju rozwiązań bazujących na Enterprise Architect. Firma ta opublikowała ostatnio skrypt XSLT obudowany w formie MDG Technology. Dodatek ten umożliwia eksport modeli UML, który jest poprawnie obsługiwany przez Eclipse.
Aby wykorzystać ten dodatek należy dodać na swojej stacji roboczej wprost ze strony firmy LieberLieber poprzez menu Settings -> MDG Technologies -> Advanced -> Add URL....
Można też alternatywnie zapisać plik UMLExportTechnology_v1.xml na dysku lokalnym i korzystać z MDG bez konieczności łączenia się do strony firmy LieberLieber poprzez wybranie w ostatnim kroku Add Path... i wskazanie katalogu z wyżej wymienionym plikiem XML.
Obecnie wspierany jest eksport modelu klas i maszyn stanowych. Sądzę, że z punktu widzenia zastosowania modelu UML w Eclipse jest to wystarczający zestaw.
Adres MDG Technology do podłączenia w EA: https://demo.lieberlieber.com/downloads/UMLExportTechnology_v1.xml
Więcej informacji na stronie: blog.lieberlieber.com/2012/11/13/export-your-ea-models-for-eclipse
wtorek, 24 lipca 2012
Własny zestaw statusów
Każdy element w modelu posiada swój własny zestaw atrybutów. Wśród standardowych atrybutów znaleźć można trzy, które służą określeniu momentu w cyklu życia elementu. Są to:
- status,
- wersja,
- faza.
Subskrybuj:
Posty (Atom)


