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.
Wprowadzenie W branży IT dość często mylone są pojęcia dotyczące techniki i technologii. Dobrym więc ruchem było uporządkowanie tego. Na stronie Rady Języka przy Prezydium Polskiej Akademii Nauk ukazała się ciekawa publikacja (jako, że to definicje, które omówię, cytuję w całości) : Definicje podstawowych pojęć związanych z techniką i technologią Komunikat Zespołu Terminologii Informatycznej RJP Nr 2/2021 z 16 czerwca 2021 roku Definicje podstawowych pojęć: {technika|technologia}{informacyjna|przetwarzania informacji|informatyczna|cyfrowa} Wychodząc od zasady, że częścią pojęcia „technika” jest „technologia”, a z kolei w definicji „technologii” należy się odwołać do użytych technik (tzw. definicja rekurencyjna), przedstawiamy zestaw tych definicji.…
Pewna krótka rozmowa Czytelnik: Dzień dobry : ) Co sądzi Pan o tym, żeby publikować swoje codzienne wpisy także po angielsku/niemiecku ? Myślę, że w polskim Internecie ma już Pan duże zasięgi bo dosyć często wyświetlają mi się ciekawostki od Pana, szkoda by było, żeby ten potencjał zmarnował się tylko na klientów z Polski. Co sądzi Pan o tym, żeby publikować we wpisach typy projektów/produktów, gdzie: agile będzie lepszy od super-analityka-projektanta agile będzie gorszy Jarosław Żeliński: Kilka wyjaśnień: agile jest formalnie definiowane jako praca zespołowa koderów i użytkowników, to podejście…
Wprowadzenie Bardzo wiele emocji budzą kwestie styku aplikacji i jej środowiska: mój wpis na LinkedIn "Czy logowanie jest przypadkiem użycia" wzbudził burzliwą dyskusję i wiele kontrowersji. Ten artykuł to opis modelu aplikacji i jej środowiska. Kluczowe pojęcia Pojęcie aplikacja jest definiowane (SJP) jako "komputerowy program użytkowy". Biorąc pod uwagę fakt, że słownikowo "użytkownik" to osoba (użytkownik - osoba lub instytucja użytkująca coś, SJP), aplikacja to "program użytkowy dla człowieka". W specyfikacji notacji UML czytamy: Przypadki Użycia są środkiem do uchwycenia wymagań systemów, tj. tego, co systemy mają robić. Kluczowymi pojęciamiw…
Wprowadzenie Oprogramowanie na obecnym rynku, w ogromnej ilości, nadal stanowią produkty powstałe ponad dwie dekady temu (legacy systems). Znakomita większość powstawała ewolucyjnie. Lata 90-te to bardzo często monolity budowane w oparciu o EJB, JavaEE i nieco później Microsoft .NET. Są to wzorce powstała na bazie relacyjnego modelu danych i skryptów transakcyjnych. "W anemicznym projekcie domeny logika biznesowa jest zwykle implementowana w oddzielnych klasach, które przekształcają stan obiektów domeny. Fowler nazywa takie zewnętrzne klasy skryptami transakcyjnymi. Ten wzorzec jest powszechnym podejściem w aplikacjach Java, wspieranym przez technologie takie jak wczesne wersje…
Wprowadzenie Jednym z większych problemów wielu firm jest zarządzanie produktami, a kluczowym elementem tego procesu jest klasyfikacja produktów: nadawanie im nazw i indeksów oraz kategoryzacja. Wiele firm popełniło błąd generując tysiące indeksów lub tworząc ich mało, ale budując setki ich wariantów. Oba przypadki są szkodliwe dla systemów e-commerce, ERP, magazynowych i sprzedaży, a także potem na etapie wsparcia po sprzedaży. Ogromnym problemem dla wielu firm jest rozróżnianie nowych produktów od ich nowych wersji i wariantów. Do tego dochodzi problem braku kompatybilności opisów w wymianie towarów i usług z innymi firmami.…
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ł…
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 nie ma w przypadku GUI. Ale znowu GUI cierpi z UX gdy dodawane są kontrolki manipulujące elementami (dodaj, usuń, zmień nazwę).
Ja osobiście wolę DSL nawet jeśli potrzebuje czasu by się go nauczyć, ze względu na prostotę podglądu wygenerowanego na podstawie tekstu.
(link do źródła)
Deweloperzy często deklarują: “my wszystko dokumentujemy w modelach C4 a nie w UML, którego deweloper nie używa!” Problem? Modele C4 nie są dokumentacją działania aplikacji, są jedynie opisem jej instalacji. Sam autor (Simon Brown) w swoich publikacjach zaleca dodatkowo UML i ER by udokumentować realizowaną logikę.
(więcej…)
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ć…
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…
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…
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…
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).…