czwartek, 14 lutego 2013

Wstęp do UML, cz.1 - GENEZA

Niniejszy temat jest ściśle powiązany z podejściem obiektowym w wytwarzaniu oprogramowania. Przed przejściem do omówienia czym jest język UML, warto byłoby wspomnieć kilka zdań właśnie o obiektowości.

Podejście obiektowe rozwijane jest od lat 50 XX wieku, ale największy swój rozkwit przeżyło w latach 90, kiedy znalazło się w centrum zainteresowania twórców i użytkowników systemów informatycznych. Podejście obiektowe w najwyższym stopniu sprostało wówczas takim wyzwaniom jak:

  • coraz bardziej powszechne użytkowanie systemów czasu rzeczywistego i systemów wbudowanych;
  • różnorodność i powszechność aplikacji internetowych w gospodarce opartej na wiedzy (e-business, e-health, e-government, e-learning);
  • aplikacje multimedialne, wykorzystujące w coraz większym stopniu dźwięk, grafikę i film;
  • globalizacja gospodarki - integracja systemów informatycznych w telekomunikacji, bankowości, edukacji i transporcie;
  • powszechność i dostępność aplikacji, zwłaszcza internetowych, dla potrzeb społeczeństwa informacyjnego;
  • informatyzacja przedsiębiorstw - automatyzacja procesów kadrowych, finansowych, czy systemowych.

Pojęcie obiektowości początkowo wykorzystywane było w obiektowych językach programowania, takich jak SIMULA, czy SmallTalk. Obecne jest stosowane w następujących obszarach:
  • metodyki wytwarzania oprogramowania (przede wszystkim RUP);
  • graficzne języki modelowania (UML);
  • obiektowe języki programowania (Java, platforma .NET);
  • bazy danych (np. ObjectStore).

Każdy model obiektowy opiera się na pewnych elementarnych pojęciach i kategoriach, takich jak: obiekt, klasa, hermetyzacja, polimorfizm, dziedziczenie. Ich zestaw, pod względem merytorycznym, stanowi tzw. podstawowy model obiektowy.

Obiektowość stanowi podstawę teoretyczną języka UML, którego początki sięgają roku 1994, kiedy Grady Booch i James Rumbaugh zaczęli współpracować w celu opracowania wspólnego języka modelowania obiektowego, wykorzystując własne wcześniej stosowane notacje. Rok później dołączył do nich Ivar Jacobson, który dodał do natacji m.in. przypadki użycia. Poniżej przedstawiony został wkład dominujących podejść tych autorów w standard UML:
  • James Rumbaugh - Object Modeling Technique - notacja diagramów UML, analiza i projektowanie;
  • Grady Booch - Object Oriented Analysis and Design - analiza i projektowanie;
  • Ivar Jacobson - Object Oriented Software Engineering - modelowanie biznesowe, przypadki użycia, diagramy modelowania analitycznego.

W ten sposób, z połączenia trzech notacji, powstał ujednolicony język modelowania (Unified Modeling Language).

Autorzy założyli, że język modelowania jest pośrednikiem pomiędzy ludzkim rozumieniem funkcjonowania programów komputerowych a ich fizyczną realizacją w postaci kodu źródłowego. Z tego względu język taki powinien jednocześnie:
  • ściśle definiować podstawowe i zaawansowane kategorie oraz zasady modelowania obiektowego;
  • umożliwić dostosowywanie wykorzystywanej semantyki i notacji do rozwiązywania szerokiego spektrum problemów;
  • wykazywać elastyczność wystarczającą do modelowania systemów informatycznych i procesów biznesowych;
  • wykazywać niezależność od konkretnych języków programowania oraz metodyk tworzenia systemów informatycznych;
  • uwzględniać skalę realizowanych współcześnie projektów, związanych z bardzo rozbudowanymi systemami o kluczowym znaczeniu w funkcjonowaniu przedsiębiorstw.

Twórcy języka UML zdefiniowali go jako graficzny sposób wizualizacji, specyfikowania, tworzenia i dokumentowania systemów informatycznych.

W 1996 roku językiem zajęła się OMG (Object Management Group) - organizacja zajmująca się standaryzacją technologii związanych z modelowaniem obiektowym. Stworzono konsorcjum firm (m.in. HP, IBM, Microsoft, Oracle, Unisys) pod przewodnictwem Rational Software (pracodawcy autorów języka), które opracowało standard języka w wersji 1.0. Od tamtego czasu język UML był stale rozwijany, z pomocą również innych firm, aż do wersji 2.4.1 (stan na styczeń 2013), wzbogacając się z każdym rozszerzeniem o nowe lub zmodyfikowane diagramy oraz elementy notacyjne. Największym przełomem w kierunku prowadzonych zmian była wersja 2.0, która wyodrębniała z obowiązującej dokumentacji języka cztery specyfikacje:
  • infrastrukturę UML - podstawę architektoniczną, składniki języka UML 2.0, jego metamodel, pozwalający na definiowanie i rozwijanie superstruktury;
  • superstrukturę UML - specyfikującą ukierunkowane na użytkownika kategorie modelowania - elementarne składniki diagramów;
  • OCL - język opisu ograniczeń;
  • wymienność diagramów UML - możliwość przenoszenia dokumentów zgodnych ze standardem UML między różnymi narzędziami.

Standard UML ciągle podlega aktualizacjom, modyfikacjom i wzbogacaniu przez OMG. Z każdą nową wersją pojawiają się nowe/zmodyfikowane elementy języka, które są skutecznie stosowane w coraz szerszym zakresie dziedzin problemowych.

Kolejny wpis dotyczący języka UML dotyczyć będzie opisu jego zastosowań.  

Źródła 
                      

Brak komentarzy:

Prześlij komentarz