Przykłady dokumentów opisujących prawdziwe i fikcyjne projekty.

Organizacja jako mechanizm czyli słoń w pokoju

The era of "sacred cows" of engineering is slowly coming to an end. Software engineering, after almost 20 years of an "agile" approach to this branch of engineering, is beginning to mature into "real engineering" with analysis, design and testing on the "drawing board" of CASE systems and MBSE approaches, which are a universal systems approach to multidisciplinary engineering (mechatronics) (Rosenberg, 2023). Organizations are also systems and their engineering: we have business process engineering, resource engineering, financial engineering. Organizations are systems and should be treated and modeled as such (Kozminski, 1979). IT systems maintenance and development costs are already more than 8% of a company's revenue, and this value is slowly but steadily growing. The discipline of their creation, implementation and management of their costs is also growing.

Czytaj dalejOrganizacja jako mechanizm czyli słoń w pokoju

Czym jest PIM czyli kto jest programistą

Ten artykuł jest adresowany do wszystkich. Biznes (prawnicy także) może przekonać się, że oprogramowanie można narysować i zrozumieć. Analitycy i programiści, że to możliwe, a deweloperzy, że nikt im nie odbiera pracy a raczej pomaga. Wprowadzenie W dzisiejszym świecie inżynierii największą wartość mają czas i zasoby. Czas to jak najszybsze oddanie rozwiązania (produktu) do użytku (szybka komercjalizacja), zasoby to koszt jakim się to odbędzie. Kluczem są koszty: "time to market", tu kosztem jest opóźnienie komercjalizacji (niezrealizowane przychody), kosztem jest także samo powstawania oprogramowania. Praktycznie od początku inżynierii oprogramowania zależność kosztów…

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

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

Ontologia czyli jak się to robi

Wiele problemów w projektach informatycznych, to skutki źle zbudowanej ontologii lub jej braku w projekcie. Niemal co druga firma (46 proc. badanych przez AIIM, 2022) ocenia, że przeciwdziałanie chaosowi informacyjnemu wewnątrz ich organizacji ?wypada słabo? lub ?wymaga poprawy?. Obecnie większość przetwarzanych w firmach treści to treści częściowo lub nawet całkowicie nieustrukturyzowane. Zarzadzanie nimi wymaga nowych metod . [toc] Czym jest ontologia Ontologia jest często nazywana reprezentacją wiedzy. Pozostaje pytanie co jest tu tą wiedzą? Czy wiedzą jest to co oznacza w określonym języki (tu polskim) słowo "samochód", czy wiedzą jest…

Czytaj dalejOntologia czyli jak się to robi
Abstraction focuses upon the essential characteristics of some object, relative to the perspective of the viewer. [Abstrakcja skupia się na istotnych cechach jakiegoś obiektu w odniesieniu do perspektywy widza.]
Booch, G. (1994). Object-oriented Analysis and Design with Applications. 2nd Edition, the Benjamin/Cummings Publishing Company, Inc.

Wymagania biznesowe – jak zbierać i dokumentować

