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.
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.
Kolejna książka z cyklu "ta wiedza się nie starzeje" a nie starzeje się architektura i wzorce. Tym razem: Component Software: Beyond Object-Oriented Programming (ACM Press), Clemens Szyperski, Published by Addison-Wesley Professional (1998), ISBN 10: 0201178885 ISBN 13: 9780201178883 Autor doskonale opisuje kwestie komponentów, interfejsów, polimorfizm. Zwraca uwagę na często błędne pojmowanie i używanie dziedziczenia w architekturze (!), nie raz wręcz szkodliwe. Zwraca uwagę na aspekty rynkowe koponentowej architektury. jej dużej podatności na zmiany rynkowe. Opisuje rynkowe standardy różnych dostawców, w tym Microsoft, Oracle, OMG. Najciekawsze są prognozy rynkowe, drugie wydanie (reprint) pochodzi z…
Od lat stosuję w swoich analizach i projektach między innymi, diagramy takie jak powyższej. Pomagają one ustalić precyzyjnie wszelkie aspekty i prawne i projektowe w umowach, do czego gorąco zachęcam. Niestety wielu prawników przyjmuje za cel swojej pracy ?obudowanie? paragrafami tego czego żądają od nich w umowach, ich klienci ? dostawcy oprogramowania. Owszem firmy IT płacą prawnikom za to, że Ci chronią ich interes, ale wiele z tych umów to niestety manipulacje i korzystanie z niewiedzy nabywców oprogramowania? nie raz nieznajomość (niezrozumienie) prawa przez dostawców oprogramowania?
Polecam lekturę ciekawej Opinii Prawnej kancelarii Maruta Wachta sp. j.. (dalej odpowiednio Opinia i Kancelaria) na temat MOŻLIWOŚCI I SPOSOBU WYKORZYSTANIA METODYKI AGILE W PROJEKTACH INFORMATYCZNYCH REALIZOWANYCH Z ZASTOSOWANIEM USTAWY ? PRAWO ZAMÓWIEŃ PUBLICZNYCH. Kluczowe pojęcia i definicje Zanim się odniosę do Opinii, najpierw klika słów na temat zwinnego realizowania projektów. Jak rzadko, posłużę się Wikipedią, gdyż pojęcie "metody zwinne" nie ma ścisłej definicji, Manifest Agile zaś jest na tyle ogólny, że nie jest możliwe użycie go jako definicji. Po drugie Wikipedia jest powszechnie przywoływana jako źródło w środowiskach związanych ze…
Tę recenzje książki zacznę nieco inaczej. Swego czasu pisałem, że warto stosować reguły biznesowe w modelowaniu procesów. Zwracałem uwagę na to, że nie ma sensu modelowanie decyzji w BPMN... ... bo to prowadzi do masakrycznej złożoności diagramów. Po drugie w każdym procesie mającym ?w sobie? zdarzenie związane z odpisaniem na pismo musielibyśmy ?narysować? powyższy ciąg czynności. Zarządzanie zmianą w takiej dokumentacji to koszmar. Model procesu powinien zawierać wyłącznie elementarne procesy biznesowe (aktywności z ich wejściem i wyjściem):Proces biznesowy w notacji BPMN z wydzielonymi procedurą i reguła biznesową. Proces biznesowy w…
Tym razem natchnieniem do napisania tego tekstu była krótka dyskusja w internecie i to stwierdzenie jednego z jej uczestników: "...strategia budowana przez Zarząd". Gdyby chciał Pan na tym bazować to w przypadku 90% małych i średnich firm w Polsce bazowałby Pan na niczym. Nawet jeśli któraś z tych firm ma strategię (lub wydaje się jej, że ma) brzmi ona mniej więcej tak: "W najwyższym możliwym stopniu zaspokoić potrzeby klientów przy minimalnych możliwych kosztach własnych". Obaj wiemy, że to nie jest żadna strategia. Trzeba szukać innego fundamentu. Autor tej wypowiedzi ma…
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…
Jak to mawiał mój dawny profesor filozofii: "gdy dwóch mówi to samo to już nie jest samo". To co nazywamy "zwinnym podejściem" to coraz częściej uznanie nieskuteczności metody polegającej na "zbieraniu wymagań" i obrona przed "obiecaniem z góry tego co ma powstać", bo nikt nie wie czym to coś będzie jak już powstanie...(o ile powstanie). Takie głosy pojawiają się coraz częściej, i to nie od wczoraj.... Dzisiaj metody oparte na abstrakcji Takie "pomysły" jak MDA (architektura bazująca na modelowaniu), MDE (inżynieria bazująca na modelowaniu), notacje BPMN, UML, SysML, SoaML i…
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…
Tym razem o logice egzekwowania prawa autorskiego. W artykule o analizie systemowej obszaru praw autorskich prezentowałem między innymi poniższy diagram:

Posłużę sie nim teraz, przy okazji analizy tego czym jest oprogramowanie.
Materialną postać, gdzie wartość ma egzemplarz, ma dzieło takie jak np. rzeźba. Tu pojęcie reprodukcji (kopii oryginału) ma sens. Jednak oprogramowanie, podobnie jak muzyka, proza, poezja, fotografia, jest dziełem niematerialnym. To, że jego egzemplarze są “materializowane” na nośniku oznacza jedynie to, że zostało to dzieło utrwalone. (więcej…)
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…)