napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania, ogólne
poniedziałek 24 sie 2009
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 Rational Software Modeler ). Wspomniane posty dotyczyły Visual Studio 2005.
Obecnie Rational Modeling Extension for Microsoft .NET, który jest niezbędny do integracji wspomnianych powyżej środowisk wspiera framework .NET w wersji 3.0
Rational Modeling Extension wspiera WCF (Windows Communication Foundation)w zakresie modelowania i generowania kodu:
- modelowanie komponentów WCF
- inżynieria wprzód – transformacja z WCF do C#
- inżynieria wstecz – transformacja WCF z C#
Na koniec przypomnę, że transformacje mogą zachodzić w Rational Software Architect.
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania
czwartek 21 maj 2009
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ży
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.
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania, ogólne
czwartek 9 kwi 2009
Przy braku spójności w narzędziach CASE stosowanych przez firmę czasem istnieje potrzeba by przemigrować z repozytorium projektu (choćby na chwilę) z bogatszego środowiska jakim jest IBM Rational Software Modeler lub IBM Rational Software Architect do Enterprise Architect- biedniejszego o wiele funkcji środowiska projektowego. Tego typu migracja nie jest trudna choć czasem się nie udaje. Przykład takiej migracji prezentuję dalej.
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania, teksty
poniedziałek 16 lut 2009
Kilka dni temu pisałem a statycznej analizie kodu (Dwa słowa o statycznej analizie kodu). W praktyce taka analiza nie jest trudna o czym można się przekonać stosując bardziej zaawansowane narzędzia do projektowania i implementacji. Jednym z lepszszch narzędzi jest Rational Software Architect.
Środowisko Rational Software Architect zapewnia narzędzie od wykonywania statycznej analizy kodu aplikacji. Zwiększa ona jakość finalnego produktu poprzez znajdowanie oraz dokumentowanie wad oprogramowania. Udostępnia ono również ogólną ocenę jakości oprogramowania a co więcej umożliwia ono weryfikację założeń poczynionych na etapie projektowania i specyfikacji wymagań. Code Review Tool udostępnia także możliwość weryfikacji odpowiednich interakcji pomiędzy oprogramowaniem a komponentami systemowymi.
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii literatura, o inżynierii oprogramowania, teksty, wydarzenia
poniedziałek 15 gru 2008
Właśnie ukazał się jesienny The Rational Edge ezine (http://ibm.com/developerworks/ecma/campaign/er.jsp?id=376126&imid=68950291&end). Dla fanów RSA jest bardzo ciekawy artykuł, w którym Steve Arnold opisuje nowe cechy IBM Rational Software Architect for WebSphere Software 7.5, dotyczące modelowania i transformacji http://www.ibm.com/developerworks/rational/library/08/0926_arnold/index.html.
Natomiast mi, być może z uwagi na specyfikę projektu, którym się teraz zajmuje, najbardziej podobał się artykuł pt. „Handling Requirements Effectively on Agile Projects” (http://www.ibm.com/developerworks/rational/library/edge/08/oct08/rivera1/index.html), w którym można przeczytać o tym jak efektywnie zarządzać wymaganiami w projektach bazujących na Agile. Zapraszam do lektury.
napisane przez Michał Wolski | w kategorii teksty
środa 10 gru 2008
Któż w dzisiejszych czasach nie słyszał o AJAX?ie? AJAX, łączący w sobie możliwości języków JavaScript i XML, jest świetnym narzędziem do tworzenia interaktywnych witryn internetowych, które pozwala na zaimplementowanie w nich mechanizmów dotychczas kojarzonych z aplikacjami „tradycyjnymi”. Za pomocą technologii AJAX możemy weryfikować dane wprowadzane do formularzy, tworzyć wykresy w czasie rzeczywistym i dodawać do aplikacji internetowych wiele innych, przydatnych funkcji.
W niniejszym tekście będę starał się zaprezentować jak wykorzystać Rational Software Architect do budowania rozwiązań opartych o technolgię AJAX. Budowanym rozwiązaniem będzie strona, na której w trakcie wpisywania tekstu do pola TextBox (tekstowego) pojawi się ten sam tekst w etykiecie poniżej.
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania, ogólne, teksty
wtorek 18 lis 2008
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.
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania, teksty
piątek 31 paź 2008
Niniejszy artykuł napisałem kilka lat temu i w oryginale został wydany w Software Developer’s Journal Extra nr 18, (IBM Software Development Platform Projektowanie SI, str. 34-38, ISSN:1734-7661) w 2005 roku. Tekst publikuję, gdyż tego wydania nie ma już na rynku a opisana sposób postępowania jest nadal w miarę aktualny.
W artykule zaprezentowano zestaw kolejnych kroków, które prowadzą od projektu wyrażonego w języku UML do implementacji w języku JAVA aplikacji – książki adresowej, która dane kontaktowe przechowuje w pliku XML. Do budowy oprogramowania wykorzystano IBM Rational Software Architect. W kolejno wykonywanych krokach najpierw zostanie zbudowany model w języku UML 2.0 a następnie na podstawie modelu zostanie zaprezentowana implementacja w języku JAVA fragmentu aplikacji. Tekst z racji swojej obszerności podzieliłem na 3 części:
miłej lektury
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania, teksty
piątek 31 paź 2008
Pierwszym krokiem po włączeniu Rational Software Architect’a jest wybór miejsca, w którym znajdować się będzie nasz projekt (ang. workspace). W tym przypadku zamiast domyślnego katalogu umieścimy nasze rozwiązanie w katalogu Projekt
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania, teksty
piątek 31 paź 2008
Po zdefiniowaniu wymagań (Projekt i implementacja aplikacji JAVA w środowisku IBM Rational Software Architect – model przypadków użycia ) na system przychodzi kolej na modele, które opiszą nam z jakich elementów jest zbudowany system i jak te elementy ze sobą współpracują. Modele te buduje się w modelu analizy (ang. Analysis Model), który należy dodać do naszego projektu w sposób podobny jak to miało miejsce z modelem przypadków użycia z tym, że wybierany jest szablon Analysis Model. W tym miejscu należy wspomnieć, że model analityczny jest opcjonalnym elementem projektu. W przypadku prostych modeli można od razu budować model projektu. W naszym przypadku dla celów edukacyjnych zbudujemy ten model by następnie uszczegółowić go w modelu projektu.
W zdefiniowanym modelu analitycznym w katalogu Analysis Building Block należy utworzyć realizacje przypadków użycia. Realizacje to są elementy współpracy (ang. Collaboration), które powinny nosić nazwę przypadku użycia, którego są realizacją. Elementy współpracy jest to jeden z elementów języka UML 2.0 i dodaje się go poprzez menu kontekstowe, które jest uruchamiane prawym klawiszem myszy.
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania, teksty
piątek 31 paź 2008
Po zbudowaniu modelu analitycznego (Projekt i implementacja aplikacji JAVA w środowisku IBM Rational Software Architect – model analizy), który powstał na podstawie modelu przypadków użycia (Projekt i implementacja aplikacji JAVA w środowisku IBM Rational Software Architect – model przypadków użycia) można przejść do budowy modelu projektowego, który w naszym przypadku, będzie podstawa do wygenerowania szkieletu kodu aplikacji. Pierwszym krokiem tego etapu będzie dodanie do naszego projektu pustego szablonu projektowego, który będzie podstawą do zbudowania modelu projektu. Model ten dodaje się w sposób analogiczny jak poprzednie modele.
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii wydarzenia
środa 8 paź 2008
Premiera Jazz i Rational Team Concert w Polsce (7 października 2008 w Centrum Artystycznym Fabryka Trzciny) to wydarzenie, którego nie mogłem opuścić. Dlaczego? Z pierwszych przecieków wynikało, że jest platforma firmy IBM, które ma być bazą do integracji zespołów projektowych na wszystkich obszarach procesu wytwórczego. Zacznę od tego czym jest JAZZ. Otóż produkt jest portalem współpracy przeznaczonym dla rozproszonych zespołów programistycznych, łączącym członków takich zespołów za pośrednictwem komunikatorów oraz maila.
przeczytaj pozostałą część »