W perspektywie krótkoterminowej architektura oprogramowania pomaga zredukować czas i koszty rozwoju.W dłuższej perspektywie architektura oprogramowania pomaga zredukować koszty utrzymaniu. https://medium.com/@learnwithwhiteboard_digest/basics-of-software-architecture-a-guide-for-developers-8098a76881ca Wstęp W 2017 roku pisałem dość ogólnie o logice wzorca architektonicznego MVC kończąc artykuł słowami: A gdzie mityczna baza danych? Tam gdzie jej miejsce: zarządza danymi utrwalanymi w pamięci. Baza danych i systemy zarządzania danymi w architekturze obiektowej nie stanowią miejsca na logikę biznesową, standardowym wzorcem projektowym jest tu active records. Podstawową zaletą stosowanie tego wzorca jest separacja utrwalonych danych od aplikacji. To pozwala skupić całą logikę i jej zmienność w kodzie aplikacji i jego architekturze. Dzięki temu…
Tym razem króciutko: Wczoraj byłem na #digitexpo w Edynburgu (Digit-Expo). Głównie firmy z UK ale też i międzynarodowe: dostawcy urządzeń sieciowych i usług chmurowych. Generalnie widać, że IT idzie w stronę "utility": nie rozumiesz ale używasz bo wiesz do czego to służy (ale nie koniecznie jak działa). Da się zaobserwować to, że producenci dostarczają specjalizowane klocki lego, na targach bardzo mało integratorów (ale było kilku). Kiedyś na pytanie "Co robisz" padła by odpowiedź: "liczę [coś]", dzisiaj w znakomitej większości pada odpowiedź: "używam kalkulatora". Odchodzi czas monolitów, nadchodzi czas powszechnej integracji.…
Myślenie systemowe Najprostsze rzeczy bywają najtrudniejsze w modelowaniu, powodem jest ich "pozorna" prostota. Na wielu uczelniach na świecie zaczęły sie pojawiać studia podyplomowe i szkolenia o wdzięcznym tytule "Myślenie systemowe" (System Thinking, np. to na MIT), ich celem jest kształtowanie myślenia zorientowanego na postrzeganie świata jako systemu czyli mechanizmu złożonego z współpracujących obiektów. Tu pojawia się stosowane w nauce pojęcie "mechanizm" . Po co i kiedy używamy tego pojęcia? "Mechanizmów poszukuje się w celu wyjaśnienia, jak powstaje jakieś zjawisko lub jak działa jakiś istotny proces." . Innymi słowy analizując lub…
Wstęp Temat licencjonowania i wyceny wartości oprogramowania przewija się często w moich projektach. Bywam nie raz proszony o wycenę posiadanego oprogramowania co, jak nie trudno się domyśleć, nie jest proste. Powszechnym zjawiskiem jest zawyżanie lub zaniżanie tej wartości, zależnie od tego do czego wynik wyceny zostanie użyty. Tam gdzie przedmiotem wyceny są posiadane aktywa, wyceny są często zawyżane przez sprzedającego udziały a zaniżane przez ich nabywcę. Bardzo często podejmowane są próby bazowania na cenach transakcyjnych, jednak są to wyceny obarczone przypadkowością, gdyż są to tak naprawdę wyceny spekulacyjne, obarczone wpływem…
Na temat tego jakim uciążliwym długiem technologicznym jest monolityczny system napisano wiele, dzisiaj kolejne dwie ciekawe pozycje literatury: CMMI Compliant Modernization Framework to Transform Legacy Systems oraz Practical Event-Driven Microservices Architecture: Building Sustainable and Highly Scalable Event-Driven Microservices . Pierwsza publikacja opisuje metodę zaplanowania wyjścia z długu technologicznego z perspektywy analizy biznesowej, druga opisuje możliwą realizację techniczną z perspektywy architektury aplikacji i ewolucyjnej migracji z architektury monolitycznej do komponentowej (mikro-serwisy). Czym jest monolit? Jest to system, którego architektura stanowi jeden niepodzielny blok realizujący funkcje biznesowe. Kluczową cechą i zarazem wadą,…
Friedenthal, S., Moore, A., & Steiner, R. (2015). A practical guide to SysML: the systems modeling language (Third edition). Elsevier, MK, Morgan Kaufmann is an imprint of Elsevier. https://www.sciencedirect.com/book/9780128002025/a-practical-guide-to-sysml
Nie używamy notacji BPMN do modelowania tego co się dzieje na produkcji. Skoro nie BPMN to czego używamy? Wprowadzenie Analityczne modele BPMN to łańcuchy aktywności reprezentujących procedury oraz ich produkty czyli dokumenty (dane). Na tych modelach aktywność to abstrakcja reprezentująca (całą) pracę, której efekt (wynik) jest prezentowany jako treść (DataObject), czyli aktywność kopania rowu kończy się pisemnych stwierdzeniem, że rów wykopano, z ewentualnym opisem parametrów tego rowu (patrz specyfikacja BPMN i definicja atomowej aktywności w procesach ). A gdzie dokładny opis machania łopatą albo obsługi koparki? Ten opis to procedura,…
Ontologia jako narzędzie tworzenia "modeli świata", jest bardzo dobrym narzędziem do projektowania danych, zorganizowanych - w łatwe do zarządzania w bazach NoSQL - dokumenty. Wstęp Niedawno napisałem: Czy opracowanie ontologii jest łatwe? Nie, nie jest. Czy zła ontologia szkodzi? Tak, potrafi doprowadzić do fiaska projektu informatycznego. źr.;: Ontologia czyli jak się to robi Po co to wszystko? Obecnie często mówimy o Big Data, czyli o masowo gromadzonych danych. Ich gromadzenie wymaga opracowania struktury ich gromadzenia i zarządzania nimi, bez tego powstanie "stos nieskatalogowanych dokumentów". Proces gromadzenia danych jest stratny, więc…
Wiele problemów w projektach informatycznych, to skutki źle zbudowanej ontologii lub jej braku w projekcie. Niemal co druga firma (46 proc. badanych przez AIIM, 2022) ocenia, że przeciwdziałanie chaosowi informacyjnemu wewnątrz ich organizacji ?wypada słabo? lub ?wymaga poprawy?. Obecnie większość przetwarzanych w firmach treści to treści częściowo lub nawet całkowicie nieustrukturyzowane. Zarzadzanie nimi wymaga nowych metod . [toc] Czym jest ontologia Ontologia jest często nazywana reprezentacją wiedzy. Pozostaje pytanie co jest tu tą wiedzą? Czy wiedzą jest to co oznacza w określonym języki (tu polskim) słowo "samochód", czy wiedzą jest…
Normy ISO, bo o nich będę tu pisał, to przedmiot wielu kontrowersji: zwolennicy i audytorzy namawiają, reszta zaleca rozwagę. Czym są Normy W kontekście norm ISO, słownikowa definicja normy brzmi: norma ?ustalona, ogólnie przyjęta zasada? (https://sjp.pwn.pl/szukaj/norma.html) Normami nazywamy także zbiory zasad. Dla porządku będę używał słowa norma pisanego z małej litery w ogólnym słownikowym znaczeniu (zasada), oraz w formie Norma, pisanego z dużej litery, w rozumieniu tekstu (produktu) komitetu normalizacyjnego. Generalnie stosowanie Norm jest dobrowolne: CZY STOSOWANIE NORM JEST OBOWIĄZKOWE?Nie. Od 1 stycznia 2003 r. nowa Ustawa o normalizacji zniosła…
O książce Książka Real-Life BPMN ma w podtytule: Using BPPMN 2.0 to Analyze, Improve, and Automate process in Your Company. Słowo "automatyzacja" wiele mówi o treści książki ale po kolei. Kilka razy spotkałem się w środowisku analizy biznesowej z tezą, że książka ta jest bardzo przydatna. Niedawno usłyszałem to kolejny raz. Tak więc kilka uwag do treści (mam drugie wydanie ang. z 2014 roku). Zacznijmy od tego, specyfikacja BPMN zawiera taki zapis w rozdz.2.2.1.: As an alternative to full Process Modeling Conformance, there are three conformance sub-classes defined:? Descriptive? Analytic?…
Właśnie skończył się mi instalować upgrade Visual Paradigm v.17. To narzędzie towarzyszy mi od 2005 roku, ale po kolei. W zasadzie od początku swojej kariery w branży IT modele tworzyłem wyłącznie z użyciem sformalizowanych notacji. Kluczowym powodem zawsze były: kontrolowalna poprawność i logika tych modeli oraz standaryzacja. To troszkę jak z matematyką: wiemy, że dwa i dwa to zawsze cztery a do zakomunikowania tego innym używamy standardowej formy zapisu: 2+2=4. W zasadzie z matematyką nie mamy problemu, problemem są schematy blokowe: wielu ludzi uważa, że to tylko obrazki, które można…
Wprowadzenie Tym razem krótka recenzja pewnej książki z roku 2006, a raczej jej polecenie każdemu projektantowi i architektowi dzisiaj. Na końcu polecam także kolejną nowszą pozycję jako uzupełnienie. Adresatami tej recenzji są głównie analitycy i projektanci, jednak adresuję ten wpis także do developerów, zakładam że dla nich nie jest to "coś nowego", ale być może mają jakieś rady dla projektantów. Warto także podkreślić, że pomiędzy OOP a OOAD jest coraz większa różnica i podział na role: analiza i projektowanie oraz implementacja, a także postępująca separacja tych ról, stają się standardem…