Zazwyczaj sporo mówi się na temat tego, że model musi być odseparowany od swojej implementacji. Oznacza to, że w pierwszej fazie modelowania nie należyimage zastanawiać się nad tym, jak będzie wyglądała implementacja. Dopiero po zatwierdzeniu projektu można dostosować model już do środowiska implementacji. Sprzyja to reużyciu całych fragmentów projektów. Stosując taka zasadę idealnie działa się zgodnie z MDA czyli Model Driven Architecture. Model-Driven Architecture ? to sposób budowania oprogramowania w oparciu o modele i ich transformacje.

W MDA wyróżnia się 4 poziomy (modele):

  • Computation Independent Model (CIM) (albo: domain model; vocabulary) ? model biznesowy, nie precyzujący zakresu odpowiedzialności oprogramowania
  • Platform Independent Model (PIM) ? abstrakcyjna specyfikacja systemu
  • Platform Specific Model (PSM) ? model odwzorowany na konkretne rozwiązania wybranej platformy
  • Implementation Model ? proste przełożenie decyzji z modelu platformowego

Patrząc na ten podział modelem odseparowanym od implementacji będzie model PIM, którego ideą jest zaprezentowanie rozwiązania zgodnego z wymaganiami.

PSM natomiast stanowi  odwzorowanie abstrakcji zamodelowanych w PIM na konkretne rozwiązania charakterystyczne dla danej platformy lub języka programowania. Mówiąc inaczej PSM jest uszczegółowioną formą PIM lub jego konkretnym wystąpieniem.

Narzędzia CASE w różnym stopniu wspierają takie podejście. Czasem jest to wygenerowanie modelu implementacji jak ma to miejsce w narzędziach z rodziny Rational (nawiasem mówiąc w produktach Rational mówi się o Model Driven Development (MDD), który jest rozszerzoną wersją MDA) lub modelu platformy jak ma to miejsce w Enterprise Architect.

Przykład transformacji w EnterpriseArchitect można znaleźć w poście Transformacja PIM-PSM w Enterprise Architect

Na koniec należy wspomnieć, że dwukierunkowość transformacji PIM ?> PSM i PSM ?>PIM nie jest zawsze możliwa.

Technorati Tagi: model driven architecture,mda,UML,modelowanie systemów informatycznych,Rational Software Architect,Rational Software Modeler,Enterprise Architect,Model Driven Development,MDD

Zostaw odpowiedź

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć tych HTML tagów i atrybutów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Close