Nieco zaawansowane techniki analizy i modelowania

W dwóch ubiegłorocznych artykułach pisałem o modelach pojęciowych oraz o związkach w UML. Opisałem je od strony notacyjnej. Dzisiaj o ich zastosowaniu.  Generalnie zagadnienia modeli pojęciowych, abstrakcji i metamodeli oraz związków między nimi są dość trudne (wbrew pozorom, większość ludzi ma problem z abstrakcyjnym myśleniem), jako narzędzia są bardzo przydatne w analizie i projektowaniu. Rzecz w tym, że systemy analizowane istnieją, co znaczy ni mniej ni więcej tylko to, że "są dobre bo są i działają".  Gorzej jest gdy system, nie raz nietrywialny, jest na etapie projektowania. Wtedy o tym jest "dobry"…

Czytaj dalejNieco zaawansowane techniki analizy i modelowania
Read more about the article Produkt analizy jako twierdzenie naukowe
praca grupowa,

Produkt analizy jako twierdzenie naukowe

Znakomita większość programów zawiera ponad 10 krotnie więcej kodu niż mogła by mieć, bo programiści często implementują warianty zachowań a nie ich mechanizmy (co powoduje, że systemy te są tyleż razy droższe niż mogły by być). Prawie za każdym razem, gdy mówię (ale nie robię tego jednak zbyt często ;) ), że stosuję metody naukowe w analizie, spotykam się z zarzutem, że przesadzam. Zapewne nie ma sensu epatowanie w projektach biznesowych akademickim słownictwem, nie ma znaczenia dobór słownictwa w nazwaniu metody pracy, bo znaczenie ma skuteczność. Wprowadzenie Ludzie i ich praca…

Czytaj dalejProdukt analizy jako twierdzenie naukowe

Sens i znaczenie – Pisma semantyczne Fregego

Najpierw przypomnę moją tezę z artykułu napisanego w 2011 roku: Zaryzykuje tezę: ?Im większa niejednoznaczność dokumentu wymagań tym większe ryzyko, że projekt  będzie miał kłopoty?.Powyższe nie stanowi żadnego odkrycia co nie zmienia faktu, że jakość większości dokumentów wymagań (owe 70%) jest słaba, na co wskazują sami ankietowani. (Źródło: Analityk biznesowy czyli wyplenić dwuznaczność z dokumentów analitycznych! | Jarosław Żeliński IT-Consulting) Mam nadzieję, że to - ta krótka recenzja - będzie skutecznym początkiem zachęcania do czytania tego co powszechnie nazywa się filozofią.   Ta pozycja to zbiór pism, wykładów Fregego, ja jednak polecam tę…

Czytaj dalejSens i znaczenie – Pisma semantyczne Fregego

Jak identyfikować klasy?

Tytułowy problem ma chyba każdy początkujący . Jak słusznie zauważył autor poniższego tekstu: Eksperci od obiektowego podejścia do procesu tworzenia oprogramowania dzielą się na dwa obozy, w zależności od proponowanego przez nich sposobu identyfikacji klas: W oparciu o odpowiedzialności klas (RDD - Responsibility Driven Design) - najpierw rozpoznawane są wszystkie odpowiedzialności systemu (na podstawie potrzeb przyszłych użytkowników), a następnie, bazując na tych odpowiedzialnościach, wyróżniane są klasy, którym przypisuje się odpowiedzialności systemu. W ten sposób definiuje się odpowiedzialności klas, które odpowiadają zbiorowi zachowań ich obiektów. Przykładem tego podejścia jest wykorzystywana w niektórych…

Czytaj dalejJak identyfikować klasy?

Granice kontekstu i mikroserwisy

Nie raz już pisałem tu o architekturze (Architektura systemu) tym razem kilka słów o tym. Często jestem pytany o kryterium podziału dużego systemu na komponenty. Jednym z nich jest praktyka dążenia do minimalizacji złożoności interfejsów między komponentami jako konsekwencja dziedzinowego kryterium podziału . Złą praktyką jest natomiast dążenie do usuwania redundancji. Stosuje takie - komponentowe dziedzinowe - podejście, w różnej formie,  z powodzeniem od lat. Można je spotkać w różnych formach w literaturze, pierwszy raz spotkałem się z nim w 1999 roku. Obecnie mamy już dość dobrze wypracowane wzorce projektowe ale nadal…