Wprowadzenie Ronald Ross, współautor standardu modelowania reguł biznesowych i biznesowego słownika pojęć napisał niedawno na swoim profilu LinkedIn: "People love stories. Are user stories helpful in engineering business solutions? Absolutely. Are you done with requirements and solution engineering when you?ve worked through a set of user stories? No. Not even close!" ["Ludzie kochają historie. Czy historie użytkowników są pomocne w tworzeniu rozwiązań biznesowych? Zdecydowanie tak. Czy skończyłeś z wymaganiami i inżynierią rozwiązania, gdy już opracowałeś zestaw historyjek użytkownika? Nie. Nawet nie zbliżyłeś się do nich!".] (https://www.linkedin.com/posts/rossronald_people-love-stories-are-user-stories-helpful-activity-6935627008265633793-Bpzb/) Świat od dekad boryka…

Czytaj dalejWymagania biznesowe – jak zbierać i dokumentować

Transformacja Cyfrowa a dziedzictwo IT

Wstęp

Transformacja cyfrowa, jest przez dostawców technologii informatycznych, najczęściej definiowana jako integracja technologii cyfrowej z działalnością firmy. Poniżej wybrane definicje, które najczęściej znajdujemy w sieci:

Transformacja cyfrowa definiuje się jako integrację technologii cyfrowej ze wszystkimi obszarami funkcjonowania firmy. Dzięki niej możliwe jest wykorzystanie gromadzonych danych do tworzenia innowacyjnych usług i poszerzenia dotychczasowej oferty.

Cyfrowa transformacja to nic innego jak integracja technologii cyfrowej we wszystkich obszarach działalności firmy oraz zmiana sposobu, w jaki działasz i zapewniasz klientom wartość. To także zmiana kulturowa, która wymaga od organizacji ciągłego rzucania sobie wyzwań, eksperymentowania, ale również godzenia się z porażką. Transformacja cyfrowa jest procesem nieuniknionym, niezależnie od rozmiaru przedsiębiorstwa.

Transformacja cyfrowa odnosi się do procesów i strategii wykorzystania technologii cyfrowej do radykalnej zmiany sposobów, w jakie przedsiębiorstwa prowadzą działalność i obsługują klientów. Termin ten stał się w epoce cyfryzacji wszechobecny. Spowodowane jest to tym, że każda organizacja ? niezależnie od jej rozmiaru i branży ? coraz bardziej opiera się na danych i technologii, aby zwiększać wydajność swojej działalności i zapewniać wartość swoim klientom.

Ogólne idee wiedzy jako fundamentu nowej gospodarki i informacji jako najważniejszego zasobu wypełniają się treścią i rodzą nowe pojęcia: smart devices i weareables, Big Data, mobilność, chmura obliczeniowa, platformy społecznościowe, bio- i nanotechnologie, Internet of Things, energia odnawialna czy share economy?

Dominuje “integracja technologii cyfrowej z działalnością firmy”. Osobiście jestem zwolennikiem tezy, że nie tyle firmy co generalnie człowieka. Czym jest tu sama integracja technologii z działalnością człowieka? Maszyny nie myślą, jednak przetwarzają dane. Człowiek nadaje znaczenie danym, potrafi je także przekształcać. Cyfrowa transformacja to proces przenoszenia przetwarzania danych z człowieka na maszyny: to już nie my ludzie wyszukujemy dokumenty w archiwach, robi to elektroniczne archiwum, nie my ludzie obsługujemy klientów za ladą, coraz częściej robi to Internetowy Sklep. Cyfrowa transformacja to właśnie proces przenoszenia części pracy z człowieka na maszyny.

Aby transformacja cyfrowa była w ogóle możliwa, musimy przenieść te dane (treści, informacje) z papieru “do komputera”, w sposób nieniszczący obecnych możliwości i pozwalający na tworzenie nowych.

Trzeba też zniwelować posiadany dług technologiczny. Dług technologiczny to posiadane dziedzictwo, to zapóźnienie, to pozostawanie w tyle za trwającym postępem technologicznym. Dług taki ma bardzo wiele firm. Co z nim zrobić i jak z niego wyjść?

(więcej…)

Czytaj dalejTransformacja Cyfrowa a dziedzictwo IT

Architektoniczne wzorce projektowe w analizie i projektowaniu modelu dziedziny systemu

Wprowadzenie

W artykule o aplikacjach webowych, ponad rok temu, pisałem:

Generalnie klu­czo­wą cechą micro-ser­wi­sów, czy­nią­cą z nich tak zwa­ną zwin­ną archi­tek­tu­rę, jest cał­ko­wi­ta wzajemna nie­za­leż­ność imple­men­ta­cji poszcze­gól­nych usług aplikacyjnych. (źr.: Aplikacje webowe i mikroserwisy czyli architektura systemów webowych).

Przy innej okazji pisałem o wzorcach:

Wzorce pro­jek­to­we to bar­dzo waż­na część ??zawo­du? ana­li­ty­ka i archi­tek­ta opro­gra­mo­wa­nia. […] Generalnie wzor­ce są to ska­ta­lo­go­wa­ne stan­dar­dy i dobre prak­ty­ki . (Obiektowe wzorce projektowe )

Szkolenia dla analityków poprzedzam ankietami przed szkoleniowymi, jak do tej pory żadna nie zawierała pytań o wzorce projektowe: ani tego że są używane ani tego, że są celem szkolenia, niemalże każdy deklaruje albo, że używa UML lub, że chce zacząć używać UML, nawet gdy są to programiści. Zauważyłem, że wzorce projektowe w świadomości analizy biznesowej i projektowania (OOAD) “nie istnieją”. Wśród programistów, jeżeli jest spotykana, to wiedza o wzorcach przydatnych w tworzeniu bibliotek i narzędzi, często też powielane są wyuczone stare i złe praktyki programistyczne rodem z lat 60-tych (np. praktyki SmallTalk, patrz dalej).

Z drugiej strony od wielu lat znane są techniki MDA (Model Driven Architecture) czy MBSE (Model Based System Engineering), które w różnych formach, ale jednak wskazują, że najskuteczniejsza forma wyrażania wymagań wobec rozwiązania to projekt architektury i logiki dziedzinowej (model) działania aplikacji . O projektowaniu poprzedzającym implementację pisze sie od dość dawna, metody obiektowe i dobre praktyki znane są od lat .

Autorzy BABoK praktycznie od początku istnienia tego wydawnictwa, zwracają uwagę na tak zwaną “białą skrzynkę”, czyli wymagania wyrażone w postaci wewnętrznej struktury produktu, wskazując, że to znacznie skuteczniejsza metoda definiowania wymagań wobec rozwiązania, niż tak zwana “czarna skrzynka”, czyli tradycyjne, i jednak mniej skuteczne, wymagania wyrażone tylko jako cechy funkcjonalne i poza-funkcjonalne. Pamiętajmy, że adresatem wymagań jest zawsze dostawca produktu!

(więcej…)

Czytaj dalejArchitektoniczne wzorce projektowe w analizie i projektowaniu modelu dziedziny systemu

I jak to wszyst­kim poka­zać żeby było czytelne?

Wstęp

Niedawno napisał do mnie czytelnik pod jednym z artykułów:

Załóż­my, że reali­zu­je­my pro­ces biz­ne­so­wy: zarzą­dza­nie kur­sa­mi walut. W ramach pro­ce­su pra­cow­nik musi przy­go­to­wać plik csv zawie­ra­ją­cy wyłącz­nie listę słow­ni­ko­wą par walut (np. usdpln, eurpln, eurusd). Nazwa pli­ku to np bie­żą­cą data. Następnie systemX łączy się z API zewnętrz­nej plat­for­my i pobie­ra tabe­le kur­sów tych par walut (aktu­al­ne i histo­rycz­ne mie­siąc wstecz) i wysta­wia plik xls zawie­ra­ją­cy dane: nazwa pary walut, data kur­su, war­tość kursy) Plik ten sys­tem X wysy­ła do szy­by ESB. Szyna prze­sy­ła ten plik do systemuY. SystemY wyko­rzy­stu­je te dane do wyzna­cze­nia wewnętrz­nych kur­sów walut wg. usta­lo­ne­go mode­lu mate­ma­tycz­ne­go. Wynik obli­czeń odkła­da­ny jest w bazie danych tego systemu. Na koń­cu pro­ce­su jest pra­cow­nik, któ­ry wyko­rzy­stu­je te infor­ma­cje za pośred­nic­twem SystemuZ. Wybiera parę walut, okre­śla datę i sys­tem zwra­ca mu wewnętrz­ny kurs wyzna­czo­ny przez SystemY. Technicznie odby­wa się poprzez odpy­ta­nie sys­te­mu Y poprzez jego API. Czyli mamy SystemX, SystemY, SystemZ, pra­cow­ni­ka, szy­nę, plik csv, plix xls, 2XAPI no i prze­pływ danych (naj­pierw pli­ków, potem poszcze­gól­nych atry­bu­tów) . I jak to wszyst­kim poka­zać żeby było czytelne? (źr.: : Model pojęciowy, model danych, model dziedziny systemu)

