Jarosław Żeliński IT-Consulting
Anonimowy Czat Archiwum Cz.1.
- Jacek : Czy w SAP można używać Preference processing bez GTS ?
- Jarosław Żeliński : Dzień dobry
- Jarosław Żeliński : Jacek: to już techniczne pytanie, z mojej perspektywy jest to problem “po co”, każde wdrożenie które nadzoruje wymaga zawsze dwóch ról: Zamawiający (jego kadry merytoryczne) jako ekspert od swojego biznesu od dostawca jako ekspert platformy którą wdraża (tu konsultant SAP). Na to pytanie można odpowiedzieć nie wcześniej niż po ustaleniu jak wygląda proces biznesowy i najważniejsze: jakie dane (komunikaty biznesowe). Od stronny technicznej to o co Pan pyta to (chyba) opisano tu:
- Jarosław Żeliński : (link się pokazał, prosze szukać w Google na hasło: SAP GTS, Identity-Based Preference Processing)
- Jarosław Żeliński : W dobrze prowadzonym wdrożeniu dostawca ERP pełni rolę dostawcy technologii a nie projektanta rozwiązania, rozumianego jako reorganizacja pracy firmy.
- Jarosław Żeliński : Dlatego metodyka ASAP (metodyka wdrożenia SAP rekomendowana przez SAP AG) zaleca by dostawca ERP opracował Koncepcję Wdrożenia na bazie wymagań Zamawiającego. Jako dostawca technologii nie powinien robić żadnej analizy wymagań u Zamawiającego.
- Jarosław Żeliński : Czy zna Pan te elementy opisu (dokumentacji) SAP? https://www.sap.com/products/financial-management/global-trade-management.html
- AnonimowyCelowo : Organizacja nie ma mapy systemów. Brak wyznaczenia nawet systemów krytycznych. Mimo to, organizacja przystępuje do certyfikacji ISO 27001.
- AnonimowyCelowo : Jak zachować się na spotkaniu certyfikacyjnym, aby nie wykrzyczeć “tu nic nie ma, to tylko ściema!”?
- Jarosław Żeliński : AnonimowoCelowo, niestety to typowe, ja mam często identyczny problem u klientów, dlatego zawsze na początku staram sie pokazać wady organizowania wycieczki nie posiadając planu miasta .. większe wrażenie robi pytanie: czy zdecydujecie sie na wykopy w mieście nie mają mapy instalacji wodnych i elektrycznych pod ziemia?
- Jarosław Żeliński : “Jak zachować się na spotkaniu certyfikacyjnym, aby nie wykrzyczeć “tu nic nie ma, to tylko ściema!”?”… pokazać dlaczego nie dostanę certyfikatu 🙂
- Jarosław Żeliński : do zobaczenia na kolejnej sesji …
- Jarosław Żeliński : Jestem dostępny teraz przez ok. godzinę.
- guest_750 : Wykonawca twierdzi, że audyt kodu i jego udostępnienie nie są możliwe przed rozliczeniem umowy, czy to prawda?
- Jarosław Żeliński : To nie prawda. Generalnie jest to kwestia umowy i roli wykonawcy. Kluczem jest zawsze separacja w umowie ról projektanta i dewelopera (implementacja projektu). Co do zasady projektant zawsze ma prawo nadzorowania i audytu prac podmiotu realizującego projekt. Ważne jest by taki projekt istniał i wcale nie mówimy tu o mitycznym waterfallu 🙂
- guest_8683 : promuje Pan projektowanie i architekture mikro serwisową, co nam to daje, mój deweloper mówi, że to niepotrzebnie podnosi koszty
- Jarosław Żeliński : Udokumentowane architektura i algorytmy to umowa: co ma powstać. W projektach inżynierskich kluczowe jest ryzyko. Dlatego ważna jest treść zawartej umowy: częste i małe płatności, możliwość bezpiecznego zerwania umowy w dowolnym momencie bez kary umownej. Aby to było możliwe architektura MUSI komponentowa i przemyślana. Czy to jest drożej? Praktyka pokazuje, że prawie zawsze taniej.
- Jarosław Żeliński : W dniach 17-19 czerwca prowadzę szkolenie w godz. 9:00-13:30 (CET), w tych godzinach będę niedostępny osobiście, na pytania odpowiem po szkoleniu.
- Jacek : dziękuję za wpisy. Już wiem, że nie musi być wdrożony pełny GTS, a można korzystać z funkcjonalności Preference Processing. W moim przypadku dużej firmy międzynarodowej, jest już wypracowana odpowiedź na pytanie “po co”.
- Jarosław Żeliński : Jarek: kluczem jest pytanie “po co”, bo integracje (zgodność indeksów itp.) zawsze można zrealizować jednym ze standardów w danej branży, SAP jako taki sam z siebie nie jest “standardem”.
- guest_1301 : Gy
- guest_5298 : Dzień dobry, jak to jest z usunięciem dziedziczenia w UML? Czy to nie jest jeden z głównych paradygmatów języków obiektowych?
- Jarosław Żeliński : Dziedziczenie nie jest elementem paradygmatu 🙂 … Paradygmat obiektowy to hermetyzacja, polimorfizm i komuikacja. Jest wiele preze ntacji i publikacji na ten temat, polecam np. tę:
- Jarosław Żeliński : https://youtu.be/wyABTfR9UTU?si=gyPZgUXA8UvCLbHZ&t=298
- Jarosław Żeliński : Wielu ludzi uznało za paradygmat treść podręcznika do C++/Java: kaskady dziedziczenia, kaskadowe kompozycji, a niestety dziedziczenie jest jedną najgorszych technik programowania bo powoduje, że cała aplikacja staje się silnie uzależnionym monolitem drzewa dziedziczenia. “Paradygmat obiektowy to dziedziczenie i łączenie funkcji i danych” to cecha C++/Java a nie paradygmat obiektowy, i jednocześnie antywzorce obiektowe, bo silnie uzależniają wszystko od wszystkiego.
- Jarosław Żeliński : więcej na temat projektowania obiektowego tu:
- Jarosław Żeliński : https://it-consulting.pl/2022/12/19/iconix-c-d/
- Łukasz : Co Pan sądzi na temat SysML v2? Może jakiś artykuł na bloga 😉
- Jarosław Żeliński : SysML v.2. to przede wszystkim rozszerzenie i uporządkowanie integracji z narzędziami CAD/CAM oraz dodane zostaną API/XMI.
- Marek : Witam. Czy wykorzystuje Pan notację Archimate?
- Jarosław Żeliński : Przestałem korzystać z ArchiMate dawno temu bo: nie jest standardem (używa jej coraz mniej firm), jest nadal objęta licencjonowaniem więc trudno planować koszty w długiej perspektywie, nie ma zdefiniowanego XML (standard wymiany) więc modele są praktycznie nieprzenoszalne miedzy różnymi narzędziami, jest bardzo słabo sformalizowana więc walidacja modeli jest bardziej uznaniowa niż formalna.
- Jarosław Żeliński : Dłuższe wyjaśnienie tu: https://it-consulting.pl/2013/12/08/archimate-i-togaf-nie-do-zastapienia/
- Jarosław Żeliński : nieco więcej o tym “do czego jest SysML” tu: https://it-consulting.pl/2020/05/25/sysml-co-warto-przeczytac-i-miec-na-polce/
- Akira : Jak praktycznie udokumentować listę danych używanych przez mikroserwis, który komunikuje się z innymi mikroserwisami w ramach organizacji? Celem jest umożliwienie każdemu, kto ma dokonać zmiany lub dodać nową funkcjonalność, łatwej nawigacji po dokumentacji. Niezależnie od tego, czy jest to osoba z IT, czy z biznesu, chodzi o stworzenie jednego centralnego miejsca, które zawiera znaczenie biznesowe oraz reguły biznesowe (lub linki do nich). Istnieje wiele standardów, ale nie zna
- Akira : , ale nie znam framework spinajacy całość opisany ludzkim jezykiem. Nikt nie neguje celu, ale kazdy ma swoj silo framework (UML do procesów, Data Model do semantyki, API do interface). Tak sobie wyobrażam jeden standard spinający to wszystko.
- Akira : Nawet nie chcę ile godzin spotkan jest marnowanych tylko po to by zrozumiec cos co jest “tribal knowledge ” i ile doskonalych pomysłów upada lub ciągnie sie miesiącami bo samo znalezieie wspolnego jezyka wymaga “refinements, spike, alignment ” czy innych magicznych rytuałów, zamiast sobie poczytac. Idealny swiat bylby gdyby jedna architektuta byla opisana i udokumentowana ale nie ma tego. Są checi by to naprawic. Co Pan sugeruje?
- Jarosław Żeliński : Akira: generalnie mikroserwis to komponent, żadna magia a tylko nowe słowo. Czyli mikroserwis jest to komponent, który ma swój interfejs, moze też korzystać z innych komponentów (a konkretnie z dostępnych dla niego interfejsów). Tu pojawia sie problem: wywołalnia. Albo są to proste wywołania do prostych API, które pobierają pojedyncze wartości, albo ta komunikacja jest zorganizowana w komunikaty. Wariant pierwszy to najgorsza i najczęściej stosowana forma (API budowane na polec
- Jarosław Żeliński : Akira: rozwiązaniem jest architektura oparta na komunikatach, które dla człowieka są po prostu “dokumentem” (JSON/XML). Wtedy można: mieć katalog tych komunikatów, mieć ich semantykaę i reguły walidacji. Cała architektura udokumentowana w UML w postaci “ładnej” e-ksiązki w PDF. tego PDF generujemy (aktualizujemy) z narzędzia CASE w ciągu sekund po każdej modyfikacji. “Idealny swiat bylby gdyby jedna architektuta byla opisana i udokumentowana ale nie ma tego. Są checi by to napra
- Jarosław Żeliński : ups… widze, że obcina zbyt długie komentarze.
- Jarosław Żeliński : to co ucieło: budowanie integracji na pojeceniach get/set to najgorsza forma bo silnie uzależnia, “naprawienie” to tworzenie projektu na bazie komunikatów, dokumentacja HLD i LLD budowania na komuninkatach jest możłiwa, bardzo pomaga,
- Jarosław Żeliński : Ciekawą wiadomość prywatną dostałem na LinkedIn: “Panie Jarku, ceny jako kryterium boją się dostawcy, bo wtedy musieliby by precyzyjnie napisać co konkretnie oferuję. Boi się też biznes, bo musiał by napisać co konkretnie chce. A tak to biznes, który nie wie (lub ukrywa) czego chce zawiera umowę z dostawcę, który nie wie co dostarczyć, i tak to sie kręci. Problem w tym, że ja jako Prezes za płacę, i dlatego do Pana pisze.”
- guest_3401 : Dlaczego diagram DFD jest postrzegany jako oldschool i obecnie używa się diagramu przypadków użycia w celu wykonania diagramu kontekstu systemu?
- guest_3401 : Dlaczego używanie DFD do diagramu kontekstu systemu jest postrzegane jako przestarzałe i obecnie powinno używać się diagramu PU?
- Jarosław Żeliński : Diagram DFD to narzędzie metod strukturalnych, tak powstawały i systemy monolity. Jednak diagramy DFD to nie koniecznie “jedna baza danych”. Problemem jest to, że w DFD to model budowany z pojęć “proces-dane”. Tak można opisać ideę systemu ale nie system. Diagramy PU to opis systemu jako czarnej skrzynki: “kto i do czego używa systemu.
- Jarosław Żeliński : c.d. developer oczekuje informacji o tym co ma dostarczyć (wymagania wobec oprogramowania) a nie o tym “jak działa Wasza firma”, dlatego będzie preferował PU.
- guest_3401 : Czy są jakieś opracowania, które pokazują przestarzałość DFD? Jakieś źródła wskazujące na PU? Disclaimer: u mnie developerzy nawet PU nie lubią. Wolą user story.
- guest_7308 : Dzień dobry, w na diagramie sekwencji UML można przedstawiać metodę jako ‘Control object’?
- Jarosław Żeliński : Kiedyś co nieco o tym pisałem https://it-consulting.pl/2020/05/24/diagram-przeplywu-danych-jako-pogladowy-model-systemu/. Deweloperzy często wolą user story, bo odtwarzają je w kodzie, a cała odpowiedzialność za efekt spada na biznes, to najprostrza i niestety najgorsza metoda tworzenia oprogramowania.
- guest_7308 : Dzień dobry, czy na diagramie sekwencji można przedstawiać metodę jako uczestnika interakcji w postaci ‘control object’?
- Jarosław Żeliński : A co to takiego ‘Control object’?
- Jarosław Żeliński : Metoda to algorytm wywoływany jako jego nazwa (operacja)
- Marcin : Panie Jarosławie, na bazie doświadczenia, jestem ciekawy jakie inicjatywy uznaje Pan za największą porażkę i jakie lekcje z nich wyniósł?
- Jarosław Żeliński : Na diagramie sekwencji nie ma metod, są nazwy operacji i ich parametry.
- Timothy_71 : Co by Pan odpowiedział na te wszystkie zarzuty, że większość Pana projektów opiera się o sektor publiczny gdzie dostępne są ustawy, rozporządzenia i konkretne wytyczne, a gdyby wszedł Pan w przeciętną spółkę z sektora prywatnego gdzie monolityczne systemy legacy z 20letnim długiem informacji jak i technologii zarzynają same siebie to nie wiedziałby Pan gdzie Rzym, a gdzie Krym?
- Jarosław Żeliński : Marcin: o jakie inicjatywy chodzi :)?
- Jarosław Żeliński : “Co by Pan odpowiedział na te wszystkie zarzuty, że większość Pana projektów opiera się o sektor publiczny “
- Jarosław Żeliński : Co by Pan odpowiedział na te wszystkie zarzuty, że większość Pana projektów opiera się o sektor publiczny , że są wyssane z palca, sektor publiczny to może 20% moich projektów . Problem w tym, że nie mogę o nich zbyt wiele pisac bo zawsze mam NDA.
- Analityk_kuein : Dzień dobry Panie Jarku. Przychodzę z tematem “narzędziowym”, na swoim blogu oraz LI zaznacza Pan, że do prowadzenia dokumentacji analitycznej wykorzystuje Pan Visual Paradigm (VP). Mam pytanie dlaczego wybór padła akurat na VP, a nie inne narzędzie (np.: Enterprise Architekt)? Czy mógłby Pan wskazać zalety VP w stosunku do innych narzędzie ? Ps. Pozdrawiam, smacznej piątkowej kawusi.
- Analityk_kuein : Dzień dobry Panie Jarku. Przychodzę z tematem “narzędziowym”, na swoim blogu oraz LI zaznacza Pan, że do prowadzenia dokumentacji analitycznej wykorzystuje Pan Visual Paradigm (VP). Mam pytanie dlaczego wybór padła akurat na VP, a nie inne narzędzie (np.: Enterprise Architekt)? Czy mógłby Pan wskazać zalety VP w stosunku do innych narzędzie ? Ps. Pozdrawiam, smacznej piątkowej kawusi.
- Jarosław Żeliński : “gdyby wszedł Pan w przeciętną spółkę z sektora prywatnego gdzie monolityczne systemy legacy z 20letnim długiem informacji jak i technologii zarzynają same siebie to nie wiedziałby Pan gdzie Rzym, a gdzie Krym?”. średnio raz na kilka lat mam projek nadzoru wychodzenia z takiego monolitu, niestety bronią ich ich autorzy czyli zespolyJavaEE
- Jarosław Żeliński : “jakie inicjatywy uznaje Pan za największą porażkę i jakie lekcje z nich wyniósł?” jeżeli to pytanie o moje inicjatywy, to mam jedna nauczkę: nigdy nie łam wałsnhych zasad.
- Jarosław Żeliński : “Mam pytanie dlaczego wybór padła akurat na VP, a nie inne narzędzie (np.: Enterprise Architekt)? Czy mógłby Pan wskazać zalety VP w stosunku do innych narzędzie ? Ps. Pozdrawiam, smacznej piątkowej kawusi.” Bo EA SPARX: nie ma edytora tektu, nie jest w pełni zgodny z UML/BPMN (np. nie mozna na jednym diagramie umieścić czegoś dwa razy, DataObject nie ma statudów itp.) .. jest masakrycznie nieergonomiczny
- Jarosław Żeliński : mam porównanie w projektach (wiele firm używa EA SPARC): to co mi zajmuje (rysowanie i generowanie dokumentacji) minuty w EA SPARX nie raz godziny.
- Jarosław Żeliński : wersję, polską kontrole ortografii, to znaczy, od wielu lat nie używam dopisania analiza żadnych edytorów tekstu, 100% powstaje w VP, dlatego utrzymanie i aktualizacja dokumentacji na 100-200 stron to zajmuje mi kwadranse a nie dni
- Analityk_kuein : “dlatego utrzymanie i aktualizacja dokumentacji na 100-200 stron to zajmuje mi kwadranse a nie dni”
- Jarosław Żeliński : “gdyby wszedł Pan w przeciętną spółkę z sektora prywatnego gdzie monolityczne systemy legacy z 20letnim długiem informacji jak i technologii zarzynają same siebie to nie wiedziałby Pan gdzie Rzym, a gdzie Krym?”. Tak sie składa, że sektor prywatny, to 80% moich projektów, ale klienci z reguły wpisują mi zakaz dodawania ich do listy referencyjnej bo ja najczęściej, nadzoruję drugie podejście, po innych firmach, nie raz tych dużych i znanych.
- Timothy_71 : Czy pozdrowi Pan Arka, Krzyśka, Marcina i Grześka – 4 analityków, którzy śledzą Pana wpisy na blogu i czytają książkę, a przede wszystkim bardzo cenią krytyczne podejście do przepompowanego rynku pt. “sekta Agile”
- Timothy_71 : Czy uważa Pan, że “bańka IT” która urosła w ostatnich latach przez obniżenie progu wejścia do branży software development w końcu pęknie? I jeśli tak to co będzie tym waterloo i kto się ostanie?
- Jarosław Żeliński : Dziękuję :). Słowo “sekta” w stosunku do wyznawców agile to nie mój pomysł 😉
- Jarosław Żeliński : “Bańka IT” to ciekawe zjawisko. Coraz częściej spotykam się z porównaniami IT do Prawników. IT i Prawnicy: klient nie rozumie ich pracy, zawsze fakturują i nigdy nie oddają pieniędzy, nie rozumieją tego o czym piszą. Ja osobiście widzę dwa scenariusze: udane projekty pokazują, że można taniej, szybciej i lepiej więc tam gdzie to odkryto zwalniani sią nadmiarowi koderzy. Drua wersja: projektantów oprogramowania jest mało, wieć zawsze będa niszą, reszta “robi jakpotrafi” cz
- Analityk_kuein : W nawiązaniu do rozmowy, która właśnie wywiązała się na czacie i krytycznego podejścia do wyznawców agile, w jaki sposób wyobraża sobie Pan idealnie prowadzony projekt?
- Jarosław Żeliński : c.d. Od dekad utrzymuje się stan faktyczny jakim jest to, że 90% to wtopy, znamy przyczyny: źle zaprojektowane systemu. Rzecz w tym, że projektanta powinien zatrudniać inwestor a nie deweloper, a to napotaka wielki opór u deweloperów.
- Jarosław Żeliński : “w jaki sposób wyobraża sobie Pan idealnie prowadzony projekt”? Tak jak opisano to prawie 30 lat temu: https://it-consulting.pl/2022/12/19/iconix-c-d/ to działa doskonale…. ale jest tudne.
- guest_7838 : jakiś czat badziew Panu tu zainstalowali na tej stronie, kto to projektował i weryfikował ?
- Jarosław Żeliński : Podam przykład (sory ale public): Generator Ofert (system zbierania i procesowania wniosków o dotacje dla Polonii z całego świata)? 1. analiza i projektowanie jedenmiesiąc, 2. dewelopement pod moim nadzorem, 7 miesięcy, 3. łaczny koszt do pełnego oddania w temrkinie to ok. 700 tys. 4. apliakcja (dokumetacja) pozwoła na dwukrotną zmianę dewelopera, a potem szybkie odtworzenie apliakcji w innym środowisku i pełną migrację danych. Pewien lider polskiego rynku oferował za pierwszy et
- Jarosław Żeliński : “jakiś czat badziew Panu tu zainstalowali na tej stronie, kto to projektował i weryfikował ?” myslę, że jakis koder 😉
- ArekJ : Jak podejść do tematu wymiany obecnego rozwiązania, które musi być wymienione ze względów bezpieczeństwa?
- ArekJ : Jak podejść do tematu wymiany rozwiązania, które musi być wymienione ze względu na wymogi bezpieczeństwa? Stare rozwiązanie jest sprzed kilkunastu lat, nie posiada żadnej dokumentacji i musi być zastąpione czymś nowym wspierającym aktualne standardy bezpieczeństwa i najlepiej chmurowym. Jak to ugryźć?
- Jarosław Żeliński : “Jak podejść do tematu wymiany obecnego rozwiązania, które musi być wymienione ze względów bezpieczeństwa?” w zasadzie każda migracja ze starego systemu do nowego to zaprojektowanie nowego, wykonanie go i migracja. Wyzwaniem jest płynne robienie tego, czyli dobra architektura HLD nowej apliakcji i jej iteracyjne wdrażanie.
- Jarosław Żeliński : ” Stare rozwiązanie jest sprzed kilkunastu lat, nie posiada żadnej dokumentacji i musi być zastąpione czymś nowym wspierającym aktualne standardy bezpieczeństwa i najlepiej chmurowym. Jak to ugryźć?”.. Robiłem to już kilka razy: należy na bazie dokumentów i rozmów odtworzyć logikę biznesowa jaką realizuje stary system, zaprojetować nowy i zmigrować. Przeciętnie zajmuje to 2-4 lata.
- Jarosław Żeliński : Co do migracji z legacy system polecam np. tę ksiązkę: https://it-consulting.pl/2022/10/01/architektura-zorientowana-na-mikroserwisy-i-sterowanie-zdarzeniami/
- Jarosław Żeliński : c.d. Generator Ofert.. Pewien lider polskiego rynku oferował za pierwszy etap ponad 10 mln, i 3 lata.
- ArekJ : Przy dużym na pewno. Tutaj na szczęście mówimy o niewielkim rozwiązaniu realizującym pewną określoną grupę funkcjonalności
- Jarosław Żeliński : “Przy dużym na pewno. Tutaj na szczęście mówimy o niewielkim rozwiązaniu realizującym pewną określoną grupę funkcjonalności”.. czyli szybciej 🙂
- Łukasz : ” Bo EA SPARX: nie ma edytora tektu” – to akurat jest nieprawda, ma i działa to analogicznie jak w VP 😉
- Jarosław Żeliński : ” Bo EA SPARX: nie ma edytora tektu” – to akurat jest nieprawda, ma i działa to analogicznie jak w VP ;)…. hm… to co mi pokazano w SPARX nie potwierdza tego 🙂 …
- Jarosław Żeliński : Edytor VP działa jak każdy swobodny edytor RTF, niktórzy moi studenci napisali w nim prace dyplomową co oszczędziło im mase czasu, ja używam VP do pisania wszystkich publikacji, ale może czegoś nie wiem.. 🙂
- Jarosław Żeliński : ale niestety ograniczenia notacyjne i słaba ergonomia, brak polskiej wersji językowej, brak pracy grupowej skutecznie mnie od EA odstraszają
- Łukasz : https://m.youtube.com/watch?v=o6StZk0Qomw Sparxie działa to analogicznie
- Łukasz : 😉
- Jarosław Żeliński : Ten link to generator raportów a nie edytor, VP taki ma i z nie wychodzi
- Jarosław Żeliński : w kwestii pracy grupowej w VP polecam to co powoduje, że od wielu lat niemalże w 100% pracuję zdalnie: https://it-consulting.pl/czym-pracuje-czyli-visual-paradigm/visual-paradigm-postmania-przewodnik-dla-recenzentow/
- Jarosław Żeliński : Tu można zobaczyć prace z VP https://it-consulting.pl/2020/12/11/analiza-biznesowa-od-zlecenia-do-kompletnego-projektu-technicznego-z-uzyciem-narzedzia-case/#nagranie
- Łukasz : Co do pozostałych wad Sparxa się zgadzam i też je widzę i muszę z nimi żyć 😉
- Łukasz : Na pewno widzę jedną przewagę nad VP – VP ma design UI jak programy z lat ’90 😀
- Jarosław Żeliński :
- Jarosław Żeliński : “Na pewno widzę jedną przewagę nad VP – VP ma design UI jak programy z lat ’90 :D”
- Jarosław Żeliński : bo taka skórkę sobie wybrałem (VP ma skórki do wyboru)
- Jarosław Żeliński : EA trzyma elementy modeli w relacyjnym modelu danych czyli 1972 rok, i brak możliwości umieszczania jednego elementu więcej niż raz na jednym diagramie.
- Jarosław Żeliński : w narzędziach CASE liczy się: ergonomia, wymienność modeli z innymi (zgodność z XMI), pełna zdolność z notacjami, integracja narzędziami IDE, lokalne wersje językowe i wielojęzyczność (dokumentacja biznesowa musi być w lokalnym języku). Praca grupowa i zdalna (stała rejestrowana komunikacja z biznesem i innymi członkami zespołu). To nie jest spór 😉
- Tomasz : Dzień dobyr,
- Tomasz : Jak rozmawiać z biznesem nt. rozwiązań IT. Nie posługiwać się żargonem technicznym z bańki IT to wiadomo. Pytanie jakie argumenty najlepiej i najczęściej trafiają? Często nowszy (upgrade) lub nowy (dodatkowy) system IT nie przyniesie korzyści od razu i nie zawsze będą one bezpośrednie. Jak wtedy wykazywać albo próbować oszacować ROI lub korzyści niepoliczalne?
- Justyna : Jestem ciekawa Pańskiej opinii na temat wdrażania systemu WMS, zastępującego cześć procesów obecnie wspieranych przez system ERP. Czy komunikacja związana z automatyzacją magazynu (sortery, transportery, systemy magazynowania i kompletacji) realizowaną przez zewnętrznych dostawców powinna pozostać po stronie systemu ERP czy wpełni oddana pod zarządzanie nowemu systemowi WMS?
- Jarosław Żeliński :
- Jarosław Żeliński : ucina …
- Jarosław Żeliński : Justyna: ERP ma sens jako FK, zakupy, środki trwałe, magazyny ale raczej nie jako zarządzanie położeniem towarów w magazynie czy programem lojalnościowym w e-sklepie
- Jarosław Żeliński : Tomasz: nie da sie połączyć rozmów biznesu z IT… Oszacowanie ROI/NPV inwestycji w oprogramowania wymaga istnienia projektu tego oprogramowania.
- Jarosław Żeliński : Justyna: “Czy komunikacja … powinna pozostać po stronie systemu ERP czy w pełni oddana pod zarządzanie nowemu systemowi WMS?”. Żaden z mnich bo obie strony mają konflikt interesu. Zarząd firmy (inwestor w IT) powinien mieć po swojej stronie projektanta całości nadzorującego całość nie będącego “strona” w sporach o zakres
- Justyna : A jeśli ERP jest systemem własnym i rozwijanym przez wewnętrzny zespół/spółkę siostrę?
- Jarosław Żeliński : Justyna: nie ma to znaczenia, robi sie integrację.
- Jarosław Żeliński : Taki ERP oraz zewnętrzny WMS powinny mieć API i należy opracować scenariusze wymiany dokumenów i potem to wdrożyć.
- Jarosław Żeliński : Justyna: nie da sie na jednej współdzielonej bazie i relacyjnym modelu danych, zbudować funkcjonalności z wielu różnych dziedzin.
- Jarosław Żeliński : Tu wyjasnienie: https://it-consulting.pl/zamow/architektura-korporacyjna-opis-struktury-modeli-i-sladowania/
- Justyna :
- guest_6123 : Współpracuje Pan ze startupami? Jeśli tak to w jaki sposób? W startupach często jest tylko mglista wizja tego jak coś ma działać i ciągłe zmiany.
- Początkująca : Dzień dobry,
- Początkująca : Dzień dobry, zaczynam swoją przygodę z analizą biznesowo systemową. Jaką roadmape Pan proponuje, aby faktycznie dobrze projektować systemy, Anię chodzić na bezsensowne spotkania? Pozdrawiam
- Jarosław Żeliński : Tak, współpracuję ze start-upami, najczęściej jest to wsparcie projektowania i dokumentowania aplikacji, a także testy “na sucho” (makiety i symulacje logiki działania aplikacji). Pomagam im także zadbać o to, by prawnicy nie kwestionowali zdolności do ochrony prawem autorskim.
- Jarosław Żeliński : Początkująca: zebrałem zestaw kluczowych artykułów i modele pracy analitka w jeden “e-book”. jest dostępny tu: https://jaroslawzelinski.biz/asp-products/brief-analityka-biznesowego/
- guest_2729 : Dzień dobry, na diagramie klas UML można wyróżnić: Boundary Classes, Control Classes, and Entity Classes. Czym są te ‘Control Classes’ i czy mogą być Uczestnikami diagramu sekwencji UML?
- Jarosław Żeliński : BCE (Boundary, Control, Entity) to wzorzec bazujący na “odpowiedzialności klas”. Są to klasy (typy) w modelach LLD. Sa zarówno na modelach architektury jak i na modelach pokazujących zachowanie systemu: w tym diagramy sekwencji.
- Jarosław Żeliński : Boundary to klasa reprezentująca wymianę danych komponenty z otoczeniem. Control to klasa realizująca logikę, Entity to klasa przechowująca (to ona ma operacje CRUD).
- Jarosław Żeliński : Łączenie w jednym obiekcie “funkcji i danych” to niestety jedna z najgorszych praktyk, dlatego od trzech dekad można spotkać wzorce projektowe separujące logikę od danych. BCE to jeden z takich wzorców, DDD podobnie.
- Jarosław Żeliński : Projekt zawierający przykłady modeli z klasami BCE, diagramami HLD, LLD, sekwencji https://jaroslawzelinski.biz/asp-products/biblioteka-analiza-i-projekt-systemu/
- guest_2473 : Może Pan polecić sprawdzone Software house’y, które zrozumieją i docenią przygotowaną dokuemntację wedle której będą mieli stworzyć oprgoramowanie?
- Jarosław Żeliński : Dobre software housy, są (ale mała) ale ciekawe, że to ONI mi wpisują do umów zakaz podawania informacji o współpracy z nimi. Problemem nie jest to, że nie potrafią czytać bo potrafią (pojęcie klasy i komponentówy zna każdy koder). Problemem jest to, ze taka dokumentacja odbiera im władzę nad projektem (ale dokumentacja MUSI być dobra, czyli projekt musi być możliwy do implementacji, bo niestety masa znanych mi diagramów UC i klas to dla kodera śmieci)
- Jarosław Żeliński : ale np. ten deweloper nie wpisał mi zakazu publikacji ich nazwy https://nekken.pl/
- guest_6282 : Panie Jarku serdeczne pozdrowienia od Arka, Krzyśka, Grześka i Marcina – 4 analityków którzy czekają na ostateczne rozjechanie kolorowych Scrum-Karteczek-Miro-Agilowców!
- temacik : Panie Jarku jak podejść do analizy w projekcie, który został wielokrotnie porzucany? Jak najlepiej podchodzić do aktualizacji analizy?
- Jarosław Żeliński : 6282: dziękuje 🙂
- Jarosław Żeliński : temacik: To dobre pytanie, generalnie dokumentacja “tego co jest” nieaktualizowana przez rok, najczęściej jest już makulaturą, no chyba że świat zamrożonono na tok 😉 … To częsty problem w firmach, które nie mają na stałe kogoś kto nad tym panuje. W zasadzie jest to od pewnego czasu moja oferta i mam kilku klientów: 150GBP/m-c kosztuje ich zarządzanie taką dokumentacją (jest ona zawsze aktualnym opisem firmy). Każdorazowe robienie dedykowanych analiz “pod projekt” w obecnych
- Jarosław Żeliński : Każdorazowe robienie dedykowanych analiz “pod projekt” w obecnych nie ma sensu bo jest kosztowne i ryzykowne.
- Waldek : Mam zagwozdkę bo musze zaproponowac template uniwersalny pod dokumentowanie przepisywania raportów z jednej na inna technologie Do tej pory tego nie robili devovie i jest spory bajzel Czy zestaw: Source attributes – mapping – Target attributes BE – Target Attributes FE – Priority – Joiners – Country -> będzie wystarczający aby opisywać raporty. Co by Pan dodał do tego zestawu ?
- Jarosław Żeliński : No to jest Pan w sytuacji dość typowej ;). Dokumentowanie raportów to najczęściej: – opis procesów ETL zasilania hurtowni danych – opis generowania tych raportów z tej hurtowni (jak z kostek analitycznych wygenerować treść raportu) Co do “potrzeb raportowych” to jest to (powinna być) w firmie jakiś określony zestaw wskaźników opisujacych działalność. Takie potrzeby zgłasza adresat tych raportów.
- Jarosław Żeliński : Narzędzia dobieramy na samym końcu a nie na początku.
- Jarosław Żeliński : Po drugie raportowanie bezpośrednio z relacyjnej bazy transakcyjnej to zły pomysł…
- Waldek : Jaką alterantywę Pan widzi
- Waldek : Na pewno formatowanie pol, bo to przyszło do glowy po jakims czasie – trzebaby dodać
- Jarosław Żeliński : Alternatywa jest zawsze zbudowanie dedykowanej bazy raportowej, ale może tych raportów jest mało a ich generowanie nie jest zabójcze dla bazy danych i serwera, wtedy może mieć sens każda “nakładka” ma te bazę, jednak pojawia sie problem, kto zrobi mapowanie tabel relacyjnych na obiekty biznesowe do raportów.
- Waldek : Na technologię już wybraną nie mam wpływu. Źródła są przeróżne od ETL’i przez SQL i pliki płaskie po rest API
- Jarosław Żeliński : To znaczy, że należy opracować model pokazujący jak źródłowe pliki i formaty są doprowadzane do postaci “zdatnej do raportowania”, tu akurat mogą się przydać diagramy DFD.
- Waldek : To rzeczywiście chyba jedna z niewielu mozliwosci
- Jarosław Żeliński : Generalnie najpierw sugeruję udokumentować (opracować pomysł) jak to zrobić (dane źródłowe i ich kolejne przekształcenia) a potem dopier cokolwiek robić na jakiejkolwiek platformie czy narzędziu. Wtedy wszelkie problemy wyjdą na etapie analizy i projektowania na na etapie kosztownego dewelopmentu.
- Jarosław Żeliński : Uzupełnią artykuł o DFD i dam znać
- Waldek : Dziękuję serdecznie
- Jarosław Żeliński : zaktualizowany artykuł: https://it-consulting.pl/2020/05/24/diagram-przeplywu-danych-jako-pogladowy-model-systemu/
- guest_7771 : Obecnie architektura kaskadowa złożona z trzech aplikacji. Po zmianach struktura zostanie uproszczona do dwóch aplikacji, gdzie nowa (w chmurze) pierwsza aplikacja zastąpi dwie pierwsze aplikacje ze starej architektury. 1)Jakie elementy dokumentacji (np. rodzaje diagramów) uznaje Pan za konieczność?
- guest_7771 : 2)Jak podszedłby Pan do analizy projektu, jeśli udokumentowane jest około 20% funkcjonalności obecnych aplikacji i brak jest innych dokumentów np. regulaminów?
- guest_7771 : Obecnie architektura kaskadowa złożoną z trzech aplikacji. Po zmianach struktura zostanie uproszczona do dwóch aplikacji, gdzie nowa pierwsza aplikacja zastąpi dwie pierwsze aplikacje ze starej architektury. Nowa aplikacja będzie w chmurze. 1)Jakie elementy dokumentacji (np. rodzaje diagramów) uznaje Pan za konieczność?
- guest_7535 : Jak z analityka biznesowego rozwinąć skrzydła w analizie systemowej- jakieś rady, aby dobrze wykorzystać czas nauki?
- Jarosław Żeliński : 7771. Liczba aplikacji na znaczenie drugorzędne liczy się liczba dziedzin (sprzedaż, reklamacje, produkcja, itp..). Co do analizy to mamy dość ugruntowane na świecie “zalecane podejście”: model procesów biznesowych, z niego wywodzimy potrzeby czyli to jakiś usług wymagamy od aplikacji, każda z tych usług to jakaś logika, algorytmy a każdy dokument (formularz) to struktura i walidacja zawartości. To absolutne minimum. Deweloper implementuje to (formularze, algorytmy, walidacje, c
- Jarosław Żeliński : …czyli wymagany mechanizm działania aplikacji)
- Jarosław Żeliński : To czy będzie w chmurze nie ma (nie powinno mieć) żadnego znaczenia dla funkcjonalności.
- Jarosław Żeliński : 7535: ćwiczyć projektowanie systemów 🙂 … https://it-consulting.pl/2022/12/19/iconix-c-d/
- TB : Czy w modelach analitycznych w BPMN każdy task musi wytwarzać jakiś obiekt danych? Czy może też referować do jakiegoś obiektu danych?
- TB : I drugie pytanie w tym samym kontekście – czy każdy task powinien być przypadkiem użycia?
- Jarosław Żeliński : TB: a czym się różni “wytwarzać” od “referować do”?
- Jarosław Żeliński : TB: “czy każdy task powinien być przypadkiem użycia?” nie, wiele tasków może być realiozwnaych z pomoca jednego UC: np. cały proces wytworzenia faktury (nowa, sprawdź, zatwierdź) to ten sam UC.
- Zniesmaczony : Czy jest jakikolwiek sposób na przeforsowanie w korpo pomysłu, aby nie robić warsztatów, event stormingow itd? Każdy mój argument jest odrzucany, a potem muszę prowadzić warsztat 20 osobowy, ma którym nikt nic nie wie. Jak zapytasz o jakiś dokument, to go nie ma – po 3 warsztatach magicznie jest i okazuje się że rozwiązałby wszystkie problemy. Przez takie warsztaty nie widać całego problemu do rozwiązania, ponieważ: “Tego nie ruszamy na razie, skupmy się tylko na tej części,
- Jarosław Żeliński : Zniesmaczony: tak, jest sposób, stosują go moi klienci: 1. dewelopment jest odcięty od analizy i projektowania (logiki). 2. przed kodowaniem musi powstać dokument pozwalający na ochroną prawno autorska i know-how.
- Jarosław Żeliński : dewelopment pracuje pod nadzorem projektanta, z uwagi na to, że to budzi w firmach wiele emocji, analiza i projektowanie sa poza IT albo z poza firmy.
- TB : JŻ, dziękuję za odp. na pyt2. Co do pyt1, wg mnie wytwarzać = powodować powstanie obiektu, referować do = odnosić się do zawartości obiektu, np. regulaminu
- Jarosław Żeliński : BPMN to nie kodowanie. w BPMN “praca tworzy produkt” a produktem jest jakiś dokument/formularz. Zapominamy tu o SQL i bazach danych
- Jarosław Żeliński : sugeruję nie nadużywać słów “relacja” czy “referować”, aktywność tworzy efekt a nie “referuje do niego”
- TB : Mi chodzi czy efektem nie może być przejście do następnego kroku? Czy koniecznie dany task musi coś wytwarzać? Jeśli jest nim np. sprawdzenie czegoś, weryfikacja itd.
- Jarosław Żeliński : TB: istotą modelu procesu biznesowego jest łańcuch zadań, w każdym zadaniu coś wartościowego powstaje. Tym czymś w BPMN jest treść czyli DataObject.
- Jarosław Żeliński : Zadanie może być nietrywialne, opisujemy je wtedy procedurą: https://it-consulting.pl/2018/10/17/procesy-biznesowe-a-procedury/
- Jarosław Żeliński : opis procedury (procedura) to odrębny dokument.
- Jarosław Żeliński : TB: sprawdzenie/weryfiakcja to procedura i powstaje nowy status tego co sprawdzano. Trzeba to gdzieś zapisać i nie jest to cecha obiektu sprawdzanego: https://it-consulting.pl/2021/11/28/maszyna-stanowa-czy-automat-stanowy-a-moze-jednak-status/
- Zniesmaczony : Opisane przeze mnie problemy powstają na etapie projektowania, który jest niezależny od IT. Na etapie analizy i projektowania są wymagane warsztaty i inne udziwnienia.
- Jarosław Żeliński : Zniesmaczony: Warsztaty na etapie projektowania?
- Jarosław Żeliński : Generalnie kluczowe pytanie: co jest celem warsztatów (jakichkolwiek) w procesie powstawania oprogramowania?
- guest_1058 : Niby skąd założenie, że zadanie musi powstawać coś wartościowego? Dopóki modelujemy AS-IS nie jest rolą analityka orzekać czy wykonywane zadanie wytwarza zasoby na tyle wartościowe by je umieścić w modelu, samo to że zadanie istnieje w łańcuchu innych zdarzeń oznacza, że powinno znaleźć się na diagramie.
- guest_1058 : “Tym czymś w BPMN jest treść czyli DataObject.”
- guest_1058 : “Tym czymś w BPMN jest treść czyli DataObject.”
- guest_1058 : No nie, przyjęcie założenia, że każde zdarzenie skutkuje zapisem DataObject w praktyce oznaczałoby, że każda akcja użytkownika skutkuje zapisem w bazie/warstwie danych. Tak oczywiście w rzeczywistości się nie zdarza.
- Jarosław Żeliński : 1058 “Dopóki modelujemy AS-IS nie jest rolą analityka orzekać czy wykonywane zadanie wytwarza zasoby na tyle wartościowe by je umieścić w modelu, “, i to jest błąd: jeżeli proces to “cos co ma produkt” to znaczy, że albo nie rysujemy tego co nie ma produktu albo drążymy co jest produktem.
- Jarosław Żeliński : 1058: “No nie, przyjęcie założenia, że każde zdarzenie skutkuje zapisem DataObject w praktyce oznaczałoby, że każda akcja użytkownika skutkuje zapisem w bazie/warstwie danych. Tak oczywiście w rzeczywistości się nie zdarza.” łamie Pan zasady notacji i modelowania procesów.
- Jarosław Żeliński : 1058: kolejny bład: “każda akcja użytkownika skutkuje zapisem w bazie/warstwie danych” BPMN to nie jest modelowanie aplikacji ani baz danych.
- Jarosław Żeliński : Polecam rozdz. 2.2.1. Specyfikacji BPMN 2.xx
- Jarosław Żeliński : Specyfikacja BPMN, dodatek Glossary, tam jest napisane czym jest aktywność, task (atomowa aktywność), proces biznesowy a czym mnie jest.
- gościówa : Pisze Pan na LI “Z odległości 1500 km dostaję zapytanie […] Klient dostarcza żądane materiały źródłowe […]” Jakich materiałów wymaga Pan, jeśli zadaniem jest utworzenie modelu organizacji , tzw.- “cyfrowego bliźniaka”
- Jarosław Żeliński : Gościówa: standardowo są to wszelkie regulaminy, zakresy obowiązków, instrukcje i wzory dokumentów. Do tego zlecam kierownikom wykonanie krótkich opisów obszarów nieudokumentowanych. Tu opiaałem detale: https://it-consulting.pl/czym-pracuje-czyli-visual-paradigm/
- Jarosław Żeliński : on-line zgłaszają uwagi i przekazują żądane materiały, tu opis https://it-consulting.pl/czym-pracuje-czyli-visual-paradigm/visual-paradigm-postmania-przewodnik-dla-recenzentow/
- gościówa : Dziękuję
- guest_371 : Dzień dobry, czym się różni Target Operating Model od architektury korporacyjnej?
- Jarosław Żeliński : 371: w zasadzie TOM i EA to ta sama idea, różnice są kosmetyczne a powodem są polityki firma doradczych, które nie mogą tego opatentować więc kopiują od siebie ale muszą przeredagować 😉 tak jak student piszący prace dyplomową, gdy nie chce być posądzony o plagiat 😉
- Hmmm : Jak rozwiązuje Pan sytuację w której w systemie mają być zmiany tworzące z niego potworka.
- Hmmm : Załóżmy, że system odwzorowuje produkt X w wariancie 1. Potem zostaje stworzony wariant drugi, w którym są jakieś udziwnienia, np. blokada części algorytmu, który ma nie działać dla wariantu 2. Co Pan robi w takim momencie przeprojektowując funkcjonalność, aby nie tworzyć jakichś dziwnych zależności i wykluczeń
- Jarosław Żeliński : W zasadzie chyba wszystkie tego typu problemy to efekty niskiej jakości architektury, a tam gdzie koduje sie “od razu” jest to w zasadzie standard: bardzo szybko powstaje spagetti kod.
- Jarosław Żeliński : Warianty: co do zasady tam gdzie ja jestem projektantem, żaden kod nie może powstać przed jest przetestowaniem na modelach. Jeżeli usługa aplikacji ma warianty projektuję je jako osobne, wariantowo alternatywnie używane metody/modułu (kwestia skali).
- Jarosław Żeliński : Jednak bardzo ważne jest by: system był podzielony na hermetyzowane dokumenty (agregaty), każdy ma oddzielną logikę/walidację, logika operująca na danych między dokumentami z zasady jest osobna logiką.
- Jarosław Żeliński : Wtedy mamy porządek.
- guest_912 : Zauważylem, że w pańskich wpisach praktycznie nie ma odwołań do materiałów IIBA?
- Jarosław Żeliński : 912: bo IIBA nie wiele ma wspólnego z modelowaniem procesów i aplikacji a wymagania wyrażamy jako modele (Przypadki użycia, Diagram wymagan SysML), BABoK to coś co staje się mało przydatne
- guest_912 : Ale czy BABoK nie jest biblią dla analityków biznesowych w ich pracy?
- Jarosław Żeliński : 912: dla jednych jest dla innych nie 😉 … Mamy metody analizy zorientowane na modele (MDA, MBSE) i tu BABoK/IIBA w niczym nie pomaga.
- guest_912 : A tak ogólnie jak Pan postrzega rolę IIBA w obszarze budowania rozwiązań informatycznych? Czy ta organizacja ma rację bytu?
- Jarosław Żeliński : osobiście zapomniałem o IIBA 🙂
- guest_912 : Mam wrażenie, że ta organizacja istnieje siłą rozpędu, po to aby grono osób miało zajęcie 🙂
- Jarosław Żeliński : ja od dawna 😉
- Jarosław Żeliński : większy sens na https://www.omg.org/ i https://www.incose.org/
- TB : Czy pana zdaniem analityk powinien umieć programować?
- Jarosław Żeliński : Kluczowe pytanie: jaki produkt ma oddać “analityk”. Jeżeli modele systemu UML to powinien rozumieć na czym programowanie polega. Po drugie to jest pytanie o PROGRAMOWANIE czy KODOWANIE 😉
- Jarosław Żeliński : Problemem jest to, że pojęcie ANALITYK nie ma ścisłej definicji, dlatego świat od wielu lat mówi o produktach pracy czyli o modelach: model procesów biznesowych, model architektury HLD systemu, model algorytmu, model realizacji metody, model LLD komponentu, itp.
- Jarosław Żeliński : “Programming is not solely about constructing software—programming is about designing software.” (Ozkaya, I. (2020). Building Blocks of Software Design. IEEE Software, 37(2), 3–5. https://doi.org/10.1109/MS.2019.2959049)
- Jarosław Żeliński : W dzisiejszych czasach mamy: potrzeby biznesowe i ich rozwiązanie czyli wymagania wobec oprogramowania. Te drugie to modele działania tego oprogramowania.
- Wilq : Panie Jarku pytanie o rozwój. Jest wysyp kursów/ szkoleń itd. W obszarze rozwoju w BA, ERP/ WMS co Pan poleca? Dodam, że udało mi się złapać zatrudnienie i chłonę to wszystko, ale to wewnętrzny zespół rozwojowy gdzie interesariuszami są koledzy z innych działów, głównie logistyka. Uważam, że to była dobra szansa na przebranżowienie i z niej skorzystałem. Chciałbym zbudować jakieś podwaliny wiedzy technicznej, żeby mieć perspektywy wypłynięcia na szersze wody. Cięż
- Jarosław Żeliński : Wilq: co do zasady: albo certyfikaty albo umiejętności :). w Korporacjach liczą sie certyfikaty, na wolnym rynku “wolnych zawodów” umiejętności i dorobek.
- Jarosław Żeliński : Wilq: z perspektywy opogramowania ERP czy WMS ma znaczenie drugorzędne podobnie jak to, że bodowanie hotelu nie różni sie od budowania bloku mieszkalnego.
- Jarosław Żeliński : Wilq: osobiście BA i IIBA zarzuciłem niemalże zaraz bo zrobieniu szkolenia i egzaminów. Uważam, że obszarze inżynierii w niczym nie pomaga. Może mieć sens z perspektywy biznesu: uporządkowane przekazywanie informacji o firmie.
- Jarosław Żeliński : Wilq: może mieć sens wyspecjalizowanie się w warstwie operacyjnej (ekspert dziedzinowy: logistyka, magazyny, sprzeda z, itp.) ale to już nie jest analiza i projektowanie a zarządzanie.
- Akainu : Dzień dobry Panie Jarku! Dziękuję bardzo za całego bloga, artykuły i wszystkie posty na linkedinie, które bardzo często pozwalają mi spojrzeć na sprawy szerzej 🙂
- Jarosław Żeliński : Jak pomaga to się cieszę 😉
- guest_5100 : Czy Java to rzeczywiście dziś przeżytek? Dlaczego? Zajmował się Pan może procesami DevOps? Mam wrażenie, że przydałoby się tam spojrzeć metodami systemowymi, a nie tylko jako zlepka narzędzi.
- Jarosław Żeliński : JavaEE/Spring to kontynuacja stylu pracy z narzędzia Oracle Form: relacyjna baza danych, formularze ekranowe o zapytania SQL między nimi. W JavaEE struktura tabel bazy została przeniesiona do kodu (nazywa sie to teraz code first), dodano dziedziczenie jako reużycie kodu i powstała masakryczna papka. To cudo powsytało w połowie lat 90-tych
- Jarosław Żeliński : Im dłużej czytam o DevOps tym bardziej nie rozumiem co to takiego ale wygląda jak zlecanie biznesu adminowi serwera.
- guest_5100 : To może inaczej. Spotykam się z tym, że SDLC=DevOps (albo DevSecOops). Są pokazywane fajne pętelki, wiele narzędzi. Ale ta pętelka zaczynająca się od Plan nie ma w sobie projektowania tylko wymagania (?). Wśród narzędzi nie widzialem narzędzi CASE (chyba, że na końcu… ale to i tak na siłę.).
- Jarosław Żeliński : Ano właśnie… od ok. dwóch dekad mamy problem polegający na tym, że srogo przepłacani koderzy forsuja tezę, że bez nic nie powstanie żadne oprogramowanie, to teza na poziomie “bez murarzy nie powstaną domy”, ale mimo to murarzom nie zlecamy projektowania domów, nawet najlepszym.
- Jarosław Żeliński : Od wielu lat mam koderów na studiach podyplomowych, Ci ludzie świetnie radzą sobie z technologią i kompletnie nie ogarniają pojęcia architektury czy logiki biznesowej. To dlatego tak modne są u deweloperów metody “user mówi a my to kodujemy”.
- Jarosław Żeliński : Problem w tym, że user tego tam samo nie rozumie.
- Jarosław Żeliński : Narzędzia CASE to nic innego jak CAD 3D w innej inżynierii. Prosze sobie np. wyobrazić skonstruowanie dzisiejszego samochodu od zera od razu w fabryce…
- guest_5100 : Np. taki GitLab, który “brings all DevSecOps capabilities into one application with a unified data store so everything is all in one place”. Jest tam wszystko właśnie poza miejscem na projekt. Chyba, że liczyć integrację z Confluence. Ale znowu – to myślenie toolami.
- guest_5100 : To jak ten problem rozwiązać? Czy nie ma sensu i warto po prostu robić swoje i nie patrzeć na resztę?
- Jarosław Żeliński : Confluence to tylko grupowy MS Word… Pisanie dokumentacji metodą wklejania obrazków z draw.io to nie jest projektowanie…. zarządzanie zmianą w czymś takim to dramat.
- Jarosław Żeliński : “robić swoje i nie patrzeć na resztę?” Robię tak od 2004 roku 🙂
- guest_5100 : A nie kusi Pana, żeby (wiem, że zabrzmi to przebojowo 🙂 ), ale zmienić świat?
- Jarosław Żeliński : Kusi, i wybrałem metodę “kropla drąży kamień”, od lat wiem, że mój blog wkurza mase ludzi, niektórzy w IT blokują moje IP w swoich firmach :)…. Problem w tym, że to co opisuję i robię to nie ja wymyślam…. to łatwo dostępna literatura. Ja żyje w świecie niecałych 10% projektów, że koderzy wykonują a nie rządzą…
- Jarosław Żeliński : To są praktycznie w 100% udane wdrożenia 🙂
- guest_117 : Dzień dobry, czy może Pan wyjaśnić, czy projetowanie logiki systemu obejmuje projektowanie architektury systemu, tzn. podział systemu na komponenty i projektowanie integracji komponentów?
- Jarosław Żeliński : Projekt aplikacji to logika jej działania, a ta niestety to także jej architektura składników tej logiki. Jednak “stos technologiczny” to nie jest logika tylko środowisko aplikacji. Dlatego kluczem jest to co od ponad 20 lat nazywamy “architekturą heksagonalną”.
- guest_9429 : Czyli elementem projektu logiki jest architektura systemu (w Pańskim przypadku heksagonalna). Jeżeli system składa się z kilku aplikacji (komponentów) to integracja tych aolikacji też jest elementem logiki systemu?
- Jarosław Żeliński : A czym się różni integracja aplikacji od integracji komponentów aplikacji? Co do zasady system IT firmy to “jeden system” i jego funkcjonalności. Dlatego zawsze należy mieć: model całości systemu, a potem dopiero zmieniać lub projektować jego komponent.
- Jarosław Żeliński : Samo “zbieranie wymagań” to nie analiza, a zbieranie wymagań biznesu, i raczej należy to nazywać “spisywaniem potrzeb biznesowych”. I nie jest to materiał dla dewelopera a dla projektanta (praca: “design”, rola: “solution designer”).
- Jarosław Żeliński : “Czyli elementem projektu logiki jest architektura systemu (w Pańskim przypadku heksagonalna). ” Nie w “moim przypadku”, a w wielu projektach na świecie 😉 bo nie ja to wymyśliłem 🙂 a sygnatariusz Agile Manifesto https://alistair.cockburn.us/hexagonal-architecture/
- guest_3698 : Więc projektując logikę systemu działa Pan w roli architekta software’wego?
- Jarosław Żeliński : Tak, ale tylko w części realizującej funkcjonalności, wymagania pozafunkcjonalne realizuje środowisko a to rola dostawcy. Od wielu lat wiemy, że wymaganiem dla dewelopera powinien być projekt logiki systemu (MBSE, MDA) a nie życzenia biznesowe…
- Jarosław Żeliński : Pierwsze i nadal aktualne książki na ten temat pisali już sygnatariusze Agile Manifesto już po jego ogłoszeniu, czyli jakieś 25 lat temu 🙂
- guest_479 : Czyli projekt logiki to uc per aplikacja?
- Jarosław Żeliński : Tu opis tego co powstaje: https://it-consulting.pl/2022/12/19/iconix-c-d/
- guest_2868 : Czy modelujac integrację na diagramie komponentów, gdzie jeden komponent jest klientem, a drugi serwerem to dla klienta nalezy zamodelować zarowno interfejs wymagany (kieliszek) oraz oferowany (lizak) czy tylko wymagany? Podobnie dla komponentu, ktory jest serwerem. Tylko oferowany czy oferowany i wymagany?
- Jarosław Żeliński : 2868 – kieliszek i lizak to ta sama klas, więc jest to “jeden diagram” (projekt)
- Jarosław Żeliński : dlatego z reguły rysowane są razem jako “jeden symbol”.
- guest_2868 : Jesli to jest ta sama klasa, to rozumiem, że wystarczy kieliszek na kliencie i lizak nanserwerze?
- Jarosław Żeliński : tak
- Jarosław Żeliński : W narzędziu CASE w repozytorium modelu: klasa interfejsu na diagramie klas, klieliszek przy komponencie “klient” i lizak przy komponencie serwer to jedne i ten sam element.
- guest_2868 : Można prosić źródło? W sensie rozdzial specyfikacji UML, który o tym mówi
- Jarosław Żeliński : Tu przykład: https://it-consulting.pl/2024/07/26/webhook-zwrotne-wywolania-api/
- Jarosław Żeliński : 2868: specyfikacja UML, rozdz. 11 Structured Classifiers
- Jarosław Żeliński : rys. Figure 11.4 Alternative notations for connecting parts and roles with Ports
- Jarosław Żeliński : rys.: Figure 11.8 An assembly Connector maps a simple Port of a Component to a matching simple Port of another Component.
- Jarosław Żeliński : rys.: Figure 11.43 Explicit representation of provided and required Interfaces using Dependency notation.
- guest_2868 : I kolejne pytanie. Na LI pisał Pan, że na analitycznych modelach procesów biznesowych w notacji BPMN nie stosuje się bramek logicznych. Czy to oznacza, że na poziome analitycznym nie stosuje się bramek pararell/inclusive/exclusive, a powinno się stosować jedną, pustą bez znacznika X? Jesli tak to dlaczego tak? Z ktorego rozdzialu soecyfikacji BPMN to wynika?
- guest_1704 : “Od wielu lat wiemy, że wymaganiem dla dewelopera powinien być projekt logiki systemu (MBSE, MDA) a nie życzenia biznesowe… Pierwsze i nadal aktualne książki na ten temat pisali już sygnatariusze Agile Manifesto już po jego ogłoszeniu, czyli jakieś 25 lat temu 🙂”
- guest_1704 : “Od wielu lat wiemy, że wymaganiem dla dewelopera powinien być projekt logiki systemu (MBSE, MDA) a nie życzenia biznesowe… Pierwsze i nadal aktualne książki na ten temat pisali już sygnatariusze Agile Manifesto już po jego ogłoszeniu, czyli jakieś 25 lat temu 🙂 “
- Jarosław Żeliński : 2868: napisałem zgodnie z notacją, że w BPMN bramka reprezentuje zestaw warunków a nie “bramkę logiczną, pokazano to w spec. Table 7.2 – BPMN Extended Modeling Elements
- Jarosław Żeliński : 1704: polecam profil A.Cockburna naLinkedIn, właśnie oddał do druku swoja książke o projektowaniu interfejsów, ilustracje są w UML 🙂
- guest_4082 : Czyli modelując modele procesów biznesowych poziomu analitycznego dajemy 1 bramkę bez zadnego znacznika i na przepływach sekwencji, ktore z bramki wychodzą dajemy warunki ktore sterują dalszym przepływem?
- Jarosław Żeliński : tak
- Jarosław Żeliński : 2868: fragment książki Cocburna (sygnatariusz Agile Manifestp) o modelowaniu interfejsów: https://it-consulting.pl/wp-content/uploads/2024/09/ACocburn-interfejs.png
- Bysior : Jakie diagramy i modele powinny być ze sobą powiązane? Żeby dobrze zarządzać zmianą? I jak to robić?
- Jarosław Żeliński : Bysior: mowa o zmianie w procesach czy zmianie w aplikacji?
- Bysior : I tu i tu. Gdy zmieniany proces to czasem trzeba przebudować aplikację, albo dodać jakiś addon
- guest_2868 : W jaki sposób w przytoczonym przez Pana rozdziale z specyfikacji BPMN wynika to, że na modelach analitycznych nie stosuje się rozbicia na bramki inclusive/exclusive/paralell? Trochę to bez sensu, skoro notacja soecyfikuje te rodzaje bramek?
- Jarosław Żeliński : Bysior: wtedy przydatny jest wersjonowany model firmy w takiej postaci: https://it-consulting.pl/zamow/architektura-korporacyjna-opis-struktury-modeli-i-sladowania/
- Jarosław Żeliński : 2868: bo każda bramka jest inną graficzną reprezentacją niezależnych wyjść warunkowych
- Jarosław Żeliński : 2868: notacja (specyfikacja) BPMN to także skrypty BPEL4WS, konstrukcje XOR, OR to narzędzie w niektórych serwera BPMS, model procesu biznesowego to nie algorytm
- Jarosław Żeliński : 2868: dlatego od wielu lat autorzy krytykuja “spaghetti modele” w BPMN, a sama specyfikacja BPN w rodz. 2.2.1. też na to zwraca uwagę.
- Jarosław Żeliński : 2868: dlatego też w BPMN mamy bramkę “complex”,
- guest_2868 : Przytoczony roz. 2.2.1. mowi o tym ze proces biznesowy to nie algorytm?
- Jarosław Żeliński : rozdz. 2.2.1. zawiera informacje o konieczności separowania (i nieutożsamiania) modeli analitycznych i wykonywalnych
- Jarosław Żeliński : definicję pojęć “algorytm” i “proces biznesowy” to zupełnie różne definicje, nie musimy nikomu udowadniać, że nie jesteśmy wielbłądem 🙂
- guest_2868 : Czyli definicja procesu biznesowego, ktora jest w soecyfikacji BPMN już nam mowi o tym, ze w procesie bizneosym nie stosujemy bramek logicznych?
- Jarosław Żeliński : 2868: definicja ta jest na końcu w Dodatku C
- guest_2868 : I przytoczona tabela 7.2 z specyfikacji BPMN mówi o tym, że w modelach analitycznych nie stosujemy bramek logicznych?
- Jarosław Żeliński : 2868: BPMN mówi wprost, że bramka (diamencik) to alternatywna graficzna reprezentacja wyjść warunkowych, to oznacza także, że dowolny model BPMN może niezawierać tych bramek w ogóle i będzie poprawny. Dlatego “koderów” nie dopuszczamy do modelowania 🙂 bo nie modelują a kodują 😉
- Jarosław Żeliński : 2868: Specyfikacja BPMN (inne OMG takżę) to nie jest podręcznik modelowania, wiele rzeczy wymaga “wywodzenia” (prosta dedukcja). Proces biznesowy w BPMN to tworzenie lub przekształcanie “DataObject” a to są ZESTAWY DANYCH a nie wartości rejestrów procesora.
- guest_2868 : A gdzie w specyfikacji jest wskazane rozroznienie na modele wykonywalne i analityczne? Gdzie jest pokazana granica?
- Jarosław Żeliński : 2868: bramki logiczne to operacje na pojęciach PRAWDA i FAŁSZ, a proces biznesowy to np. zestaw kilkunastu pól formularza i KAŻDY może być prawda lub fałszem. Dlatego nie ma czegoś takiego jak XOR cz OR dla faktury.
- Jarosław Żeliński : 2868: rozdz. 2.2.1.
- Jarosław Żeliński : 2868: granica jest prosta: w modelu analitycznym Poola to firma a w modelu wykonywalnym Poola do serwer BPMS.
- guest_2868 : Czyli jesli juz chcę stosować bramki logiczne (xor, or, and) to tylko na modelach eykonywalnych, bo tam de facto piszę algorytm?
- Jarosław Żeliński : 2868: zapraszam na szkolenie i warsztat 😉 https://www.edufuturo.pl/inzynieria-systemow-biznesowych/237-analiza-biznesowa-modelowanie-procesow-biznesowych-i-notacja-bpmn.html
- Jarosław Żeliński : 2868: tak ale tworzenie modeli wykonywalnych ma sens WYŁACZNIE dla platform BPMS, nigdzie indziej 🙂
- Jarosław Żeliński : 2868, jest gorzej, bo niektóre serwery akcpetują wyłącznie kaskady dwuelementotwych bramek XOR (tak/nie) czy tak na prawdę są serią IF..THEN
- Jarosław Żeliński : Podsumowując: słownik języka polskiego i połączony z nim podręcznik gramatyki nie uczą jak pisać dobre kryminały czy publikacje naukowe. Od tego są inne książki.
- guest_2868 : Czyli na modelach analitycznych (gdy modelujemy organizację) stosujemy 1 bramkę (bez żadnego znaku xor/or/and), ponieważ ta reprezentuje warunki jakie wychodzą z niej na przepływach sekwencji. Z kolei jeśli chcę tworzyć algorytm towrzę model wykonywalny i to ma sens tylko wtedy gdy korzystam z narzędzia klasy BPM typu camunda czy adonis?
- Jarosław Żeliński : 2868: 1. tak, 2. do modelowania algorytmów powstał UML/Diagram Aktywności. Camunda to motor BPMS, czyli kodowanie.
- Jarosław Żeliński : 2868, a tak przy okazji nie jest przypadkiem mała popularność narzędzi typu Camunda, narzędzia low-code i no-cod są tu efektywniejsze 😉
- guest_2868 : W takim wypadku co z bramką typu event-based? Tej też nie stosujemy na modelach analitycznych?
- Jarosław Żeliński : 2868: bramka zdarzeniowa to tryger a nie bramka logiczna
- Jarosław Żeliński : 2868 i jak najbardziej stosujemy są na modelach analitycznych
- guest_2868 : Czyli na modelach analitycznych stosujemy pustą bramkę oraz event-based.
- guest_2868 : ?
- Jarosław Żeliński : 2868 Jak brzmi pytanie?
- Jarosław Żeliński : 2868 wyjasnienie BPMN: Table 7.2 – BPMN Extended Modeling Elements,
- guest_2868 : Chyba sie nie wgralo. Czyli na modelach analitucznych stosujemy bramkę bez zadnego znacznika (xor, or, and) oraz bramkę event based?
- Jarosław Żeliński : 2868 praktycznie tak
- Jarosław Żeliński : 2868: AND stosujemy to nie bramka a FORK
- Jarosław Żeliński : 2868: tu wyjasnienie Table 7.2 – BPMN Extended Modeling Elements
- Jarosław Żeliński : 2868: Ci którzy traktują bramki w BPMN jak bramki logiczne popełniają błąd.
- Jarosław Żeliński : 2868 bo ma to sens jedynie na niektórych platformach BPMS
- guest_2868 : Czyli gdy chcę towrzyc proces wykonywalny to juz mogę z powodzeniem stosować bramki logiczne i ma to sens tylko dla narzedzi (nieltorych) klasy BPM?
- Bysior : “mowa o zmianie w procesach czy zmianie w aplikacji?”
- Bysior : I tu i tu
- guest_2868 : Albo inaczej, tworzenie modeli wykonywalnych ma sens tylko wtedy jesli tworzę je z myślą i w narzędziu BPM i tam mogę stosować bramki logiczne (xor/or/and)?
- Jarosław Żeliński : 2868: procesy wykonywalne modeluje sie zgodnie z dokumentacją konkretnej platformy a nie specyfikacją BPMN
- Jarosław Żeliński : 2868: “tworzenie modeli wykonywalnych ma sens tylko wtedy jesli tworzę je z myślą i w narzędziu BPM” tak
- guest_7562 : Czy korzysta Pan z narzędzi typu COPILOT, Chat-GPT, czyli szeroko pojętego gen-AI, jeśli tak, to do czego, jeśli nie to dlaczego?
- guest_2868 : Czyli procesy wykonywalne to juz tylko wtedy gdy modeluje je sie w platformie BPM i tam jeśli platforma na to pozwala, to mozna stosować bramki logiczne (xor/or/and)?
- Jarosław Żeliński : 7562, nie bo piszą 😉
- Jarosław Żeliński : piszą
- Jarosław Żeliński : piszą głupoty
- Jarosław Żeliński : 99% treści w Internecie to , AI uczy sie na tych tekstach,
- guest_2868 : Czyli procesy wykonywalne to juz tylko wtedy gdy modeluje je sie w platformie BPM i tam jeśli platforma na to pozwala, to mozna stosować bramki logiczne (xor/or/and)?
- Jarosław Żeliński : 2868: powtarzam: w modelach analitycznych nie ma sensu, a modele dla platform BPM należy tworzyć na bazie specyfikacji tych platform a nie na bazie specyfikacji BPMN, bo platformy BPM to lepsze lub gorsze implementacje specyfakcji BPMN a nie odwrotnie.
- Jarosław Żeliński : 2868 np są platformy BPM które w ogóle nie używają bramek a jedynie wyjścia warunkowe.
- guest_2868 : Ale tylko na platformach BPM na sens tworzenie modeli wykonywalnych i stosowanie bramek/wyjść warunkiwych?
- guest_2868 : Ale tylko na platformach BPM na sens tworzenie modeli wykonywalnych i stosowanie bramek/wyjść warunkiwych?
- Jarosław Żeliński : 2868: modele wykonywalne tylko dla plaform BPM, wyjścia warunkowe wszędzie
- Jarosław Żeliński : A Bramki tylko “puste” lub zdarzeniowe 😉
- Jarosław Żeliński : i AND bo to FORK a nie a nie logika
- guest_2868 : Dziekuję za odpowiedzi
- guest_2868 : Dziekuję za odpowiedzi
- Jarosław Żeliński : 2868 🙂 nie ma za co
- guest_2868 : P.s. mimo ze wysle wiadomosc ta nie zawsze pojawia sie w oknie czatu. Przynajmniej u mnie.
- Jarosław Żeliński : nie odpowiadam na przegladarki 🙂
- guest_7562 : Czy realizuje Pan projekty, które mają na celu modernizację aktualnego systemu IT, który jest monolitem i jednocześnie zapewnia organizacji możliwość wykonywania bieżących procesów biznesowych. Dokumentacja nie istnieje albo jest szczątkowa. Czy w takim przypadku rękawica jest podejmowana (i co jest pierwszym krokiem?) czy takie przedsięwzięcia są zbyt ryzykowne aby w ogóle do nich przystępować?
- guest_7562 : dodam, że firma konsultingowa estymuje, że całość zmiany może zająć ok 10 lat (serio)
- Jarosław Żeliński : 7562 – tak miewam takie, to ile taki projekt trwa zależy od “oporu ludzi” po stronie tego starego systemu, bardzo często modernizacja nie ma sensu a ma sens płynne przejście ze starego na nowy, identycznie jak wymiana starego ERP na nowy ERP.
- Jarosław Żeliński : 7562 – 10 lat to bardzo dużo, taka migracja powinna sie zmieścić w 3 latach albo nie bardzo ma sens
- Jarosław Żeliński : 7562 – możliwe jest też coś co opisali autorzy tej książki https://it-consulting.pl/2022/10/01/architektura-zorientowana-na-mikroserwisy-i-sterowanie-zdarzeniami/
- guest_7562 : to jest niestety system łączący w sobie naraz kilka klas (typu ERP, CRM…), powstający warstwowo gdzie po samym kodzie widać jak zakończyła się jedna era programowania a rozpoczęła praca kolejnego speca
- Jarosław Żeliński : 7562 – każdy system mozna wymienić na inny bo tak na prawde są one tylko narzędziem, pozostaje kwestia zrozumienia logiki działania firmy bo to tu są prawdziwe problemy
- guest_9085_ar : Czy jest możliwy nadzór merytoryczny nad pracą dyplomową z Pana strony ? Zasadniczą część stanowiłaby dokumentacja analityczno-techniczna bazująca na wzorcu, który Pan stosuje ? Kwestia ubrania całości w ramy wymagań uczelnianych i reszty kontentu ?
- Jaroslaw Zelinski : Jest możliwy… zakładka Konsultacje
- Jaroslaw Zelinski : Co do “ram uczelnianych” to decydują lokalne regulaminy, jak mogę pomóc jedynie merytrycznie.
- guest_4050 : Zna Pan XBRL? Szukam standardów lub formalnej notacji do opisu świata finansowego przedsiębiorstwa. Najlepiej gdyby uzupełniał się z innymi notacjami
- guest_9019 : Na Pana blogu można przeczytać, że diagramem struktur złożonych UML można modelować komunikaty/dokumenty. Do czego pierwotnie służył diagram struktur złożonych? Jakie są jego inne zastosowania?
- Jaroslaw Zelinski : 9019 “opis świata …” to ontologia czyli modele pojęciowe. XBLR był próbą jej formalizacji.
- guest_9019 : To chyba odpowiedź do 4050, moje pytanie było inne 🙂
- Jaroslaw Zelinski : 9019, diagram struktur złożonych powstał do modelowania “struktur złożonych” .. prosze pamiętać że UML to nie narzędzie używane przez kodowanie a nie po. To język wyrazu. Ten diagram powstał z prostego powodu: płaska klasa z jej atrybutami i operacjami nie pozwala modelować niczego poza płaskimi zeastawami cech.
- Jaroslaw Zelinski : “Szukam standardów lub formalnej notacji do opisu świata finansowego przedsiębiorstwa. ” – Ontologia
- Jaroslaw Zelinski : tak, moja pomyłka 😉
- guest_9019 : Także powtórzę pytanie 🙂
- guest_9019 : Na Pana blogu można przeczytać, że diagramem struktur złożonych UML można modelować komunikaty/dokumenty. Do czego pierwotnie służył diagram struktur złożonych? Jakie są jego inne zastosowania?
- Jaroslaw Zelinski : 4050 1. Ontologia 2. się uzupełnia bo ontologie modelujemy w UML (nawet powstał profil OntoUML)
- guest_7569 : Ok, już mi się pojawiło.
- guest_3408 : “Ten diagram powstał z prostego powodu: płaska klasa z jej atrybutami i operacjami nie pozwala modelować niczego poza płaskimi zastawami cech.” Czyli diagram struktur złożonych miał za zadanie pokazanie jeszcze dodatkowych elementów, które na samym diagramie klas było niemożliwe?
- Jaroslaw Zelinski : 3408 jak Pan pokaże np. strukturę faktury i związki między polami na “zwykłym diagramie klas”?
- Jaroslaw Zelinski : 3408, tak zwane “myślnie kodem” jest bardzo szkodliwe na początkowym etapie pracy dlatego od 30 lat mówimy o modelach PIM czyli model systemu w całkowitym oderwaniu od tego w jakim języki i środowisku powstanie
- Jaroslaw Zelinski : 3408 praktyka pokazuje, ze to pozwala obniżyć koszt o rząd a bywa że o dwa rzędy i wielokrotnie skrócić czas dostarczenia systemu
- guest_9019 : Czy diagram struktur złożonych miał za zadanie pokazanie dodatkowych elementów, które nie można było pokazać tylko na diagramie klas? Chodzi mi o to jakie były jego pierwotne przeznaczenie?
- Jaroslaw Zelinski : UML to nie tylko kod w C++ czy Java 😉 w specyfikacji UML jest przykład, który to pokazuje: Figure 11.5 Associations compared with Connectors
- guest_9019 : Ok, zapoznam się. Następne pytanie jeśli narzędzie case nie umożliwia dodania diagramu aktywności do metody klasy czy innego artefaktu nie pozwala na dodanie diagramu podległego jak to jest w VPP to jakim związkiem powinienem połączyć diagram nadrzędny z tym podległym? Realizacji? Dependencji?
- Jaroslaw Zelinski : 9019 zawsze odpowiadam tak samo: używanie narzędzia CASE, które nie pozwala na poprawne modelowanie nie ma sensu, bo tak jakby mnie Pan zapytał jak napisać poprawnie pracę dyplomową edytorem tekstu który nie ma literki “a” i nie stawia kropek.
- guest_9019 : Jak mam do dyspozycji tylko EA (bo w sumie o niego pytam) z względu na decyzję firmy, to jakoś sobie trzeba radzić, zatem chcąc zapewnić jakieś traceability, to wypadałoby jakoś obsłużyć ten przypadek.
- Jaroslaw Zelinski : 9019, pozostaje tworzenie diagramów i pamiętanie który któremu podlega ale to chyba nie pomaga 😉 … pewnym rozwiązaniem jest “kodowanie” podległości diagramów w ich nazwach ale to jednak łapanie się lewa ręką za prawe ucho. Narzędzie powinno zmniejszać pracochłonność a nie zwiększać;)
- Jaroslaw Zelinski : EA jest znany z tego, że jest uciążliwy i nieergonomiczny, nie jestem dyplomatą: jak Panu firma kupiła w Smyku łopatkę do piasku i każe tym narzędziem wykopać Kanał Sueski, to jest to problem Pana firmy a nie Pana problem.. Pisze poważnie.
- guest_9019 : Niestety EA zwiększa, a “pamiętanie” który, któremu podlega dla mnie jest ok, jednak jak przychodzą inni którzy mają z tego korzystać, to przydałoby się mieć jakąś “mapę”, który diagram, któremu podlega. Stąd też pytanie czy powinien użyć związku zależności czy też realizacji? Czy może jeszcze jakiś inny związek?
- Jaroslaw Zelinski : 9019 tak jak napisałem, można nazwy diagramów budować jak ścieżki plików na dysku ale to i tak nie zmienia tego, że narzędzie nie kontroluje struktury modelu, a nie o to chodzi,
- Jaroslaw Zelinski : 9019 “jak przychodzą inni którzy mają z tego korzystać, to przydałoby się mieć jakąś “mapę”” i już Pan wie, dlaczego w 2005 roku porzuciłem SPARX EA zamiast pomagać przeszkadzał
- guest_9019 : Niestety takiego komfortu nie mam by porzucić EA stąd pytanie, który związek powinienem użyć na takiej mapie powiązań między artefaktami? Zależność? Realizacja? A może zawieranie?
- Jaroslaw Zelinski : 9019 czasami robię warsztaty rozwiązujące takie problemy bo każda sytuacja jest inna, ale prosze mi wierzyć, że to zawsze jest atrapa.
- Jaroslaw Zelinski : 9019 – a jako audytor powiem tak: jak dostaję dokumentacje do audytu to kompletnie mnie nie interesuje to, że ktoś ma złe i nieadekwatne narzędzia pracy, jak Pan powie policjantowi, że Pana samochód od nowości nie ma kierunkowskazów to Pan zapłaci mandat i to, że pracodawca kupił Panu taki samochód nie pomoże. Przykro mi.
- guest_9019 : Jednak jakoś sobie radzić w codziennej pracy trzeba. Dlatego wiedza, którego związku użyć by było zgodnie z notacją będzie pomocna.
- Jaroslaw Zelinski : 9019 wiem że tu chyba nie pomogłem ale to nie możliwe, uczciwie powiem: to jeden z powodów, które powodują, że na części rynku projektowania nawet największe korpo przegrywają z freelancerami
- Jaroslaw Zelinski : 9019 “Jednak jakoś sobie radzić w codziennej pracy trzeba. Dlatego wiedza, którego związku użyć by było zgodnie z notacją będzie pomocna.” jedyne co moze Pan zrobić na osobnym diagramie modelować dodatkowo diagramu i związki zawierania między nimi, to jest możliwe ale jest dodatkową reczną pracą
- guest_9019 : Czyli nie ma znaczenia jakiego związku użyję na mapie powiązań chcąc by było zgodnie z UMLem?
- Jaroslaw Zelinski : 9019 jeżeli taka mapa będzie “jakims innym schematem” a nie “modelem UML, to nie ma znaczenia, jeżeli taka mapa ma być w EA eleementem modelu UML to ma ogromne znaczenie
- Jaroslaw Zelinski : dlatego napisąłem,że mozna to”narysować” jak elemeny powiązane związkiemzawierania ale EA tego nie bezie kontrolowaał
- guest_1300 : EA jakoś to kontroluje, ponieważ można zobaczyć powiązania między elementami w sekcji relationships.
- guest_9019 : “dlatego napisąłem,że mozna to”narysować” jak elemeny powiązane związkiem zawierania” – Ciekawe, tej wiadomości nie widziałem. To idąc dalej z pytaniami: Czy na procesie biznesowym, który jest modelowany na poziomie analitycznym można wykorzystywać pod-procesy?
- Jaroslaw Zelinski : 1300 gdyby kontrolował to było by możliwe to o czym tu piszemy, a jak na razie EA nadal nie potrafi nawet na to by jeden element pokazać dwa razy na jednym diagramie co dla go całkowicie dyskwalifikuje
- Jaroslaw Zelinski : 9019 .. modele analityczne to też podprocesy
- guest_9019 : Jakie warunki muszą wystąpić aby taki pod-proces modelować?
- Jaroslaw Zelinski : 9019 najpierw mapa procesów a potem ich modele
- Jaroslaw Zelinski : 9019 zawsze
- Jaroslaw Zelinski : 9019 modelujemy procesy zawsze od ogółu do szczegółu, odwrotnie niema sensu bo natychmiast ma miejsce utrata panowania nad szczegółowością i powstają spaghetti modele
- guest_9019 : Czyli gdy proces jest zbyt szczegółowy, to jego elementy “zajamy” do podprocesów?
- Jaroslaw Zelinski : 9019, nie, najpierw tworzy model ogólny a potem modelujemy jego elementy, to ugruntowane podejście opisane jako w Target Opearation Model i w publikacjach takich jak ta : Harmon, P. (2016). The State of Business Process Management 2016. BT Trends. https://www.club-bpm.com/Contenido/Estudios/BPT-Survey-Report.pdf
- guest_9019 : Link nie działa. W każdym razie jakie inne publikacje, które opisują modelowanie procesów biznesowych na poziomie analitycznym Pan poleca?
- Przemek : Często Pan Pisze o przechowywaniu dokumentów w formie plików XML a nie bazie SQL. Czy są jakieś systemy ERP które mają to zaimplementowane czy w Pana projektach wdrożeń ERP takie rozwiązanie jest projektowane jako dodatkowy moduł systemu ERP?
- Jaroslaw Zelinski : 9019 kopia: https://it-consulting.pl/wp-content/uploads/2024/09/BPT-Survey-Report.pdf
- Jaroslaw Zelinski : Przemek: w bazie ERP nie ma żadnych dokumentów, jest kilka tysięcy tabel i setki zapytań SQL. Systemy ERP to nie sa archiwa dokumentów i nie ma takich, ale nawet SAP oferuje OpenText jako archiwum obok swojego ERP. Microsoft zaleca integrację z Sharepoint itp.
- Jaroslaw Zelinski : Przemek: archiwym to nie moduł ERP a zawsze osobna apliakcja a nawet po prostu dysk sieciowy z plikami PDF
- Przemek : Czyli po prostu automatyczny eksport do PDF po zaksiegowaniu dokumentu?Czy KSEF..jak kiedyś wejdzie nie rozwiąże tego problemu out of the box?
- guest_9019 : Jakie publikacje (artykuły/książki), które opisują zasady modelowania procesów biznesowych na poziomie analitycznym Pan poleca?
- Jaroslaw Zelinski : 9019 publikacji jest wiele, są wyrywkowe, jedna z nich powyżej, polecam szkolenie lub warsztat
- guest_9019 : Jakieś kilka przykładowych? Takie najbardziej warte uwagi.
- Jaroslaw Zelinski : 9019 na moim blogu każdy artykuł ma pod spodem dedykowaną literaturę https://it-consulting.pl/?s=modelowanie+procesw+biznesowych
- Jaroslaw Zelinski : Przemek: “Posted 8 minutes ago Czyli po prostu automatyczny eksport do PDF po zaksiegowaniu dokumentu?Czy KSEF..jak kiedyś wejdzie nie rozwiąże tego problemu out of the box?” tak sie to robi od wielu lat, integracja ERP z dowolnym archiwum nie jest jakim s wielkim wyzwaniem
- Jaroslaw Zelinski : … a to, ze ich dostawcy tego nie oferują i nie robią to kolejny powód by im nie zlecać etapu projektowania systemu
- guest_9019 : Jakie publikacje (artykuły/książki), które opisują zasady modelowania procesów biznesowych na poziomie analitycznym Pan poleca?
- Jaroslaw Zelinski : 9019: https://it-consulting.pl/seminaria/
- guest_7083 : Dzień dobry, jeśli mam diagram przypadków użycia i na nim mam UC, który opisuje zapytania ofertowe. Wiem, że w ramach zapytania ofertowego jestem zależny od zewnętrznego systemu, np. BIK by zweryfikować Klienta. Dlaczego związek zależności jest od granicy systemu do aktora BIK, a nie od przypadku użycia do aktora BIK?
- Jaroslaw Zelinski : 7083 bo przypadki użycia to nie model architektury systemu tylko jego menu “UseCases define the offered Behaviors of the subject without reference to its internal structure. ” (spec. UML, 18.1.3.1 Use Cases and Actors)
- guest_7083 : “przypadki użycia to nie model architektury systemu” Czyli pokazując, że jestem zależny od zewnęrznego systemu nawiązuję do architektury już niejako, a nie do “menu” czyli funkcji systemu?
- Jaroslaw Zelinski : 7083: na diagramie UC “system” to czarna skrzynka, inne systemy łaczymy do tej skrzynki a nie do UC
- Jaroslaw Zelinski : 7083: i pamietamy że związek aktor-system to związek “klient serwer” czyli UC to usługi oferowane a nie “wymagane”
- guest_7083 : “i pamietamy że związek aktor-system to związek “klient serwer” czyli UC to usługi oferowane a nie “wymagane”” z którego fragmentu dokumentacji UML to wynika?
- Jaroslaw Zelinski : 7083 z definicje UC: jest to oferowane zachowanie aktorom systemu, dokładnie tak samo jak operacje klasy to jej usługi,
- Jaroslaw Zelinski : 7038: spec UML: 18.1.3.1 Use Cases and Actors
- Jaroslaw Zelinski : Ogólnie odradzam materiały publikowane przez ludzi, którzy nie czytali lub nie rozumieją specyfikacji UML.
- guest_7083 : czy są jacyś inni autorzy, którzy wprost relację między UC a Aktorem przyrównują do relacji klient-serwer?
- Jaroslaw Zelinski : 7038: pod tym artykułem bogata literatura https://it-consulting.pl/2022/12/19/iconix-c-d/
- Jaroslaw Zelinski : 7083: “czy są jacyś inni autorzy, którzy wprost relację między UC a Aktorem przyrównują do relacji klient-serwer” nie ma znaczenia co piszą ludzie nie rozumiejący UML , zasady wyznacza specyfikacja a nie “inni autorzy”
- guest_7083 : dziękuje
- Jaroslaw Zelinski : to, że wielu pisze i rysuje nie jest żadnym argumentem,
- Jaroslaw Zelinski : ich diagramy są nieprzedkładalne na działający system
- Jaroslaw Zelinski : a powinny być
- guest_3761 : Czy diagram aktwności jest podpiany pod metodę klasy? Czy ogólnie pokazuje algorytm korzystając z różnych kompjnetów systemu? Np. pobranie danych o użytkowniku z modułu użytkownicy i utworzenie faktury w modelu faktury?
- Jaroslaw Zelinski : 3761 – https://jaroslawzelinski.biz/asp-products/diagramy-aktywnosci/
- Jaroslaw Zelinski : 3761, to często pytanie, opisałem to… (link wyżej)
- guest_3761 : Jak mam walidować dokument względem XSD/WSDL w ramach klasy Walidator, to gdzie ten XSD/WSDL jest trzymany? W Generatorze? Zapisany w cache? Zapisany w bazie?
- Jaroslaw Zelinski : 3761, powinien istniec jeden komponent odpowiedzilny w 100% za dokument
- guest_3761 : Tak, ale patrząc na LLD i wzorzec BCE mamy walidator, repozytroium i generator. Walidator ma metordę walidacji. Gdzie jest trzymany XSD/WSDL względem którego waliduję? W klasie generator, która koryhsta z szablonu?
- Jaroslaw Zelinski : 3761, o jaki”generator” chodzi
- guest_3761 : chodzi o klasę “generator” (control)
- Jaroslaw Zelinski : ogólnie na poziomie LLD separujemy: przechowywanie, dostęp do danych, tworzenie i walidacje formularza (dane wpisuje user) oraz dostep do całego tego koponentu
- guest_3761 : Jednak jak w ramach klasy walidator (control) uzyję metody waliduj, to względem czego waliduję?
- Jaroslaw Zelinski : walidator sprawdza do przyjdzie z ekranu od aktora, kluczem jest diagram sekwencji,
- Jaroslaw Zelinski : generalnie na poziomie LLD używamy wzorców: 1. łańcuch odpowiedzialności, 2. repozytorium, 3. fabryka lub metoda wytwórcza, 4. usługa
- Jaroslaw Zelinski : BCE to stara zasada mówiąca, że klasa (komponent) to albo interfejs, albo logika, albo utrwalanie, tych rzeczy NIGDY nie łączymy w jednej klasie, w 2003 po swojemu opisał to Evans w DDD (DDD to nie Java !!!!), inaczej (moim zdaaiem lepiej) oppisąła to R. Wirf-Brock w tym samym roku
- guest_3761 : “walidator sprawdza to co przyjdzie z ekranu od aktora”, no i wzgledem czegoś sprawdza wprowadzone dane, np. gdy to nie aktor a inny system wyśle nam jakiś dokument, to musimy sprawdzić czy zgadza się z wzorcem i odesłać albo OK albo bład.
- Jaroslaw Zelinski : walidator sprawdza bo ma reguły walidacji
- Jaroslaw Zelinski : “gdy to nie aktor a inny system wyśle nam jakiś dokument, to musimy sprawdzić czy zgadza się z wzorcem i odesłać albo OK albo bład.”
- Jaroslaw Zelinski : owszem, ale komponent odpowiadający za te walidacje nie wie skąd przychdza dokumenty do wlaidacji
- guest_3761 : I domyślam się, że jedną z tych reguł jest zgodność z wzorcem, który jest opisany XSD/WSDL. Jak wobec tego to powiązać z walidatorem i metodą waliduj formularz? Wzór trzymać w odrebnej usłudze?
- Jaroslaw Zelinski : tak, XSD to przykład zestawy reguł walidacji
- Jaroslaw Zelinski : “Jak wobec tego to powiązać z walidatorem i metodą waliduj formularz?” to kod operacji “waliduj”, a XSD jest przechowywany w jakiś repozytorium (lub na dysku :))
- guest_3761 : ” to kod operacji “waliduj”, a XSD jest przechowywany w jakiś repozytorium” czyli w jakiejś klasie Repozytorium (control)?
- Jaroslaw Zelinski : control to logika, entity to utrwalanie, nigdy nie “łączymy danych i funkcji w jednym obiekcie” 😉
- Jaroslaw Zelinski : wzorzec repository to nie jest jedna klasa
- Jaroslaw Zelinski : np.: https://martinfowler.com/eaaCatalog/repository.html
- guest_3761 : Zatem w ramach metody “waliduj” klasy “walidator” w ogóle nie pokazuje związku z jakąś inną klasą, która jest repozytorium na XSD/WSDL?
- Jaroslaw Zelinski : co to jest tu “związek z inna klasą”? XSD to tylko string
- guest_3761 : Chodzi o to, że mam klasę walidator (control) i jakąś inną klasę repozytorium szablonów (control) i walidatora używa (związek use) repozytrium szablonów.
- Jaroslaw Zelinski : pomijam, że walidacja XMLna bazie XSD to masa gotowych bibliotek 😉
- Jaroslaw Zelinski : sekwencja jest taka: mam plik XML do walidacji i XSD, mam obiekt który, jak mu wyśle XSD i XML, to zwróci niezgodności, i XML i XSD pobieram z repozytorium
- guest_3761 : “walidacja XMLna bazie XSD to masa gotowych bibliotek” czyli w zasadie jak mam metodę “waliduj formularz” w ramach klasy “walidator”, to ta metoda mogłaby korzysać z gotowej biblioteki i w ramach niej gdzieś tam umieszczony by był XSD/WSDL i ja na diagramie nie muszę tego pokazywać?
- Jaroslaw Zelinski : Repozytorium nie klasa control a control+entity
- Jaroslaw Zelinski : pokazać trzeba, ale wymyślać koło na nowo nie koniecznie 😉
- Jaroslaw Zelinski : opis najważniejszych wzorców https://it-consulting.pl/2021/11/03/wzorce-projektowe-czy-jednak-polityki/
- guest_3761 : Czyli byłoby to coś na zasadzie walidator (control) −-− –> repozytorium szablonów (control) −-− −-−> szablon (entity) ?
- Jaroslaw Zelinski : w tym linku powyżej są opisy i diagramy
- guest_3761 : Którym linku?
- Jaroslaw Zelinski : https://it-consulting.pl/2021/11/03/wzorce-projektowe-czy-jednak-polityki/
- guest_3170 : Tak samo z kontrolą uprawnień?
- guest_3170 : też jest jakaś diada control+entity z uprawnieniami, z których korzysta repozytorium gdy używa metody “waliduj dostęp”?
- Jaroslaw Zelinski : z grubsza tak
- guest_3761 : Kiedy modelując architekturę LLD można użyć związku kompozycji? W większości przypadków stosuje Pan związek zawierania.
- Jaroslaw Zelinski : “Kiedy modelując architekturę LLD można użyć związku kompozycji? ” .. nigdy…. “W większości przypadków stosuje Pan związek zawierania.” zawsze i tylko gdy modeluje struktury XML
- Jaroslaw Zelinski : lub modeluje strukturę modeli
- Adam : Dzień dobry, mam pytanie odnośnie doboru notacji. Jak zamodelować procesy w IT, chodzi np. o wdrożenie jakiegoś systemu (raczej skomplikowane). Potrzebowałbym zamodelować jaki zespół ma wykonać jakie czynności na jakim komponencie infrastruktury, jakich narzędzi ma do tego użyć. Niby BPMN bo jest to w pewnym sensie proces biznesowy dla działu IT ale z drugiej strony operujemy tu na konkretnych systemach więc nie jest to CIM. Nie umiem tu kompletnie znaleźć odpowiedzi.
- Adam : No i chyba w BPMN nie da rady zawrzeć wszystkich rzeczy które tu potrzeba.
- guest_3761 : “Kiedy modelując architekturę LLD można użyć związku kompozycji? ” .. nigdy…. “W większości przypadków stosuje Pan związek zawierania.” zawsze i tylko gdy modeluje struktury XML lub modeluje strukturę modeli”, czyli związek kompozycji tylko na diagramie pakietów?
- Jaroslaw Zelinski : Adam: Wdrożenia to projekty a nie powtarzalne procesy. Powtarzalna może być metodyka wdrożenia a to raczej polityka a nie proces.
- Jaroslaw Zelinski : Adam: “jaki zespół ma wykonać jakie czynności na jakim komponencie infrastruktury” to nie proces a architektura tego systemu i administrator każdego komponentu. Więc raczej architektura i przyporządkowany “opiekun” oraz ewentualnie standaryzacja postępowania z komponentami.
- Jaroslaw Zelinski : Adam: co do notacji to architektura to UML, procedury w wordzie 😉 a mapa i modele procesów w BPMN….
- guest_3761 : “Kiedy modelując architekturę LLD można użyć związku kompozycji? ” .. nigdy…. “W większości przypadków stosuje Pan związek zawierania.” zawsze i tylko gdy modeluje struktury XML lub modeluje strukturę modeli”, czyli związek kompozycji tylko na diagramie pakietów?
- Jaroslaw Zelinski : 3761: związek zawierania to związek między “przedmiotem” a kontenerem, kontenerem może być inna klasa, prosze pamiętać, że w UML klasa oznacza “cokolwiek” a nie tylko kawałek kodu, np. standardowo języki programowania nie maja “komponentów”, maja tylko polecenie class… kontenery są najczęcie jbytem abstrakcyjnym
- Jaroslaw Zelinski : pakiety między sobą to TYLKO zawieranie się bo pakiet to TYLKO kontener
- Jaroslaw Zelinski : polecam ten wątek na linked IN
- Jaroslaw Zelinski : https://www.linkedin.com/posts/zelinski_death-star-architecture-activity-7243227747441946624-30kD?utm_source=share&utm_medium=member_desktop
- guest_431 : Dzień dobry,
- guest_432 : Dzień dobry, wiem, że pewnie dostaje Pan tysiące podobnych wiadomości ale jako osoba młoda zaczynająca swoją przygodę z analizą biznesową, to od czego radzi Pan zacząć osobie która chciałaby posiadać podstawy do rozpoczęcia swojej pierwszej pracy jako juniora. Od jakich kursów/książek sugeruje Pan zacząć?
- guest_3761 : Z którego rozdziału specyfikacji UML wynika, że modelując klasy powinniśmy stosować związek zawierania, a nie kompozycji?
- Jaroslaw Zelinski : 3761: Specyfikacja UML to nie jest podręcznik analizy i projektowania a język wyrazu. Związek kompozycji służy do pokazania łączenia części w zwartą całość, związek zawierania służy do pokazania grupowania, związek użycia służy do pokazania współpracy, asocjacja i generalizacja to związki pojęciowe a nie architektoniczne.
- Jaroslaw Zelinski : 3761: Aplikacja może być monolitem a może być zespołem współpracujących elementów. Paradoksalnie w obiektowe podejście do tworzenia architektury jest bardzo trudne bo wymaga myślenia na dość wysokim poziomie abstrakcji.
- guest_3761 : “Związek kompozycji służy do pokazania łączenia części w zwartą całość” Dlaczego więc nie powinno się używać związku kompozycji, a związek zawierania modelując dokumenty, skoro sekcje dokumentu to jednak części tego dokumentu? Oraz z jakiej publikacji wynika ta praktyka?
- Jaroslaw Zelinski : 432: Kluczowe pytanie: czym jest ta mityczna “analiza biznesowa”? Obawiam sie, że nie ma czegoś takiego. Od wielu lat jest problem polegający na pytaniu: jaką rolę w inżynierii na “analityk biznesowy” i nie ma odpowiedzi :).
- Jaroslaw Zelinski : 432: polecam to na początek: https://builtin.com/recruiting/software-engineer-vs-programmer
- guest_3761 : “Związek kompozycji służy do pokazania łączenia części w zwartą całość” Dlaczego więc nie powinno się używać związku kompozycji, a związek zawierania modelując dokumenty, skoro sekcje dokumentu to jednak części tego dokumentu? Oraz z jakiej publikacji wynika ta praktyka?
- Jaroslaw Zelinski : 3761: Bo dokument (jego struktura) to nie budynek, to wynika z logiki, w kodzie tego nie widać, dlatego analiza i modelowanie to bardzo abstrakcyjna dziedzina, generalnie dokument (jego struktura) to komunikat a nie komponent systemu.
- Jaroslaw Zelinski : 3761: Inżynieria to jest zbiór dogmatów tylko logika dedukcyjnego wywodzenia. W kodzie źródłowym wszystko jest kodem, w komputerze nie.
- Jaroslaw Zelinski : 3761: to dlatego tak bardzo ważne jest modelowanie/projektowanie PRZED kodowaniem. Z bardziej znanych autorów pisze o tym R.C. Martin w swoich książkach (nota bene sygnatariusz Agile Manifesto)
- Jaroslaw Zelinski : 3761: polecam także literaturę z tego wpisu: https://it-consulting.pl/2022/07/11/interface-oriented-design/
- guest_3761 : Rozumiem, że R.C. Martin w swoich książkach jak w podanym przez Pana artykule znajdę odpowiedź dlaczego należy użyć związku zawierania, a nie kompozycji?
- Jaroslaw Zelinski : 3761: to źle postawione pytanie, poprawne pytanie brzmi: jak poprawnie pokazać XXXX, żaden słownik ani podręcznik gramatyki nie tłumaczy, jak poprawnie opisać słowami zakupy w sklepie ale: pomidory “są w koszyku” oraz uszy “są częścią koszyka”.
- Jaroslaw Zelinski : 3761, jeżeli ktoś nie widzi tej różnicy to ma problem.
- Jaroslaw Zelinski : c.d. uszy i koszyk to kompozycja, pomidory i koszyk to zawieranie
- Jaroslaw Zelinski : 3761: faktura to TYLKO ciąg znaków podzielonych na rozdziały, tu jest zawieranie się (dane nabywcy na fakturze zawierają adres), ale umiejętność wystawienia faktury to część sprzedawcy.
- guest_3761 : Tylko z jakich publikacji wynika, ze powinienem użyć kompozycji lub zawierania?
- Jaroslaw Zelinski : 3761, jednak jeżeli ktoś “myśli kodem” i relacyjnym modelem danych, nie widzi tego, dlatego najpierw modele potem kod, który jest ich implementację, NIGDY odwrotnie.
- Jaroslaw Zelinski : 3761: to nie wynika “z publikacji” tylko z logiki
- Jaroslaw Zelinski : co nie zmienia faktu, że nie tylko R.Martin o tym pisze… jest wiele publikacji o projektowaniu i inżynierii
- guest_3761 : W czystej architekturze na przykład?
- Jaroslaw Zelinski : też
- Jaroslaw Zelinski : polecam także to: Wirfs-Brock, R., & McKean, A. (2009). Object design: Roles, responsibilities, and collaborations. Addison-Wesley.
- Jaroslaw Zelinski : jest wiele książek i naukowych opracować na ten temat
- guest_3761 : Poproszę inne przykłady
- Jaroslaw Zelinski : po co? nie ma znaczenia w ilu podręcznikach napisano, że 2+2=4
- Jaroslaw Zelinski : logika to nie głosowanie 🙂
- Jaroslaw Zelinski : “Poproszę inne przykłady”… na blogu mam ok. 4 tys. stron A4 wraz z literaturą źródłową 😉
- Jaroslaw Zelinski : to też polecam: Jeśli myślisz, że dobra architektura jest droga, spróbuj złej Foote, B., & Yoder, J. (2003). Big Ball of Mud . https://www.researchgate.net/publication/2938621_Big_Ball_of_Mud
- Jaroslaw Zelinski : krótkie podsumowanie: języki programowania i frameworki, jako narzędzia pracy, to skutek a nie przyczyna inżynierii.
- guest_ : Przegladam czystą architekturę i widzę, że w niej Martin pisze o dziedziczeniu, klasie Pracownik.
- guest_8734 : Diagram sekwencji jest diagramem podległym do diagramu komponentów/klas czy “stoi” oddzielnie?
- Jaroslaw Zelinski : _ polecam korektę tego wnioskowania o: czas gdy pisano, to czym jest dziedziczenie w kodzie OOP a czym nie jest w “real life” bo go nie ma, kolejna rzecz: zasady pisania/projektowania elementów środowiska to INNY ŚWIAT niż projektowanie biznesowej części, jak ktoś użyje dziedziczenia w budowie buttonów na ekranie to ma to sens, jak ktoś użyje dziedziczenia “faktura dziedziczy po dokumentcie” to jest nie ma to żadnego sensu
- Jaroslaw Zelinski : 8734: diagram sekwencji opisuje współracę (współracę) elementów architektury, jest albo pochodną przypadku użycia albo operacji interfejsu
- Jaroslaw Zelinski : _ : przypominam, że dziedziczenia nie ma w UML od 2015 i jest to decyzja całego komitetu OMG a nie moja 😉
- gość : Napisał Pan, że diagram sekwencji jest pochodną przypadku użycia. Czy w specyfikacji OMG jest gdzieś napisane które diagramy są ze sobą powiązane?
- guest_8734 : “diagram sekwencji opisuje współracę (współracę) elementów architektury, “
- guest_8734 : “diagram sekwencji opisuje współpracę (współracę) elementów architektury, ” Zatem w VP diagram sekwnecji powinienem podpiąć pod konkretne przypadki użycia, pod cały diagram komponentów (jeśli modeluję HLD) lub pod pojedynczy komponent (jeśli modelują LLD)?
- Jaroslaw Zelinski : Specyfikacja UML to opis notacji a nie podręcznik projektowania.
- Jaroslaw Zelinski : 8734: narzędzia CASE pozwalaja na panowanie nad projektem ale one same nie projektują 😉
- Jaroslaw Zelinski : tu opis i literatura źródłowa: https://it-consulting.pl/2022/12/19/iconix-c-d/
- Jaroslaw Zelinski : oraz to: https://it-consulting.pl/2021/11/03/wzorce-projektowe-czy-jednak-polityki/
- Jaroslaw Zelinski : gość: “Napisał Pan, że diagram sekwencji jest pochodną przypadku użycia.” tego nie napisałem, napisałem, że diagram sekwencji jest modelem scenariusza przypadku użycia
- guest_8734 : Chodzi mi o to, że chciałbym z czymś połączyć diagramy sekwencji by nie musieć pamiętać do czego one są.
- Jaroslaw Zelinski : 8734: diagram sekwencji to scenariusz (orkiestracja, jak ktoś woli), jest używany i na poziomie HLD i na poziomie LLD
- guest_8734 : I czy mogę dać jako diagram podległy do całego diagramu HLD oraz do komponentów (dla LLD)?
- Jaroslaw Zelinski : 8734: polecam myślenie “chcę pokazać współpracę komponentów, użyję do tego diagramu sekwencji” a nigdy “muszę narysować diagram sekwencjie, musze go gdzieś podpiąć”
- guest_8734 : Jak najbardziej, tylko chciałbym też mieć porządek w repozytorium, tak by zachować kaskadę diagramów
- Jaroslaw Zelinski : 8734: “podległy do całego diagramu HLD” co może “podlegać” pod element modelu a nie “pod diagram”, diagram to element grupujący podobnie jak pakiet, ale te same elementy mogą być umieszczane na wielu diagramach
- Jaroslaw Zelinski : 8764: model to struktura jego elementów, diagramy to tylko ich widoki
- guest_8734 : Tak, ale w repozytorium chciałbym mieć porządek, a więc chciałbym aby diagram/diagramy sekwencji były z czymś powiązane, a nie były wolnymi elektronami. Chcę mieć zapewniony pełne traceability.
- Jaroslaw Zelinski : 8734: diagram sekwencji to opis przypadku użycia lub opis operacji interfejsu
- guest_8734 : Czyli w zasadzie wykonując HLD to bardziej jako diagram podległy dla PU niż diagram podległy diagramu komponentów. Tak?
- Jaroslaw Zelinski : 8734: diagram sekwencji NIGDY nie jest podległy dla komponentu, co najwyżej do jednej z operacji jego interfejsu, to wynika wprost z tego jak piszemy oprogramowanie
- guest_8734 : Brzmi sensownie, dziękuję.
- guest_2868 : W dyskusji na Li oraz tutaj na czacie pisze Pan, że na analitycznych modelach procesów biznesowych nie używa się bramek AND/OR/XOR. Z kolei w dokumentacji OPZ dla senatu: https://it-consulting.pl//wp-content/uploads/2017/08/OPZpublikacja.pdf roz. 2.2.8. Ocena ofert i przyznawanie dotacji (BPMN) (str. 13) jest proces gdzie użyto bramki AND. To jak to jest z tymi bramkami?
- guest_2868 : Z kolei w rozdziale: 3.17. Struktura dokumentu w repozytorium (UML) używa Pan związku kompozycji. Dlaczego nie zawieranie?
- Jaroslaw Zelinski : 2834: w modelach analitycznych nie używamy logiki boolowskiej (XOR, OR) a bramka AND to nie logika a FORK
- Jaroslaw Zelinski : “Z kolei w rozdziale: 3.17. Struktura dokumentu w repozytorium (UML) używa Pan związku kompozycji. Dlaczego nie zawieranie?” bo poprzedni deweloper budował dokumenty w kodzie jako kompozycje, później wszystko jednak przeszło na XML/JSON i zostało zamienione na zawieranie.
- guest_2868 : Widzę, przeglądarka wariuje
- Jaroslaw Zelinski : wyłącze “ajax” (ale będzie od najnowszego)
- guest_2868 : ” w modelach analitycznych nie używamy logiki boolowskiej (XOR, OR) a bramka AND to nie logika a FORK”, przy czym AND to też logika rachunku zdań: koniunkcja
- Jaroslaw Zelinski : 2868: “AND to też logika rachunku zdań: koniunkcja” a w BPMN oznacza “fork” 😉
- Jaroslaw Zelinski : tak jak pionowy bar w UML
- guest_2868 : Zatem z którego rozdziału dokumentacji BPMN wynika, że na modelach analitycznych można używać bramek: ogólnej, and, event-based, complex, a nie można używać OR/XOR?
- Jaroslaw Zelinski : z logiki wynika: rozdz. 2.2.1 i rozdz. 7. BPMN to język a nie podręcznik modelowania, w BPMN bramka to co do zasady wielokrotne wyjście warunkowe a nie logika boolowska (ta ma sens w kodzie w modelach wykonywalnych, wersja BPMN 1.xx , a teraz mamy v.2.xx
- Jaroslaw Zelinski : spec. BPMN, str. 35, Table 7.2 – BPMN Extended Modeling Elements
- Jaroslaw Zelinski : 2868: jaka to bramka – faktura brutto >1000zł w lewo a faktura dla klienta z Gdańska w prawo?
- guest_2868 : “BPMN bramka to co do zasady wielokrotne wyjście warunkowe a nie logika boolowska”, tylko AND to też część tej logiki –> koniunkcja: https://pl.wikipedia.org/wiki/Koniunkcja_(logika)
- Jaroslaw Zelinski : 2868: “tylko AND to też część tej logiki” nie prawda na wyjściach z AND nie ma żadnych warunków
- Jaroslaw Zelinski : w BPMN bramka AND to bezwarunkowe zrównoleglenie, tu czytamy i stosujemy specyfikacje BPMN a podręczniki matematyki
- guest_2868 : Jak czytam definicję exclusive, inclusive oraz paralell, to z logiki opisów wynikają logiczne spójniki XOR, OR oraz AND. “A Parallel Gateway is used to synchronize (combine) parallel flows and to create parallel flows.” i dalej czytamy “A Parallel Gateway creates parallel paths without checking any conditions; each outgoing Sequence Flow receives a token upon execution of this Gateway. For incoming flows, the Parallel Gateway will wait for all incoming flows before triggering the flow throug
- guest_2868 : czyli nic innego jak koniunkcja logiczna.
- Jaroslaw Zelinski : “koniunkcja logiczna.” no nie bo AND w BPMN oznacza, że dana ścieżka ZAWSZE rozchodzi na klina równoległych dlatego autorzy BPMN napisali “fork” a nie “koniunkcja”
- Jaroslaw Zelinski : BPMN to nie “logika matematyczna” tylko przepływ pracy
- Jaroslaw Zelinski : 2868, pojęcie tokena nie ma żadnego sensu w modelu analitycznym przepływu zadań i od lat nie jest stosowane… bo analogia tokena nie radzi sobie z bramkami
- guest_2868 : “BPMN to nie “logika matematyczna” tylko przepływ pracy” tylko ten przepływ pracy jak opisać go słowno-muzycznie to są zdania, a zdania podlegają rachunkowi zdań, a więc logika.
- Jaroslaw Zelinski : ” zdania, a zdania podlegają rachunkowi zdań, a więc logika.” kolejna nieprawda, logika zdań to ontologia i reguły biznesowe a nie nie BPMN
- Jaroslaw Zelinski : I dlatego nie opisujemy przepływu pracy “słowno-muczynicze” (architektury oprogramowania czy budowy silnika też nie)
- guest_2868 : Na procesie biznesowym oddzielamy się od logiki języka? To nie bardzo trzyma się kupy.
- Jaroslaw Zelinski : “Na procesie biznesowym oddzielamy się od logiki języka? ” tak, dlatego logikę opisujemy regułami a przepływ pracy nastepstem zadan i własnie po to w OMG powstała specyfikacja SVBR (słownik i reguły bizneoswe)
- Jaroslaw Zelinski : Ponawiam pytanie: jaka to bramka – faktura brutto >1000zł w lewo a faktura dla klienta z Gdańska w prawo?
- guest_2868 : To tak jakbyśmy mieli dwie rzeczywistości: język i proces, a proces wyrażony językiem naturalnym (opis) to też język, który podlega regułom logiki.
- Jaroslaw Zelinski : Proszę wiec robić tak projekty biznesowe, mam popcorn 🙂
- Jaroslaw Zelinski : Ponawiam pytanie: jaka to bramka – faktura brutto >1000zł w lewo a faktura dla klienta z Gdańska w prawo?
- guest_2868 : Widziałbym tutaj 2 następujące po sobie bramki, gdzie wpierw sprawdzamy wysokość faktury, a następnie do kogo ma iść bądź odwrotnie. Zależy jak głosi procedura.
- Jaroslaw Zelinski : biznes tak nie działa 🙂 , zamiana ludzkiej pracy na kaskady IF-then to typowy bład
- Jaroslaw Zelinski : drugi problem: bramki rozwidlające w BPMN i bramki logiki boolowskiej https://budowlanka.net.pl/ti/bramkilogiczne.JPG
- Jaroslaw Zelinski : czym jest w BPMN bramka z jednym wejściem i np. pięcioma wyjściami ?
- guest_2868 : a raczej aktywność –> bramka –> aktywność –> bramka, ponieważ jak wiemy bramki same w sobie nic nie sprawdzają, a są efektem tego co zadziało się wcześniej
- Jaroslaw Zelinski : spec. BPMN, str. 35 Table 7.2 – BPMN Extended Modeling Elements, gdzie tu ta boolowska logika?
- Jaroslaw Zelinski : Żadnej firmy nie da sie opisać “algorytmem” ale wiem, że wielu próbuje … miłego wieczoru 🙂 i do jutra
- guest_2868 : firmy nie, ale już sam obieg dokumentów z większym lub mniejszym sukcesem jakoś się da. W końcu inaczej nie mielibyśmy systemów workflow.
- guest_9657 : 2868: ” sam obieg dokumentów z większym lub mniejszym sukcesem jakoś się da. ” fakty przeczą tej tezie 😉 ..
- guest_2868 : Poproszę przykłady.
- guest_2868 : Pytanie z innej beczki. Jeśli zgodnie z DDD separujemy UI od logiki, to jeśli na ekranie mam listę wystawionych faktur oraz ich statusy (opłacono, nie opłacono) oraz zakładamy, że faktury są trzymane w komponencie A, a billing jest wystawiony w komponencie B, to aby na ekranie wyświetlić listę faktur oraz ich statusy (w/w), to musimy pobrać faktury z komponentu A oraz statusu faktur z komponentu B per ID faktury?
- Jarosław Żeliński : 2868: rezygnacja z platform BPMS to jedne z dowodów, że “to nie działa”
- Jarosław Żeliński : 2868: DDD, nie nie musimy
- guest_2868 : “DDD, nie nie musimy” ?
- Jarosław Żeliński : 2868: opisał Pan bardzo nieefektywny pomysł na realizacje tej funkcjonalności
- Jarosław Żeliński : BTW: status faktury mnie jest cechą faktury
- guest_2868 : “status faktury mnie jest cechą faktury” dlatego napisałem, ze to czy opłacona czy nie ściągamy z dedykowanego komponentu. W pytaniu chodzi o to czy jako, że status płatności trzymamy w innym komponencie, ale na ekranie wyświetlamy tablę z wszystkichmi fakturami oraz to czy są opłacone, nie opłacone, spóźnione, to jest wynikiem pobrania danych z komponentu z fakturami i komponentu z billingiem?
- Jarosław Żeliński : 2868: “status płatności trzymamy w innym komponencie,” to zły pomysł
- guest_2868 : to jeśli status płatności nie jest cechą faktury, to gdzie go trzymać jak nie w komponencie billignu?
- Jarosław Żeliński : Takich konsultacji udzielam już poza tym chatem tu: https://it-consulting.pl/seminaria/
- Jarosław Żeliński : 2868: conieco o DDD napisałem tu https://jaroslawzelinski.biz/asp-products/domain-driven-design-with-uml/
- guest_8457 : Dzień dobry, wielokrotnie powtarza Pan, że łączenie danych i logiki to “nie jest dobry pomysł”. Wynika to z jakiegoś opracowania/opracowań, praktyki, czegoś innego? Jeśli są jakieś opracowania mówiące o tym, proszę o linki.
- Jarosław Żeliński : 8457: topowtarzane od 30 lat wzorce separujace dane od metod ich tworzenia i walidacji: fabryka, metoda wytwórcza, itp.. ksiązka evanansa o DDD, ksiązka Wirfs-Brock o tym nie łączyć tych ról w jednym onbiekcie.
- Jarosław Żeliński : 8457: wyjaśnienie jest proste: raz wprowadzone dane nie zmieniają sie już nigdy, ale metody ich zbierania i walidacji zmieniają sie często(prawo, biznes, itp.) dlatego NIE ŁĄCZYMY razem danych i metod ich przetwarzania.
- Jarosław Żeliński : 8457: jedna z bardzo obrazowych analogii: kartka papieru (nośnik danych, utrwalanie) nie potrafi ani wytworzyć tych danych ani ich zwalidować.
- Jarosław Żeliński : 8457: powodem nie są żadne “autorytety” a koszty wytworzenia, utrzymania i rozwoju, bo dobra architektura to niskie koszty
- Jarosław Żeliński : 8457, polecam też ten artykuł: https://it-consulting.pl/2024/09/29/projektowanie-czyli-architektura-kodu-aplikacji-c-d/
- guest_3997 : Czy diagram maszyny stanów UML można wykorzystywać do modelowania stanów i statusów obiektów? Czy tylko do stanów?
- Jarosław Żeliński : 3997: w UML maszyna stanowa (automat stanowy) to pojęcie notacyjne, to czy modelujemy stan obiekty czy status to kontekst użycia tej konstrukcji UML. “notacja nie wie do czego jest używana” bo to język….
- Jarosław Żeliński : … zwracam uwagę, że w UML “klasa” to zarówno komponent w kodzie (prosty lub złożony) jak i abstrakcyjne pojęcie w modelu pojęciowym…
- PP : Firma nie zauwaza potrzeby przejrzenia architektury wymiany informacji. Owszem sa UML, sa architekci ale w praktyce zostawia sie urzytkownikom wykrywanie trupow po szafach i zglaszanie “blockers” i tak jest budowana roadmap
- PP : Dramat. Sił brakuje by zmienic myslenie. Co przekonuje Pana klientow do zmiany myslenia?
- Jarosław Żeliński : PP: “Co przekonuje Pana klientow do zmiany myslenia?” niestety najczęściej potężny kłopot z kosztami utrzymania i rozwoju systemu, albo duża finansowa porażka wdrożenia. Kluczowym punktem zwrotnym jest moment, gdy Zarząd odkrywa, że powierzenie użytkownikom specyfikowania wymagań jest kluczową przyczyną problemu. Powierzenie tego programistom to ten sam problem.
- Jarosław Żeliński : PP: Wtedy jako analityk i projektant systemu angażowana jest osoba z zewnątrz, a jej jedynym “przełożonym” jest Zarząd firmy. Niestety powodem jest to, że użytkownik, programista (deweloper, dostawca) i sponsor projektu mają potężny konflikt interesu. Jak sponsor w końcu to odkryje, to angażuje np. mnie.
- guest_2881 : Dzień dobry,
- guest_2881 : Dzień dobry, dlaczego na diagramie architektury HLD wewnątrz “naszego” systemu używamy związku “use”, a gdy pokazujemy integrację z zewnętrznymi systemiami, to używamy związku “dependency”?
- guest_8616 : 2881: bo to “znak”, że wywoływanie dotyczy operacji “naszych komponentów”, zewnętrzne elementy to “coś” od czego jesteśmy uzależnieni, to bardziej ogólna forma pokazanie tego faktu. Jeżeli jednak modelujemy integracje to podział na nasze i “cudze” na diagramach komponentów “nie istnieje”
- guest_8616 : w sumie to raczej konwencja, ale w UML związek ‘use’ może wskazywać tylko na to co ma realne operacje
- guest_7878 : Dzień dobry, co Pan sądzi o ERP open-source? Np. ERPNext czy Odoo
- Jaroslaw Zelinski : “co Pan sądzi o ERP open-source? Np. ERPNext czy Odoo”. Najbezpieczniejszą metodą zakupu i wdrożenia ERP jest używanie go bez kastomizacji. Powody są dwa: licencja i gwarancja oraz dalszy rozwój. więcej o tym tu: https://it-consulting.pl/2021/10/23/metody-kastomizacji-oprogramowania-standardowego-aspekty-ekonomiczne-recenzja/
- Jaroslaw Zelinski : “co Pan sądzi o ERP open-source? Np. ERPNext czy Odoo” c.d. Użytkownik (polska firma) porywający sie na zakup (licencjonowanie) systemu bezpośrednio od producenta z zagranicy i jego samodzielne wdrożenie, to troszkę jak kiedyś Polak importujący prywatnie samochód z USA do Polski: może i tanio ale do pierwszej awarii.
- Jaroslaw Zelinski : Osobiście sugeruję by takie projekty realizować zawierając umowę z Polskim dostawcą/integratorem, a w umowie zagwarantować sobie wsparcie (polskie prawo) oraz separację kodu producenta od dedykowanego (prawa majątkowe).
- Jaroslaw Zelinski : Po trzecie, wdrażanie takich monolitów w obecnych czasach to szukanie kłopotów 🙂
- Jaroslaw Zelinski : Jeżeli faktycznie taki system spełnia wymagania to osobiście sugeruję jednak by osobno wdrożyć jakiś polski system FK i zintegrować go z “zewnętrznym ERP”.
- Jaroslaw Zelinski : Na temat takiej integracji więcej tu: https://it-consulting.pl/2022/02/21/integracja-jako-zrodlo-przewagi-rynkowej-czyli-jak-projektowac-rest-api-z-visual-paradigm/
- guest_9569 : Tak, zdecydowanie FK zostawiłbym coś z naszego podwórka. Korcą jednak wszelkie inne systemy: szczególnie te dla manufacturing.
- guest_9569 : Ale też właśnie z tego co widziałem to Odoo jest komponentowe. Czy jednak pod spodem siedzi monolit?
- guest_9569 : Przyjrzałem się bliżej i rzeczywiście – monolit na jednej bazie PostgreSQL. Zna Pan może inne rozwiązania niemonolitowe? Dlatego pytałem o Open-source, bo chciałbym na nich poćwiczyć swobodnie bez kosztów
- Jaroslaw Zelinski : 9569: Te systemy ERP to monolity na jednej relacyjnej bazie, niema tam żadnych dokumentów: to co mamy na ekranie czy papierze to dynamicznie generowane raporty z tej bazy. To co dostawca nazywa modułem to jedynie pozycje w meny użytkownika.
- Jaroslaw Zelinski : 9569: “pytałem o Open-source, bo chciałbym na nich poćwiczyć swobodnie bez kosztów” nie wiem jaki jest cel, ale osobiście odradzam wdrażanie oprogramowania “własnymi rękami”.
- Jaroslaw Zelinski : “Zna Pan może inne rozwiązania niemonolitowe?” tak: https://it-consulting.pl/2022/02/21/integracja-jako-zrodlo-przewagi-rynkowej-czyli-jak-projektowac-rest-api-z-visual-paradigm/
- guest_4985 : Tak, rozumiem jak najbardziej samo podejście. Ale większość produktów, które widuję jest monolitowa i nie zawsze udostępnia API. Jakie w takim razie powinny być wymagania jeśli chcemy stworzyć wieloczęściowy zintegrowany system? Tylko udostępnianie API? Bo nie można wymagać, by każdy software używał baz noSQL.
- guest_4985 : I pytanie dodatkowe: czy szyny ESB są nadal w użyciu? Czy zostają wyparte przez iPaaS? Jaka jest różnica między nimi?
- Jaroslaw Zelinski : 4985: “Ale większość produktów, które widuję jest monolitowa i nie zawsze udostępnia API. ” i nie należy ich dzisiaj kupować.
- Jaroslaw Zelinski : 4985: “Bo nie można wymagać, by każdy software używał baz noSQL.” owszem, to wpływa na koszt ich utrzymania i rozwoju u ich producenta.
- Jaroslaw Zelinski : 4985: “I pytanie dodatkowe: czy szyny ESB są nadal w użyciu? Czy zostają wyparte przez iPaaS? Jaka jest różnica między nimi?” Jako komponent owszem tak, w zasadzie ESB czy iPaaS nie ma znaczenia, idea jest ta sama.
- Jaroslaw Zelinski : 4985: “czy szyny ESB są nadal w użyciu?” tak, obecnie marketingowa nazwa to RPA 🙂