Jarosław Żeliński IT-Consulting

Anonimowy Czat Archiwum 2024

(polecam przeszukiwanie Ctrl-F, powrót do Czata)

  • 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 🙂
  • Jaroslaw Zelinski : Historia (ok. 600 pytań i odpowiedzi) została przeniesiona do archiwum.
  • Jaroslaw Zelinski : Pytanie zadane na email: dlaczego niektóre treści na blogu są teraz płatne?
  • Jaroslaw Zelinski : Odpowiedź: co do zasady Blog, jako serwis edukacyjny, jest i pozostanie bezpłatny. Jednak niektóre artykuły wymagają ode mnie stałej pracy związanej z ich aktualizacją, i jest jej coraz więcej. Drugi powód to czas jaki poświęcam na sprawne odpisywanie na zadawane pytania a to także zajmuje mi czas.
  • guest_9106 : Firma przygotowuję się do dużego wdrożenia systemu klasy BPMS, który w dużej mierze będzie miał na celu zastąpienie starych rozwiązań legacy. Oczekiwania są spore, punktem wyjściem ma być analiza procesów biznesowych. Jak dobrze do tego podejść przy dużej złożoności organizacji, czego unikać , na co nie dać się naciągnąć dostawcy?
  • Jarosław Żeliński : guest_9106 : Po pierwsze sprecyzować cel, bo samo “zmieniamy stare na nowe” to tylko cel zakupowy. Po drugie “analiza procesów biznesowych” czyli analiza czego? Kluczem jest precyzyjne zdefiniowanie sobie pojęcia “proces biznesowy” wiedząc, że mamy jeszcze procedury i szablony dokumentów. Jedynym sposobem by dostawca nas “nie naciągnął” jest nie dawanie mu roli analityka i projektanta.
  • Jarosław Żeliński : guest_9106: proponuję też przeprowadzić test/prototyp na jakimś “mało ryzykownym” obszarze firmy, wyciągnąć wnioski i ewentualnie skorygować podejście.
  • guest_9106 : Na wczorajszej konferencji padły słowa, że dokumenty analizy powinny powstawać maksymalnie w kwartał bo za chwilkę są przestarzałe i wchodzi się w trym utrzymania, wcześniej jako pewne postulaty czy też pryncypia, wyczytane z Pańskich publikacji, można było dowiedzieć się o tym jakie są “limity’ stron dokumentacji, dlaczego modelowanie a nie poezja, dodatkowo dało się wyczuć sympatię do rozwiązań komponentowych, a nie monolitycznych. Zapytam przewrotnie, słowo agile jest dzisiaj różnie rozumiane, ale czy to nie jest tak, że to co Pan promuje, ale nie podpisuje hasłem ‘agile’, jest 100 razy bardziej zwinnym podejściem od tego promowanego przez liczne “szkoły agile”?
  • Jarosław Żeliński : guest_9106 : “czy to nie jest tak, że to co Pan promuje, ale nie podpisuje hasłem ‘agile’, jest 100 razy bardziej zwinnym podejściem od tego promowanego przez liczne “szkoły agile”?” .. hm. 🙂 słyszę te słowa kolejny raz ;), ale…
  • Jarosław Żeliński : guest_9106 : …agile w IT „metody zwinne zastępują projektowanie na wysokim poziomie częstym przeprojektowywaniem” (źr.: Dictionary Definitions from Oxford Languages)
  • Jarosław Żeliński : Dlatego raczej unikam słowa “agile”
  • guest_4336 : Jak poradzić sobie z operacjami CRUD na diagramie klas? Zawsze je wpisywać osobno, łącznie, a może pominąć całkowicie?
  • Jarosław Żeliński : guest_4336 : przede wszystkim nigdy wszystkie cztery w jednej klasie 😉 bo to antywzorzec 😉
  • Jarosław Żeliński : guest_4336 : nowy obiekt to najpierw fabryka a potem repozytorium, czyli jakaś jedna klasa ma operacje “nowy” a inna ma “zachowaj”
  • Jarosław Żeliński : https://it-consulting.pl/2021/11/03/wzorce-projektowe-czy-jednak-polityki/
  • Jarosław Żeliński : guest_4336 : nie pomijamy żadnych operacji na diagramach klas bo wtedy ich testy z pomocą diagramów sekwencji będą niemożliwe.
  • PiotrW : AGILE a agile, jedno to metodyka stworzona na podstawie błędnie interpretowanego manifestu, a drugie, to elastyczne, acz rozsądne, podejście do procesu wytwarzania oprogramowania na podstawie zebranych wymagań i ich POPRAWNEJ ANALIZY.
  • Jarosław Żeliński : PiotrW : Agile Manifesto to luźne tezy z czasów problemu roku 2000: mało czasu i dużo pracy. Nie bardzo jest co intepretować, a publikacje książkowe sygnatariuszy manifestu mówią same za siebie: UML, projektowanie, kodowanie. Niestety całe armie ludzi zrozumiały tylko tyle, że można klepać kod bezmyślnie na pałę z czym nie identyfikuje się ŻADEN sygnatariusz Agile Manifesto.
  • Przemek : Dzień dobry,
  • Jarosław Żeliński : Dzień dobry
  • Przemek : Często Pan zaznacz że ERP bazujące na relacyjnej bazie SQL są złym rozwiązaniem. Czy są na rynku systemy ERP korzystające z baz Non-sql?
  • Jarosław Żeliński : Przemek: ERP to bardzo stara idea i jako system transakcyjny może być i raczej bezie na bazie RDMS/SQL. Problem w tym, że tam nie ma żadnych dokumentów i nie ma sensu jego kastomizacja. Dlatego nawet ich producenci zalecają postawienie “obok” zintegrowanego archiwom dokumentowego i większość takie oferuje (SAP oferuje Opentext, Microsoft oferuje Sharepoint itp.).
  • Jarosław Żeliński : Przemek: tu wiećej: Ekren, G., & Erkollar, A. (2020). The Potential and Capabilities of NoSQL Databases for ERP Systems: In G. Ekren, A. Erkollar, & B. Oberer (Eds.), Advances in Business Strategy and Competitive Advantage (pp. 147–168). IGI Global. https://doi.org/10.4018/978-1-5225-9550-2.ch007
  • Przemek : Ok ale są jakieś przykłady takiego oprogramowania dostępne na rynku i realnie wdrażane?
  • Jarosław Żeliński : Przemek: Jądrem każdego ERP jest księga główna i one często były i są budowana na relacyjnym modelu z powodu chyba konserwatyzmy większości programistów. Ale nowsze, dedykowane systemy, budowane wewnątrz firm bywają budowane na bazach dokumentowych i zmienno-kolumnowych (np. Amazona została tak w całości przepisany kilkanaście lat temu).
  • Jarosław Żeliński : Przemek: nie ma sensu pisanie swojego dedykowanego ERP to praca na dekady i ogromne koszty, dlatego od lat powstają hybrydy: ERP zawężony do księgowości i wdrożony bez żadnej kastomizacji oraz satelitarne systemy algo gotowe albo dedykowane i tu NoSQL nie jest taki rzadki, z prostego powodu: to jest znacznie tańsze w projektowaniu i późniejszym utrzymaniu.
  • Przemek : Amazon nie korzysta z SAP-a?
  • Jarosław Żeliński : Przemek: robi tak wielu od ponad dwóch dekad, bazy NoSQL na rynku sa od ok. 223 roku (MongoDB było chyba pierwsze), a XML jako forma danych znamy od początku lat 90-tych. Ja osobiście zrezygnowałem z SQL/RDBMS pod koniec lat 90-tych ….
  • Jarosław Żeliński : Przemek :Amazon nie korzysta z SAP-a? Nie wiem, jeżeli tak to tylko FK na zapleczu, ale na pewno nie system transakcyjny sklepu i dostaw bo ten w całości jest zbudowany na NoSQL i nawet jest o tym książka 😉
  • Jarosław Żeliński : Przemek: Amazon cała swoja technologię oferuje jawnie jako usługi chmurowe: Wilkins, M. (2020). Amazon Web Services: Podstawy korzystania z chmury AWS (J. Zatorska, Trans.). Helion SA.
  • Jarosław Żeliński : Przemek: zbudowanie relacyjnego modelu danych dla bazy tysięcy produktów mających ogromną różnorodność cech i zmienną ich liczbę jest praktycznie niemożliwe. Model relacyjnym powstał w 1972 do masowych obliczeń w niezmiennym środowisko mainframe. Ten model się kompletnie nie nadaje do dokumentów i formularzy, nie przypadkiem w latach 90-tych rozpoczęto prace na modelami NoSQL.
  • Przemek : Co do np produktów i ich wyszukiwania to się w pełni zgadzam, jest to bardzo nieefektywne w bazach SQL dla tego firmy z dużymi bazami mają często tylko podstawowe informacje w bazie ERP a cały katalog produktów i wyszukiwanie na potrzeby sklepu internetowego czy POS poza. Natomiast mimo wszystko myślę, że na rynku 99% to systemy dużych firm z bazą MS SQL/Oracle/Hana i na razie chyba z sukcesem nikt się nie podjął stworzenia sytemu ERP Non-SQL innego niż na użytek wewnętrzny
  • Jarosław Żeliński : Przemek: bo przepisywanie ERP nie ma sensu, mało kto wdraża z tych monolitów coś więcej niż FK. Resztą robią inne dziedzinowe systemy a te nie zawsze są na SQL/RDBMS, szczególnie te nowsze, np. system w firmach kurierskich rzadko 😉 a sklepy internerowe coraz rzadziej, nowe systemu MES budowane są w oparciu o drzewiaste dtruktiry XML. itd.
  • Jarosław Żeliński : Przemek: kupno SAP,IFS czy MS Dynamix za ogromne pieniądze tylko po to używać ich tak jak Wapro czy Comarch Optima nie ma większego sensu, bazy danych tych systemów mają po kilka tysięcy powiązanych tabel a w użycie jest mały ich procent…
  • Jarosław Żeliński : Przemek: jeden z moich klientów ma potężny system MES Siemensa i księgowość na Comarch OPTIMA. Zmienią te Optimę na inny, niewiele droższy, tylko z powodów kiepskiej współpracy z producentem.
  • Przemek : Optima jest straszna…
  • Jarosław Żeliński : Przemek: inny mój klient ma umowę z biurem księgowym i w ogóle nie mają system FK ale maja potężny sklep internetowy i magazyny
  • Jarosław Żeliński : Przemek : “Optima jest straszna…” owszem 😉
  • Przemek : No i problem przy systemach typu Optima jest jak firma jest międzynarodowa to inny system FK w każdym kraju. Są mniejsze systemu typu MS business central czy Orcacle Net Suite które kosztują licencyjnie nie wiele więcej. Do Wapro mam sentyment ze starych czasów ale trochę go popsuli ostatnio
  • Jarosław Żeliński : Obecnie trend outsourcingu usług FK rośnie, więc wdrażanie dużych ERP w ogóle traci sens, maja je te biura.
  • Jarosław Żeliński : Przemek: problem międzynarodowych firm polega na tym, że każdy kraj ma inne prawo, i stawianie wszystkich na jednym ERP jeszcze sie chyba nikomu nie udało. Orcacle Net Suite ma bardzo zła opinie w firmach, które próbowały go wdrażać a koszt tej zabawy to nie tylko licencje, to grzebanie w tysiącach tabel z pomocą bardzo drogich ludzi na rynku.
  • Przemek : Ne Suite nie testowałem , Business Central wdrażam z sukcesami. W małych firmach wg mnie Wapro albo chmurowe typu Wfirma gdzie jest fajne API. Wapro już niestety poszło w subskrypcje…takie czasy.
  • Jarosław Żeliński : Przemek: Międzynarodowe firmy starają się integrować łańcuchy dostaw, a wyniki finansowe konsolidują osobno a nie na “jednej bazie danych jednego ERP”. Ma teraz klienta, firma w niemieckiej grupie kapitałowej, uznali, że w każdej spółce wdrożą jeden i taki sam system, po dwóch latach uznali że to był jednak zły pomysł ale zostali z tym jak Himilsbach z angielskim 😉 i mają poważnym problem, bo wiele rzeczy nie działa jak by chcieli a koszty niekończących sie kastomizacji ich przerosły i strzymali projekt.
  • Jarosław Żeliński : Przemek: coraz więcej dostawców FK idzie w subskrypcję
  • Jarosław Żeliński : Przemek: w Polsce sam używałem wFirma prawie od początku jak powstało 🙂
  • Przemek : Nie mówię o jednej bazie a jednym systemie. Jedna baza jest dosyć kłopotliwa każda zmiana lokalna musi być testowana i analizowana x n krajów
  • Jarosław Żeliński : Przemek: tak między nami, rynek baz danych Oracle czy Microsoft żyje z tego że każdy pyta “a kto nie używa SQL”? I tak te konformizm żyje 😉
  • Jarosław Żeliński : Przemek: Polecam ten tekst, nic sie nie zmieniło od 2011 roku: https://www.businessinsider.com/what-microsoft-oracle-ibm-and-sap-dont-tell-customers-2011-11
  • Dawid : Brałem udział w wdrożeniu Infor LN w firmie produkcyjnej działajacej na kilku kontynentach. Przełączenie z starej wersji ERP do nową udało się zrobić w jeden weekend. Więc da się, ale tutaj kluczem jest fakt że robiliśmy to własnymi siłami, przy niewielkim wsparciu zewnętrznego dostawcy. Samo wdrożenie na nową wersje trwało rok.
  • Jarosław Żeliński : Przemek: “Jedna baza jest dosyć kłopotliwa każda zmiana lokalna musi być testowana i analizowana x n krajów” to dotyczy generalnie architektury z centralna relacyjną bazą ..
  • Jarosław Żeliński : Przemek: “Przełączenie z starej wersji ERP do nową udało się zrobić w jeden weekend. ” a był kastomizowany?
  • Przemek : Chętnie przeczytam. Może ktoś się podejmie stworzenia systemu Non-sql tylko w praktyce większość rzeczy w technice się rozwija a nie tworzy od nowa. Tak jak dzisiejsze samoloty są rozwinięciem wersji z lat 70/80 tak systemy ERP. Skoro się sprzedaje to ktoś kto przyjdzie do zarządu z pomysłem wydajmy miliardy i zróbmy nowy system to wyleci przez okno
  • Dawid : Oczywiście, produkcja, magazynowanie, planowanie produkcji, zakupy etc wszystko było mocno kasmonizowane.
  • Przemek : O to przełączenie w jeden weekend to nie do mnie pytanie ale np w Business Central chmurowym customizowane wersje też podnosi się w jeden weekend, w on-premise w miesiąc. Tu akurat MS wymusił odejście od trzymania długo technologicznego chociaż dla wielu firm bolesne jak odejście od Windowsa XP i IE 6..
  • Jarosław Żeliński : Przemek: Owszem, dlatego ma sens zbudowanie systemu w postaci stabilnych dziedzinowych zintegrowanych standardowych aplikacji ,dostępnych na rynku, a dedykowane potrzeby projektowane jako add-on do nich lub osobne specjalizowane aplikacje.
  • Jarosław Żeliński : Przemek: co tu nazywamy kastomizacją? Bo jest to ingerencja w oryginalny kod, parametryzacja to nie kastomizacja.
  • Przemek : Dziękuję za wyjaśnienie i ciekawe materiały do poczytania
  • Jarosław Żeliński : Przemek: https://it-consulting.pl/2021/10/23/metody-kastomizacji-oprogramowania-standardowego-aspekty-ekonomiczne-recenzja/
  • Dawid : Nad wdrożeniem pracowało łącznie 8 osób i każda miała doświadzcenie +5 lat w organizacji. Tak na dobrą sprawę dział IT miał większą wiedzę biznesową niż departamenty biznesowe, bo tam dyrektorzy, pracownicy się zmieniali a IT nie 😉
  • Jarosław Żeliński : Dawid: mało która firma ma taki komfort, po drugie na rynku od lat decyduje koszt całego cyklu życia aplikacji, więc to że sie coś komuś udało nie jest żadnym argumentem, Liczy się to, że u konkurenta to samo kosztowało np. 5 razy mniej.
  • Jarosław Żeliński : Dawid: mityczne “dowożenie” nie jest żadnym argumentem niestety. W swojej karierze kilka razy pomagałem migrować nie dlatego, że system nie działał, a dlatego że był koszmarnie kosztowny w utrzymaniu i rozwoju.
  • Dawid : Zdaje sobie z tego sprawę. Dlatego dla mnie to cenne doświadczenie. Teraz wiem jak ważne jest dobre opłacanie specjalistów w ramach organizacji i utrzymywanie ich nawet wysokim kosztem. Osobna kwestia jest taka że własny departament It zajmujący się tylko erp/workflow jest zawsze tańszy niż zewnętrzny dostawca.
  • Jarosław Żeliński : Dawid: “Teraz wiem jak ważne jest dobre opłacanie specjalistów w ramach organizacji i utrzymywanie ich nawet wysokim kosztem. ” to jest mit, powstaje lokalny monopol.
  • Jarosław Żeliński : Dawid: “Osobna kwestia jest taka że własny departament IT zajmujący się tylko erp/workflow jest zawsze tańszy niż zewnętrzny dostawca.” jest bardzo często znacznie droższy 🙂 bo konserwatywny 🙂 i ma wstręt do dokumentowania tego co robi. Po trzecie ma silny konflikt interesu i żadnej konkurencji. Dlatego wiele firm outsourcuje dewelopment i utrzymanie a zostawia tylko analityków i architektów.
  • Jarosław Żeliński : Dawid: mityczne “dobre opłacanie specjalistów” właśnie owocuje ich zwolnieniami i redukcją wynagrodzeń w IT.
  • Dawid : No to jest fakt 😉 Kilka osób trzyma za jaja całą firmę.
  • Jarosław Żeliński : Dawid: dokładnie i nie raz uwalniałem od tego swoich klientów 🙂
  • guest_508 : Czy może być sytuacja aby w ramach tej samej aplikacji była jednocześnie i orkiestracja i choreografia?
  • Jarosław Żeliński : guest_508: “orkiestracja i choreografia?” to to samo 🙂
  • Jarosław Żeliński : guest_508 : jedno i drugie to koordynacja pracy komponentów systemu.
  • Jarosław Żeliński : guest_508: tu opis https://it-consulting.pl/2022/02/21/integracja-jako-zrodlo-przewagi-rynkowej-czyli-jak-projektowac-rest-api-z-visual-paradigm/
  • guest_508 : Dziękuję. Ciągnąć dalej choreografię i orkiestrację. Jak wiemy w przypadku orkiestracji mamy centralny punkt, który wywołuje metody kolejnych komponentów. W przypadku orkiestracji to kolejne komponenty z sobą gadają, a więc każdy ma w sobie informacje do kogo może gadać czyli ma zaszyte wywołania metody n+ komponentów. Jak się to ma do reguły hermetyzacji? Zakładam, że wywoływane metody są publiczne.
  • guest_8209 : Innymi słowy jak kwestia oznaczania czy metoda jest publiczna/prywatna/chroniona ma się do reguły hermetyzacji?
  • guest_6865 : Jakie jest Pańskie zdanie na temat TOGAF? Czy coś się zmieniło w ostatnich latach?
  • Jarosław Żeliński : guset_508: obawiam się że mylimy tu dwa wzorce: Saga i Łańcuch odpowiedzialności. Pierwszy to “centralny punkt sterujący”, drugi to kaskada z “zakazem” drogi na skróty.
  • Jarosław Żeliński : guest_508: “W przypadku orkiestracji to kolejne komponenty z sobą gadają, a więc każdy ma w sobie informacje do kogo może gadać czyli ma zaszyte wywołania metody n+ komponentów.” tego (każdy z każdym) sie nie robi bo prowadzi do chaosu. Hermetyzacja polega na tym, że komponent NICZEGO nie współdzieli z innymi.
  • Jarosław Żeliński : guest_8209: pojęcie publiczna, prywatna metoda to elementy języka programowana a nie paradygmatu. można ich zupełnie nie używać.
  • Jarosław Żeliński : guset_6865: TOGAF, ściśle powiązany z ArchiMate, “wymiera”. W moich oczach powody są dwa: jest licencjonowany z opłatami, notacja ArchiMate jest bardzo “słaba” i coraz mniej narzędzi ją wspiera z powodu konieczności licencjonowania.
  • Jarosław Żeliński : guest_508: dopóki się tego w całości nie narysuje, a widzi jedynie kilkadziesiąt linii kodu na ekranie (czyli malutki fragment dużej całości), tego nie widać i nie da się nad tym panować. Stosowanie oznaczeń publiczna/prywatna/chroniona nie ma nic wspólnego z hermetyzacją, to jedynie zabezpieczenie autora komponentu, by inne nie wywoływały metod, których nie chcemy udostępniać, to półśrodek.
  • Jarosław Żeliński : guest_508: “każdy ma w sobie informacje do kogo może gadać czyli ma zaszyte wywołania metody n+ komponentów” i to jest chaos prowadzący do powstania “gwiazdy śmierci” https://x.com/CodingFabian/status/543383413177454592/photo/1
  • kasia : Jak będzie wyglądała praca analityka biznesowego za 5 lat, 10 lat? W co warto pójść co będzie potrzebne, niszowe?
  • Marek : Mam 3 letnie doświadczenie jako analityk biznesowy. Chciałbym rozwinąć karierę w stronę szkoleń, prowadzenia webinarów, występowaniu na konferencji. Od czego zacząć?
  • Jarosław Żeliński : Marek : hm.. 3 lata to troszkę mało… ile projektów miałeś okazje zrealizować od analizy biznesowej aż do ukończenia wdrożenia pod Twoim okiem? Zwracam uwagę, że ktoś taki nie musi programować ale powinien wiedzie czym faktycznie jest programowanie, ile programów napisałeś sam? Zaczął bym od kursu programowania tylko po to by wiedzieć kto jest adresatem Twojej dokumentacji.
  • Marek : Z programowaniem miałem styczność na studiach i jeszcze parę szkoleń np na udemy, więc kod czytać umiem, ale nie programuję zawodowo. Rzeczywiście doświadczenie nieduże, więc myślałem żeby iść w bardziej miękką stronę, ogólnie o podejściu analitycznym, o prowadzeniu warsztatów, o problemach komunikacyjnych itd.
  • Jarosław Żeliński : Marek : nie ma czegoś takiego jak miękka strona analizy biznesowej, to z zasady jest analiza i projektowanie; z tego co piszesz, to jest to raczej kwestia organizacji pracy na etapie zbierania potrzeb biznesowych firmy, i tu widzę w wielu firmach wiele do zrobienia.
  • Kasia : Jak będzie wyglądała praca analityka biznesowego za 5, 10 lat? Na co będzie zapotrzebowanie?
  • Jarosław Żeliński : Kasia : obawiam się że ta rola zniknie, i zostanie inżynier projektant, to co dzisiaj nazywamy “analiza biznesowa” to kolekcjonowanie potrzeb
  • Kasia : Właśnie takie mam obawy, a że jestem nie pracuje jako AB to zastanawiam się, czy w tą stronę warto iść, czy może wybrać inną specjalizację? 🙁
  • Jarosław Żeliński : Kasia : największym problemem są dzisiaj schematy blokowe w BPMN i UML robione tak, że nikomu to niczego nie służą
  • Jarosław Żeliński : Kasia : c.d. a te notacje nie są tego przyczyną…
  • Krzysiek : Co oznacza, że notacja archimate jest “bardzo słaba”, może pan polecić jakiś artykuł u siebie na ten temat?
  • Jarosław Żeliński : Krzysiek: może być to: https://it-consulting.pl/2013/12/08/archimate-i-togaf-nie-do-zastapienia/
  • Krzysiek : Dzięki. wczesniej przeczytałem artykuł, gdzie pan pisze coś zupełnie odwrotnego “Jak widać, ArchiMate pozwala na tym poziomie abstrakcji na więcej niż same BPMN czy UML, ale też nie zastępuje ich. Wzbogaca także system pojęciowy na potrzeby analizy biznesowej co pozwala wiernie odtworzyć rzeczywistość biznesową w sposób zrozumiały dla „biznesu”. To wzbogacenie pan zestawia właśnie z ubogością BPMN i UML jako notacji inżynierskich. Więc czemu teraz takie negatywne zdanie o Archimate?
  • Krzysiek : to był artykuł “pokazać więcej z sensem”
  • Jarosław Żeliński : to artykuł: ArchiMate i TOGAF. Czy nie do zastąpienia?
  • Jarosław Żeliński : Krzysztof, na blogu mam dwa artykuły (patrz daty publikacji), pierwszy to początek przygody z Archimate, po roku przemyślenia.
  • Krzysiek : OK, rozumiem. Mimo wszystko jednak chyba aż tak TOGAF/Archimate nie wymiera. w instytucjach UE jest stosowany chociażby, a to spory “rynek’
  • Jarosław Żeliński : Krzysiek: COBOL też jest gdzieś używany (ok. 70% fintech). Prosze pamiętać, że jak ktoś kiedyś wydał miliony na kilka tysięcy stron dokumentacji w Archimate, to szybko tego nie wyrzuci. Nie ma żadnego znaczenia ile instytucji nadal używa TOGAF, znaczenie ma to ile wchodzi w niego dzisiaj…
  • Jarosław Żeliński : Krzysiek: prosze też pamiętać, że TOGAF wymaga licencjonowania i opłat. https://www.opengroup.org/togaf-commercial-licensees
  • Jarosław Żeliński : Krzysiek: “w instytucjach UE jest stosowany chociażby, a to spory “rynek'”… owszem to spory rynek, ale można szybko zostać jak przysłowiowy Himilsbach z angielskim 😉
  • Krzysiek : Draw.io czy miro też pan krytykuje. W jaki więc sposób proponuje pan wizualizować biznesowi na poziomie ogólnych rozmów na temat rozwiązań (wysokopoziomowo)?
  • Jarosław Żeliński : Krzysiek: krytykuję nieadekwatne narzędzia, które generują mega pracochłonność, nie ma znaczenia czy to pokaz, jazda próbna, czy pełny kurs: dobry taksówkarz ma jeden porządny samochód. Poziom abstrakcji (ogólności) nie ma tu żadnego znaczenia, bo po takim pokazie: albo jest ciąg dalszy i konieczność przepisania wszystkiego do “lepszego narzędzia”; albo ktoś brnie w narzędziu które sie do tego kompletnie nie nadaje. Profesjonalny mechanik, używa tylko procesjonalnych narzędzi a nie taniej chińskiej wiertarki na etapie ofertowania i Bosha po zawarciu umowy… Jeżeli tu coś krytykuję, to używanie MIRO czy Drav.io do realizacji projektu…
  • Krzysiek : Porządny samochód to może być toyota pickup. Może tym jechać projektant z majstrem, i mogą zabrać całą masę sprzętu oraz terrorystę z Hezbollahu. Pytanie, czy “biznes” w garniturach pod krawatem też doceni “porządność” tego samochodu. Wg mnie, biznes woli SUVem, który to samochód jest w gruncie rzeczy nieadekwatny do czegokolwiek.
  • Jarosław Żeliński : Krzysztof: liczy sie wyłącznie produkt jego jakość i i koszt jego wytworzenia
  • Jarosław Żeliński : c.d. można przyjąć zlecenie na wykopanie fundamentów i zrobić to koparką albo łyżeczką od herbaty.. każdy sam wybiera metody pracy albo usługodawcę…
  • Jarosław Żeliński : c.d. i to znaczy, że operator koparki: albo zawsze ma bardziej konkurencyjne ceny na te samą usługę, albo ma te same ceny i znacznie wyższa marżę…
  • guest_2907 : Wtrącę się do tej dyskusji. Z mojej perspektywy problemem jest to, że narzędzia typu CASE jak Visual Paradigm są nieznane. Bo: są płatne (i drogie). Mają pewny próg wejścia. Technicznie też nie są tak dobre jak błyszcząca konkurencja – to nie są SaaS przeglądarkowe, Postmania czy publikacja projektów do html działa średnio). Jak już się odkryje VP to jest to bajka. Ale po prostu dla wielu to legenda i zawsze będą za MIRO/Visio/etc.
  • Jarosław Żeliński : guest_2907 : podsumuje to tak, że owszem to wszystko prawda (co do Postmanii to działa bardzo dobrze i nie ma konkurencji), dlatego Ci co pokonali ten “próg wejścia” są o klasę bardziej wydajni niż ci, dla których “to legenda i zawsze będą za MIRO/Visio/etc.”, mnie to bardzo cieszy, bo tacy nie stanowią dla mnie żadnej konkurencji: zawsze będą wszystko robić dłużej, drożej i nie raz gorzej. Na tym polega przewaga profesjonalnej ekipy remontowej nad zgrają użytkowników tanich chińskich narzędzi …
  • Jarosław Żeliński : guest_2907: c.d. “są płatne (i drogie). ” jak mi ktoś (osoba, firma) mówiący o sobie “Profesjonalny ekspert” ze stawką dzienną 700GBP (a VP Professional kosztuje 799 USD), mówi, że korzysta tylko z darmowych narzędzi i darmowej wiedzy w Internecie, to jest to dla mnie i moich klientów żenujące
  • guest_1410 : “”Profesjonalny ekspert” ze stawką dzienną 700GBP”
  • guest_1410 : “”Profesjonalny ekspert” ze stawką dzienną 700GBP” nie znam takich w Polsce 😉 Patrząc na polskie stawki to max obecnie 120-150/h dla seniora analityka
  • Jarosław Żeliński : guest_1410: a ja widuje na fakturach dostawców systemów czołowych ERP, seniorów JavaEE…
  • Jarosław Żeliński : guest_1410 : nie mylmy zarobków tych ludzi z tym co ich pracodawcy wystawiają na fakturach.
  • Jarosław Żeliński : guest_1410 : fakturowe stawki starszych konsultantów to 1800-2500 zł /dzień, zagraniczne firmy fakturują nawet 3500zł/dzień
  • Jarosław Żeliński : dla porównania moje realne stawki w umowach: https://it-consulting.pl/zamow/#stawki
  • guest_1678 : Czy często podczas realizacja zleceń dla klientów zajmuje się Pan też symulacjami procesów, żeby pokazać efektywność wprowadzanych zmian, czy jednak częściej są to projekty analityczne, na ktorych pokazuje Pan w jaki sposób np. ma yć realizowane nowe procesy przy wsparciu nowego systemu IT.
  • Jarosław Żeliński : guest_1678 : Symulacje “na żywo” to w zasadzi poziom procesów wykonywalnych i bardzo duży rzetelnych danych jako parametrów, koszt ich przygotowania tylko po to by pokazać “film” bardzo rzadko ma sens. Sprawdza sie zaś testowanie (symulacja) kosztów i czasu trwania procesu, na zasadzie wpisania dla każdego tasku kosztu i czasu jego realizacji, wtedy ocena potencjalnych efektów planowanych zmian jest łatwa i nie kosztuje wiele.
  • guest_1678 : Chodziło mi właśnie o symulację kosztów i czasu trwania procesu. czy właśnie ona jest często wykonywana przez Pana w projektach?
  • Jarosław Żeliński : guest_1678 : Może słowo “często” to zbyt wiele, ale bywa. Teza, że optymalizacja procesu to bitwa na pojedyncze dolary czy minuty jest z gruntu fałszywa i często forsowana przez deweloperów. Sprzedaż na stronie WWW nie zależy od tego czy proces przejścia z koszyka do zamówienia skrócimy o 5 sekund, zależy od tego ilu ludzi potrzebuje nasz produkt. Procesy biznesowe to nie jest optymalizacja zapytań do baz danych czy czas odczytu z dysku twardego. To organizacja pracy ludzi.
  • guest_2467 : Mam zdanie: klient banku zleca pracownikowi banku wypełnienie/wsparcie w wypełnieniu wniosku kredytowego. W związku z tym mam de facto 3 pojęcia: klient banku, pracownik banku oraz wniosek kredytowy. Jednak patrząc na strukturę modelu pojęciowego (SBVR/diagram klas UML) nie widzę za bardzo jak to połączyć. Czy faktami tutaj będą: zleca, wypełnia czy może “zleca wypełnienie wniosku” między klientem a pracownikiem oraz “wypełnia” między pracownikiem a wnioskiem?
  • Jarosław Żeliński : guest_2467 : SVBR (modele pojęciowe, ontologie) polega na budowaniu zdań a nie relacji, należy zbudować poprawne (prawdziwe) zdania z tych trzech pojęć.
  • guest_2467 : Tylko zdanie: klient zleca pracownikowi wypełnienie wniosku kredytowego jest prawdziwe. Nie widzę co byłoby tutaj nie poprawne.
  • Jarosław Żeliński : guest_2467 : np. poprawnym zdaniem w j. polskim opisującym taka sytuację jest “klient wypełnia wniosek kredytowy”, po więcej zapraszam na https://it-consulting.pl/seminaria/
  • Jarosław Żeliński : guest_2467 : “zleca wypełnienie” jest kiepskim pomysłem bo w SBVR (ontologie) budujemy zdania zdania opisujące (stwierdzające) fakt.
  • Jarosław Żeliński : guest_2467 : ten diagram to nie jest spisywanie (wyrażanie) procesów.
  • guest_2467 : tylko, że zlecenie wypełnienia wniosku, to jest fakt, bo idąc do okienka w banku ja sam nie wypełniam wniosku, robi to pracownik. Ja jako klient tylko podaję dane.
  • Jarosław Żeliński : guest_2467 : Proszę ze swoich zdań zbudować treść np. opisującą regulamin banku. To będzie test poprawności tych zdań. Czym jest “zlecanie” czegoś?
  • guest_2467 : zlecenie czyli wykonanie zadania za pośrednictwem tej osoby, której zlecamy.
  • Jarosław Żeliński : guest_2467 : “zlecenie czyli wykonanie zadania” to zdanie nie mam sensu
  • guest_2467 : Dlaczego nie ma sensu? Jak coś, komuś zlecam, to ten ktoś za mnie to zadanie wykonuje.
  • Jarosław Żeliński : guest_2467 : “zlecenie zadania czyli wykonanie zdania” … ???
  • Jarosław Żeliński : guest_2467 : prosty test: proszę spisać swoje “zdania” w punktach i dać komuś do przeczytania.
  • Jarosław Żeliński : guest_2467 : jeżeli “Jednak patrząc na strukturę modelu pojęciowego (SBVR/diagram klas UML) nie widzę za bardzo jak to połączyć.” to jednak jest z tym problem…
  • Michał : Który certyfikat polecasz zrobisz?
  • guest_2467 : “Jarosław Żeliński :guest_2467 : jeżeli “Jednak patrząc na strukturę modelu pojęciowego (SBVR/diagram klas UML) nie widzę za bardzo jak to połączyć.” to jednak jest z tym problem…” ?
  • Jarosław Żeliński : Michał : a po co 😉
  • Jarosław Żeliński : guest_2467: parafraza starej zasady noblisty Feinmana: “jeżeli nie potrafisz czegoś poprawnie narysować to znaczy, że nadal tego nie rozumiesz lub robisz to źle” 😉
  • Michał : Czuję potrzebę zgłębiania wiedzy z AB lub pokrewnych dziedzin i zastanawiam się, który da mi najwięcej, nauczy mnie czegoś co mi się przyda w pracy
  • Jarosław Żeliński : Michał: certyfikat to tylko Prawo Jazdy, ono nie oznacza że jesteś dobrym kierowcą, ono oznacza, że potrafisz używać samochodu na drodze publicznej, po drugie niestety certyfikaty to egzaminy ze znajomości treści podręcznika a nie “umiejętność prowadzenia analizy czy projektowania”, jeżeli gdzieś jest wymagany certyfikat to można chcieć go mieć, ale posiadanie certyfikatu nie ma nic wspólnego a umiejętnością
  • Michał : Ok, jestem tego świadomy. Czy mając to wszystko z tyłu głowy, jest Pan w stanie coś polecić?
  • guest_4431 : Jeśli jest się wychowanym na Pana blogu i chce się pracować w podobny sposób to gdzie i jak szukać pracy? Wiele ofert pracy jest mylących, niewiele widać wymagań znajomości Visual Paradigm
  • Jarosław Żeliński : guest_4431 : 🙂 trudne pytanie, ale ja chyba jednak uczę logiki i niezależności, od siebie powiem tak: warto szukać pracy tam, gdzie oczekują efektu a nie “pracy dla pracy”, pamiętajmy, że narzędzia są wtórne: ale jedne firmy płacą za machanie konkretną łopatą, którą dają pracownikowi inne płaca za wykopanie dziury. ale….
  • Jarosław Żeliński : guest_4431 : … c.d. jak ktoś opanował kopanie dziur konkretną łopatą, to inną łopatą też wykopie fajną dziurę 😉 … więc co innego to analiza i projektowanie, a co innego to jakim narzędzie pracujemy, pierwsze to umiejętność drugie to tylko pracochłonność…
  • Jarosław Żeliński : Michał : Niestety nie mam pomysłu, ale jeżeli ktoś chce pracować TAM gdzie wymagają jakiegoś certyfikatu to albo się go ma i ta praca jest osiągalna albo nie… Moim osobistym zdaniem, żaden certyfikat nie daje umiejętności, one (nauka i egzamin) dają jakąś wiedzę, pozostaje kwestia tego jaką…
  • guest_7999 : jak kupując “płatne konsultacje adhoc” otrzymać fakturę?
  • Jarosław Żeliński : guest_7999: system zawsze od razu odsyła imienny paragon, ja nie jestem płatnikiem VAT, zgodnie z Polskim prawem obowiązek wystawienia faktury powstaje dla kwot większych niż ok. 400zł, mimo to w razie potrzeby wystawiam faktury
  • guest_2321 : Czy mógłby Pan coś więcej napisać o systemach w firmach kurierskich, które nie są zbudowane na bazie RDMS/SQL? Czy można prosić o przykład organizacji, która taki system wdrożyła?
  • Jarosław Żeliński : guest_2321: niestety nie, detale architektury IT to tajemnice większości firm, co to tego jakie firmy wdrożyły systemu nie na RDBMS/SQL to znajdzie pan ogromne liczby opisów w sieci z Amazon AWS na czele. Np. system rejestracji pozwoleń na broń w Polsce czy system obsługi dotacji dla Polonii, oba ja projektowałem więc mogę pisać i nadal są w użyciu. Jest takich tysiące na świecie.
  • Jarosław Żeliński : c.d. lista dostawców: https://www.trustradius.com/nosql-databases
  • Jarosław Żeliński : guest_2321: moi studenci i dyplomacji od 15 lat to robią….
  • Jarosław Żeliński : https://scholar.google.co.uk/scholar?q=ERP+systems+based+on+NoSQL+data+model&hl=en&as_sdt=0&as_vis=1&oi=scholart
  • guest_2321 : Jakie mogą być ograniczenia baz NoSQL? Do czego się nie nadają?
  • Jarosław Żeliński : guest_2321: nie nadają się do budowy hurtowni danych i do masowych obliczeń
  • guest_2321 : guest_1410 : “”Profesjonalny ekspert” ze stawką dzienną 700GBP” nie znam takich w Polsce 😉 Patrząc na polskie stawki to max obecnie 120-150/h dla seniora analityka
  • guest_2321 : guest_1410 : “”Profesjonalny ekspert” ze stawką dzienną 700GBP” nie znam takich w Polsce 😉 Patrząc na polskie stawki to max obecnie 120-150/h dla seniora analityka
  • guest_2321 : przejście enterem do następnego wiersza nie działa 😉
  • Jarosław Żeliński : Moja stawka w Polsce to 700GBP, tu reszta (nie jest jedyny w Polsce z takimi stawkami) https://it-consulting.pl/zamow/
  • guest_2321 : chciałem skomentować wpis guest_1410. Te stawki to dla analityków z angielskim na poziomie C1 i C2. Jestem po etapie poszukiwania pracy i widać, że stawki mocno spadły. Zwłaszcza na UoP.
  • Jarosław Żeliński : guest_2321: “przejście enterem do następnego wiersza nie działa ” celowo
  • guest_2321 : I jeszcze jedna uwaga. Głównie ogłaszają się banki. One nie potrzebują analityków/projektantów.
  • Jarosław Żeliński : guest_2321: mówimy o stawkach jakie płacą nabywcy tych usług integratorom a nie pracodawcy pracownikom 🙂
  • Jarosław Żeliński : Głównie ogłaszają się banki. One nie potrzebują analityków/projektantów” bo tam nadal “siano na wpadki nie gra roli” 😉
  • guest_2321 : jeśli mówimy o stawkach z faktury, to x2 🙂
  • Jarosław Żeliński : Marże firm IT w Polsce to nie raz 50% , reszta świata raczej 15-25 %
  • guest_2321 : Chciałbym dopytać o to: nowy obiekt to najpierw fabryka a potem repozytorium, czyli jakaś jedna klasa ma operacje “nowy” a inna ma “zachowaj”. Czy dobrze rozumiem, że operację nowy ma klasa a zachowaj ?
  • guest_2321 : operację nowy ma klasa control a zachowaj klasa entity
  • Jarosław Żeliński : “operację nowy ma klasa control a zachowaj klasa entity” a jak brzmi pytanie?
  • Jarosław Żeliński : aha………… https://it-consulting.pl/seminaria/
  • guest_2321 : ok 😉
  • guest_2321 : Prosiłbym o ogólną odpowiedź, dlaczego istnienie konta superadmina jest złą cechą aplikacji. Na czym polegają zagrożenia dla bezpieczeństwem informacji związane z szerokimi uprawnieniami dla tej roli w systemie?
  • Jarosław Żeliński : SPoF 🙂
  • guest_1475 : “Jarosław Żeliński : guest_2321: nie nadają się do budowy hurtowni danych i do masowych obliczeń”. Chciałbym dopytać o te masowe obliczenia, co to może być?
  • Jarosław Żeliński : https://it-consulting.pl/seminaria/
  • Jarosław Żeliński : “Chciałbym dopytać o te masowe obliczenia, co to może być?” np. wynagrodzenie za określony miesiąc dla 10.000 pracowników albo koszty produkcji w fabryce samochodów. Mogą to być także zaktualizowane salda rachunków kilku milionów klientów banku.
  • guest_2144 : Czy PlanUML zintegrowany z VSCode możemy uznać za narzędzie CASE?
  • Jarosław Żeliński : guest_2144: PlantUML to programik do generowania grafiki na podstawie skryptu, to taki Powerpoint czy MIRO dla lubiących kodowanie. Rever-sinżynieria kodu to także nie jest CASE. CASE to https://en.wikipedia.org/wiki/Computer-aided_software_engineering
  • guest_9399 : Cześć
  • Jarosław Żeliński : Cześć
  • guest_7714 : Dzień dobry, czy Pańskim zdaniem, świadczenie usług analizy i projektowania w Szkocji jest bardziej wymagające niż w Polsce?
  • Jarosław Żeliński : guest_7714: dobre pytanie, ale moi zdaniem ogólnie IT jest takie samo na całym świecie, :), to hermetyczna branża i od wielu lat każdy mój kontakt z zagranicznym projektem potwierdza, że “wszędzie są te same problemy”, potwierdza to także literatura (na moim blogu jest masa źrodeł). Tu mam znajomego pracującego przy wdrożeniu SAP w dużej firmie: identyczne problemy jak w Polsce, bo to stale ten sam SAP 🙂 itp. itd.
  • guest_3631 : widziałem dokumentację zagranicznego dostawcy, ten sam ból
  • guest_4791 : Dzień dobry, w jaki spósób można osiągnąć ten efekt w VP (https://it-consulting.pl/wp-content/uploads/2021/01/image-15.png). Chodzi o to, by najpierw zdefiniować komponent (jako abstrakcyjny) i potem zdefiniować już konkretny produkt (np. Optima : ERP).
  • Jarosław Żeliński : guest_3631: ja też widuję, to problem nie tylko w Polsce.
  • Jarosław Żeliński : guest_4791: robimy to na diagramie wdrożenia, więcej tu: https://it-consulting.pl/seminaria/
  • Jarosław Żeliński : guest_3631: obserwują to co ludzie publikują na LinkedIn, widzę publikacje akademickie z całego świata, nie jest dobrze bo większość ludzi coś pisze ale nie potrafią tego co napisali uzasadnić.
  • guest_8644 : Dzień dobry, ilu analityków Pana zdaniem powinno być w firmie średniej wielkości?
  • Jarosław Żeliński : guest_8644: jeden architekt plus właściwa liczba ludzi do pomocy, jeżeli analitykiem jest ktoś to stworzył i utrzymuje modele to tylko jeden
  • Jarosław Żeliński : guest_8644: zgodnie z zasadą, że dwie kobiety nie urodzą dziecka w 4,5 miesiąca… (ale wiem że w wielu firmach próbują)
  • guest_5093 : a ten architekt to jaki: biznesowy, korporacyjny, IT?
  • Jarosław Żeliński : guest_5093: to jedna osoba potrafią zrobić to: https://it-consulting.pl/zamow/architektura-korporacyjna-opis-struktury-modeli-i-sladowania/
  • guest_5093 : Na pewno nie będzie to tzw. architekt IT
  • Jarosław Żeliński : guest_5093: nikt na świecie nie wie co to takiego “Architekt IT” 🙂
  • guest_5093 : No jak nie?! 😉 na pracuj.pl sporo ofert na to stanowisko jest
  • Jarosław Żeliński : guest_5093: ale mamy: architekturę biznesową, architekturę informacji i architekturę środowiska IT
  • Jarosław Żeliński : guest_5093: na całym świecie nadal najwięcej jest rekrutacji “solution designer = admin serwera/koder”, miliony much nie mogą sie mylić 😉 ale to tylko te rekrutacje gdzie brief pisze admin IT
  • Jarosław Żeliński : A obecny trend na świecie to: https://builtin.com/recruiting/software-engineer-vs-programmer
  • guest_5093 : Zawsze mnie zastanawia to: Software Engineer: A software engineer has extensive knowledge of advanced mathematics and a strong background in programming. Czy to konieczne jeśli mówimy o architekturze biznesowej i architekturze informacji? Czy zajmowanie się inną dziedziną, np. archiwystyką, wykluczają możliwość wykonywania zawodu software engineera?
  • Jarosław Żeliński : guest_5093: Software Engineer nie musi kodować ale powinien rozumieć jak działa to co projektuje…
  • Jarosław Żeliński : Tak jak każdy inny projektant
  • guest_5093 : Nie wyraziłem się jasno. 🙂 Chodziło mi o tą extensive knowledge of advanced mathematics.
  • Jarosław Żeliński : “extensive knowledge of advanced mathematics.” tu autorzy chyba faktycznie lekko przesadzili ale uznaję, że w USA jest to znajomość twardej logiki i teorii zbiorów na których zasadza sie pojęcie klasy i obiektu 🙂
  • guest_5093 : jeśli tak, to wystarczy jeden semestr logiki na prawo albo administracji 😀
  • Jarosław Żeliński : guest_5093: oraz przełożenie tego na rysunek techniczny jakim jest UML 🙂
  • Jarosław Żeliński : Dochodzi jeszcze część procesowo-zorientowanego modelowania organizacji czyli pojęcia proces biznesowy, informacja, dokument i procedura.
  • guest_5093 : no tutaj to absolwenci uczelni technicznych mają przewagę nad prawnikami 😉 czy na WAT uczyli Pana ładnie rysować schematy?
  • Jarosław Żeliński : “czy na WAT uczyli Pana ładnie rysować schematy?” owszem, ale wcześniej nauczyli mnie tego w Technikum Górniczym, abstrachowania od detali też.
  • guest_5093 : Jarosław Żeliński :Dochodzi jeszcze część procesowo-zorientowanego modelowania organizacji czyli pojęcia proces biznesowy, informacja, dokument i procedura. | Czyli wiedza z dziedziny zarządzania.
  • Jarosław Żeliński : Tak, ale generalnie nazywa sie to “Ogólna teoria systemów w organizacji”
  • Jarosław Żeliński : Polecam to: Cempel, C. (2006). Teoria i inżynieria systemów. ITE–PIB, Radom. Cempel, C. (2008). Teoria i inzynieria system??w—Zasady i zastosowania myslenia systemowego: Dla student??w wydzial??w politechnicznych. Wydawnictwo Naukowe Instytutu Technologii Eksploatacji – PIB.
  • guest_3904 : Dzień dobry, w jakiejś dyskusji na LI napisał Pan, że analityk otrzymuje zakres. Nie pamiętam teraz o zakres czego chodziło. Czy mógłby Pan tu rozwinąć myśl?
  • Jarosław Żeliński : guest_3904 Generalnie pojęcie zakres w przypadku analizy dotyczy obszaru do zamodelowania, raz zakres analizy to cała organizacja a raz np. tylko dział handlowy lub “tylko” procesy obsługi klienta. Generalnie jeżeli mowa o procesach to zakresem nigdy nie będzie “dział
  • Jarosław Żeliński : zakresem będą procesy
  • Jarosław Żeliński : guest_3904 gdyby chodziło o zakres wymagań a nie “zakres procesów” to wtedy zakresem mogą być “wymagania działu sprzedaży”.
  • guest_3409 : Jak nazwać to co powstaje w wyniku analizy modelu biznesowego zamawiającego a zostało wyrażone w postaci diagramu przypadków użycia?
  • Jarosław Żeliński : guest_3409 model biznesowy to procesy biznesowe, diagram przypadków użycia to wymagania…
  • guest_3409 : Jasne. Nie rozumiem pojęcia “zakres wymagań”. Można prosić o wyjaśnienie?
  • Jarosław Żeliński : guest_3409 zakres wymagań to obszar firmy, działania, procesy biznesowe, którego dotyczy “analiza wymagań”
  • Jarosław Żeliński : w zasadzie powinno się mówić “zakres (obszar) analizy wymagań”
  • guest_3409 : Dziękuję za wyjaśnienia
  • guest_6304 : Panie Jarku, czy w projektach, które Pan prowadzi u klientów dostarcza Pan również wykonawcy szczegóły do implementacji, takie jak np. mapowanie danych pobranych z innego systemu, szczegóły techniczne integracji, definiowanie plików xsd (czyli odwzorowanie dokumentu)? Czy poprzestaje Pan na architekturze rozwiązania w postaci dokumentacji procesów biznesowych i diagramów UML, a reszta jest po stronie wykonawcy? Pytam ze względu na to, że pracując w dużej korporacji z ogromną liczbą aplikacji (development in house) analityków przeważnie ‘wrzuca’ się do rozwoju istniejącej aplikacji – często jest to dodawanie nowych funkcjonalności, czyli zarówno propozycja rozwiązania i spięcie z obecną architekturą + dostarczenie koderowi wszystkich szczegółów, takich jak dokładne opisy integracji i mapowania danych z zewnętrznych źródeł na wewnętrzne struktury, aż po xpathy wskazujące na konkretne pola. I jestem ciekawa jak to wygląda w Pana przypadku, gdy prac
  • Jarosław Żeliński : guest_6304 mapowanie danych hermetyzujemy na poziomie API tych aplikacji, w takich przypadkach ustalamy, że: 1. każda aplikacja ma swojego administratora, 2. wiemy jakimi dokumentami zarządza dana aplikacja (masterdata), 3. każda aplikacja ma (MUSI MIEĆ) API za które odpowiada jej adminisytrator (deweloper który ją obsługuje), 4. każda integracja jest projektowana na poziomie “API to API”, 5. mapujemy na siebie XML/JSON
  • Jarosław Żeliński : guest_6304 , czyli w projektach najpierw doprowadzam do tego, że: 1. istnieje diagram/model architektury HLD, 2. istnieją modele/struktury każdego dokumentu, 3. projektuję mapowanie tych danych, jeżeli jest taka potrzeba.
  • Jarosław Żeliński : guest_6304 ” jak słusznie Pani zauważa, konieczne jest “dostarczenie koderowi wszystkich szczegółów” bo on faktycznie jest (jak sam często podkreśla) koderem, a nie analitykiem i ani projektantem.
  • Jarosław Żeliński : ogólnie opisałem to tu: https://it-consulting.pl/2022/02/21/integracja-jako-zrodlo-przewagi-rynkowej-czyli-jak-projektowac-rest-api-z-visual-paradigm/
  • Jarosław Żeliński : Jeżeli potrzebne są jakieś konkrety to muszę już zaprosić tu 😉 https://it-consulting.pl/seminaria/
  • guest_5989 : Dzień dobry, w chacie z guest_6304 napisał Pan, że dostarcza architekturę HLD rozwiązania, to w taki
  • guest_5989 : m razie robi architekt w takim projekcie?
  • Jarosław Żeliński : guest_5989 : architekt czego ;), bo kto inny projektuje architekturę środowiska, a kto inny architekturę aplikacji (czyli jej model).
  • guest_6767 : Chodziło mi architekta software’ego (software engineer)
  • Jarosław Żeliński : guest_6767 , “software engineer” to projektant oprogramowania które MA POWSTAĆ
  • guest_5615 : To czym się różni projekt wytworzony przez sofware engineera od projektu hld, który Pan wytwarza?
  • Jarosław Żeliński : guest_5615 : to to samo
  • Jarosław Żeliński : tu jest opisane to co robi “software engineer” https://it-consulting.pl/2022/12/19/iconix-c-d/
  • Jarosław Żeliński : na pewno nie koduje 😉
  • guest_3672 : W hld sysyemu nie ma kodu 🙂
  • Jarosław Żeliński : guest_3672 jak to nie, HLD to także architektura kodu
  • Jarosław Żeliński : https://it-consulting.pl/2017/07/15/architektura-kodu-aplikacji-jako-pierwszy-etap-tworzenia-oprogramowania/
  • guest_6304 : Bardzo dziękuję za odpowiedź 🙂
  • guest_34 : Jaki jest pana stosunek do pracy do w agile’u i braku szczegolowych analiz przed dewelopmentem. Wszytko w trakcie etc. Mam duze obawy do proponowanych zmian przez scrum masterów
  • Jarosław Żeliński : guest_34 : taki sam jak budowy domów bez projektów.
  • Jarosław Żeliński : guest_34 : nawet jak w końcu kiedyś powstanie coś co działa, to i tak mało kto, o ile w ogóle, rozumie jak to działa i utrzymanie tego i rozwój jest jeszcze większą gehenną.
  • Jarosław Żeliński : guest_34 : polecam też to https://it-consulting.pl/2024/09/29/projektowanie-czyli-architektura-kodu-aplikacji-c-d/
  • guest_547 : W czym Pan proponuje dokumentować strukturę dokumentów/encji które będą docelowo przechowywane jako jakieś JSONy lub XMLe? Chodzi mi o dokumentację de facto strukturalną, gdzie będzie wprost przełożenie na to co zostanie zakodowane.
  • guest_547 : Do tego lepszy będzie diagram ERD czy diagram klas?
  • Jarosław Żeliński : guest_547 : JSON i XML to zagnieżdżone struktury, w UML ideałem jest diagram struktur złożonych (to forma diagramu klas)
  • Jarosław Żeliński : modelowanie np. faktury jako ER nie ma sensu
  • Jarosław Żeliński : https://it-consulting.pl/2021/03/28/struktury-formularzy-jako-forma-wyrazania-wymagan/
  • guest_6698 : Rzemieślnicy (krawcy, szewcy, itd) mają swoją powiedzmy gildię, zrzeszanie czy cokolwiek innego. Zdobywają szlify ucznia, czeladnika czy w końcu mistrza. Niby w naszej branży mamy poziomy juniora, mida i seniora. Dlaczego w branży IT czy generalnie w inżynierii nie ma już czegoś takiego?
  • Jarosław Żeliński : guest_6698 : to dobre pytanie, moja subiektywna wizja: terminator, czeladnik i mistrz to ścieżka oparta na etyce i szacunku dla dorobku starszych, czy mam kontynuować? Ale nie jest prawdą, że “już nie ma czegoś takiego”, jest ale to mało popularne…
  • Jarosław Żeliński : Zapraszam 🙂 https://it-consulting.pl/seminaria/
  • guest_6698 : Nie ma czegoś takiego w takim sensie, że de facto nie mamy jakichś państwowych egzaminów, które dają szlify ucznia, czeladnika czy mistrza. Są niby certyfikaty, ale te, jak sam Pan często pisze, są jak prawo jazdy, a u rzemieślników jednak szlify poziomów coś jednak znaczą.
  • Jarosław Żeliński : guest_6698 : Fakt państwowych egzaminów nie ma ale te egzaminy nie wiele dają, prawnicy maja i co? Lepsi? drugi koniec kija to to, że takie cechy ograniczają dostęp do zawodu, robi się monopol co pogardza jakość i podnosi ceny, a osobiście nie tęsknię za jakimś cechem IT, po prostu uważam, że każde “dzieło” powinno być podpisane a fachowca poznać po jego dorobku a nie po tym czy ma certyfikat,
  • guest_4137 : O jakiej naszej branży pisze guest_6698? Nie jest w branży it?
  • Jarosław Żeliński : guest_4137 , moim zdaniem branża nie ma tu w sumie znaczenia
  • Jarosław Żeliński : rozgarnięty człowiek bułki kupuje w sprawdzonej piekarni a projektowanie zleca komuś czyj dorobek jest publicznie dostępny
  • guest_7947 : https://it-consulting.pl/2022/09/19/ontologia-czyli-jak-sie-to-robi/#zp-ID-36770-5085975-29NZ6BRG:~:text=pojcietonazwarzeczylubfaktu czyli rzeczowniki i czasowniki? Czy budując słownik pojęć fakty (czasowniki) mają swoje definicje?
  • Jarosław Żeliński : guest_7947 : ontologia to zbiór pojęć będących “nazwą czegoś” oraz predykatów, czyli “łączników” (głównie czasowniki ale to nie jest reguła) łączących je w prawdziwe zdania. Słownik to tylko sam zbiór tych pojęć.
  • guest_9838 : Jak podejść do udokumentowania logiki już istniejącej aplikacji, w której nie ma interakcji użytkownika z systemem przez formularze, FE, itp.? Aplikacja pobiera dane z różnych źródeł, waliduje, grupuje dane, które pochodzą z jednej transakcji, złożonym algorytmem nadaje identyfikator tej transakcji i wysyła dane na communication layer, gdzie inne aplikacje mogą subskrybować topic i korzystać z danych. Mój pomysł na to jest taki:
  • guest_9838 : – model pojęciowy
  • guest_9838 : ahh, enter wysyła :D. model pojęciowy + słownik, algorytmy przedstawić na diagramach aktywności, diagramy sekwencji do pokazania przebiegu poszczególnych kroków między komponentami aplikacji i źródłami danych. Czy to dobra droga? Co jeszcze warto by było dorzucić?
  • guest_9838 : Z mojej strony wygląda tak, jakby pierwsza wiadomość się jednak nie wysłała, więc napiszę jeszcze raz :). Wiadomość wyżej to kontynuacja pytania o to, jak najlepiej udokumentować istniejącą aplikację, w której nie ma FE, formularzy, żadnej interakcji użytkownika z systemem. Aplikacja pobiera dane z różnych źródeł, przetwarza złożonym algorytmem i łączy ze sobą dane pochodzące z jednej transakcji, a następnie wysyła zestaw danych na communication layer, gdzie inne aplikacje mają opcję subskrypcji topica i mogą korzystać z danych 🙂
  • Jarosław Żeliński : guest_9838 ; co do zasady: orkiestracja komponentów to diagram sekwencji, metody interfejsów dokumentujemy z użyciem diagramu aktywności (ale tu są dwa poziomy!), problem w tym, że proste RESTowe CRUD y, warto często obsłużyć mądrzejszym adapterem po swojej stronie. to grubszy temat :), zapraszam na konsultacje,
  • Jarosław Żeliński : guest_9838 : Jak podejść do udokumentowania logiki już istniejącej aplikacji, w której nie ma interakcji użytkownika z systemem przez formularze, FE, itp.? Co do zasady pojęcie komunikat i formularz są synonimami: każdy komunikat potencjalnie może być pokazany człowiekowi na GUI jako formularz, dlatego u wielu autorów formularz, komunikat, dokument to synonimy, w UML także, jest artefact o stereotypie “Document” (pisałem o tym niedawno: https://it-consulting.pl/2024/12/29/profil-uml-vs-model-i-czym-sa-stereotypy/)
  • guest_7208 : https://it-consulting.pl/2022/11/06/jakie-przypadki-uzycia-ma-poczta-a-jakie-szafa-grajaca/#:~:text=Generalnieszafagrajcarealizujedwieusugi a z punktu widzenia SOA/mikroserwisów nie byłoby jeszcze usługi “lista utworów”?
  • Jarosław Żeliński : guest_7208 “a z punktu widzenia SOA/mikroserwisów nie byłoby jeszcze usługi “lista utworów”?” Nie, bo usługą (przypadek użycia) jest zarzadzanie określonymi danymi, a nie “lista obiektów”.
  • Jarosław Żeliński : guest_7208 przeciętna aplikacja to kilka, usług (przypadek użycia), kilkanaście ale nie kilkadziesiąt czy kilkaset.
  • Jarosław Żeliński : Tu więcej: https://it-consulting.pl/2017/06/04/ile-przypadkow-uzycia/
  • guest_7208 : “Nie, bo usługą (przypadek użycia) jest zarzadzanie określonymi danymi, a nie “lista obiektów”.” Czyli PU p.t. Faktury wskazuje na listę obiektów, a nie zarządzanie takimi danymi?
  • Jarosław Żeliński : guest_7208 : Faktury wskazuje na listę obiektów, a nie zarządzanie takimi danymi? Usługa aplikacji to np. tworzenie faktur, z tym nierozerwalnie wiąże się ich składowanie i przywoływanie na ekran. Ogromnym problemem są systemy gdzie “dokument” to raport z bazy SQL a nie dokument….
  • guest_9271 : Co Pan sądzi o wzorcu projektowym Saga opartym o choreografię a nie orkiestrację? Albo inaczej – o wydarzenia (events) a nie rozkazy (commands)?
  • guest_9271 : Tutaj pewien autor opisuje te dwie wersje – https://javasenior.pl/wzorzec-saga-saga-pattern/
  • guest_9271 : Pytanie czy Saga oparta na choreografii to jeszcze saga czy nie? Ja ten wzorzec rozumiem tak że jego sensem jest centralny serwis który koordynuje sagę, a nie że ona się dzieje pomiędzy serwisami, przez co są one obciążane odpowiedzialnością za nasłuchiwanie i interpretację zdarzeń przez co są ze sobą ściśle związane.
  • Jarosław Żeliński : To kolejny opis oparty ma możliwości określonego frameworka i środowiska (Kafka), 5.1. to nie Saga z zwykłe ESB i brocker, 5.2. podobnie, 5.3. jeszcze gorze jbo logika rozsmarowana wszędzie, 5.4. podobnie, ak sie cos posypie to nawet nie wiadomo gdzie szukać, generalnie “messagebrocker” to środowisko a nie wzorzec w modelu dziedizny
  • Jarosław Żeliński : ” jego sensem jest centralny serwis który koordynuje sagę, a nie że ona się dzieje pomiędzy serwisami,”, a to co pokazał autor tego tekstu to dramat mieszania środowiska i logiki biznesowe , typowe dla JavaEE/SE/Spring i .NET
  • Jarosław Żeliński : Tu opisałem czym jest Saga z przykładem: https://it-consulting.pl/2022/02/21/integracja-jako-zrodlo-przewagi-rynkowej-czyli-jak-projektowac-rest-api-z-visual-paradigm/
  • Jarosław Żeliński : guest_9271 : to co “Tutaj pewien autor opisuje …” to się nie przypadkiem nazywa na świecie “myślenie kodem” albo “myślenie implementacją”
  • guest_9271 : Dziękuję za odpowiedź 🙂 Właśnie tak myślałem, że wzorzec Saga z choreografią do siebie nie pasują, ale na tylu stronach z artykułami o wzorcu Saga to widziałem że aż zgłupiałem. Wzorzec broker też nie jest zły i ma swoje zastosowania, ale chyba klucz to gruntownie przemyśleć jaka idea stała za danym wzorcem projektowym jak ktoś go wymyślał i ćwiczenie żeby nabrać intuicji który kiedy stosować.
  • Jarosław Żeliński : Kluczowym celem wzorca Saga, jest trzymanie CAŁEJ logiki scenariusza w JEDNYM miejscu,
  • guest_611 : Jarosław Żeliński :Kluczowym celem wzorca Saga, jest trzymanie logiki scenariusza w JEDNYM miejscu. Ten wzorzec jest implementowany w adapterze usługi?
  • Jarosław Żeliński : guest_611 , czym tu jest “adapter usługi”? Możemy sobie wyobrazić, że to co “moja” aplikacja widzi jako usługę, faktycznie jest wynikiem przetwarzania danych z kilku zewnętrznych, wtedy raczej jednak użył bym słowa “komponent” a nie “adapter”, adapter nie realizuje logiki dziedzinowej, więc prosta “tępa” agregacja danych z kilku miejsc można by jeszcze uznać za adapter, ale cokolwiek ponad to to już raczej komponent…
  • Jarosław Żeliński : guest_611 , miejsce w którym “siedzi scenariusz” Saga t nie adapter a raczej “API Gateway” https://medium.com/design-microservices-architecture-with-patterns/microservices-architecture-for-enterprise-large-scaled-application-825436c9a78a
  • guest_611 : pytanie nawiązywało do tej wypowiedzi: proste RESTowe CRUD y, warto często obsłużyć mądrzejszym adapterem po swojej stronie. Na podyplomówce i szkoleniach kiedyś Pan uczył mniej więcej następującego śladowania: task na modelu procesu-> przypadek użycia -> komponent na diagramie LLD. A teraz widzę coraz częściej adaptery, API Gatewaye, operacje crud czy REST jako PU. Z czym powiążemy taki PU jak np. Faktury jeżeli w architekturze będzie API Gateway?
  • Jarosław Żeliński : guest_611 , co do zasady wewnątrz aplikacji wzorcem HLD jest struktura: Ekran-GUI/Koordynator-Gateway/Microserwisy, jeżeli integrujemy coś z zewnątrz to albo wstawiamy adapter albo powstaje aplikacja/komponent integrująca kilka zewnętrznych systemów, to zawsze indywidualna sytuacja, tu wiecej: https://it-consulting.pl/2022/12/19/iconix-c-d/
  • guest_611 : Cytat z artykułu ICONIX c.d.: Element ‘Entity’ na powyższym diagramie reprezentuje obiekt przechowujący dowolnie złożony strukturalny dokument jako agregat. Czy ten element reprezentuje bazę danych?
  • Jarosław Żeliński : guest_611 “Czy ten element reprezentuje bazę danych?”, nie, co najwyżej zapytanie do niej, ale generalnie entity hermetyzuje żądania zachowania i przywołania określonego dokumentu (np. SON czy XML, PDF….)
  • guest_611 : Pytam, bo zgodnie z architekturą heksagonalną baza danych nie jest częścią aplikacji, a ten element zawierał się w pakiecie Komponent. Czyli ten element to w zasadzie adapter?
  • Jarosław Żeliński : guest_611 , tak, zresztą sam autor (Cockburn) obecnie nazywa to “porty i adaptery”
  • Jarosław Żeliński : bo mo motor SQL to element środowiska nie aplikacji, z czym zawcięcie walczą wyznawcy JavaEE i .NET 🙂
  • guest_611 : Semantyka tego znaku może być nieco myląca 🙂
  • Jarosław Żeliński : guest_611 :” Semantyka tego znaku może być nieco myląca” on ma ze 30 lat 🙂
  • guest_611 : Chodzi o to, że może nie być interpretowany jako adapter.
  • Jarosław Żeliński : guest_611 , dlatego dla jednoznaczności definiujemy dla wzorców stereotypy w profilach UML
  • guest_611 : Rozumiem, że dodajemy kolejny stereotyp do już występującego ?
  • guest_611 : czyli ten element entity ma dodatkowy stereotyp np. adapter
  • Jarosław Żeliński : entity to entity (wzorzec BCE) i nie mieszamy tego z implementacją (to częsty błąd), jeżeli dane są nie lokalnie a zdalnie dostępne, to zastępujemy go adapterem
  • Jarosław Żeliński : innymi słowy albo mamy w firmie swojego prawnika (entity) albo mamy telefon do zewnętrznej kancelarii (adapter)