Design Patterns w Rational Software Architect

W obecnych czasach developerzy oprogramowania muszą odznaczać się wysoką produktywnością, aby móc sprostać wciąż wzrastającym wymaganiom na oprogramowanie. Wielu profesjonalistów z branży IT wciąż kontynuuje jednak spędzanie wielu godzin pracy nad rozwijaniem powtarzających się i istniejących od dawna rozwiązań na niskim poziomie abstrakcji. Istnieją jednak nowe metody wspierające proces budowania oprogramowania, dzięki którym to specjaliści IT nie muszą pracować nad powtarzającymi się problemami, ale za to mogą skupić swoją uwagę na poważniejszych koncepcjach znajdujących się na wyższych poziomach abstrakcji. Mowa tutaj oczywiście o wzorcach projektowych.

Bardzo ogólnie mówiąc wzorce projektowe są to wielokrotnie wykorzystywane rozwiązania problemów dotyczących projektowania oprogramowania. Ich podłoże często stanowiły idee lub dobre praktyki, których trzymali się projektanci oprogramowania. Wzorce projektowe mogą dotyczyć różnych warstw, począwszy od warstwy biznesowej, poprzez projektowanie, implementację, a kończąc na wdrażaniu i rozwoju oprogramowania.

Wzorce projektowe zostały podzielone na trzy grupy:

– wzorce konstrukcyjne (z ang. Creational Patterns), które wykorzystywane są do pozyskiwania obiektów zamiast bezpośredniego tworzenia instancji klas;

– wzorce strukturalne (z ang. Structural Patterns), które pomagają łączyć obiekty w większe struktury;

– wzorce behawioralne (z ang.Behavioral Patterns), służące do definiowania komunikacji pomiędzy obiektami oraz kontrolowania przepływu danych w złożonej aplikacji.

Podsumowując, mogę bez wątpienia powiedzieć, że nie sposób nie docenić wykorzystania wzorców projektowych w dzisiejszej inżynierii oprogramowania. Co czyni z nich wyjątkowe rozwiązanie? Przede wszystkim fakt, że znacznie zwiększają one produktywność programistów, promują naukę oraz ponowne wykorzystanie efektywnych rozwiązań, a także to, iż mogą one wspierać rozwój oprogramowania we wszystkich jego etapach.

Po tym krótkim wstępie przejdę teraz do realizacji ćwiczenia laboratoryjnego.

W RSA także można stosować wzorce projektowe. Aby zaprezentować możliwości wykorzystania wzorców projektowych w RSA utworzyłem nowy projekt UML o nazwie ACMEPatternProject.

clip_image002

Okno przedstawiające proces tworzenia projektu UML: ACMEPatternProject

Następnie do widoku Pattern Explorer przeniosłem wzorzec projektowy o nazwie Observer na diagram Main w nowostworzonym projekcie. Instancję wzorca Observer na diagramie main, można zaobserwować na poniższym rysunku.  

clip_image004

Przypomnę, że wzorzec observer należy do wzorców czynnościowych. W praktyce umożliwia on powiadamianie obiektów (obserwatorów) o zmianie danych obiektu czy klasy centralnej (obserwowanej) dając możliwość wielokrotnego wykorzystywania klas bez zbędnych modyfikacji ich kodu czyniąc go przy tym czytelniejszym i bardziej przejrzystym.

Kolejnym krokiem było wprowadzenie nazw argumentów dla danej instancji wzorca. 

clip_image006

Kolejnym etapem jest wyświetlenie relacji pomiędzy klasami zawartym w obrębie danego wzorca. Efekt tych działań przedstawiony jest poniżej:

clip_image008

Ostatnim krokiem jest przekształcenie uzyskanego projektu UML na projekt Java. Aby tego dokonać trzeba użyć  już zdefiniowanej lub zdefiniować nową transformacje, której efekty działania widać poniżej: 

clip_image010 

Dla przykładu zamieściłem poniżej kod klasy ConcretPayrollObserver.java, która to została wygenerowana między innymi podczas przeprowadzonej wcześniej transformacji UML -> Java.

 

obs

Technorati Tagi: wzorce projektowe,inżynieria oprogramowania,modelowanie systemów informatycznych,UML,Rational Software Architect

Podobne wpisy

  • O używaniu Archimate, licencjach i opłatach W Internecie, w tym na goldenline,  pojawiły się dyskusje o tym czy można używać Archimate za darmo czy też nie. Jako, że korzystam z tej notacji i opublikowałem jej tłumaczenie: […]
  • Integracja środowiska Rational z Visual Studio 2008 W zeszłym roku pisałem o integracji środowiska Rational z Visual Studio (patrz: IBM Rational Software Modeler i platforma .NET  i Transformacja modelu UML do kodu C# w środowisku IBM […]
  • StarUML Rozdział 3. Zarządzanie Projektem Ten rozdział szczegółowo opisuje procedury związane z zarządzaniem projektami: tworzenie nowego projektu, tworzenie jednostki z części projektu, tworzenie i importowanie fragmentów […]
  • Konstrukcja wymagań z zastosowaniem szablonów Zastosowanie szablonów wymagań zapewnia proste i zrozumiałe podejście do dokumentowania wymagań w języku naturalny redukując niepożądane skutki jego użycia.  Szablony wymagań […]
  • Zwinne modele – charakterystyka Zwinny  model to taki który jest: Wystarczający dla Odbiorców czyli w zależności od odbiorców ogólny gdy rozmawiasz z biznesem lub bardziej techniczny gdy rozmawiasz z IT […]
Reklama
MODESTO - licencje Enterprise Architect

Zostaw komentarz

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

Przewiń do góry