Inżynieria systemów oparta na modelach (MBSE) jest sformalizowaną metodologią, która jest używana do wspierania wymagań, projektowania, analizy, weryfikacji i walidacji związanych z rozwojem złożonych systemów. W przeciwieństwie do inżynierii skoncentrowanej na dokumentach, MBSE stawia modele w centrum projektowania systemu. Zwiększone przyjęcie środowisk modelowania cyfrowego w ciągu ostatnich kilku lat doprowadziło do zwiększonego przyjęcia MBSE. W styczniu 2020 roku NASA odnotowała ten trend, informując, że MBSE “jest coraz częściej przyjmowane zarówno przez przemysł, jak i rząd jako sposób na śledzenie złożoności systemu.” W tym wpisie na blogu przedstawiam krótkie wprowadzenie do MBSE.

Modelowanie struktury organizacyjnej – po 12 latach

Wprowadzenie W roku 2013 pisałem: Pisząc recenzję książki Modelowanie biznesowe napisałem, że kompletny model organizacji to: słownik pojęć (Glossary), model struktury organizacyjnej, reguły biznesowe (specyfikacja) oraz model procesów biznesowych korzystający z trzech poprzednich. Całość stanowi dopiero kompletny model organizacji. W Listopadzie ubiegłego roku także pisałem o modelowaniu struktury organizacyjnej. Osobiście uważam, że modelowanie struktury organizacyjnej w UML nie jest dobrym pomysłem. Są do tego prostsze narzędzia, nie przypadkiem te lepsze narzędzia CASE mają do tego dedykowany diagram. Niestety nie ma tu dedykowanej notacji, dlatego bardzo ważne jest by słownik pojęć w modelu zawierał…

Czytaj dalejModelowanie struktury organizacyjnej – po 12 latach

Architektura C4

Wprowadzenie Wpis na LinkedIn: GUI czy DSL, klikanie czy tekst? Co wybierzesz do modelowania? Structurizr ma swój DSL, za pomocą którego opisywana jest architektura a następnie generowane są odpowiednie widoki C4. Text to Model. Z drugiej strony możemy zamodelować strukturę bazy danych w LucidChart albo Miro klikając w GUI. Click to Model. Jeśli mógłbyś wybrać, to którą z tych opcji preferowałbyś do modelowania i dlaczego? Jako devsi jesteśmy przyzwyczajeni do kodowania, stąd DLS structurizra jest dla nas czymś naturalnym. Jedynym problemem jest to, że trzeba się go nauczyć. Tego problemu…

Czytaj dalejArchitektura C4

6:2(1+2) to jeden czy dziewięć?

Wprowadzenie Do dzisiaj nie wiedziałem, że świat od wielu lat jest podzielony na zwolenników tych dwóch różnych wyników. Dowiedziałem się o tym, gdy zupełnie niechcący, po opublikowaniu poniższego mema: rozpętałem burzliwą dyskusje ale tylko z kilkoma osobami. Na końcu artykułu wyjaśnienie dlaczego warto czasem rzucić się w wir takich problemów. Kalkulatory naukowe pokazują "1" i warto sie zastanowić dlaczego. Równania i podstawianie jako metoda Podstawianie to jedna kluczowych zasad w logice i matematyce. Służy to rozwiązywania równań ale także do testowania definicji. Prosty przykład: jeżeli y=2x oraz x=5 to wstawiać…

Czytaj dalej6:2(1+2) to jeden czy dziewięć?

Profil UML vs model i czym są stereotypy

Wprowadzenie Z zamiarem napisania osobnej publikacji o profilowaniu w UML noszę się od kilku lat. Mamy koniec grudnia, czyli więcej czasu dla siebie, więc nadszedł ten moment. Notacja UML to prosty graficzny system notacyjny, co niestety powoduje, że modelowanie wielu ludziom wydaje się proste bo "to tylko prostokąciki i strzałki, każdy tak może i potrafi". Niestety to jest jak pisanie: mamy nieco ponad 20 znaków alfabetu łacińskiego, język i gramatykę, a jednak napisanie czegoś wartościowego nadal jest jednak nie małym wyzwaniem. Nie zmienia to jednak faktu, że przeczytanie cudzego tekstu…

Czytaj dalejProfil UML vs model i czym są stereotypy

