Wstęp
Siedem lat temu (2015) artykuł o wymaganiach i śladowaniu kończyłem słowami:
Tak więc wymagań biznesowych może być kilkadziesiąt. Wymaganych usług systemu (przypadków użycia) w dużym projekcie także może być kilkadziesiąt. Ale setki, czy tysiące ??wymagań? to wyraz utraty panowania nad zakresem projektu? Tu zwrócę uwagę, że wymaganiem (usługa systemu) może być np. wytworzona faktura VAT zgodna z przepisami. Cechy tej faktury (lista pól) to nie osobne wymagania, to cechy (parametry, atrybuty) jednego wymagania. Żadna cecha faktury VAT nie ma sama w pojedynkę żadnej wartości, nie może więc być oddzielnym przypadkiem użycia, tak samo jak wymaganiem naszym może być samochód, ale jego kolor czy automatyczna skrzynia biegów, to cechy samochodu, nie ma sensu wymagać ??czerwonego koloru? nie oczekując samochodu (i jak uzasadnić, to że ten kolor wspiera cel biznesowy). Przypadkiem użycia samochodu jest podróż a nie włożenie kluczyka do stacyjki, bo to jest tylko jeden z elementów scenariusza rozpoczęcia podróży samochodem.
Source: Dlaczego śladowanie wymagań jest istotne w projekcie? – Jarosław Żeliński IT-Consulting
Nadal pojawiają się publikacje o wymaganiach, zarządzaniu nimi i realizowaniu ich. Na rynku są dostępne aplikacje pozwalające je kolekcjonować i zarządzać taką kolekcją. I stale mamy do czynienia z ich – wymagań – niejednoznacznością . Okazuje się, że ich znaczenie staje sie kluczowe dla projektów, także z perspektywy prawa (PZP i zdefiniowane w zaleceniach UZP pojęcie potrzeba). Tym razem skupię się na pojęciach 'wymaganie’ i 'potrzeba’ w odniesieniu do projektu rozwiązania.
(więcej…)
"Jeśli myślisz, że dobra architektura jest droga, spróbuj złej" Wstęp W roku 2008 pisałem (Forbs): W wielu firmach decyzja o wdrożeniu systemu informatycznego bardzo często nie jest poprzedzona żadnymi przygotowaniami w rodzaju oceny struktury organizacji, jej zdolności do zmian czy też uporządkowaniem obiegu informacji. Częstym grzechem jest próba ?wtłoczenia? w system informatyczny ?starego? porządku. Drugi grzech to brak opisanego systemu informacyjnego. W efekcie następuje zderzenie rygorów papierowego obiegu informacji z obiegiem danych w systemie informatycznym. Rezygnacja z wielu czynności (np. stawianie pieczątek i podpisów) lub zamiany ich na inne staje się kluczowym, bronionym jak niepodległości przez wielu kierowników…
David Harel. (2001). Rzecz o istocie informatyki. Algorytmika. (Zbigniew Weiss & Piotr Carlson, Trans.; Wydanie trzecie). PWN.
Technical Description of Software, as documentation of the mechanism of its operation, requires precision because it constitutes documentation of know-how (it can also be part of patent documentation). Such documentation cannot be source code of a specific (one of many on the market) programming language, as it must be a "dry" description of the mechanism of operation, and not an example of one of many possible implementations. This is also pointed out by the author of the above-mentioned book. Therefore, the documentation of the system, it is not its example implementation ("working code"), it is the essence of its operation expressed as an abstract model.
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
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…
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…
[toc] Wprowadzenie Tym razem artykuł na temat typów związków między elementami w modelach systemów. Modele tego typu to hierarchiczna struktura mająca kilka różnych perspektyw, poziomów abstrakcji i poziomów dekompozycji. Do tego dochodzą fizyczne i logiczne powiązania między elementami oraz fakt, że każdy system to określone "materialne" elementy ułożone w hierarchiczną strukturę. Każdy system składa się ze skończonej liczby elementów o skończonej liczbie typów. Na to wszystko nakłada się struktura wymagań na system, oraz konieczność wykazania zgodności projektu systemu z tymi wymaganiami . Bardzo często jestem pytany o to, jak organizować…
Wprowadzenie Pojęcie kontekstu projektu i diagram przypadków użycia jako narzędzie, nadal rodzi wiele pytań. Spowodowane jest to tym, że diagram przypadków użycia to najczęściej wykorzystywany diagram, najczęściej też "nielegalnie przeciążany" informacjami o architekturze wewnętrznej (związki 'include' i 'extend'). Jest to także najbardziej abstrakcyjny diagram w notacji UML. Postanowiłem odpowiedź "publicznie" na pytanie, które w różnych formach, często pada w projektach, na szkoleniach i w mailach do mnie kierowanych. Przykład jednego z nich: Mam pytanie, które dręczy mnie od jakiegoś czasu i teraz zmobilizowałam się by je zadać. W artykule Jarosław…
Przypadki użycia w notacji UML1 to jedna z najstarszych metod dokumentowania wymagań i nadal budzi wiele kontrowersji w kwestii ich poprawnego użycia. Obiektowy paradygmat i pojęcie systemu Słownik j.polskiego mówi: paradygmat ?przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp.? obiekt ?rzecz abstrakcyjna, np. cecha lub pojęcie?, ?przedmiot, który można zobaczyć lub dotknąć? 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ść? Ludwig von Bertalanffy w swojej Ogólnej Teorii Systemów?2? określa system: stanowiący określoną całość byt, złożony z mających interakcje elementów. Pojęciami powiązanymi są tu…
Wprowadzenie Coraz częściej pojawiający się ostatnio buzzword to blockchain: System, którego nie da się złamać. Sam zaś może zmienić oblicze wielu branż. Blockchain rewolucjonizuje sposób zawierania, rozliczania i zapisywania transakcji. [...] Technologia ta...1 Ostatnio raczej właśnie w takim tonie coraz częściej można spotkać się z hasłem blockchain. Tego typu nagłówki i treści wyszły z prasy branżowej IT i pojawiają się w prasie z obszaru finansów, ekonomii gospodarki, blogach menedżerskich. Lawinowy wzrost kursu bitcoin'a spowodował, że każde kojarzone z nim pojęcie natychmiast pojawia się w nagłówkach... Blockchain Cóż to takiego? Kwestię krypto-waluty,…
Powszechnym błędem jest więc "zamawianie" oprogramowania metodą specyfikowania wymagań, jako wielu przypadkowo, lub nawet systematycznie, opisanych reakcji na bodźce, bez zrozumienia mechanizmu ich powstawania. Implementacja tak opisanych wymagań bardzo często jest realizowana jako bardzo rozbudowany system pokazujący co sekundę kolejny obraz tarczy zegara zamiast implementacji prostego mechanizmu zmieniającego położenie wskazówek na nieruchomej tarczy zegara. Większość znanego mi oprogramowania jest bardziej złożona niż mogła by być...
Od czasu do czasu spotykam się w projektach z pojęciem "cynefin". Najpierw typowy opis z jakim można się zetknąć w sieci: Cynefin jest swoistą teorią, którą można wykorzystać do opisu działania skomplikowanych systemów takich jak różnego rodzaju przedsięwzięcia czy nawet relacje i problemy międzynarodowe. Jako model tłumaczy i próbuje pomóc w wyborze strategii działania, wskazując jednocześnie wzorce postępowania, które powinny być zdecydowanie inne w zależności od tego w jakiej sytuacji się znajduje się firma. W praktyce można korzystać z Cynefin jako narzędzia wspierającego zarządzanie projektem, zespołem lub nawet organizacją. Od…
Wyznaczenie granicy (pod)systemu to rola analityka i architekta systemów. Szkoda, że tak rzadko się korzysta z tej specjalności. Być może nie zlikwidowany by tak wielu lokalnych połączeń kolejowych uznając, że stanowią one razem system a w pojedynkę są niesamodzielne. Pewnie uznanie, że nie sam Zakład Komunikacji Miejskiej a właśnie miasto i jego infrastruktura razem stanowi system, który należy oceniać i rozwijać. "Darmowe autobusy mają pomóc odkorkować Bełchatów" czyli może jednak łączymy jakimś związkiem w jeden system dostępność komunikacji miejskiej, liczbę prywatnych samochodów osobowych, koszty zanieczyszczenia atmosfery, koszt budowy parkingów i poszerzania ulic.