Czytaj dalejGranice kontekstu i mikroserwisy

Przypadki użycia nie znają swoich realizacji…

Tak wiec pisząc "Krowa z silnikiem odrzutowym, jelita na czerwono, jądrowymi kopytami, wyprawiona na buty skóra, zniszczyła metro, wypadek samochodowy, przelatując nad Warszawą, liczba płyt chodnikowych to 1347, a następnie wylądowała w Elektrociepłowni Żerań, załadunek węgla w południe wykonany przez Kowalskiego, i pożywiła się węglem popijając wodę z Wisły" to poprawne gramatycznie, bezbłędnie napisane zdanie w języku polskim, ale nikt nie ma chyba wątpliwości, że kompletnie pozbawione sensu. Tak samo można poprawnie, zgodnie z zasadami notacji, narysować diagram UML ...

Czytaj dalejPrzypadki użycia nie znają swoich realizacji…

Czy system pełni rolę w procesie?

Tak więc modele procesów, w których pojawiają się tory reprezentujące jakiekolwiek oprogramowanie gwałcą tę podstawową zasadę: organizacja to celowe działanie ludzi, narzędzia im w tym tylko pomagają, narzędzia nie są istotą działania organizacji. Można to sprawdzić czymś co ja nazywam testem wyłączenia zasilania: czy wyłączenie automatów pozbawi organizację sensu jej istnienia? Jeżeli nie to znaczy, że automaty nie pełnią ról w procesach, a są jedynie narzędziami w rękach ludzi. Narzędzi nie umieszczamy więc w modelach procesów.

Czytaj dalejCzy system pełni rolę w procesie?

Konformizm w projektach

Na koniec największy mit: analiza jest prosta, wystarczy wiedzieć jak ją wykonać i mieć właściwe wzorce dokumentów. Nic tej tezy nie potwierdza, a tak wielu próbuje... Znam masę przypadków, gdy ktoś uznał, że przyuczona grupa pracowników sama wykona analizę wymagań, w końcu to tylko spisywanie potzreb. Niestety nie znam żadnego przypadku gdzie, na bazie tak spisanych wymagań, projekt zakończył się sukcesem. Jest zresztą prosty sposób na ocenę jakości dokumentu opisującego wymagania: skonfrontowanie go z tym co w końcu powstało.

Czytaj dalejKonformizm w projektach

Dlaczego tradycyjne metody zarządzania nie działają w projektach internetowych?

