Kwadrans z ekspertem lub pytanie na email

O moim blogu Praca nad tekstami na blogu zajmuje bardzo dużo czasu. Te artykuły to dorobek doświadczenia z realizowanych projektów oraz stale prowadzonych studiów literaturowych. Celem jest propagowanie sprawdzonej wiedzy i edukacja, gdyż wyznaję zasadę mówiącą, że Ludzie powinni się dzielić wiedzą. Zarabiać na życie należy tym co potrafimy zrobić, a nie tym co ukryjemy przed innymi. Dostęp do mojego bloga jest stale bezpłatny, jeżeli informacje na blogu nie wystarczyły, wpisz pytanie pod artykułem. Odpowiem. O moim czasie Jeżeli jednak potrzebne są Państwu personalnie udzielone dodatkowe wyjaśnienia do treści publikowanych…

Czytaj dalejKwadrans z ekspertem lub pytanie na email
Read more about the article Diagram aktywności UML c.d.
David Harel. (2001). Rzecz o istocie informatyki. Algorytmika. (Zbigniew Weiss & Piotr Carlson, Trans.; Wydanie trzecie). PWN.

Diagram aktywności UML c.d.

Wprowadzenie W 2021 roku pisałem o stosowaniu diagramu aktywności UML w kontekście tworzenia Opisu Technicznego Oprogramowania, zwracając uwagę, że potrzebą jest to, że w toku projektowania systemu: Kolejny etap to doku­men­to­wa­nie metod ope­ra­cji (algo­rytm) (Diagram aktywności UML - kiedy - Jarosław Żeliński IT-Consulting) Uporządkujmy pojęcia. Słownik j.p.: algorytm mat. «ściśle określony ciąg czynności, których wykonanie prowadzi do rozwiązania jakiegoś zadania» procedura «w językach programowania: wydzielony fragment algorytmu» Oba ww. pojęcia są często używane naprzemiennie. Encyklopedia PWN podaje: algorytm: przepis postępowania prowadzący do rozwiązania ustalonego problemu, określający ciąg czynności elementarnych, które…

Czytaj dalejDiagram aktywności UML c.d.

Organizacja jako mechanizm czyli słoń w pokoju