Odpowiedzialność cywilna za szkody spowodowane funkcjonowaniem sztucznej inteligencji – uwagi de lege lata i de lege ferenda – Polemika

Wprowadzenie Ukazał się ciekawy tekst: Odpowiedzialność cywilna za szkody spowodowane funkcjonowaniem sztucznej inteligencji – uwagi de lege lata i de lege ferenda - Wydanie - 11/2024 | Palestra . Szczególnie zainteresował mnie zwrot: "szkody spowodowane funkcjonowaniem sztucznej inteligencji". Czym jest "sztuczna inteligencja" (AI, ag. Artificial Intelligence)? Jest to "zdolność komputera cyfrowego lub robota sterowanego komputerowo do wykonywania zadań powszechnie kojarzonych z istotami inteligentnymi.". Prof. Kisielewicz pisze wprost (polecam cały artykuł): ChatGPT nie myśli, nie wnioskuje, niczego nie rozumie i nie jest żadną „sztuczną inteligencją”, o ile termin ten rozumiemy zgodnie…

Czytaj dalejOdpowiedzialność cywilna za szkody spowodowane funkcjonowaniem sztucznej inteligencji – uwagi de lege lata i de lege ferenda – Polemika

Sprzęt, środowisko, aplikacja, mechanizm

Wprowadzenie Bardzo często można w książkach i na blogach spotkać opisy wzorców architektonicznych, wzorców projektowych, dobrych praktyk. Jednak bardzo rzadko autorzy piszą o tym kiedy je stosować. Sam fakt, że jakiś wzorzec "rozwiązuje jakiś problem", co jest celem tworzenia i stosowania danego wzorca, nie mówi nic o tym jak często i kiedy dany problem się pojawia. Komputer może być częścią firmy, samochodu, lodówki, telewizora, może być platformą dla oprogramowania użytkowego albo dla gier komputerowych, ale te - użyte - staja sie częścią tego komputera (gramy na komputerze a nie na…

Czytaj dalejSprzęt, środowisko, aplikacja, mechanizm

Wprowadzenie do modelowania w języku UML czyli dramat Polskiej Nauki

Wprowadzenie Stale śledzę to co świat nazywa "publikacje naukowe". Niestety notuje powolny upadek nauki, w już w branży informatyki postęp tego upadku jest chyba najszybszy. Regularnie czytam, że w Internecie jest łatwy dostęp do dobrej darmowej wiedzy i publikacji naukowych. Popatrzmy co znalazłem: Szynalski, K., & Różański, D. (2022). Wprowadzenie do modelowania w języku UML. Biuletyn Naukowy Wrocławskiej Wyższej Szkoły Informatyki Stosowanej. Informatyka, 9(1), 31–37. https://bibliotekanauki.pl/articles/2146699.pdf To nie tylko "Darmowa wiedza w Internecie" to "publikacje naukowe", a Panowie autorzy pewnie się (mam nadzieję, że nie) doktoryzują (pozakładali sobie numery ORCID).…

Czytaj dalejWprowadzenie do modelowania w języku UML czyli dramat Polskiej Nauki

Diagramy klas UML wg. p-programowanie.pl

Wprowadzenie Od czasu do czasu dostaję emaile rozpoczynające się od słów: "A tu programista i pisze inaczej". Tym razem dostałem od czytelnika link do tekstu Diagramy klas UML https://web.archive.org/web/20240428033730/https://www.p-programowanie.pl/uml/diagramy-klas-uml). Artykuł ten w zasadzie w całości jest lawiną nieprawdy o UML. Odniosę się do części dotyczącej notacji UML i powiązanych z nią fałszywych treści. Wszystkie cytaty pochodzą z ww. artykułu (inne oznaczono, źródłami). Recenzja Artykuł jest datowany na 30 września 2022. Aktualna wersja notacji UML 2.5.1 pochodzi z Grudnia 2017 roku, kluczowe zmiany: rezygnacja z podziału na Superstructure i Infrastructure, usunięcie…

Czytaj dalejDiagramy klas UML wg. p-programowanie.pl

Aby transformacja cyfrowa mogła zakończyć się sukcesem

Wprowadzenie

24 Października 2024 Miała miejsce konferencja Kongres Cyfrowa Transformacja w Biznesie 2024. Zaproszono mnie do wygłoszenia referatu merytorycznego na temat:

Różne podejście do transformacji cyfrowej w obliczu długu technologicznego i systemów legacy. Jak przygotować organizację i jakie zmiany kultury organizacyjnej są niezbędne, aby transformacja cyfrowa mogła zakończyć się sukcesem.

  1. pojęcie długu technologicznego,
  2. czym jest dług informacyjny,
  3. migracja “do nowego” i jak sie do niej przygotować,
  4. zmiany kultury organizacyjnej czyli co to jest “deployment be design” jako metoda wdrażania,
  5. czym tu jest sukces czyli jak go zdefiniować.

Poniżej slajdy z prezentacji i krótkie komentarze do kluczowych omówionych tez. Zapraszam na kolejne moje wystąpienia.

(więcej…)

Czytaj dalejAby transformacja cyfrowa mogła zakończyć się sukcesem
Read more about the article Projektowanie czyli architektura kodu aplikacji c.d.
architektura systemu workflow

Projektowanie czyli architektura kodu aplikacji c.d.

Wprowadzenie

W 2017 roku napisałem referat na pewną konferencję naukową studentów. Artykuł dotyczył architektury kodu. Jedną z ilustracji była ta:

Artykuł kończyłem słowami:

Nie chodzi więc o to by podzielić oprogramowanie na “składowe, które łączą w sobie możliwość przechowywania danych oraz wykonywania operacji”. Chodzi o to by mechanizm, o dowiedzionej poprawności, zaimplementować w określonej wybranej technologii.Chodzi też o to by nie udawać, że programowanie jako “podzielone na obiekty” partie kodu, nadal korzystające z jednej wspólnej bazy danych, różni się czymkolwiek od “strukturalnego kodu”. Chodzi o to by kod programu faktycznie implementował określony (zbadany i opisany) mechanizm. (źr.: Architektura kodu aplikacji jako pierwszy etap tworzenia oprogramowania – Jarosław Żeliński IT-Consulting)

W 2021 roku opisałem Architektoniczne wzorce projektowe w analizie i projektowaniu modelu dziedziny systemu. Artykuł jest ukierunkowany na ich definicje i modelowanie. Tu kilka słów na temat tego “skąd się biorą i po co”.

(więcej…)

Czytaj dalejProjektowanie czyli architektura kodu aplikacji c.d.

Webhook – zwrotne wywołania API

Wprowadzenie Swego czasu opisywałem wzorce projektowe i API (Integracja systemów ERP jako źródło przewagi rynkowej. Projektowanie REST API i scenariuszy). Kluczowym wzorcem jest wzorzec SAGA, czyli sterowanie sekwencją wymiany danych z jednego miejsca. Wzorzec ten to typowy system klient-serwer (usługobiorca-usługodawca) i sprawdza się doskonale, gdy sterowanie z jednego miejsca rozwiązuje wszystkie problemy integracji. Pewnym problem jest tu jednak to, że serwer musi zostać odpytany by klient poznał jego stan, a nie zawsze jest to wystarczające. Opis problemu Wyobraźmy sobie, że mamy system WMS (ang. Warehouse Managements System, zarządzanie magazynami) oraz…

Czytaj dalejWebhook – zwrotne wywołania API

Kto zjadł cały budżet przed czasem, gdzie jest projektant i czy leci z nami pilot?

Wprowadzenie Na LinkedIn rozgorzało kilka dyskusji na temat ról w projektach na etapie zawierania umowy i trakcie jej realizacji (tu jedna z nich). Cały czas jednak moim celem jest szukanie przyczyn poniższego stanu rzeczy: Jak widać, ponad 90% projektów średnich i większych, to projekty problematyczne (w tym ok. w ćwierci to projekty zarzucone przed ukończeniem). Projekty problematyczne to przekroczony budżet i niedotrzymany termin. Standardową przyczyną przerwania prac jest wyczerpanie planowanego (dostępnego) budżetu . Nieskromnie napiszę, że od lat jestem w zielonej kolumnie. Bywam też biegłym i ekspertem audytującym dokumenty projektowe,…

Czytaj dalejKto zjadł cały budżet przed czasem, gdzie jest projektant i czy leci z nami pilot?

Koniec treści

Nie ma więcej stron do załadowania