Jest dość liczna grupa ludzi uważająca, że w Internecie nie obowiązują ani prawa fizyki, ani prawa ekonomii ani nawet zdrowy rozsądek. W kwestii inżynierii oprogramowania ludzie Ci straszą świat projektów "mitycznym wodospadem" jak kiedyś dzieci straszone były Babą Jagą. [dzień po napisaniu: po dyskusji - patrz treść pod tym wpisem - a autorem cytowanego tu artykułu, doszliśmy do wniosku, że nie różnimy się zbytnio w poglądach, jednak zbytnie uproszczenie treści miało  prawo wprowadzić mnie w błąd, jednak mój artykuł pozostanie w pierwotnej treści bo polemizuje głównie z pewnym mitem a…

Czytaj dalejDlaczego tradycyjne metody zarządzania nie działają w projektach internetowych?
Krzywy Dom zaprojektowany przez Szczepana i Małgorzatę Szotyńskich
Krzywy Dom zaprojektowany przez Szczepana i Małgorzatę Szotyńskich

Jak wyceniać projekty IT?

Jak widać próba wyceny całego projektu już na samym jego początku to wróżenie z fusów, wykonawca przyjmie wartość bezpieczna dla siebie, a tak określony budżet i tak zostanie skonsumowany (co pokazuje praktyka, tak się składa oferty w przetargach publicznych, taka jest jakość większości zapytań przetargowych!). Wystarczy wydzielić etap projektowania (analiza i projektowanie to ok. 20% kosztu developmentu) i zawrzeć umowę na etapie co najmniej wstępnego projektu, wtedy "zawyżanie" (narzucanie zapasu na niewiedzę) spada dwukrotnie. Opracowanie kompletnego projektu przed wyceną prac developmentu to obszar bliski prawej części: estymacja kosztu z bardzo małym błędem.

Czytaj dalejJak wyceniać projekty IT?

Logika wnioskowania dedukcyjnego czyli czym jest poprawna analiza i modelowanie

W czym problem z kiepskiej jakości analizami i modelami? W tym, że ich autorzy podejmują próby dodawania nowych symboli do notacji, psując spójność i jednoznaczność diagramów, stosują symbole notacji niezgodnie z nadanymi im znaczeniami albo łamią zasadę wyłączonego środka mówiącą w uproszczeniu, że jeżeli coś jest czymś to znaczy, że nie jest już niczym innym (np. jeżeli coś jest zdarzeniem to na pewno nie jest ani czynnością, ani danymi, ani regułą decyzyjną). Innymi słowy: jeżeli jakieś ziarno węgla jest kostką to na pewno nie jest ani groszkiem, ani orzechem ani miałem. A co jeżeli jednak wynik analizy jest opisem w języku naturalnym lub zestawem diagramów łamiących zasady notacji? Wtedy tak naprawdę analitykami są programiści, bo oni i tak muszą to zamienić na kod w języku programowania, którego używają. Czy to dobry pomysł? Pozostawię odpowiedź czytelnikowi...

Czytaj dalejLogika wnioskowania dedukcyjnego czyli czym jest poprawna analiza i modelowanie

Młodzi: oburzeni mutanci, uśpione pacynki – Państwo to także Korporacja IT

Do tego, ów kapitalizm, to jak pokazuje autor Korporacji (gorąco polecam tę książkę i film). Rozpoczynając czytanie tej książki traktowałem ją z początku jak kolejny efekt "spiskowej teorii dziejów", jednak z każda stroną zmieniałem zdanie gdyż z dużymi firmami mam do czynienia regularnie a tak zwane afery opisywane w prasie stanowią niejako naturalną ilustracje tej książki. Jedną z kluczowych tez autora tej książki jest to, że kluczem do zysków korporacji są wyzysk pracowników i przerzucanie swoich kosztów na klientów (nabywców ich towarów i usług). Nie będę tu się rozpisywał na ten temat, wystarczy poczytać w prasie i na forach dyskusyjnych jak wygląda realizacja niejednego projektu IT. Najpierw jest przetarg na podstawie wątpliwej jakości opisu potrzeb, potem dostawca - zatrudniając najtańszych pracowników na rynku - próbuje zrealizować swoje zobowiązanie rutynowo (czyli niskim kosztem) przerzucając koszty każdego ryzyka na zamawiającego. W efekcie otrzymujemy niskiej jakości i bardzo kosztowny produkt. Autor, w swoim artykule, wymienia także Państwo jako wyzyskiwacza. I tak to wygląda na prawdę: wszystkie koszty złego (kosztownego) funkcjonowania Państwa są przerzucane na podatnika, ten zaś jako usługobiorca (Państwo świadczy usługi dla obywateli) jest dokładnie w takiej samej sytuacji jak w przypadku brania kredytu w banku czy kupowania pasty do zębów w supermarkecie. Na koniec coś optymistycznego: osobiście widzę światełko w tunelu: przybywa ludzi oczekujących jakości od tego co dostaje. Pojawiły się nieco zdrowsze sałatki w sieciach fast-food, nabiera wartości na rynku dobre rękodzieło, nawet piwo z regionalnych browarów (droższe nie raz dwukrotnie od produkowanego masowo) dało się we znaki gigantom browarnictwa (każdy ma ambicję na piwo niepasteryzowane itp.) odbierając im część rynku. Oby tylko to światełko nie pozostałą niszą...

Czytaj dalejMłodzi: oburzeni mutanci, uśpione pacynki – Państwo to także Korporacja IT

Koniec treści

Nie ma więcej stron do załadowania