Prawdę mówiąc, mniej więcej w takiej formie dostaje materiały od moich klientów.. ;). Co możemy zrobić? Pomyślałem, że dobry reprezentatywny przykład. Popatrzmy…

(więcej…)

Czytaj dalejI jak to wszyst­kim poka­zać żeby było czytelne?

Analiza nie musi być przedwdrożeniowa

Wprowadzenie

W ramach jednego z moich niedawnych projektów badawczych celem analizy nie było opracowanie wymagań na oprogramowanie (tego typu projekty to najwyżej ok. 70% mojej aktywności) a rozwiązanie pewnych problemów informacyjnych. Z uwagi na ochronę know-how klienta, opis ten został mocno okrojony do istoty problemu oraz metody jego rozwiązania, nie ma tu z oczywistych powodów opisu rozwiązania (ale ważne jest to, że rozwiązanie znaleziono). Wartość jednak ma to, że czytelnik może się tu odnaleźć i sam przekonać, co jest źródłem pewnych problemów, czy i jak można je rozwiązać.

W poniższym tekście pojęcie system odnosi sie do systemu dokumentów i formularzy czyli do informacji i zarządzania nią.

(więcej…)

Czytaj dalejAnaliza nie musi być przedwdrożeniowa

Struktury formularzy jako forma wyrażania wymagań

