napisane przez Michał Wolski | w kategorii literatura, o inżynierii oprogramowania
poniedziałek 18 sty 2010
The Rational Edge to, moim zdaniem, jeden z najlepszych magazynów wydawanych w formie elektronicznej. Cenię go bardzo także za to, że w sposób niesłychanie merytoryczny traktował o produktach Rationala i nie tylko. The Rational Edge to teksty, które miały i mają niesamowity wpływ na rozwój inżynierii oprogramowania. Pierwsze wydanie miało miejsce 15 grudnia 2000 roku i można było wnim przeczytać teksty Jim Rumbaugh’a – “Trends in UML and e-development” i Philippe Kruchtena’a “From Waterfall to Iterative Development” – KLASYKA. Po niemalże dekadzie na rynku z miesięcznika zrobił się kwartalnik a obecnie IBM zastąpił Rational Edge nowym wydawnictwem Leading Innovation.
Umarł The Rational Edge niech żyje Leading Innovation.
Niestety moim zdaniem Leading Innovation nie dorasta do pięt swojemu poprzednikowi bo to co jest pod hasłem Rational leading innovation library to miernota. Widać wyraźnie, że IBM zagubił się w swojej wizji rozwiązań wspierających inżynierię oprogramowania. Wydaje mi się, że akwizycja Rational’a i Telelogica nie pomogły. Co z tego, że IBM posiada w swoim portfolio największą grupę narzędzi CASE jak one się dublują (patrz DOORS i RequisitePro, System Architect i Software Architect). Istna wieża Babel, w której nie ma ducha innowacyjności i twórczego podejścia do inżynierii oprogramowania, z jaką można było się spotkać na łamach The Rational Edge w tekstach wielu wybitnych fachowców. Szkoda, że trak się stało. Liczę jednak na prawa natury, która nie lubi pustki. Czym wypełni brak kolejnych wydać The Rational Edge. Zobaczymy.
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania, zarządzanie wymaganiami
poniedziałek 11 sty 2010
W sieci pojawił się nowy blog o wymaganiach (http://owymaganiach.pl/). Cieszy mnie ta inicjatywa, Pana Jakuba Jurkiewicza – doktoranta na Politechnice Poznańskiej, gdyż w sieci jest mało zasobów na temat inżynierii oprogramowania a te zapowiadają się sensownie. Z pierwszych wpisów polecam teksty o przypadkach użycia. Powodzenia
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania
wtorek 29 gru 2009
Od pewnego czasu o moje uszy obija się nazwa BoUML. Co to jest? To jest narzędzie do open source’owe narzędzie do modelowania. Zaintrygowany pochlebnymi opiniami zainstalowałem i oto moja króciutka opinia. Naprawdę króciutka, bo całe dobro i zło danego narzędzia wychodzi w projektach.
Podoba mi się, że klasę (a więc także aktora i przypadek użycia) można opisać nie tylko za pomocą pola description ale także jest dedykowane miejsce dla wszelkich warunków i ograniczeń.
A teraz największa porażka. Brak polskich liter.

przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania, ogólne, szkolenia
poniedziałek 30 lis 2009
Listopad dla mnie to przede wszystkim przygotowania do projektu o kodowej nazwie“tormigo” – lubię myśleć o tym projekcie, że to będzie mała rewolucja, ale o tym napisze w odpowiednim czasie. Ponadto przeprowadziłem dwa szkolenia. Jedno z zakresu modelowania procesów biznesowych, drugie z zakresu modelowaniu w UML z wykorzystaniem Enterprise Architect. Szkolenia były przeprowadzane, dla różnych organizacji. Oba wydarzenia łączyło to, że podstawą działań było dokładne i permanentne zrozumienie procesu biznesowego. Dlaczego? Moim zdaniem dziś nie można mówić o modelowaniu systemów IT bez analizy procesu biznesowego – to podstawa działań.
W anonimowych ankietach, w obu organizacjach, otrzymałem dobre i bardzo dobre oceny za moje przygotowanie i przeprowadzenie szkolenia. Najbardziej w pamięci utkwiły mi dwa komentarze. W jednej z ankiet dot. szkolenia zakresu modelowaniu w UML z wykorzystaniem Enterprise Architect w punkcie co najbardziej podobało Ci się na niniejszym szkoleniu: “Ćwiczenia praktyczne i konkretny pomysł, co przekazać słuchaczom (co rzadko się zdarza)”. Natomiast w ankiecie dot. szkolenia z modelowania biznesowego zostałem nagrodzony jednym słowem: “Perfekcyjnie”. Wielkie dzięki
napisane przez Michał Wolski | w kategorii Enterprise Architect, agile, o inżynierii oprogramowania
piątek 13 lis 2009
Ostatnie kilka wpisów:
dotyczyło metod integracji kodu z jej modelem. Przedstawiłem to zagadnienie w różnych wariantach z pluginem (MDG Integration for Eclipse) i bez. Teraz czas na podsumowanie i pytanie czy jest sens synchronizować model z jego implementacją w trakcie kodowania. Moim skromnym zdaniem NIE. Dlaczego?
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii Enterprise Architect, o inżynierii oprogramowania
piątek 13 lis 2009
napisane przez Michał Wolski | w kategorii Enterprise Architect, o inżynierii oprogramowania
czwartek 12 lis 2009
Czy można pisać kod aplikacji w Enterprise Architect? Tak można i zaprezentuje to na przykładzie z którego korzystałem w tekście: Inżynieria wstecz w projektach JAVA za pomocą Enterprise Architect
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii Enterprise Architect, o inżynierii oprogramowania
wtorek 10 lis 2009
W tekście Enterprise Architect i MDG Integration for Eclipse w praktyce opisałem wstępnie wtyczkę MDG Integration for Eclipse, która ułatwia integrację Enterprise Architecta ze środowiskiem Eclipse. Teraz postaram się zaprezentować możliwości wtyczki w zakresie synchronizacji kodu z modelem.
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii Enterprise Architect, o inżynierii oprogramowania
wtorek 10 lis 2009
Tradycyjną metodę inżynierii wstecz opisałem kilka dni temu w tekście: Inżynieria wstecz w projektach JAVA za pomocą Enterprise Architect. Dziś chciałbym się skupić na płatnej wtyczce jaką można zastosować do Enterprise Architecta celem synchronizacji modeli ze środowiskiem JAVA czyli MDG Integration for Eclipse.
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii Enterprise Architect, o inżynierii oprogramowania
poniedziałek 9 lis 2009
Mechanizm inżynierii wstecz (ang. reverse engineering) wstecz jest użyteczny w tedy, gdy mamy napisany program i chcemy go udokumentować za pomocą modeli UML. Powstała w ten sposób dokumentacja jest modelem implementacji. W Enterprise Architect można dokonać tego poprzez wybór odpowiedniego parametru w menu kontekstowym pakietu do którego będzie importowany kod.
przeczytaj pozostałą część »
napisane przez Michał Wolski | w kategorii o inżynierii oprogramowania
poniedziałek 9 lis 2009
Dużo się mówi na temat modelowania systemów informatycznych w języku UML. A co z systemami, które nie są informatycznymi? Za nim odpowiem na to pytanie warto przypomnieć sobie czym jest system a pomoże mi w tym zestawienie jakie zrobił Robert Gwiazdowski, którego pozwalam sobie zacytować:
Pod pojęciem systemu nauka rozumie zintegrowaną całość, której własności nie są prostą sumą własności poszczególnych części tej całości, istnienie jednak szereg związków i interakcji pomiędzy nimi. (E. Laszlo, Systemowy obraz świata, Warszawa 1978; L. von Bertalanffy, Ogólna teoria systemów, Warszawa 1984) „Doniosłą cechą systemów jest tkwiący w samej ich istocie charakter dynamiczny. Systemy pod względem formy nie są sztywnymi strukturami; ich forma wyraża zmienne, a jednocześnie trwałe przejawy procesów zachodzących w systemach”. (F. Capra, Punkt zwrotny, Warszawa 1987) Funkcjonowanie systemu stanowi rezultat zachodzących w nich pętli sprzężeń zwrotnych polegających na tym, że element A oddziaływa na element B, B na C, zaś C zwrotnie na A. W systemie nie działa linearny łańcuch przyczyn i skutków, lecz zjawisko nielinearnej współzależności.
Z powyższych definicji wynika, że system składa się ze struktur, które zmieniają swój stan – przejawiają zachowanie. Jest to wspólna cecha systemów informatycznych (np.: struktura: klasa, zachowanie metoda, która zmienia stan klasy) i systemów nieinformatycznych (np.: struktura: siłownik, zachowanie: uruchomienie dźwigni, która zmienia położenie – stan -siłownika).
Reasumując skoro UML nadaje sie do modelowania systemów informatycznych to nadaje się także do modelowania wszystkich innych typów systemów ze szczególnym naciskiem na automatykę i robotykę. Nie można też zapomnieć o innych dziedzinach społecznych nie związanych z informatyką, gdzie są stosowane różnej maści systemy (np.: system wynagrodzeń). W obszarach nietechnicznych UML sprawdza się bardzo dobrze przy modelowaniu procesów biznesowych, gdzie także możemy odnotować, że (cytując R. Gwiazdowskiego) element A oddziaływa na element B, B na C, zaś C zwrotnie na A. Co w konsekwencji pozwala sądzić, że w modelach biznesowych (ponownie cyt.) nie działa linearny łańcuch przyczyn i skutków, lecz zjawisko nielinearnej współzależności.
napisane przez Michał Wolski | w kategorii Enterprise Architect, o inżynierii oprogramowania, teksty
piątek 2 paź 2009
Warto wiedzieć, że istnieją na rynku narzędzia CASE, które wspierają inżynierów oprogramowania nie tylko w zarządzaniu wymaganiami, modelowaniu, projektowaniu systemów informatycznych, generowaniu kodu aplikacji, ale również w szacowaniu pracochłonności ich wytworzenia. Jednym z nich jest Enterprise Architect firmy Sparx System, który wspiera estymację pracochłonności wykonania sytemu informatycznego metodą punktów przypadków użycia.
W celu skorzystania z funkcjonalności związanej z szacowaniem pracochłonności, należy podczas tworzenia modelu systemu informatycznego konsekwentnie definiować istotne z punktu widzenia metody punktów przypadków użycia parametry wybranych komponentów, z których składa się model oraz zdefiniowania odpowiednich wartości parametrów dla tej metody.

Rysunek 1. Przeglądarka projektu narzędzia Enterprise Architect i widoczne elementy modelu systemu oceny pracowników: aktorzy systemu i przypadki użycia.
przeczytaj pozostałą część »