Organizacje to wielkie mechanizmy, złożone z funkcjonalnych bloków (komórki organizacyjne), te z mniejszych elementów, a te zaś wymagają zasobów: są nimi ludzie i narzędzia jakich używają, nawet te w pełni zautomatyzowane. Koszt systemów komputerowych to w 2020 roku ok. 8% przychodów firm (ok. 10% w branży finansowej). Udział ten stale rośnie, a to oznacza, że jakość tych systemów ma stale rosnący wpływ na marże i konkurencyjność firm (https://www.flexera.com/blog/technology-value-optimization/it-spending-by-industry/). Wstęp Trzy lata temu pisałem o projektowaniu urządzeń zawierających bloki funkcjonalne realizowane przez komputer. Komputery coraz częściej (tam gdzie to tylko możliwe)…

Czytaj dalejOrganizacja jako mechanizm czyli słoń w pokoju

Analiza systemowa komunikacji i jej bezpieczeństwa a e‑Podpis

Wprowadzenie Jako ludzie komunikujemy się od początku swojego istnienia (generalnie byty ożywione się komunikują). W formie utrwalonej ta komunikacja ma miejsce od pierwszych rysunków na piasku czy naskalnych, a w formie sformalizowanej od początków wojska i państwowości (formalizm: przykładanie wagi do formy, źr. Encyklopedia PWN). Bezpieczeństwo i wiarygodność komunikacji od początku naszej egzystencji jest przedmiotem zainteresowania komunikujących się stron. Warto pamiętać, że komunikacja to także samo rejestrowanie i odtwarzanie danych (treści), więc nawet zapisanie (utrwalenie gdzieś) listy sprawunków by później użyć tej listy, np. po dotarciu do sklepu, to także…

Czytaj dalejAnaliza systemowa komunikacji i jej bezpieczeństwa a e‑Podpis

ICONIX komponentowo zorientowany zwinny standard analizy i projektowania

Wprowadzenie O podobnej porze roku, w 2015 roku pisałem: W ICONIX moż­na z powo­dze­niem sto­so­wać ​„czy­sty” UML źr.: : ICONIX and Use Case Driven Object Modeling with UML - Jarosław Żeliński IT-Consulting ICONIX to w zasadzie standard komponentowego, zorientowanego obiektowo, na przypadki użycia i interfejsy komponentów, procesu projektowania oprogramowania . Jest to od samego początku swojego istnienia, metoda klasyfikowana jako zwinna . Orientacja na Przypadki Użycia (use case driven) to obecnie kanon projektowania . Coraz popularniejszy wzorzec jakim są mikroserwisy staje się "normą" w projektowaniu architektury . Od samego początku ICONIX…

Czytaj dalejICONIX komponentowo zorientowany zwinny standard analizy i projektowania

Czym jest PIM czyli kto jest programistą

Ten arty­kuł jest adre­so­wa­ny do wszyst­kich. Biznes (praw­ni­cy tak­że) może prze­ko­nać się, że opro­gra­mo­wa­nie moż­na nary­so­wać i zro­zu­mieć. Analitycy i pro­gra­mi­ści, że to moż­li­we, a dewe­lo­pe­rzy, że nikt im nie odbie­ra pra­cy a raczej pomaga. 

Wprowadzenie

W dzi­siej­szym świe­cie inży­nie­rii naj­więk­szą war­tość mają czas i zaso­by. Czas to jak naj­szyb­sze odda­nie roz­wią­za­nia (pro­duk­tu) do użyt­ku (szyb­ka komer­cja­li­za­cja), zaso­by to koszt jakim się to odbę­dzie. Kluczem są kosz­ty: time to mar­ket”, tu kosz­tem jest opóź­nie­nie komer­cja­li­za­cji (nie­zre­ali­zo­wa­ne przy­cho­dy), kosz­tem jest tak­że samo powsta­wa­nia opro­gra­mo­wa­nia. Praktycznie od począt­ku inży­nie­rii opro­gra­mo­wa­nia zależ­ność kosz­tów od dys­cy­pli­ny i eta­pu pra­cy się nie zmie­nia, wyglą­da to jak poniżej:

Źr. Effective softwa­re deli­ve­ry. White paper. May 2009

Od same­go począt­ku prac nad opro­gra­mo­wa­niem tak napraw­dę roz­wią­zu­je­my pro­ble­my: począw­szy od pro­ble­mów z odkry­ciem co tak napraw­dę jest roz­wią­za­niem pro­ble­mu (a pro­blem trze­ba naj­pierw ziden­ty­fi­ko­wać), przez pro­ble­my zwią­za­ne z wła­ści­wym zapro­jek­to­wa­niem roz­wią­za­nia (algo­ryt­my, archi­tek­tu­ra kodu), do pro­ble­mów wybo­ru tech­no­lo­gii i imple­men­ta­cji. Patrząc od koń­ca: pomył­ki są bar­dzo kosz­tow­ne dla orga­ni­za­cji (spon­sor pro­jek­tu). Development (kodo­wa­nie i testy) to pra­ca zespo­łów ludzi, są bar­dzo kosz­tow­ne. Najtańsza jest tu pra­ca (etap) ana­li­ty­ka-pro­jek­tan­ta, to jed­nak tak­że czas (pamię­ta­my time to market”). 

Tak więc water­fall” nie wcho­dzi w grę. Praktyka jed­nak poka­zu­je, że roz­po­czę­cie od razu od kodo­wa­nia nie roz­wią­zu­je żad­ne­go pro­ble­mu bo złe pomy­sły są i będą, kory­go­wa­ne dopie­ro na eta­pie kodo­wa­nia gene­ru­ją bar­dzo duże kosz­ty. Lekarstwem jest odej­ście o mono­li­tycz­nej archi­tek­tu­ry na rzecz samo­dziel­nych kom­po­nen­tów, czy wręcz mikro­ser­wi­sów (jed­nost­ki imple­men­ta­cji to poje­dyn­cze przy­pad­ki uży­cia UML, tu rozu­mia­ne jako nie­za­leż­ne mikro-apli­ka­cje ). Dlatego opty­mal­ne wyda­je sie podej­ście: 1. ana­li­za, 2. pro­jek­to­wa­nie HLD: kom­po­nen­ty, 3. ite­ra­cyj­ne pro­jek­to­wa­nie LLD kom­po­nen­tów i ich deve­lop­ment. Osiągamy waż­ną rzecz: naj­droż­sze zaso­by: deve­lop­ment, dosta­ją do imple­men­ta­cji prze­my­śla­ne roz­wią­za­nie, nie tra­ci­my cza­su i środ­ków na kolej­ne pro­to­ty­py w kodzie. 

(wię­cej…)

Czytaj dalejCzym jest PIM czyli kto jest programistą
Read more about the article Modelowanie systemów – organizacja jako mechanizm
Friedenthal, S., Moore, A., & Steiner, R. (2015). A practical guide to SysML: The systems modeling language (Third edition). Elsevier, MK, Morgan Kaufmann is an imprint of Elsevier. https://www.sciencedirect.com/book/9780128002025/a-practical-guide-to-sysml

Modelowanie systemów – organizacja jako mechanizm

Wprowadzenie Pojęcie 'system' stało się bardzo popularne, głównie za sprawą "systemów informatycznych", jednak jego rodowód jest starszy i pochodzi nie od technologii a od biologii . Poza IT mamy systemy bezpieczeństwa, system ubezpieczeń, system emerytalny, system prawa, i wiele innych. Słownik języka polskiego podaje taką definicję pojęcia system: «układ elementów mający określoną strukturę i stanowiący logicznie uporządkowaną całość» «zespół wielu urządzeń, dróg, przewodów itp., funkcjonujących jako całość» «narządy lub inne części żywego organizmu pełniące razem określoną funkcję» «uporządkowany zbiór twierdzeń, poglądów, tworzących jakąś teorię» «określony sposób wykonywania jakiejś czynności lub…

Czytaj dalejModelowanie systemów – organizacja jako mechanizm

Diagram Przypadków Użycia UML – aktor jako persona

Wstęp W niedawno napisanym artykule na temat przypadków użycia i ich definicji zgodnej z UML, wskazywałem między innymi, że: Przypadki uży­cia są spo­so­bem na uchwy­ce­nie [wska­za­nie] wyma­gań sta­wia­nych sys­te­mom, tzn. tego, co sys­te­my mają robić [powo­dy, dla któ­rych one powsta­ną, co będą reali­zo­wa­ły] na rzecz i na żąda­nie Aktora. źr.: Diagram Przypadków Użycia UML - Jarosław Żeliński IT-Consulting Sama specyfikacja UML o aktorze, jako elemencie wokół systemu, mówi bardzo niewiele, poza rozdziałem dotyczącym przypadków użycia: Przypadki użycia są sposobem na uchwycenie wymagań systemów, czyli tego, co systemy mają robić. Kluczowymi pojęciami…

Czytaj dalejDiagram Przypadków Użycia UML – aktor jako persona

MVC a etapy projektowania aplikacji HLD i LLD – Czym jest Architektura Systemu

Wstęp W 2017 roku pisałem dość ogólnie o logice wzorca architektonicznego MVC kończąc artykuł słowami: A gdzie mitycz­na baza danych? Tam gdzie jej miej­sce: zarzą­dza dany­mi utrwa­la­ny­mi w pamię­ci. Baza danych i sys­te­my zarzą­dza­nia dany­mi w archi­tek­tu­rze obiek­to­wej nie sta­no­wią miej­sca na logi­kę biz­ne­so­wą, stan­dar­do­wym wzor­cem pro­jek­to­wym jest tu acti­ve records. Podstawową zale­tą sto­so­wa­nie tego wzor­ca jest sepa­ra­cja utrwa­lo­nych danych od apli­ka­cji. To pozwa­la sku­pić całą logi­kę i jej zmien­ność w kodzie apli­ka­cji i jego archi­tek­tu­rze. Dzięki temu moż­na speł­nić zasa­dę Open Close prin­ci­pia bez refak­to­rin­gu bazy danych i migra­cji danych, co mia­ło by miej­sce gdy­by była to jed­no­li­ta…

Czytaj dalejMVC a etapy projektowania aplikacji HLD i LLD – Czym jest Architektura Systemu

Trendy czyli DIGIT Expo w Edynburgu

Tym razem króciutko: Wczoraj byłem na #digitexpo w Edynburgu (Digit-Expo). Głównie firmy z UK ale też i międzynarodowe: dostawcy urządzeń sieciowych i usług chmurowych. Generalnie widać, że IT idzie w stronę "utility": nie rozumiesz ale używasz bo wiesz do czego to służy (ale nie koniecznie jak działa). Da się zaobserwować to, że producenci dostarczają specjalizowane klocki lego, na targach bardzo mało integratorów (ale było kilku). Kiedyś na pytanie "Co robisz" padła by odpowiedź: "liczę [coś]", dzisiaj w znakomitej większości pada odpowiedź: "używam kalkulatora". Odchodzi czas monolitów, nadchodzi czas powszechnej integracji.…

Czytaj dalejTrendy czyli DIGIT Expo w Edynburgu

Jakie przypadki użycia ma poczta a jakie szafa grająca

Myślenie systemowe Najprostsze rzeczy bywają najtrudniejsze w modelowaniu, powodem jest ich "pozorna" prostota. Na wielu uczelniach na świecie zaczęły sie pojawiać studia podyplomowe i szkolenia o wdzięcznym tytule "Myślenie systemowe" (System Thinking, np. to na MIT), ich celem jest kształtowanie myślenia zorientowanego na postrzeganie świata jako systemu czyli mechanizmu złożonego z współpracujących obiektów. Tu pojawia się stosowane w nauce pojęcie "mechanizm" . Po co i kiedy używamy tego pojęcia? "Mechanizmów poszukuje się w celu wyjaśnienia, jak powstaje jakieś zjawisko lub jak działa jakiś istotny proces." . Innymi słowy analizując lub…

Czytaj dalejJakie przypadki użycia ma poczta a jakie szafa grająca

Zasada 25% w wycenie własności intelektualnych

Wstęp Temat licencjonowania i wyceny wartości oprogramowania przewija się często w moich projektach. Bywam nie raz proszony o wycenę posiadanego oprogramowania co, jak nie trudno się domyśleć, nie jest proste. Powszechnym zjawiskiem jest zawyżanie lub zaniżanie tej wartości, zależnie od tego do czego wynik wyceny zostanie użyty. Tam gdzie przedmiotem wyceny są posiadane aktywa, wyceny są często zawyżane przez sprzedającego udziały a zaniżane przez ich nabywcę. Bardzo często podejmowane są próby bazowania na cenach transakcyjnych, jednak są to wyceny obarczone przypadkowością, gdyż są to tak naprawdę wyceny spekulacyjne, obarczone wpływem…

Czytaj dalejZasada 25% w wycenie własności intelektualnych

Koniec treści

Nie ma więcej stron do załadowania