Krótki wpis o literaturze dla studentów. Te trzy pozycje, niestety chyba już tylko biblioteki i antykwariaty, polecam uczącym się. W zasadzie drobnych poprawek wymagały wybrane diagramy ale książki te są napisane przez programistów, wiec ich treść ma uzasadnienie i książki te bronią się. Same. Są to: Martin Fowler, UML w kropelce, P.Graessle, H.Baumann, P.Baumann, UML 2.0 w akcji, Joseph Schmuler, UML dla każdego. Do tego zestawu warto dodać UML i wzorce projektowe, C.Larrmana.
Nadal obserwuję to, że model relacyjny i "tworzenie bazowych modeli danych na etapie analizy wymagań" (kanoniczny model danych) trzymają się twardo mimo tego, że nie wiele wnoszą do projektu a narzucają (sugerują) kiepską architekturę aplikacji z jedną relacyjna bazą danych. Co ciekawe zaczynanie od bazy danych jest wręcz zaprzeczeniem zwinności (konieczność ukończenia projektu docelowej bazy danych przed rozpoczęciem kodowania czyli klasyka waterfall, w efekcie betonowanie stanu z dnia rozpoczęcia) mimo, że autorki artykułu piszą o sobie że są agile...) Popatrzmy na to co proponują w tym 2017 roku.: Jeśli w…
W dwóch ubiegłorocznych artykułach pisałem o modelach pojęciowych oraz o związkach w UML. Opisałem je od strony notacyjnej. Dzisiaj o ich zastosowaniu. Generalnie zagadnienia modeli pojęciowych, abstrakcji i metamodeli oraz związków między nimi są dość trudne (wbrew pozorom, większość ludzi ma problem z abstrakcyjnym myśleniem), jako narzędzia są bardzo przydatne w analizie i projektowaniu. Rzecz w tym, że systemy analizowane istnieją, co znaczy ni mniej ni więcej tylko to, że "są dobre bo są i działają". Gorzej jest gdy system, nie raz nietrywialny, jest na etapie projektowania. Wtedy o tym jest "dobry"…
Dość często spotykam sie z tezami, że użycie przypadków użycia nie wymaga modelowania procesów i odwrotnie, albo że są to "narzędzia" oferujące podobne lub takie same korzyści, np. tak jak tu: So, as you can see we used different techniques and basically the result is the same. It was not really important what techniques were used unless solution design is complete. It?s just a matter of a habit so if you?re more comfortable with use cases then stick to them or if you?re more familiar with process maps then draw…
Końcówka roku, wręcz ostatni jego dzień 😉 …
Mając przed oczami kolejny projekt badawczy, kolejny raz gapię się na strony OMG i mała refleksja: porządki dobiegają końca. W artykule o UML v.2.5. wspominałem, że zrezygnowano w końcu z pojęcia “agregacji” (zwanej czasami “słabą kompozycją”), odchodzi się od całkowicie zbędnych związków “extend” i “include” w przypadkach użycia (konstrukcje te nadal pozostają w specyfikacji z uwagi na kompatybilność wstecz narzędzi CASE i dokumentów jakie w nich są nadal tworzone lub archiwizowane). Paradoksalnie specyfikacja UML jest upraszczana (stale tkwi w niej echo pierwotnego zlepku kilku notacji z lat 99-tych). Oczyma wyobraźni widzę jak ktoś, w toku prac nad UML, stale wymachuje “brzytwą Ockhama”…
(więcej…)
#1 - a 3d render series showing change and motion
Wstęp Tym razem o kilku powszechnie popełnianych błędach w korzystaniu z UML. Chodzi o pojęcia abstrakcji, metamodeli i zależności oraz o związki między elementami na diagramach. Kluczową, moim zdaniem, przyczyną tworzenia "złych" modeli obiektowych jest używanie notacji UML do tworzenia modeli strukturalnych, nie mających z obiektowym paradygmatem nic wspólnego. Druga to niezrozumienie pojęcia paradygmatu obiektowego. Ogromna ilość diagramów wykonanych z użyciem symboli notacji UML, z UML i paradygmatem obiektowym ma niewiele wspólnego. Najpierw kilka definicji i pojęć. Paradygmat programowania (ang. programming paradigm) ? wzorzec programowania komputerów przedkładany w danym okresie…
Wprowadzenie Od czasu do czasu jestem pytany czy UML, BPMN, itp.. to notacje czy języki, a padają nawet pytania czy to metody. Otóż metody na pewno nie... (np. mamy dwie metody modelowania procesów biznesowych: z użyciem notacji BPMN i notacji eEPC). A pozostałe dwa? Nie jest to proste. Dzisiaj pójdę może nieco na skróty dlatego wnikliwym polecam lekturę przede wszystkim na temat semiotyki, logiki i rachunku zdań. Problem w tym, że na co dzień, w biznesie też, nie używamy logiki boolowskiej tylko logiki predykatów pierwszego rzędu zwanej rachunkiem zdań, w…
Ten artykuł można czytać na dwa sposoby: analitycy czytają od dechy do dechy po kolei ;). Menedżerowie i tak zwany biznes czytają od razu koniec, to jest część Na zakończenie, gdy uznają, że nie wierzą w te wnioski (wyrok) to zaczynają od początku czyli czytają uzasadnienie :). Niedawno napisałem: Pomiędzy pojęciami abstrakcja i model jest pewna kluczowa różnica: abstrakcja to pojęcie zaś model to opis mechanizmu, jego konstrukcja, działanie, budowa. Prosty przykład: nazwane prostokąty na typowym diagramie struktury organizacyjnej to abstrakcje komórek organizacyjnych i osób w nich zatrudnionych, prostokąty te…
Kolejna odsłona w rozwoju oprogramowania CASE firmy Visual Paradigm. Agile, pierwszych katach churra optymizmu, zaczyna troszkę się krystalizować co zauważył już [[Scott Ambler]] 12 lat temu: książka traktująca o tym, że zwinność nie oznacza bałaganu i pospolitego ruszenia. Scott Ambler to kolejny autorytet w inżynierii oprogramowania. I mimo, że nikogo nie ma sensu małpować, na pewno warto się uczyć? (Źródło: Agile Modeling. Effective Practices for Modeling and Documentation | | Jarosław Żeliński IT-Consulting) Visual-Paradigm to także zestaw narzędzi Agile pozwalających z jednej strony zwinnie zarządzać projektowaniem i projektem (to nie jest…
Cztery lata temu, na zakończenie pewnej polemiki, napisałem: Takie podejście, dziedzinowe działy w firmach ? dziedzinowe podsystemy dla nich, w ogóle umożliwia sprawne działanie. Coraz powszechniejsze staje wydzielanie podmiotów zależnych lub ich wchłanianie. Mając jeden wielki System ERP niemożliwe jest ?proste? wydzielenie zależnej spółki logistycznej czy obsługi HR. Nie raz widywałem prawnicze łamanie głowy jako podzielić licencję ERP na kawałki w przypadku pączkowania lub połączyć przy fuzji spółek. Praktyka pokazuje, że oprogramowanie jest tym lepsze im lepiej odwzorowuje świat rzeczywisty organizacji i firm, a ten nie jest monolityczny. Po drugie…
Prawo autorskie to temat wielu debat ale też i wielu, nie tylko lobbystycznych, "przepychanek". Prawo autorskie ma dwa aspekty: autorskie prawo osobiste (ochrona treści i jej autora) i autorskie prawo majątkowe (prawo dysponowania dziełem), a z ochroną praw autora wiąże się w szczególności pojęcie integralności dzieła. To ostatnie oznacza, że poza samym autorem, nikt nie może ingerować w treść, nawet posiadacz praw majątkowych. Ten ostatni (posiadacz praw majątkowych) ma prawo swobodnego dysponowania dziełem, ale nie ma prawa ingerencji w dzieło jako takie (jest to ochrona autorskich praw osobistych: dzieło musi…
Regularnie obserwuję pewną trudność jaką sprawia wielu ludziom, z jednej strony stosowanie systemów notacyjnych a z drugiej samo modelowanie. Wspólną częścią obu tych obszarów jest abstrahowanie od szczegółów. Praktycznie każdy mój klient i bardzo często, analitycy i projektanci developerów realizujących projekty które nadzoruję, zadają mi pytania: a gdzie zobaczę to, że zamówienie może być dla innego produktu i innego segmentu..... itp. Innymi słowy: na dowolnym etapie pracy padają pytania o bardzo detaliczne szczegóły konkretnych operacji. Co prawda, jak to mawiają "diabeł tkwi w szczegółach", z czym wypada się zgodzić, ale…