projektowanie systemów informatycznych

Projekty

Kategorie

Linki

Polecam


tagi

archiwum

Język UML a normy ISO

wtorek 19 sie 2008

sequenceDiagramServiceLevel

Wielu moich klientów pyta mnie czy modele UML a raczej użyta do budowy modeli semantyka syntaktyka są zdefiniowane tylko przez standard OMG i  kolejne “numerki” tegoż standardu? (Dla przypomnienie OMG to (idąc za Wikipedią) Object Management Group – konsorcjum powstałe w 1989 r., w którego skład wchodziły m.in. firmy IBM, Apple Computer i Sun Microsystems, a którego celem było ustanowienie standardów międzyplatformowego, rozproszonego programowania obiektowego. Obecnie OMG “opiekuje” się językiem UML.)

Inne pytanie jakie ostatnio mi zadano to: co zrobić w sytuacji, gdy dana firma nie uznaje standardów OMG a istnieje potrzeba budowy modeli UML, które trzeba zweryfikować nie tylko pod kątem merytorycznym?  logo_iso

Odpowiedzią na te pytania i tym podobne jest norma ISO/IEC 19501:2005, która opisuje język UML. Tą normę ISO można ściągnąć z witryny International Organization for Standardization: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=32620 . Niestety pobranie normy kosztuje, ale jest też dobra wiadomość. Norma ISO/IEC 19501:2005 jest równoważna ze specyfikacją UML w wersji 1.4.2 . Specyfikację tą można pobrać ze stron OMG: http://www.omg.org/cgi-bin/doc?formal/05-04-01

Na koniec pozostaje jedno pytanie. Czy lepiej budować modele w oparciu o specyfikację UML 2.1.x czy normę ISO/IEC 19501:2005? Ja w swoich projektach bazuję na ISO czyli UML 1.4.2 rozszerzając ją o kilka wybranych elementów języka UML 2.1.x


Transformacja modelu UML do kodu C# w środowisku IBM Rational Software Modeler

sobota 2 sie 2008

Jak napisałem wcześniej (IBM Rational Software Modeler i platforma .NET) do tego aby w IBM Rational Software Modeler, które jest narzędziem do wizualnego modelowania i projektowania w języku UMLMożna było dokonywać transformacji kodu z modelu UML do C# i z kodu C# do UML potrzebna jest dodatek IBM Rational Modeling Extension for Microsoft .NET. Mając trochę wcześniejszych doświadczeń zdobytych na polu współpracy produktów IBM i Microsoft (Zintegrowane środowisko wytwarzania aplikacji web?owych na platformie .NET). Postanowiłem sprawdzić jak te nowe produkty współpracują ze sobą. W tym celu zbudowałem testową klasę

image

a następnie aby wygenerować kod C# trzeba utworzyć nową transformację:

image

i ją skonfigurować:

image

W czasie konfiguracji nie należy zapomninać że musimy wskazać na istniejący już projekt w środowisku Visual Studio.

image

Efektem końcowym jest informacja o zapamiętanej konfiguracji

image

Naciśnięcie przycisku RUN powoduje, że na podstawie testowej klasy powstaje struktura kodu C#.

image

Po synchronizacji KlasaTestowa znajduję się w trzech widokach:

Repozytorium modelu UML (Rational Software Modeler) image
Repozytorium modelu kodu C#
(Rational Software Modeler)
image
Repozytorium projektu C#
(Visual Studio)
image

Na koniec należy wspomnieć, że dzięki dodatkowi IBM Rational Modeling Extension for Microsoft .NET można wytworzyć model UML na podstawie już napisanej (gotowej) aplikacji

W razie pytań proszę o kontakt ;)