Język modelowania obiektowego

Język modelowania obiektowego to znormalizowany zestaw symboli używanych do modelowania systemu oprogramowania przy użyciu struktury zorientowanej obiektowo . Symbole mogą być nieformalne lub formalne, od predefiniowanych szablonów graficznych po formalne modele obiektów zdefiniowane przez gramatyki i specyfikacje.

Język modelowania jest zwykle kojarzony z metodologią programowania obiektowego. Język modelowania definiuje elementy modelu. Np., że model ma klasy, metody, właściwości obiektów itp. Metodologia określa kroki, które programiści i użytkownicy muszą wykonać, aby opracować i utrzymać system oprogramowania. Kroki, takie jak Zdefiniuj wymagania , Opracuj kod i Testuj system .

Ważne kamienie milowe w ewolucji UML: Jeden z najważniejszych obecnie używanych języków modelowania obiektowego.

Często utożsamia się język modelowania i metodologię modelowania. Na przykład metoda Boocha może odnosić się do standardu tworzenia diagramów Grady'ego Boocha , jego metodologii lub obu. Lub Technika Modelowania Obiektowego Rumbaugha jest zarówno zestawem diagramów, jak i modelem procesu do tworzenia systemów zorientowanych obiektowo.

We wczesnych latach społeczności zorientowanej obiektowo istniało kilka konkurencyjnych standardów modelowania i metodologii. Booch i Rumbaugh byli dwoma najbardziej popularnymi. Ivar Jacobson 's Objectory, Shlaer-Mellor i Yourdon-Coad.

Jednak społeczność zorientowana obiektowo ceni ponowne wykorzystanie i standaryzację. Jak widać na grafice, od połowy lat 90. starano się pogodzić wiodące modele i skupić na jednej, ujednoliconej specyfikacji. Grafika przedstawia ewolucję jednego z najważniejszych standardów języka modelowania obiektowego: Unified Modeling Language (UML).

UML powstał jako próba zdefiniowania standardowego języka przez niektórych głównych liderów w społeczności na konferencji OOPSLA '95. Pierwotnie Grady Booch i James Rumbaugh połączyli swoje modele w ujednolicony model. Następnie firma Boocha, Rational Software, kupiła firmę Objectory Ivara Jacobsona i połączyła ich model z UML. W tamtym czasie Rational i Objectory były dwoma dominującymi graczami w małym świecie niezależnych dostawców narzędzi i metod zorientowanych obiektowo.

Grupa Zarządzania Obiektami podniosła i przejęła własność UML. OMG jest jedną z najbardziej wpływowych organizacji normalizacyjnych w świecie zorientowanym obiektowo. UML jest zarówno formalnym metamodelem, jak i zbiorem szablonów graficznych. Meta-model definiuje elementy w modelu zorientowanym obiektowo, takie jak klasy i właściwości. Zasadniczo jest to to samo, co metamodel w językach zorientowanych obiektowo, takich jak Smalltalk czy CLOS. Jednak w takich przypadkach metamodel jest przeznaczony głównie do użytku przez programistów w czasie wykonywania w celu dynamicznego sprawdzania i modyfikowania modelu obiektowego aplikacji. Metamodel UML zapewnia formalną podstawę matematyczną dla różnych widoków graficznych używanych przez język modelowania do opisu powstającego systemu.

Poniższy diagram ilustruje hierarchię klas różnych szablonów graficznych zdefiniowanych przez UML. Diagramy struktury określają statyczną strukturę obiektu: jego miejsce w hierarchii klas, jego relacje z innymi obiektami itp. Diagramy zachowania określają dynamiczne aspekty modelu, logikę procesów biznesowych, koordynację i synchronizację rozproszonych obiektów itp.

Rodzaje diagramów UML