Wprowadzenie

Ten artykuł to uzupełnienie opisu: Dokument jako wymaganie.

Często jestem i ja pytany o to “Jak wyjaśnić złożone rozwiązanie techniczne interesariuszom nietechnicznym?” Jak wielu mi podobnych odpowiadam: rozmawiaj dokumentami. Sponsor projektu, przyszli użytkownicy, postrzegają swoją pracę poprzez dokumenty: ich treść i układ. Zauważyli to także inni:

A Mock-up is a slightly glorified picture, so you will be answering with at least 1001 words !

Bardzo często widuję wymagania spisywane jako tak zwana lista funkcji lub funkcjonalności. Pojęcia te mają takie definicje w języku polskim:

funkcja ?zadanie, które spełnia lub ma spełnić jakaś osoba lub rzecz?, ?możliwość wykonania określonej operacji przez urządzenie lub program komputerowy?

Funkcjonalność jest definiowana jako funkcja czegoś w jakimś systemie.

(więcej…)

Czytaj dalejStruktury formularzy jako forma wyrażania wymagań

Inżynieria oprogramowania z użyciem narzędzia CASE – przykładowy projekt Biblioteka

W dniu 11.12.2020, udało mi się w końcu przeprowadzić prezentację on-line. Celem była prezentacja realizacji metody MBSE z narzędziem CASE (tu Visual-Paradigm) i jej efektów. Adresatem są zarówno analitycy, architekci oprogramowana jak i developer (programiści) jako ostateczny adresat dokumentu. Podobną prezentację prowadziłem wcześniej na Konferencji beIT 2020. Popularność tych prezentacji spowodowała, że całość przerodziła się w projekt badawczy.

(więcej…)

Czytaj dalejInżynieria oprogramowania z użyciem narzędzia CASE – przykładowy projekt Biblioteka

Koniec treści

Nie ma więcej stron do załadowania