Dozwolony użytek programów komputerowych czyli o interfejsach

Wstęp

Dzisiejszy wpis to efekt lek­tu­ry arty­ku­łu Pani Mec. Marty Pasztaleniec na stro­nie IP Procesowo. Kluczowe dla dzi­siej­sze­go wpi­su jego frag­men­ty to:

Programy kom­pu­te­ro­we w świe­tle kra­jo­we­go pra­wa autor­skie­go korzy­sta­ją ze szcze­gól­nej ochro­ny. Z uwa­gi na ich spe­cy­fi­kę wyłą­czo­no sto­so­wa­nie nie­któ­rych regu­la­cji z ogól­nej czę­ści pra­wa autor­skie­go, w szcze­gól­no­ści prze­pi­sów doty­czą­cych dozwo­lo­ne­go użyt­ku, któ­ry umoż­li­wia w ści­śle okre­ślo­nych oko­licz­no­ściach korzy­sta­nie z utwo­rów bez zgo­dy twór­cy, a nawet wbrew takiej zgo­dzie. Co do zasa­dy zatem jakie­kol­wiek zwie­lo­krot­nie­nie pro­gra­mu kom­pu­te­ro­we­go wyma­ga zgo­dy twór­cy. […]
Spór ma swą gene­zę w 2005 r. kie­dy to Google nabył star­tup Android Inc i roz­po­czął sta­ra­nia by wejść na rynek smart­fo­nów, two­rząc plat­for­mę do budo­wy sys­te­mów dla urzą­dzeń mobil­nych. Platforma w swym zało­że­niu mia­ła być nie­od­płat­na po to by popu­la­ry­zo­wać śro­do­wi­sko Google. Jako że język pro­gra­mi­stycz­ny Java był wów­czas jed­nym z naj­bar­dziej popu­lar­nych i powszech­nych wśród pro­gra­mi­stów, Google pod­jął roz­mo­wy z Sun Microsystems ? twór­cą Java ? na temat licen­cjo­no­wa­nia całej plat­for­my Java. Ostatecznie zde­cy­do­wał się jed­nak na budo­wę wła­snej plat­for­my. Aby jed­nak zapew­nić jej powszech­ność i łatwość sto­so­wa­nia wśród pro­gra­mi­stów zasto­so­wa­no w nim nazwy funk­cji i for­ma­tów danych cha­rak­te­ry­stycz­ne dla języ­ka Javy. Google de fac­to opra­co­wał wła­sne odpo­wied­ni­ki funk­cji Javy i nadał im nazwy takie same jak w Javie. Oracle, po prze­ję­ciu spół­ki Sun Microsystems, pozwał w 2010 r. Google o naru­sze­nie przy­słu­gu­ją­cych Oracle praw autor­skich i paten­tów. Zarzucono Google sko­pio­wa­nie bli­sko 11 500 linii dekla­ra­cji API pro­gra­mu Java (co sta­no­wi­ło 0,4 % dekla­ra­cji). […]
Sąd uznał, że dzia­ła­nie Google było ?zgod­ne z kre­atyw­nym ?postę­pem?, któ­ry jest pod­sta­wo­wym kon­sty­tu­cyj­nym celem same­go pra­wa autor­skie­go?. Według sądu dozwo­lo­ny uży­tek peł­ni więc istot­ną rolę w roz­wo­ju opro­gra­mo­wa­nia, a pra­wo autor­skie nie powin­no hamo­wać tego roz­wo­ju. (żr.: Dozwolony uży­tek pro­gra­mów kom­pu­te­ro­wych ? jak Google poko­nał Oracle w USA).

Powyższy tekst wska­zu­je na dwa cie­ka­we aspek­ty opro­gra­mo­wa­nia, o któ­rych dzi­siaj napi­szę. Pierwszy to tak zwa­ny dozwo­lo­ny uży­tek, bar­dzo czę­sto przy­wo­ły­wa­ny w spo­rach o bez­płat­ne uży­cie opro­gra­mo­wa­nia i zakres tego uży­cia. Najczęściej doty­czy gier kom­pu­te­ro­wych ale nie tyl­ko. Drugi to cha­rak­ter opro­gra­mo­wa­nia, jakim jest kod źró­dło­wy będą­cy tek­stem, oraz efekt osta­tecz­ny, jakim jest kom­pu­ter reali­zu­ją­cy okre­ślo­ny mecha­nizm”, gdzie kom­pu­ter defi­niu­je­my jako pro­ce­sor, pamięć i pro­gram” . Warto tu zwró­cić uwa­gę na pewien dro­biazg”: autor­ka (jak wie­lu innych praw­ni­ków) trak­tu­je treść pro­gra­mu jako tekst” i nie raz sto­su­je ana­lo­gię do typo­wych utwo­rów pisa­nych takich jak pro­za czy poezja, co jest poważ­nym błę­dem. Fragmenty tek­stów (esej, pra­ca dok­tor­ska, powieść, itp.) bar­dzo czę­sto mają war­tość, cze­go o nie moż­na powie­dzieć o opro­gra­mo­wa­niu (nie dzia­ła w kawał­kach). Owszem, moż­na potrak­to­wać frag­men­ty kodu lite­ra­tu­ro­wo”, jako przy­kła­dy jego struk­try i skład­ni (np. lite­ra­tu­ra na temat wzor­ców pro­jek­to­wych w inży­nie­rii opro­gra­mo­wa­nia), jed­nak nie moż­na mówić o frag­men­cie kodu, że to opro­gra­mo­wa­nie”, gdyż to z zasa­dy musi dzia­łać”, a jest to moż­li­we tyl­ko wte­dy gdy do kom­pu­te­ra zała­du­je­my kom­plet­ny pro­gram a nie cyto­wa­ny fragment”.

Czytaj dalej… Dozwolony uży­tek pro­gra­mów kom­pu­te­ro­wych czy­li o inter­fej­sach”

Prawo autorskie w projektach IT

Ten arty­kuł to pew­ne­go rodza­ju kon­ty­nu­acja poprzed­nie­go: Vendor lock-in. Starałem się tu wyja­śnić czym jest pro­jekt i wska­zać, że pew­ne wywo­dy praw­ni­ków wyda­ją się nie mieć żad­ne­go uzasadnienia. 

Prawo autorskie

Pomysł, aby ochro­nę roz­wią­zań bran­ży IT oprzeć na pra­wie autor­skim nie był spe­cjal­nie szczę­śli­wy. Prawo autor­skie stwo­rzo­no z myślą o twór­cach oraz odbior­cach. (źr.: Prawa autor­skie w pro­jek­tach IT. Głównie o róż­ni­cach mię­dzy prze­nie­sie­niem praw a licen­cja­mi)

Zaskakuje mnie taka teza, bo pra­wo autor­skie, jak sama nazwa wska­zu­je, stwo­rzo­no z myślą o auto­rach. To, że ta kon­kret­na usta­wa zawie­ra wie­le odnie­sień np. do muzy­ki nie zmie­nia fak­tu, że regu­lu­je wszel­kie prze­ja­wy twór­czej dzia­łal­no­ści o indy­wi­du­al­nym cha­rak­te­rze”. Ta usta­wa dosko­na­le sobie radzi z każ­dą inży­nie­rią, i uwa­żam, że inży­nie­ria opro­gra­mo­wa­nia nie jest tu żad­nym wyjąt­kiem. Być może Pan Maruta dzia­ła tu jako lob­by­sta edżaj­lo­wych pro­gra­mi­stów”, cze­mu chy­ba daje wyraz, np. tu:

Wdrożenia sys­te­mów infor­ma­tycz­nych to zde­cy­do­wa­nie jed­ne z naj­bar­dziej skom­pli­ko­wa­nych przed­się­wzięć w bran­ży IT. Ta oczy­wi­sta oczy­wi­stość znaj­du­je swo­je potwier­dze­nie cho­ciaż­by w kosz­tach zwią­za­nych z reali­za­cją wdro­żeń oraz ska­lą ryzy­ka wyni­ka­ją­cą z ewen­tu­al­ne­go nie­po­wo­dze­nia pro­jek­tów wdro­że­nio­wych. (źr.: Jak pisać umo­wy dla pro­jek­tów IT reali­zo­wa­nych w mode­lu Agile? Cz. I.)

Słowa oczy­wi­sta oczy­wi­stość” to czę­sty wybieg reto­rycz­ny praw­ni­ków, mówią­cy roz­mów­cy nawet nie pró­buj pod­wa­żać tego co powie­dzia­łem”. Otóż nie­ste­ty wiel­ko­ści budże­tów nie są jakieś spe­cjal­nie wiel­kie na tle innych inży­nie­rii (Pan Maruta stra­szy kil­ko­ma ewe­ne­men­ta­mi, rzecz w tym, że podał przy­kła­dy głów­nie złe­go zarzą­dza­nia zakre­sem pro­jek­tów), a ska­la ryzy­ka pro­jek­tów IT jest dale­ko mniej­sza, bo nie­po­wo­dze­nia pro­jek­tów IT nie powo­du­ją np. ofiar w ludziach jak w przy­pad­ku kata­strof budow­la­nych czy komu­ni­ka­cyj­nych. A więc nie jest to żad­na oczy­wi­sta oczywistość”. 

Teza Pana Maruty i jego wywo­dy o IT natych­miast przy­po­mnia­ły mi inny arty­kuł (pole­cam):

TWÓJ PRAWNIK ROZUMIE KONTRAKT LEPIEJ NIŻ TWOI LUDZIE Z BIZNESU? COŚ TU JEST NIE TAK (źr.: https://www.linkedin.com/pulse/tw%C3%B3j-prawnik-rozumie-kontrakt-lepiej-ni%C5%BC-twoi-ludzie-warchol-lewicka/ )

Teza auto­ra (Marcin Maruta): Pomysł, aby ochro­nę roz­wią­zań bran­ży IT oprzeć na pra­wie autor­skim nie był spe­cjal­nie szczę­śli­wy”, jest co naj­mniej nie­zro­zu­mia­ła, a sam autor jej nie uza­sad­nia. Autor wska­zu­je na rosną­cą kom­pli­ka­cje tego pra­wa, ale nie­ja­ko sam wska­zu­je źró­dło: lob­bing pra­co­daw­ców w celu zła­go­dze­nia ochro­ny twór­ców (auto­rów czy­li ich pra­cow­ni­ków: pro­gra­mi­stów, pro­jek­tan­tów, archi­tek­tów opro­gra­mo­wa­nia). Ten wątek pozo­sta­wię bez komentarza. 

USTAWA z dnia 4 lute­go 1994 r. o pra­wie autor­skim i pra­wach pokrew­nych , mówi mie­dzy innymi: 

Art. 1. 1. Przedmiotem pra­wa autor­skie­go jest każ­dy prze­jaw dzia­łal­no­ści
twór­czej o indy­wi­du­al­nym cha­rak­te­rze, usta­lo­ny w jakiej­kol­wiek posta­ci,
nie­za­leż­nie od war­to­ści, prze­zna­cze­nia i spo­so­bu wyra­że­nia (utwór).

To zna­czy, że istot­ny jest indy­wi­du­al­ny cha­rak­ter czy­li uni­kal­ność powsta­łej tre­ści, nie jest istot­ny spo­sób jej wyra­że­nia (tekst, rysun­ki, głos), istot­ny jest fakt jej utrwa­le­nia (usta­le­nie). Artykuł ten jest bar­dzo istot­ny, bo zapis ten cał­ko­wi­cie abs­tra­hu­je od bran­ży, zasto­so­wa­nia i przy­dat­no­ści utwo­ru. Coś jest utwo­rem bo jest uni­kal­ne i powsta­ło w wyni­ku twór­czej (a więc celo­wej) dzia­łal­no­ści czło­wie­ka (czło­wie­ka bo Prawo doty­czy ludzi). Ustawa mówi wprost: 

2. W szcze­gól­no­ści przed­mio­tem pra­wa autor­skie­go są utwo­ry:
1) wyra­żo­ne sło­wem, sym­bo­la­mi mate­ma­tycz­ny­mi, zna­ka­mi gra­ficz­ny­mi
(lite­rac­kie, publi­cy­stycz­ne, nauko­we, kar­to­gra­ficz­ne oraz pro­gra­my
kom­pu­te­ro­we);[…]

3. Utwór jest przed­mio­tem pra­wa autor­skie­go od chwi­li usta­le­nia, cho­ciaż­by miał postać nieukończoną

Jak widać for­ma (treść lite­rac­ka, sche­ma­ty, wzo­ry mate­ma­tycz­na, pro­gram kom­pu­te­ro­wy itp.) nie ma żad­ne­go zna­cze­nia, liczy się wyłącz­nie fakt zma­te­ria­li­zo­wa­nia się utwo­ru w jakiej­kol­wiek postaci. 

Art. 2. 1. Opracowanie cudze­go utwo­ru, w szcze­gól­no­ści tłu­ma­cze­nie,
prze­rób­ka, adap­ta­cja, jest przed­mio­tem pra­wa autor­skie­go bez uszczerb­ku dla pra­wa do utwo­ru pier­wot­ne­go.
2. Rozporządzanie i korzy­sta­nie z opra­co­wa­nia zale­ży od zezwo­le­nia twór­cy utwo­ru pier­wot­ne­go (pra­wo zależ­ne), chy­ba że autor­skie pra­wa mająt­ko­we do utwo­ru pier­wot­ne­go wyga­sły. W przy­pad­ku baz danych speł­nia­ją­cych cechy utwo­ru zezwo­le­nie twór­cy jest koniecz­ne tak­że na spo­rzą­dze­nie opracowania

Tu waż­na uwa­ga: moż­na bez pro­ble­mu opra­co­wy­wać cudze utwo­ry do szu­fla­dy”, jed­nak jakie­kol­wiek roz­po­rzą­dza­nie takim opra­co­wa­niem (nawet publi­ka­cja), wyma­ga już zgo­dy auto­ra utwo­ru pier­wot­ne­go. To bar­dzo istot­ne, bo w inży­nie­rii reali­za­cje są opra­co­wa­niem ich pro­jek­tu. Tak jak budow­la jest reali­za­cją jej pro­jek­tu wyko­na­ne­go na desce kre­ślar­skiej, tak opro­gra­mo­wa­nie może być reali­za­cją (opra­co­wa­niem) pro­jek­tu logi­ki dzia­ła­nia i archi­tek­tu­ry opro­gra­mo­wa­nia wyra­żo­nych sło­wem, sym­bo­la­mi mate­ma­tycz­ny­mi, zna­ka­mi gra­ficz­ny­mi” (parz tak­że ).

Innymi sło­wy jeże­li pro­gram powstał bez takie­go pro­jek­tu, jest on fak­tycz­nie samo­dziel­nym utwo­rem pro­gra­mi­sty (co zresz­tą bar­dzo czę­sto ma miej­sce). Jeżeli jed­nak pro­gram (opro­gra­mo­wa­nie, apli­ka­cja) powstał jako opra­co­wa­nie pro­jek­tu wyra­żo­ne­go w for­mie j.w. (sche­ma­ty blo­ko­we, wzo­ry, tabli­ce, algo­ryt­my itp. ) jest wyłącz­nie imple­men­ta­cją (efekt sta­ran­ne­go dzia­ła­nia), lub utwo­rem zależ­nym, jeże­li autor oddał pew­ną okre­ślo­ną swo­bo­dę pro­ga­mi­ście. To, że to jest to rzad­ka sytu­acja (ist­nie­nie pro­jek­tu), nie zmie­nia fak­tu, że jest pro­gram nie jest tu utwo­rem a wyko­na­niem utwo­ru .

Rzesze pro­gra­mi­stów (i ich praw­ni­ków) zwal­cza­ją tą tezę bo ude­rza ona w ich monopol. 

Uważam, że orzecz­nic­two jest jed­nak po stro­nie pro­jek­tan­tów i archi­tek­tów sys­te­mów, w tym opro­gra­mo­wa­nia. Więcej o tym zagad­nie­niu napi­sa­łem w arty­ku­le Ochrona know-how. Tu sku­pię się na pro­jek­cie opro­gra­mo­wa­nia jako samo­dziel­nym i peł­no­praw­nym utwo­rze będą­cym spe­cy­fi­ka­cją opro­gra­mo­wa­nia jakie ma powstać (pro­jekt jako wymaganie).

Projektowanie

Zacznijmy od pro­ste­go przy­kła­du i słyn­ne­go zara­zem wyna­laz­ku i paten­tu (w USA). Poniższy rysu­nek to model (spe­cy­fi­ka­cja) mecha­ni­zmu dzia­ła­nia regu­la­to­ra. Nie jest to nawet rysu­nek tech­nicz­ny wyko­naw­czy. Jest to utwór w rozu­mie­niu usta­wy, bo: sta­no­wi prze­jaw dzia­łal­no­ści twór­czej o indy­wi­du­al­nym cha­rak­te­rze, usta­lo­ny zna­ka­mi gra­ficz­ny­mi. Nie mniej jed­nak sta­no­wi bar­dzo pre­cy­zyj­ny opis mecha­ni­zmu dzia­ła­nia odśrod­ko­we­go regu­la­to­ra obrotów. 

PODSTAWY CYBERNETYKI REGULACJA PROCESÓW FIZJOLOGICZNYCH - ppt video online  pobierz

Poniższe zdję­cie to jed­na z wie­lu moż­li­wych imple­men­ta­cji (opra­co­wa­nia) powyż­sze­go mecha­ni­zmu. I co cie­ka­we, udo­wod­nie­nie, że jest to imple­men­ta­cja (utwór zależ­ny) mecha­ni­zmu opi­sa­ne­go powy­żej, nie zaj­mie żad­ne­mu sądo­wi zbyt wie­le czasu. 

Historia automatyki - Wikiwand

Tak więc jed­no jest tu pew­ne: kon­kret­na kon­struk­cja na zdję­ciu powy­żej jest opra­co­wa­niem utwo­ru jakim jest sche­mat opi­su­ją­cy mecha­nizm dzia­ła­nia odśrod­ko­we­go regu­la­to­ra obro­tów Watta. I nie­za­leż­nie od tego ile wła­snej inwen­cji wło­żył w to inży­nier kon­struk­tor tego kon­kret­ne­go regu­la­to­ra, jest to – kon­struk­cja na zdję­ciu – utwór zależ­ny. Poniżej inna kon­struk­cja (imple­men­ta­cja) tego same­go mecha­ni­zmu, to tak­że jest utwór zależny. 

Regulator odśrodkowy obrotów silnika rozbryzgiwacz oleju Briggs 691968 -  skladczesci.pl

Pewną cie­ka­wost­ką jest sta­no­wi­sko pol­skie­go usta­wo­daw­cy, mówią­ce że: 

Art. 28 pkt. 5 usta­wy o wła­sno­ści prze­my­sło­wej sta­no­wi, iż za wyna­la­zek nie może być uzna­wa­ny ?pro­gram do maszyn cyfro­wych?. Wynika z tego jasno, iż pro­gram kom­pu­te­ro­wy nie może być zatem zgło­szo­ny do wła­ści­we­go urzę­du paten­to­we­go celem jego reje­stra­cji i uzy­ska­nia sto­sow­ne­go paten­tu. Autorzy pro­gra­mu kom­pu­te­ro­we­go mogą pró­bo­wać jedy­nie opa­ten­to­wać wyna­la­zek, któ­ry wspo­ma­ga­ny jest pro­gra­mem kom­pu­te­ro­wym, nie­zbęd­nym do jego pra­wi­dło­we­go funk­cjo­no­wa­nia. (źr.: Ochrona praw­na pro­gra­mów kom­pu­te­ro­wych)

Absolutnie nie jestem zwo­len­ni­kiem paten­to­wa­nia opro­gra­mo­wa­nia, a nawet gene­ral­nie jestem prze­ciw­ni­kiem paten­tów, czy­li trwa­łych mono­po­li na wyna­laz­ki ludz­kie. Skąd teza mówią­ca, że za wyna­la­zek nie może być uzna­wa­ny ?pro­gram do maszyn cyfro­wych?”?. Wydaje się ona nielogiczna.

Popatrzmy na to. Poniżej zdję­cie mecha­ni­zmu mecha­nicz­ne­go pro­gra­ma­to­ra pral­ki: zawie­ra sil­nik i tak zwa­ne krzyw­ki ste­ru­ją­ce sty­ka­mi sterownika. 

Mechaniczny pro­gra­ma­tor pralki

Identyczne funk­cje, jako mecha­nizm ste­ru­ją­cy, reali­zu­je poniż­szy nowo­cze­sny ste­row­nik będą­cy tak na praw­dę kom­pu­te­rem (mikro­kon­tro­ler)

Programator pralki Aquamatic AQUA 100 +blokada+ silnik Sosnowiec -  Sprzedajemy.pl
Mikrokontroler peł­nią­cy funk­cję pro­gra­ma­to­ra pral­ki automatycznej. 

W pew­nych obsza­rach mecha­nizm wyko­na­ny (opra­co­wa­ny, wyna­le­zio­ny) jako kon­struk­cja mecha­nicz­na (moż­li­wa do opa­ten­to­wa­nia) może być zre­ali­zo­wa­ny w 100% z uży­ciem kom­pu­te­ra: mecha­nicz­ny aryt­mo­metr został zastą­pio­ny elek­tro­nicz­nym kal­ku­la­to­rem (to jest kom­pu­ter), mecha­nicz­ny zegar tak­że pro­gra­mem kom­pu­te­ra (czy­taj tak­że Model czy abs­trak­cja). Ładnie to opi­su­je autor publi­ka­cji nauko­wej zaty­tu­ło­wa­nej Komputer jako uni­wer­sal­ny mecha­nizm . Innymi słowy: 

sko­ro kom­pu­ter to pro­ce­sor, pamięć i pro­gram, i sko­ro 100% reali­zo­wa­nych funk­cji kom­pu­te­ra reali­zu­je pro­gram, to zna­czy sam pro­gram, bez wzglę­du na for­mę jego wyra­zu, z zasa­dy jest tu kom­plet­nym opi­sem mecha­ni­zmu dzia­ła­nia, pod­le­ga­ją­cym poten­cjal­nie ochro­nie praw­no-autor­skiej i/lub know-how.

Dokładnie z tego same­go powo­du gar­nek nie jest inte­gral­ną czę­ścią chro­nio­ne­go prze­pi­su potra­wy kuli­nar­nej (a są one chro­nio­ne pra­wem np. jako pro­duk­ty spo­żyw­cze regio­nal­ne, np. takie jak oscypek). 

Od dekad mamy do czy­nie­nia z postę­pem tech­no­lo­gii gdzie jeden z obsza­rów inży­nie­rii: sze­ro­ko poję­te sys­te­my ste­ro­wa­nia, jest sys­te­ma­tycz­nie pochła­nia­ny przez kom­pu­te­ry. Mechaniczne kon­struk­cje takie jak sys­te­my zli­cza­ją­ce, cza­so­mie­rze, kal­ku­la­to­ry, ste­ro­wa­nie opar­te o cię­gna, sys­te­my auto­ma­ty­ki, sys­te­my zobra­zo­wa­nia (np. wska­zów­ko­we: moni­tor zamiast mecha­nicz­ne­go wskaź­ni­ka) itp. są zastę­po­wa­ne przez kom­pu­ter (rozu­mia­ny jako pro­ce­sor, pamięć i pro­gram). Kolejne kon­struk­cje, do nie­daw­na wyłącz­nie mecha­nicz­ne, są zastę­po­wa­ne kom­pu­te­rem (patrz tak­że nie­daw­ny arty­kuł: Inteligentna pral­ka czy­li czym jest mecha­tro­ni­ka). Proces ten postę­pu­je, powsta­ła nota­cja (roz­sze­rze­nie UML) pozwa­la­ją­ca na mode­lo­wa­nie (spe­cy­fi­ko­wa­nie) takich mie­sza­nych kon­struk­cji: SysML:

Wszystkie powyż­sze kon­struk­cje są chro­nio­ne pra­wem autor­skim, jako ich pro­jek­ty wyko­na­ne w posta­ci udo­ku­men­to­wa­nych (usta­lo­nych) opi­sów (spe­cy­fi­ka­cji) wyko­na­nych z uży­ciem sche­ma­tów blo­ko­wych, zapi­sów związ­ków logicz­nych i wzo­rów mate­ma­tycz­nych. Tak więc teza, jako­by opro­gra­mo­wa­nie wyma­ga­ło jakie­goś inne­go spe­cjal­ne­go podej­ścia, jest moim zda­niem nie do obro­ny: jeże­li kom­pu­ter (czy­li tak­że pro­gram) może być rów­no­praw­nym funk­cjo­nal­nie zamien­ni­kiem kon­struk­cji mecha­nicz­nej (co wyka­za­no powy­żej), to zna­czy że moż­na wobec nie­go i kon­struk­cji mecha­nicz­nych, sto­so­wać te same zapi­sy w prawie. 

Podsumowanie

Czy moż­li­we jest więc opra­co­wa­nie spe­cy­fi­ka­cji dla wyko­na­nia opro­gra­mo­wa­nia, ana­lo­gicz­nej jak dla urzą­dze­nia mecha­nicz­ne­go? Oczywiście! Powyższa pozy­cja lite­ra­tu­ry to jed­na z wie­lu tego typu. Na tym blo­gu jest wie­le przy­kła­dów takich spe­cy­fi­ka­cji. Stawianie tezy, że jedy­ną moż­li­wą for­mą usta­le­nia opro­gra­mo­wa­nia jest kod źró­dło­wy, nie ma żad­ne­go uza­sad­nie­nia w fak­tach: mamy na świe­cie ogrom­ną ilość doku­men­ta­cji sta­no­wią­cej pre­cy­zyj­ną spe­cy­fi­ka­cje opro­gra­mo­wa­nia jakie ma powstać. Oczywiście nie ma obo­wiąz­ku two­rze­nia takich doku­men­tów (meto­dy nazy­wa­ne agi­le) ale po pierw­sze jest to moż­li­we, po dru­gie jest to jed­nak nadal naj­sku­tecz­niej­sza meto­da zama­wia­nia opro­gra­mo­wa­nia. Panu Marucie, świet­ne­mu praw­ni­ko­wi, pole­cam jed­nak kon­fron­to­wa­nie poglą­dów pro­gra­mi­stów któ­rych repre­zen­tu­je, z dostęp­ną lite­ra­tu­rą i nauko­wą i popu­lar­ną z zakre­su inży­nie­rii opro­gra­mo­wa­nia oraz orzecz­nic­two w tym zakre­sie, np. poniższe: 

Dokumentacja i inne mate­ria­ły doty­czą­ce pro­jek­to­wa­nia pro­gra­mu kom­pu­te­ro­we­go nale­ży trak­to­wać jako pro­gram kom­pu­te­ro­wy (imple­men­ta­cja dyrek­ty­wy Parlamentu Europejskiego i Rady 2009/24/WE dnia 23 kwiet­nia 2009 (wer­sja ujed­no­li­co­na dyrek­ty­wy Rady Wspólnoty Europejskich nr 91/250 z dnia 14 maja 1991): ?dla celów niniej­szej dyrek­ty­wy poję­cie ?pro­gram kom­pu­te­ro­wy? obej­mu­je rów­nież przy­go­to­waw­cze pra­ce pro­jek­to­we i mate­riał projektowy?.

Co potwier­dza­ją tak­że auto­rzy naj­now­szych publi­ka­cji nauko­wych, np. 

Programming is not sole­ly abo­ut con­struc­ting software?programming is abo­ut desi­gning softwa­re”. .

Podsumowując: moż­li­we jest opra­co­wa­nie doku­men­ta­cji opro­gra­mo­wa­nia opi­su­ją­cej (wyma­ga­ny) mecha­nizm jego dzia­ła­nia i archi­tek­tu­rę. Oprogramowanie powsta­łe na bazie takiej doku­men­ta­cji to imple­men­ta­cja pro­jek­tu i sta­no­wi ono utwór zależ­ny w sto­sun­ku do utwo­ru jakim jest pier­wot­na spe­cy­fi­ka­cja. Prawo autor­skie jest tu wręcz dosko­na­łym mecha­ni­zmem kon­tro­l­nym nad wyko­naw­cą opro­gra­mo­wa­nia: mając pra­wa mająt­ko­we do pro­jek­tu tech­nicz­ne­go, z zasa­dy dys­po­nu­je­my w peł­ni opro­gra­mo­wa­niem wyko­na­nym na nasze zamó­wie­nie i na pod­sta­wie takiej doku­men­ta­cji. Jeżeli dostaw­ca stwo­rzy zamó­wio­ne opro­gra­mo­wa­nie ina­czej bo po swo­je­mu, to zna­czy tyl­ko tyle, nie zre­ali­zo­wał zawar­tej umo­wy i nie nale­ży mu płacić. 

Tak zwa­ne pro­jek­ty «agi­le» to cał­ko­wi­ty brak kon­tro­li nad wyko­naw­cą i nad wła­snym know-how. Trudno się więc dzi­wić, że jest to meto­da for­so­wa­na przez dostaw­ców opro­gra­mo­wa­nia i ich prawników. 

(pole­cam tak­że ana­lo­gicz­ny pra­wo­moc­ny wyrok doty­czą­cy muzy­ków gra­ją­cych z nut pod dyk­tan­do dyry­gen­ta)

Źródła

Wolak, G. J. (2019). Umowa o dzie­ło jako zobo­wią­za­nie rezul­ta­tu. https://​doi​.org/​1​0​.​3​4​6​9​7​/​2​451 – 0807-SP-2019 – 1‑006
Murawski, R. (Ed.). (2015). Filozofia mate­ma­ty­ki i infor­ma­ty­ki. Copernicus Center Press.
Friedenthal, S., Moore, A., & Steiner, R. (2009). OMG Systems Modeling Language (OMG SysMLTM) Tutorial September, 2009. 132.
Ozkaya, I. (2020). Building Blocks of Software Design. IEEE Software, 37(2), 3 – 5. https://​doi​.org/​1​0​.​1​1​0​9​/​M​S​.​2​0​1​9​.​2​9​5​9​049

Pandemia COVID – model dedukcyjny

(opra­co­wa­nie: kwie­cień 2020 – blog, aktu­ali­za­cja: gru­dzień 2020 – Academia​.edu)

Opracowanie sta­no­wi pró­bę zbu­do­wa­nia mode­lu wyja­śnia­ją­ce­go aktu­al­ną sytu­ację wywo­ła­ną pan­de­mią koro­na­wi­ru­sa. Tworząc model autor oparł się na ide­ali­za­cji mecha­ni­zmu roz­cho­dze­nia sie cho­ro­by. Autor cał­ko­wi­cie zarzu­cił meto­dy sta­ty­stycz­ne pro­gno­zo­wa­nia jako nie­sku­tecz­ne, w takich przy­pad­kach, co poka­za­ły juz pierw­sze mie­sią­ce od poja­wie­nia sie wiru­sa, a potem po pierw­szej publi­ka­cji tego tek­stu w kwiet­niu 2020. Zdaniem auto­ra opi­sa­na w tym opra­co­wa­niu dro­ga daje znacz­nie więk­sze szan­se na wyja­śnie­nia aktu­al­nej sytu­acji niż budo­wa­nie tak zwa­nych mode­li sta­ty­stycz­nych. Już na obec­nym eta­pie model wyja­śnia brak kore­la­cji mię­dzy podej­mo­wa­ny­mi dzia­ła­nia­mi (lock­down) a uzy­ski­wa­ny­mi efektami.

1. WPROWADZENIE

Badania sys­te­mo­we to inter­dy­scy­pli­nar­ne pro­jek­ty, w któ­rych bio­rą udział eks­per­ci dzie­dzi­no­wi i eks­per­ci sys­te­mo­wi. Bardzo czę­sto bada­nia takie to tak zwa­ne meta-ana­li­zy, czy­li wtór­ne bada­nia na pod­sta­wie wyni­ków innych, wcze­śniej­szych, badań dziedzinowych.

Ten arty­kuł sta­no­wi przy­kład podej­ścia sys­te­mo­we­go do two­rze­nia mode­li i meta-mode­li sys­te­mów. Nie było tu celem wyko­na­nie symu­la­cji, a jedy­nie opi­sa­nie meto­dy pro­wa­dze­nia ana­li­zy jaką jest mode­lo­wa­nie, oraz poka­zać jak wyglą­da wnio­sko­wa­nie deduk­cyj­ne z mode­li, oraz to, że jest efek­tyw­niej­sze niż wnio­sko­wa­nie induk­cyj­ne ze sta­ty­sty­ki. Za przed­miot ana­li­zy posłu­ży­ła mi mają­ca wła­śnie miej­sce pan­de­mia wiru­sa COVD-19, gdyż budzi ogrom­ne emo­cje i na doda­tek śro­do­wi­sko nauko­we medycz­ne publi­ku­je sprzecz­ne opi­nie (co jest dziw­ne ale jest fak­tem). Pandemie są przy­kła­dem tak zwa­nych pro­ble­mów zło­śli­wych (wic­ked pro­blem) (Mark Lawrence, 2020). Problem zło­śli­wy to taki skom­pli­ko­wa­ny pro­blem, w któ­rym jest tak wie­le powią­za­nych ze sobą bytów, że nie ist­nie­je jego osta­tecz­na spe­cy­fi­ka­cja. Prawdziwy cha­rak­ter pro­ble­mu obja­wia się dopie­ro w mia­rę opra­co­wy­wa­nia roz­wią­za­nia.? (Rittel & Webber, 1973).

Nie było tu celem auto­ra zakro­jo­ne na sze­ro­ką ska­lę bada­nie. Analiza sys­te­mo­wa i mode­lo­wa­nie ma za cel opi­sa­nie mecha­ni­zmu zja­wi­ska do celów decy­zyj­nych lub poznaw­czych. Autor nie jest spe­cja­li­sta z zakre­su immu­no­lo­gi czy wiru­so­lo­gii, dla­te­go wyni­ki badań z tych dzie­dzin nie są tu dys­ku­to­wa­ne, a zosta­ły uzna­ne za fak­ty, ich repre­zen­ta­tyw­ność nie ma na tym eta­pie zna­cze­nia bo nie słu­żą one do ana­liz sta­ty­stycz­nych. Ten arty­kuł nie roz­strzy­ga tego jaki kon­kret­nie sku­tek odno­si dana meto­da wal­ki z pan­de­mią, wyma­ga­ło by zapew­ne dokład­niej­szych danych dzie­dzi­no­wych (np. ści­sła zależ­ność zaka­że­nia od cza­su prze­by­wa­nia w zaka­żo­nym śro­do­wi­sku i stę­że­nia pato­ge­nu w powie­trzu). Opisana meto­da pozwa­la, zda­niem auto­ra, na okre­śle­nie zasad­no­ści wybo­ru okre­ślo­nej meto­dy wal­ki z pan­de­mią i warun­ków jej zasto­so­wa­nia. Nie jest to osta­tecz­na wer­sja opi­su pan­de­mii jako zja­wi­ska, jest to pró­ba opi­sa­nia meto­dy podej­mo­wa­nia decy­zji (np. o sto­so­wa­nych środ­kach zarad­czych czy ogra­ni­cze­niach w swo­bo­dzie życia). Praktyka poka­za­ła, że meto­dy sta­ty­stycz­ne jako narzę­dzie pre­dyk­cji na bazie tren­dów się kom­plet­nie nie sprawdziły(wystarczy porów­ny­wać te pro­gno­zy z póź­niej­szy­mi sta­ty­sty­ka­mi) (Worldometers, 2020), (Roser i in., 2020).

Model nazwa­no deduk­cyj­ny gdyż autor przy­jął meto­dę deduk­cyj­ną wnio­sko­wa­nia: jeże­li MODEL to EFEKT, inny­mi sło­wy: obser­wu­jąc fak­ty two­rzy model ich powsta­wa­nia, a następ­nie testu­je MODEL, spraw­dza czy wyni­ki mode­lo­wa­nia i obser­wo­wa­ne EFEKTY są toż­sa­me. Można było użyć tak­że rozu­mo­wa­nia abduk­cyj­ne­go (Urbański, 2009), i rozu­mo­wać jeże­li EFEKT to MODEL”. Podejmując decy­zję jaki model rozu­mo­wa­nia przy­jąć: deduk­cja, induk­cja czy abduk­cja (Yu Chong Ho, 1994): zre­zy­gno­wa­łem, z podej­ścia induk­cyj­ne­go gdyż uzna­łem, że mode­le sta­ty­stycz­ne wyczer­pa­ły tu moż­li­wo­ści wnio­sko­wa­nia. Wyboru pomię­dzy deduk­cja a abduk­cją doko­na­łem na bazie swo­ich doświad­czeń z logi­ką Poppera ((Popper, 2008). Podejście jeże­li MODEL to FAKTY” jako testo­wa­nie teo­rii uzna­łem za meto­do­lo­gicz­nie lep­sze od jeże­li FAKTY to MODEL” gdyż, to dru­gie moim zda­niem wyda­je się podob­ne do induk­cji (nazwał bym je odwró­co­ną induk­cją). Abdukcja, opie­ra­jąc się na fak­tach zaob­ser­wo­wa­nych, w swym zało­że­niu, nie jest pre­dyk­cyj­na (prze­wi­dy­wa­nie tego co zaj­dzie, mimo, że do tej pory nie zaszło).

Autor nie jest ani ekspertem immunologi ani lekarzem. Autorom interdyscyplinarnych analiz systemowych zarzuca się nie raz, że "mają odwagę" prowadzić jakiekolwiek wnioskowanie nie będąc specjalistami w danej dziedzinie. Otóż analiza systemowa (w tym modelowanie) owszem wymaga wiedzy specjalistycznej, ale do ustalenia faktów (Gray & Rumpe, 2019). Reszta to już standardowe w nauce (metoda naukowa) wnioskowanie i stawianie hipotez. Innymi słowy do zbudowania teorii naukowej, lub jej oceny, wiedza dziedzinowa służy tylko do ustalenia faktów i może być pozyskana od eksperta dziedzinowego. Ładnej odpowiedzi, na zarzut "braku wiedzy" swego czasu udzielił Sokal tłumacząc się z tego, że jako fizyk ocenia wyniki pracy historyka (Sokal & Bricmont, 2004).

(Sokal & Bricmont, 2004)

Autor nie jest ani eks­per­tem immu­no­lo­gi ani leka­rzem. Autorom inter­dy­scy­pli­nar­nych ana­liz sys­te­mo­wych zarzu­ca się nie raz, że mają odwa­gę” pro­wa­dzić jakie­kol­wiek wnio­sko­wa­nie nie będąc spe­cja­li­sta­mi w danej dzie­dzi­nie. Otóż ana­li­za sys­te­mo­wa (w tym mode­lo­wa­nie) owszem wyma­ga wie­dzy spe­cja­li­stycz­nej, ale do usta­le­nia fak­tów (Gray & Rumpe, 2019). Reszta to już stan­dar­do­we w nauce (meto­da nauko­wa) wnio­sko­wa­nie i sta­wia­nie hipo­tez. Innymi sło­wy do zbu­do­wa­nia teo­rii nauko­wej, lub jej oce­ny, wie­dza dzie­dzi­no­wa słu­ży tyl­ko do usta­le­nia fak­tów i może być pozy­ska­na od eks­per­ta dzie­dzi­no­we­go. Ładnej odpo­wie­dzi, na zarzut bra­ku wie­dzy” swe­go cza­su udzie­lił Sokal tłu­ma­cząc się z tego, że jako fizyk oce­nia wyni­ki pra­cy histo­ry­ka (Sokal & Bricmont, 2004).

2. AKTUALNY STAN WIEDZY

W celu opra­co­wa­nia pod­sta­wo­wych ele­men­tów mode­lu, zebra­no tu wybra­ne pod­sta­wo­we infor­ma­cje na temat fak­tów opi­sy­wa­nych przez śro­do­wi­sko medycz­ne i pokrew­ne medy­cy­nie. Tego typu dane dzie­dzi­no­we stan­dar­do­wo słu­żą do opra­co­wa­nia bazo­we­go mode­lu, słu­żą­ce­go do wnio­sko­wa­nia deduk­cyj­ne­go. Ewentualnym dru­gim eta­pem było by jego testo­wa­nie i dosko­na­le­nie ale ten etap nie jest już przed­mio­tem tego arty­ku­łu, o czym napi­sa­no we wstę­pie. Poniżej wybra­ne fak­ty (jako źró­dła posłu­ży­ły publi­ka­cje nauko­we lub pra­so­we powo­łu­ją­ce sie na nauko­we źró­dła). Nie jest to zapew­ne zbiór repre­zen­ta­tyw­ny sta­ty­stycz­nie, ale mode­le tego typu to nie mode­le sta­ty­stycz­ne i czę­stość” nie jest tu prze­słan­ką cze­go­kol­wiek. Poniżej zebra­ne fak­ty uży­te do zbu­do­wa­nia mode­lu. Są to zarów­no publi­ka­cje nauko­we jak arty­ku­ły pra­so­we, gdzie ich auto­rzy tako­we cytu­ją poda­jąc źródło.

  • W celu zapew­nie­nie bez­piecz­nych i nie­dro­gich opcji ochro­ny, w kra­jach o niskich docho­dach, war­to roz­wa­żyć moż­li­wość zapro­jek­to­wa­nia maski z tka­ni­ny, ale do cza­su prze­pro­wa­dze­nia takich badań nie zale­ca się sto­so­wa­nia masek z mate­ria­łu. (MacIntyre et al., 2015)
  • bie­żą­ce wyni­ki poka­zu­ją śmier­tel­ność COVID na pozio­mie ułam­ków pro­cen­ta (CDC, 2020)
  • PHZ w swo­ich zale­ce­niach nie wspo­mi­na o masecz­kach (PHZ, 2020)
  • WHO nie zmie­nia swo­ich zale­ceń. Maski bez fil­trów FFP2 i FFP3 nie chro­nią nas przed zara­że­niem.” (Marcel Wandas, 2020)
  • Koronawirus: maski na twarz mogą zwięk­szać ryzy­ko infek­cji: Dla prze­cięt­ne­go człon­ka spo­łe­czeń­stwa idą­ce­go uli­cą to nie jest dobry pomysł” (Chris Baynes, 2020a)(Chris Baynes 2020b)
  • Główną dro­gą roz­prze­strze­nia­nia się cho­ro­by są kro­pel­ki odde­cho­we wyda­lo­ne przez oso­bę, któ­ra kicha lub kasz­le. Ryzyko zaka­że­nia koro­na­wi­ru­sem SARS-CoV‑2 od oso­by bez obja­wów jest bar­dzo niskie. (Wojewódzka Stacja Sanitarno-Epidemiologiczna w Gdańsku, n.d.)
  • Obecnie nie ma ani szcze­pion­ki prze­ciw­ko COVID-19, ani żad­ne­go spraw­dzo­ne­go leku prze­ciw­wi­ru­so­we­go, któ­ry hamu­je namna­ża­nie się wiru­sa w orga­ni­zmie. Większość lecze­nia jest więc ukie­run­ko­wa­na na lecze­nie obja­wów i zapew­nia­nie opie­ki szpi­tal­nej dla pacjen­tów z powi­kła­nia­mi. […] Chodzi o to, aby poprzez ogra­ni­cze­nia w kon­tak­tach z zaka­żo­ny­mi roz­cią­gnąć” roz­prze­strze­nia­nie się epi­de­mii w cza­sie, aby zbyt wie­lu pacjen­tów wyma­ga­ją­cych inten­syw­nej opie­ki nie zacho­ro­wa­ło jed­no­cze­śnie i nie tra­fi­ło w tym samym momen­cie do szpi­ta­li.” (Piotr Cieśliński, 2020)
  • Maski na twarz są sku­tecz­ne i nie­zbęd­ne w szpi­ta­lach, ale nie ozna­cza to, że są przy­dat­ne dla ogó­łu spo­łe­czeń­stwa” (Hayward, 2020)
  • Nie jest jasne, czy maski uży­wa­ne przez ogół spo­łe­czeń­stwa mogą spo­wol­nić roz­prze­strze­nia­nie się COVID-19. Masowe publicz­ne sto­so­wa­nie masek może mieć nega­tyw­ne kon­se­kwen­cje, jeśli ogra­ni­czy to dosta­wy dla pra­cow­ni­ków służ­by zdro­wia lub jeśli dopro­wa­dzi do zanie­dba­nia innych sku­tecz­nych środ­ków, takich jak mycie rąk.” (UKRI, 2020)
  • Maseczki chi­rur­gicz­ne ogra­ni­cza­ją emi­sje wiru­sa o ok. 50% (Leung et al., 2020)
  • Dane o licz­bie zgo­nów w Polsce poka­zu­ją, że w ostat­nich mie­sią­cach pomi­mo trwa­ją­cej pan­de­mii zmar­ło mniej osób niż w ubie­głych latach. Bo – jak tłu­ma­czą epi­de­mio­lo­dzy – jeśli cho­dzi o zagro­że­nie życia, wirus jest tyl­ko jed­nym z czyn­ni­ków i nie­ko­niecz­nie tym naj­groź­niej­szym.” (Michał Istel & Klaudia Fober, 2020)
  • Maj 2020, wskaź­nik śmier­tel­no­ści CORONA-19 to 0,28% (Worldometers, 2020)
  • Zalecenia doty­czą­ce masek mogą być mylą­ce, ponie­waż nie wszyst­kie maski są sobie rów­ne. Maska N95 sku­tecz­nie zapo­bie­ga roz­prze­strze­nia­niu się wiru­sów. Prawidłowo dopa­so­wa­ne maski ści­śle przy­le­ga­ją do twa­rzy i odfil­tro­wu­ją 95% czą­stek o wiel­ko­ści 0,3 mikro­na lub więk­szych. Ale masek N95 poważ­nie bra­ku­je nawet dla leka­rzy, któ­rzy są nara­że­ni na naj­wyż­sze pozio­my SARS-CoV‑2 i potrze­bu­ją naj­sil­niej­szej ochro­ny przed wiru­sem. Trudno też jest je pra­wi­dło­wo dopa­so­wać. Z tych powo­dów CDC nie zale­ca ich do ogól­ne­go użyt­ku.” (Stephanie Pappas, 2020)
  • Po pierw­sze, błę­dem było twier­dze­nie, że ten wirus był nowy. Po dru­gie, jesz­cze bar­dziej błęd­ne było twier­dze­nie, że popu­la­cja nie mia­ła­by już pew­nej odpor­no­ści na tego wiru­sa. Po trze­cie, uko­ro­no­wa­niem głu­po­ty było twier­dze­nie, że ktoś może mieć Covid-19 bez żad­nych obja­wów, a nawet prze­ka­zać cho­ro­bę bez żad­nych obja­wów.” (Beda M. Stadler, 2020)
  • Szwedzki model wal­ki z koro­na­wi­ru­sem. Główny epi­de­mio­log: stra­te­gia oka­za­ła się suk­ce­sem” (MONIKA MIKOŁAJSKA, 2020)
  • W sumie Covid zabił mniej niż 6 000 osób w kra­ju liczą­cym 10 milio­nów. Kraj, w któ­rym rocz­na śmier­tel­ność wyno­si oko­ło 100 000 osób. To spra­wia, że ??Covid jest zwy­kłym powo­dem pod wzglę­dem wpły­wu na śmier­tel­ność. Dlatego porów­ny­wa­nie Covid z inny­mi poważ­ny­mi pan­de­mia­mi, taki­mi jak pan­de­mia z 1918 r., któ­ra zabi­ła dzie­siąt­ki milio­nów ludzi, jest bez­sen­sow­ne. Covid nigdy nawet nie zbli­ży się do tych liczb. A jed­nak wie­le kra­jów zamknę­ło całe swo­je gospo­dar­ki, unie­moż­li­wi­ło dzie­ciom cho­dze­nie do szko­ły i spra­wi­ło, że duża część ich popu­la­cji sta­ła się bez­ro­bot­na, aby wal­czyć z tą chorobą”(Rushworth, 2020)
  • Reasumując, nie da się tego zoba­czyć gołym okiem, jed­nak bada­nia dowo­dzą, że wyku­pie­nie nawet całe­go zapa­su masek chi­rur­gicz­nych dostęp­nych w apte­kach nie­wie­le pomo­że w obli­czu nie­bez­pie­czeń­stwa zara­że­nia się naj­nie­bez­piecz­niej­szy­mi wiru­sa­mi Świata. ” (Agata Kukwa, 2020)
  • Przyłbice i maski z zawo­ra­mi nie chro­nią” (Katarzyna Grzelak, 2020)
  • Nie, Szwecja nie rezy­gnu­je ze swo­jej stra­te­gii bra­ku blo­ka­dy. Kontrowersje wokół Szwecji wyni­ka­ją z więk­sze­go spo­ru co do tego, kto jest lepiej przy­go­to­wa­ny do pla­no­wa­nia spo­łe­czeń­stwa, jed­no­stek lub cen­tral­nych pla­ni­stów” (Miltimore, 2020)
  • Badanie: Maski chro­nią, ale nie na 100 pro­cent” (arb, 2020)
  • Chory na COVID-19 czło­wiek wydy­cha w cią­gu godzi­ny ok. 50 mln czą­stek wiru­sa, nor­mal­nie oddy­cha­jąc. Nie mamy gwa­ran­cji, że wirus przez wen­ty­la­cję w blo­ku nie zara­zi osób w innych miesz­ka­niach. To samo jest w pra­cy, w szpi­ta­lu i wszę­dzie tam, gdzie jest wen­ty­la­cja lub kli­ma­ty­za­cja. Seniorom nie zale­cał­bym sie­dze­nia w domu, tyl­ko wyj­ście na spa­cer, do par­ku, lasu, a jeśli sie­dze­nie w domu, to przy otwar­tym oknie. Do tej pory nie ma dowo­du, żeby spa­ce­ru­jąc na świe­żym powie­trzu, moż­na się było zara­zić tym wiru­sem. Zarażamy się głów­nie w małych pomiesz­cze­niach. Druga spra­wa: naszą odpor­ność nisz­czy samot­ność, brak kon­tak­tów. A dziś istot­ne jest zarów­no uni­ka­nie zaka­że­nia, jak dobra odpor­ność. Dlatego zale­cał­bym wycho­dze­nie na spa­cer i codzien­ny ruch. Żaden lek nie zastą­pi ruchu i aktyw­no­ści fizycz­nej (Katarzyna Pinkosz, 2020).

Powyższy zestaw fak­tów został uży­ty jako wystar­cza­ją­cy do zbu­do­wa­nia pierw­szej wer­sji mode­lu dedukcyjnego.

KRZYWA ZAKAŻEŃ

Kolejnym istot­nym ele­men­tem budo­wy mode­lu jest krzy­wa zaka­żeń (infek­cji). Diagram Krzywa zaka­żeń przed­sta­wia zmien­ność licz­by zaka­żeń w cza­sie (Roser i in., 2020). Krzywa ta poka­zu­je licz­bę przy­pad­ków zaka­żeń w cza­sie od dnia poja­wie­nia się nowe­go pato­ge­nu do dnia gdy epi­de­mia wyga­sa. Krzywa ma kształt dzwo­nu. To czy jest ona wyso­ka i wąska czy niska i roz­cią­gnię­ta w cza­sie, zale­ży od tem­pa roz­prze­strze­nia­nia się pato­ge­nu. Dla kon­kret­ne­go pato­ge­nu pole pod krzy­wą jest sta­łe, co ozna­cza, że zmie­nia się wyłącz­nie tem­po roz­prze­strze­nia­nia sie pato­ge­nu. Docelowo kon­takt z pato­ge­nem zawsze będzie mia­ła stycz­ność cała populacja.

Wykres

Z uwa­gi na obcią­że­nie sys­te­mu służ­by zdro­wia wpro­wa­dzo­no poję­cie i stra­te­gię spłasz­cze­nia” tej krzywej:

Kolejnym istotnym elementem budowy modelu jest krzywa zakażeń (infekcji). Diagram Krzywa zakażeń przedstawia zmienność liczby zakażeń w czasie (Roser i in., 2020). Krzywa ta pokazuje liczbę przypadków zakażeń w czasie od dnia pojawienia się nowego patogenu do dnia gdy epidemia wygasa. Krzywa ma kształt dzwonu. To czy jest ona wysoka i wąska czy niska i rozciągnięta w czasie, zależy od tempa rozprzestrzeniania się patogenu. Dla konkretnego patogenu pole pod krzywą jest stałe, co oznacza, że zmienia się wyłącznie tempo rozprzestrzeniania sie patogenu. Docelowo kontakt z patogenem zawsze będzie miała styczność cała populacja.

Powyższy zestaw faktów został użyty jako wystarczający do zbudowania pierwszej wersji modelu dedukcyjnego.Jednak ta stra­te­gia nie zmie­nia licz­by ludzi, któ­rzy zacho­ru­ją (pole pod obie­ma krzy­wy­mi jest takie samo).

3. METODY

W opra­co­wa­niu tym wyko­rzy­sta­no mini­mal­ny zestaw narzę­dzi. Są nimi mode­le poję­cio­we oraz powią­za­ne mode­le opi­su­ją­ce mecha­nizm bada­ne­go zja­wi­ska. Do two­rze­nia sche­ma­tów blo­ko­wych uży­to nota­cji UML, w szcze­gól­no­ści wyko­rzy­sta­no dia­gra­my klas i obiektów.

Dla zachowania jednoznaczności i niesprzeczności treści tego opracowania, a także dla zapewnienia spójności treści i cytowań, opracowano model pojęciowy opisujący kluczowe użyte pojęcia. Model ten stanowi sobą zbiór pojęć łączonych predykatem (asocjacja) lub związkiem generalizacji (generalizacje czytamy "jest typem", np. bakteria jest typem patogenu). System pojęciowy (przestrzeń pojęciowa, namespace) jest poprawny, jeżeli każda kontekstowa para pojęć (związki na diagramie) tworzy zdanie prawdziwe na tle definicji tych pojęć. Na diagramie zobrazowano kluczowe pojęcia, których użyto w opisie modelu. Kluczowe dla dalszej treści są także reguły: Choroba oraz Infekcja.

Model pojęciowy

Dla zacho­wa­nia jed­no­znacz­no­ści i nie­sprzecz­no­ści tre­ści tego opra­co­wa­nia, a tak­że dla zapew­nie­nia spój­no­ści tre­ści i cyto­wań, opra­co­wa­no model poję­cio­wy opi­su­ją­cy klu­czo­we uży­te poję­cia. Model ten sta­no­wi sobą zbiór pojęć łączo­nych pre­dy­ka­tem (aso­cja­cja) lub związ­kiem gene­ra­li­za­cji (gene­ra­li­za­cje czy­ta­my jest typem”, np. bak­te­ria jest typem pato­ge­nu). System poję­cio­wy (prze­strzeń poję­cio­wa, name­spa­ce) jest popraw­ny, jeże­li każ­da kon­tek­sto­wa para pojęć (związ­ki na dia­gra­mie) two­rzy zda­nie praw­dzi­we na tle defi­ni­cji tych pojęć. Na dia­gra­mie zobra­zo­wa­no klu­czo­we poję­cia, któ­rych uży­to w opi­sie mode­lu. Kluczowe dla dal­szej tre­ści są tak­że regu­ły: Choroba oraz Infekcja.

Modelowanie to tworzenie opisu mechanizmu wyjaśniającego obserwowane fakty. Fakty to wiedza pozyskana od ekspertów dziedzinowych, to np. dane pomiarowe (źródłowe) i ich statystyka, dają one wyłącznie informacje o występowaniu określonych zjawisk, statystyki jako takie nie stanowią sobą żadnego modelu ani wyjaśnienia obserwowanego zjawiska. Statystyka może wskazać prawidłowości w obserwowalnych faktach związanych z badanym zjawiskiem (Phenomenon) ale statystyka nie wyjaśnia mechanizmu ich powstania (Mechanism). Zwraca na t uwagę Cravier na diagramie Wizualna reprezentacja mechanizmu (Craver & Tabery, 2019). Teoria wyjaśniająca to idealizacja, opis mechanizmu powstawiania obserwowanych faktów (Weisberg, 2007).
        Metanalizy nie podważają w żadnym stopniu wyników wykonanych badań, są one - ich wyniki - z zasady traktowane jako fakty. Metaanaliza ma za cel jedynie zbudować nadrzędny model wyjaśniający, którego celem jest wyłącznie opisanie (a czasami odkrycie) mechanizmu danego zjawiska. Podstawą tworzenia modelu dedukcyjnego jest idealizacja rozumiana jako model zbudowany z kluczowych dla badanego zjawiska faktów i elementów (Matthews, 2004).Wizualna repre­zen­ta­cja mechanizmu

Modelowanie to two­rze­nie opi­su mecha­ni­zmu wyja­śnia­ją­ce­go obser­wo­wa­ne fak­ty. Fakty to wie­dza pozy­ska­na od eks­per­tów dzie­dzi­no­wych, to np. dane pomia­ro­we (źró­dło­we) i ich sta­ty­sty­ka, dają one wyłącz­nie infor­ma­cje o wystę­po­wa­niu okre­ślo­nych zja­wisk, sta­ty­sty­ki jako takie nie sta­no­wią sobą żad­ne­go mode­lu ani wyja­śnie­nia obser­wo­wa­ne­go zja­wi­ska. Statystyka może wska­zać pra­wi­dło­wo­ści w obser­wo­wal­nych fak­tach zwią­za­nych z bada­nym zja­wi­skiem (Phenomenon) ale sta­ty­sty­ka nie wyja­śnia mecha­ni­zmu ich powsta­nia (Mechanism). Zwraca na t uwa­gę Cravier na dia­gra­mie Wizualna repre­zen­ta­cja mecha­ni­zmu (Craver & Tabery, 2019). Teoria wyja­śnia­ją­ca to ide­ali­za­cja, opis mecha­ni­zmu powsta­wia­nia obser­wo­wa­nych fak­tów (Weisberg, 2007).

Metanalizy nie pod­wa­ża­ją w żad­nym stop­niu wyni­ków wyko­na­nych badań, są one – ich wyni­ki – z zasa­dy trak­to­wa­ne jako fak­ty. Metaanaliza ma za cel jedy­nie zbu­do­wać nad­rzęd­ny model wyja­śnia­ją­cy, któ­re­go celem jest wyłącz­nie opi­sa­nie (a cza­sa­mi odkry­cie) mecha­ni­zmu dane­go zja­wi­ska. Podstawą two­rze­nia mode­lu deduk­cyj­ne­go jest ide­ali­za­cja rozu­mia­na jako model zbu­do­wa­ny z klu­czo­wych dla bada­ne­go zja­wi­ska fak­tów i ele­men­tów (Matthews, 2004).

4. REZULTATY

Zbudowano model opar­ty na mecha­ni­zmie pro­pa­ga­cji pato­ge­nów i cechach czło­wie­ka jak obiek­tu podat­ne­go na infek­cje i choroby.

4.1. Budowa modelu

Model zbu­do­wa­no w opar­ciu o zasa­dy two­rze­nia mode­li jak mecha­ni­zmów (Craver & Tabery, 2019). Jest to więc kon­struk­cja nie statystyka.

Szkic przedstawia dwie osoby na przeciwko siebie, symboliczne "maseczki" na twarzach oraz drogę powietrza: X przechodzącego przez osłonę ust i nosa oraz Y przechodzącego z pominięciem tej osłony. Szkic tej jest idealizowanym modelem do dalszych rozważań (McMullin, 1985).Szkic mode­lu dedukcyjnego

Szkic przed­sta­wia dwie oso­by na prze­ciw­ko sie­bie, sym­bo­licz­ne masecz­ki” na twa­rzach oraz dro­gę powie­trza: X prze­cho­dzą­ce­go przez osło­nę ust i nosa oraz Y prze­cho­dzą­ce­go z pomi­nię­ciem tej osło­ny. Szkic tej jest ide­ali­zo­wa­nym mode­lem do dal­szych roz­wa­żań (McMullin, 1985).

Diagram przedstawia mechanizm przenoszenia patogenu i kontaktu z patogenem, pobyt w środowisku skażonym. Zobrazowano go jako dwie oddziaływające na siebie osoby. Jest to model, który posłuży do analizy możliwości zarażenia sie wirusem i zachorowania.

Model pro­pa­ga­cji patogenu

Diagram przed­sta­wia mecha­nizm prze­no­sze­nia pato­ge­nu i kon­tak­tu z pato­ge­nem, pobyt w śro­do­wi­sku ska­żo­nym. Zobrazowano go jako dwie oddzia­ły­wa­ją­ce na sie­bie oso­by. Jest to model, któ­ry posłu­ży do ana­li­zy moż­li­wo­ści zara­że­nia sie wiru­sem i zachorowania.

Diagram Model progu infekcji pokazuje infekcję jako zależność stężenia patogenu we wdychanym powietrzu i czasu. Przyjęto liniową zależność, jednak może ona być nieliniowa (ma to drugorzędne znacznie dla tego modelu, ma istotne znaczenie dla ewentualnej symulacji).Model pro­gu infekcji

Diagram Model pro­gu infek­cji poka­zu­je infek­cję jako zależ­ność stę­że­nia pato­ge­nu we wdy­cha­nym powie­trzu i cza­su. Przyjęto linio­wą zależ­ność, jed­nak może ona być nie­li­nio­wa (ma to dru­go­rzęd­ne znacz­nie dla tego mode­lu, ma istot­ne zna­cze­nie dla ewen­tu­al­nej symulacji).

Diagram stan osoby przedstawia zmiany stanu zdrowia osoby. Pokazano możliwe stany zdrowia i ich zmiany w odpowiedzi na zdarzenia (fakty do jakich doszło). Jest to - diagram - tak zwany automat stanowy. Pokazuje możliwe stany obiektu i przyczyny ich zmian.

Stan osoby

Diagram Stan oso­by przed­sta­wia zmia­ny sta­nu zdro­wia oso­by. Pokazano moż­li­we sta­ny zdro­wia i ich zmia­ny w odpo­wie­dzi na zda­rze­nia (fak­ty do jakich doszło). Jest to – dia­gram – tak zwa­ny auto­mat sta­no­wy. Pokazuje moż­li­we sta­ny obiek­tu i przy­czy­ny ich zmian.

4.2. Efekty użycia modelu

Opisany model słu­ży do prze­pro­wa­dze­nia wnio­sko­wa­nia deduk­cyj­ne­go. Na pod­sta­wie fak­tów (wyni­ki badań i obser­wa­cji opu­bli­ko­wa­ne w cyto­wa­nych w czę­ści AKTUALNY STAN WIEDZY) oraz mode­li opi­sa­nych w czę­ści Budowa mode­lu, moż­na stwier­dzić co następuje:

  1. popu­lar­ne i dostęp­ne na ryn­ku masecz­ki zasła­nia­ją­ce usta i nos, nie są szczel­ne w 100%, inny­mi sło­wy nie izo­lu­ją, więc jeże­li dana oso­ba znaj­dzie sie w zaka­żo­nym środowisku,dojdzie do kon­tak­tu z patogenem,
  2. jak poka­za­no na dia­gra­mie Model pro­gu infek­cji do zaka­że­nia docho­dzi po prze­kro­cze­niu pro­gu sku­tecz­no­ści sys­te­mu odpor­no­ścio­we­go u czło­wie­ka, osło­na ust i nosa może co naj­wy­żej odsu­nąć w cza­sie doj­ście do infek­cji, nie jest więc praw­dą, że masecz­ki zmniej­sza­ją praw­do­po­do­bień­stwo infek­cji i ewen­tu­al­ne­go zacho­ro­wa­nia, one jedy­nie opóź­nia­ją moment infek­cji, jeże­li do infek­cji docho­dzi w cza­sie kil­ku do kil­ku­na­stu minut od kon­tak­ty z zaka­żo­nym śro­do­wi­skiem, a ludzie prze­by­wa­ją w jed­nym miej­scy (auto­bus, sklep, itp.) dłu­żej, to sto­so­wa­nie mase­czek nie chroni,
  3. wiru­sy roz­cho­dzą się przede wszyst­kim dro­gą kro­pel­ko­wą, więc głów­nym zagro­że­niem jest oso­ba cho­ra z obja­wa­mi (kaszel, kicha­nie), sku­tecz­ne jest więc eli­mi­no­wa­nie z prze­strze­ni publicz­nej takich osób, nosze­nie masecz­ki nie wpły­nie zbyt­nio na zaha­mo­wa­nie roz­prze­strze­nia­nia się epi­de­mii, bio­rąc pod uwa­gę, ze sta­no­wią one ok. kil­ku pro­cent popu­la­cji jest to (kwa­ran­tan­na osób z obja­wa­mi) rela­tyw­nie mało szko­dli­we społecznie,
  4. defi­ni­cja epi­de­mii (czy­li tak­że pan­de­mii) bazu­je na zacho­ro­wa­niach a nie na infek­cjach, więc opie­ra­nie stra­te­gii wal­ki z pan­de­mią na licz­bie pozy­tyw­nych testów wyda­je się nie­ra­cjo­nal­ne, sku­tecz­niej­sza w hamo­wa­niu roz­prze­strze­nia­nia była­by jed­nak stra­te­gia eli­mi­no­wa­nia z prze­strze­ni publicz­nej osób z obja­wa­mi (taką stra­te­gie przy­ję­ły mię­dzy inny­mi Nowa Zelandia i Tajwan),
  5. powszech­nie przy­ta­cza­na krzy­wa opi­sa­na na dia­gra­mie Krzywa zaka­żeń, poka­zu­je skut­ki dla sys­te­mu służ­by zdro­wia, ten zaś jest obcią­ża­ny zacho­ro­wa­nia­mi wyma­ga­ją­cy­mi hospi­ta­li­za­cji a nie pozy­tyw­ny­mi testa­mi, tak więc tak zwa­ne spłasz­cza­nie” tej krzy­wej nie powin­no być nasta­wio­na na licz­bę pozy­tyw­nych testów, co wyda­je się jest pro­mo­wa­ne w mediach.
  6. brak szcze­pion­ki i nie­ule­czal­ność cho­ro­by powo­du­je, że (poza rzad­ki­mi przy­pad­ka­mi gdy lecze­nie obja­wo­we pomo­że prze­żyć) nie jeste­śmy w sta­nie rato­wać ludzi cho­rych, a model jakim jest krzy­wa zaka­żeń (pole pod krzy­wą) poka­zu­je, że może­my jedy­nie ten pro­ces spowolnić.

W kon­tek­ście powyż­sze­go, sto­so­wa­nie poważ­nych ogra­ni­czeń swo­bód oby­wa­tel­skich i blo­ka­dy gospo­dar­ki (lock­down), wyda­je się wyso­ce nie­ra­cjo­nal­ne. Poważne ogra­ni­cze­nia, a dla wie­lu grup zawo­do­wych wstrzy­ma­nie, pra­cy zarob­ko­wej powo­du­je utra­tę źró­dła utrzy­ma­nia przez wie­lu ludzi a tak­że wstrzy­ma­nie świad­cze­nia wie­lu usług. W efek­cie spa­da­ją wpły­wy z podat­ków i rosną wydat­ki na świad­cze­nia publicz­ne (zasił­ki).

[Listopad 2020] Poniższy wykres zda­je sie tak­że potwier­dzać powyż­sze rozważania:

(https://www.nature.com/articles/s41586-020‑2923‑3)

5. DYSKUSJA I DALSZE PRACE

Przedstawiony model dale­ki jest od dosko­na­ło­ści i na pew­no wyma­ga dopre­cy­zo­wa­nia w obsza­rze danych (w szcze­gól­no­ści nachy­le­nie i kształt krzy­wych na dia­gra­mie Model pro­gu infek­cji). Głównym celem jego stwo­rze­nia i publi­ka­cji na tym eta­pie jest jed­nak poka­za­nie alter­na­ty­wy dla tak zwa­nych mode­li sta­ty­stycz­nych. Ich klu­czo­wą wadą jest to, że nicze­go nie wyja­śnia­ją (Craver & Tabery, 2019) oraz to, że pro­gno­zy sta­ty­stycz­ne (tren­dy) licz­by zaka­żeń od same­go począt­ku pan­de­mii nie kore­lu­ją z podej­mo­wa­ny­mi środ­ka­mi jaki­mi są róż­ne for­my restryk­cji swo­bo­dy życia spo­łecz­ne­go (Worldometers, 2020). Uwidoczniły się za to skut­ki ubocz­ne znacz­ne­go ogra­ni­cze­nia życia spo­łecz­ne­go w posta­ci kry­zy­su eko­no­micz­ne­go oraz wzro­stu licz­by depre­sji lęko­wych i samo­bójstw. Wiele rodzin popa­dło w nie­do­sta­tek. Chaos orga­ni­za­cyj­ny w służ­bie zdro­wia, spo­wo­do­wa­ny ad-hoc two­rzo­ny­mi ogra­ni­cze­nia­mi dostę­pu do usług medycz­nych, spo­wo­do­wał śmierć wie­lu ludzi z powo­du ogra­ni­cze­nia lub bra­ku dostę­pu do służ­by zdrowia.

Model ten jed­nak mimo wska­za­nych wyżej wad, tłu­ma­czy brak kore­la­cji podej­mo­wa­nych dzia­łań z uzy­ska­ny­mi efek­ta­mi. Zdaniem auto­ra, war­to pod­jąć pra­ce nad rewi­zją kon­tro­wer­syj­nych, z per­spek­ty­wy całe­go Państwa i spo­łe­czeń­stwa, działań.

Często poda­je się jako przy­kład potrzeb obostrzeń zakła­dy fry­zjer­skie gdzie dłu­go­trwa­łe kon­tak­ty nie koń­czy­ły się zaka­że­niem jak rów­nież były ogni­ska, gdzie zaka­ża­li się ludzie w kil­ka minut. Sugeruje się, że ope­ro­wa­nia na praw­do­po­do­bień­stwach jest jed­nak uprawnione.

Ten (i podob­ne) przy­kła­dy wyja­śnia jed­nak mój model: do zaka­że­nia docho­dzi z powo­du kon­tak­tu z pato­ge­nem a nie z powo­du bra­ku masecz­ki, praw­do­po­do­bień­stwo ma tu zna­cze­nie jako ryzy­ko kon­tak­tu ze śro­do­wi­skiem zawie­ra­ją­cym pato­gen, pamię­taj­my, że wirus utrzy­mu­je sie w powie­trzu nawet kil­ka godzin, czy­li np. wcho­dząc do jakie­goś pomiesz­cze­nia moż­na się zara­zić od czło­wie­ka” któ­ry 1. był tam kil­ka godzin wcze­śniej i 2. był cho­ry i 3. miał masecz­ką na twa­rzy (one prze­pusz­cza­ją nawet 70% wydy­cha­ne­go powie­trza bokiem). To dla­te­go np. Nowa Zelandia i Tajwan sku­pi­ły sie na pomia­rach tem­pe­ra­tu­ry u ludzi (nie wpusz­cza­li do chro­nio­nych pomiesz­czeń ludzi z obja­wa­mi) a nie na masecz­kach i dystansie.

Zdaje sobie spra­wę z kry­ty­ki na jaką sie nara­żam, jed­nak uwa­żam, że podej­mo­wa­nie takich dys­ku­sji jest potrzeb­ne. Nawet, jeże­li opi­sa­ny tu model zosta­nie cał­ko­wi­cie pod­wa­żo­ny, uwa­żam, że fakt bra­ku kore­la­cji podej­mo­wa­nych dzia­łań i uzy­ska­nych efek­tów każe szu­kać wyjaśnienia.

Planowane dal­sze pra­ce to przede wszyst­kim śle­dze­nie badań ilo­ścio­wych w celu potwier­dze­nia lub oba­le­nia powyż­sze­go mode­lu. Będą umiesz­cza­ne w komen­ta­rza pod tym tek­stem. Osoby zain­te­re­so­wa­ne mogą sub­skry­bo­wać te komen­ta­rze (opis w sek­cji komentarze). 

6. ŹRÓDŁA

Agata Kukwa. (2020, September). Dlaczego maski nie ochro­nią Cię przed infek­cją wiru­so­wą? ? Badania​.net. https://​www​.bada​nia​.net/​d​l​a​c​z​e​g​o​-​m​a​s​k​i​-​n​i​e​-​o​c​h​r​o​n​i​a​-​c​i​e​-​p​r​z​e​d​-​i​n​f​e​k​c​j​a​-​w​i​r​u​s​o​wa/

arb. (2020, paź­dzier­nik 22). Badanie: Maski chro­nią, ale nie na 100 procent?Covid-19?Rp.pl. https://​www​.rp​.pl/​C​o​v​i​d​-​1​9​/​2​0​1​0​2​9​7​6​2​-​B​a​d​a​n​i​e​-​M​a​s​k​i​-​c​h​r​o​n​i​a​-​a​l​e​-​n​i​e​-​n​a​-​1​0​0​-​p​r​o​c​e​n​t​.​h​t​m​l​?​f​b​c​l​i​d​=​I​w​A​R​3​V​9​S​Y​U​M​7​E​w​Q​n​r​u​I​F​r​w​H​v​-​y​c​1​K​d​6​5​d​6​N​H​-​c​o​t​6​7​F​f​j​X​M​I​D​5​A​n​q​X​I​u​B​3​kEU

Back to Reason. (2020, July 14). Coronavirus: Why eve­ry­one was wrong. Medium. 

Beda M. Stadler. (2020, lipiec 14). Coronavirus: Why eve­ry­one was wrong. Medium.

CDC. (2020, February 11). Coronavirus Disease 2019 (COVID-19). Centers for Disease Control and Prevention. https://​www​.cdc​.gov/​c​o​r​o​n​a​v​i​r​u​s​/​2​0​1​9​-​n​c​o​v​/​h​c​p​/​p​l​a​n​n​i​n​g​-​s​c​e​n​a​r​i​o​s​.​h​tml

Chris Baynes. (2020, March 12). Coronavirus: Face masks could incre­ase risk of infec­tion, medi­cal chief warns | The Independent | The Independent. https://​www​.inde​pen​dent​.co​.uk/​n​e​w​s​/​h​e​a​l​t​h​/​c​o​r​o​n​a​v​i​r​u​s​-​n​e​w​s​-​f​a​c​e​-​m​a​s​k​s​-​i​n​c​r​e​a​s​e​-​r​i​s​k​-​i​n​f​e​c​t​i​o​n​-​d​o​c​t​o​r​-​j​e​n​n​y​-​h​a​r​r​i​e​s​-​a​9​3​9​6​8​1​1​.​h​tml

Chris Baynes. (2020, March 12). Face masks could incre­ase risk of get­ting coro­na­vi­rus, medi­cal chief warns. The Independent. https://​www​.inde​pen​dent​.co​.uk/​n​e​w​s​/​h​e​a​l​t​h​/​c​o​r​o​n​a​v​i​r​u​s​-​n​e​w​s​-​f​a​c​e​-​m​a​s​k​s​-​i​n​c​r​e​a​s​e​-​r​i​s​k​-​i​n​f​e​c​t​i​o​n​-​d​o​c​t​o​r​-​j​e​n​n​y​-​h​a​r​r​i​e​s​-​a​9​3​9​6​8​1​1​.​h​tml

Christine Chiou. (2020, April 6). How Taiwan Battles the Coronavirus. https://​the​di​plo​mat​.com/​2​0​2​0​/​0​4​/​h​o​w​-​t​a​i​w​a​n​-​b​a​t​t​l​e​s​-​t​h​e​-​c​o​r​o​n​a​v​i​r​us/

Craver, C., & Tabery, J. (2019). Mechanisms in Science. In E. N. Zalta (Ed.), The Stanford Encyclopedia of Philosophy (Summer 2019). Metaphysics Research Lab, Stanford University. https://​pla​to​.stan​ford​.edu/​a​r​c​h​i​v​e​s​/​s​u​m​2​0​1​9​/​e​n​t​r​i​e​s​/​s​c​i​e​n​c​e​-​m​e​c​h​a​n​i​s​ms/

Duszyński, J., Afelt, A., Ochab-Marcinek, A., Owczuk, R., Pyrć, K., Rosińska, M., Rychard, A., & Smiatacz, T. (2020). OPRACOWANIE ZESPOŁU DS. COVID-19 PRZY PREZESIE POLSKIEJ AKADEMII NAUK. 70.

Frigg, R., & Hartmann, S. (2006). Models in Science. https://​pla​to​.stan​ford​.edu/​a​r​c​h​i​v​e​s​/​s​u​m​2​0​1​9​/​e​n​t​r​i​e​s​/​m​o​d​e​l​s​-​s​c​i​e​n​ce/

Gray, J., & Rumpe, B. (2019). Models as the sub­ject of rese­arch. Software and Systems Modeling, 18(6), 3189?3191. https://​doi​.org/​1​0​.​1​0​0​7​/​s​1​0​2​7​0​-​019 – 00751‑y

Hayward, E. (2020, October 7). Coronavirus lock­downs ?may kill MORE than herd immu­ni­ty?. Mail Online. https://​www​.daily​ma​il​.co​.uk/​n​e​w​s​/​a​r​t​i​c​l​e​-​8​8​1​7​0​7​5​/​C​o​r​o​n​a​v​i​r​u​s​-​l​o​c​k​d​o​w​n​s​-​k​i​l​l​-​h​e​r​d​-​i​m​m​u​n​i​t​y​.​h​tml

Heymann, D. (2020, April 3). Do face masks pro­tect aga­inst coro­na­vi­rus? Here?s what scien­ti­sts know so far | David Heymann. The Guardian. https://​www​.the​gu​ar​dian​.com/​c​o​m​m​e​n​t​i​s​f​r​e​e​/​2​0​2​0​/​a​p​r​/​0​3​/​f​a​c​e​-​m​a​s​k​s​-​c​o​r​o​n​a​v​i​r​u​s​-​s​c​i​e​n​t​i​s​t​s​-​e​v​i​d​e​n​c​e​-​c​o​v​i​d​-​1​9​-​p​u​b​lic

Katarzyna Grzelak. (2020, September). Przyłbice i maski z zawo­ra­mi nie chro­nią ? udo­wad­nia pro­sta symu­la­cja. https://​www​.focus​.pl/​a​r​t​y​k​u​l​/​p​r​z​y​l​b​i​c​e​-​i​-​m​a​s​k​i​-​z​-​z​a​w​o​r​a​m​i​-​n​i​e​-​c​h​r​o​n​i​a​-​u​d​o​w​a​d​n​i​a​-​p​r​o​s​t​a​-​s​y​m​u​l​a​cja

Katarzyna Pinkosz. (2020, listo­pad 30). Prof. Piotr Kuna: Po każ­dej tra­ge­dii przy­cho­dzi coś dobre­go. Świat Lekarza. https://​swia​tle​ka​rza​.pl/​p​r​o​f​-​p​i​o​t​r​-​k​u​n​a​-​p​o​-​k​a​z​d​e​j​-​t​r​a​g​e​d​i​i​-​p​r​z​y​c​h​o​d​z​i​-​c​o​s​-​d​o​b​r​e​go/

Larson, H. (2020). Agent-Based Modeling of Locust Foraging and Social Behavior. 47.

Leung, N. H. L., Chu, D. K. W., Shiu, E. Y. C., Chan, K.-H., McDevitt, J. J., Hau, B. J. P., Yen, H.-L., Li, Y., Ip, D. K. M., Peiris, J. S. M., Seto, W.-H., Leung, G. M., Milton, D. K., & Cowling, B. J. (2020). Respiratory virus shed­ding in exha­led bre­ath and effi­ca­cy of face masks. Nature Medicine, 26(5), 676?680. https://doi.org/10.1038/s41591-020‑0843‑2

MacIntyre, C. R., Seale, H., Dung, T. C., Hien, N. T., Nga, P. T., Chughtai, A. A., Rahman, B., Dwyer, D. E., & Wang, Q. (2015). A clu­ster ran­do­mi­sed trial of cloth masks com­pa­red with medi­cal masks in heal­th­ca­re wor­kers. BMJ Open, 5(4), e006577. https://​doi​.org/​1​0​.​1​1​3​6​/​b​m​j​o​p​e​n​-​2​014 – 006577

Marcel Wandas. (2020, luty 28). Czy maski anty­smo­go­we chro­nią przed wiru­sa­mi? SmogLab. https://​smo​glab​.pl/​c​z​y​-​m​a​s​k​i​-​a​n​t​y​s​m​o​g​o​w​e​-​c​h​r​o​n​i​a​-​p​r​z​e​d​-​w​i​r​u​s​a​mi/

Mark Lawrence. (2020, April 9). The ?Wicked Problem? of the Covid-19 Pandemic | Institute for Advanced Sustainability Studies. https://​www​.iass​-pots​dam​.de/​e​n​/​b​l​o​g​/​2​0​2​0​/​0​4​/​w​i​c​k​e​d​-​p​r​o​b​l​e​m​-​c​o​v​i​d​-​1​9​-​p​a​n​d​e​mic

Matthews, M. R. (2004). Idealisation and Galileo?s pen­du­lum disco­ve­ries: Historical, phi­lo­so­phi­cal and peda­go­gi­cal con­si­de­ra­tions. Science & Education, 13(7?8), 689?715.

McMullin, E. (1985). Galilean ide­ali­za­tion. Studies in History and Philosophy of Science Part A, 16(3), 247?273. https://​doi​.org/​1​0​.​1​0​1​6​/​0​039 – 3681(85)90003 – 2

MICHAŁ DOMASZEWSKI. (2020, August 31). Jak roz­ma­wiać z ?koro­na­scep­ty­ka­mi?? ? Doktor Michał. http://​www​.dok​tor​mi​chal​.com/​o​g​o​l​n​e​/​j​a​k​-​r​o​z​m​a​w​i​a​c​-​z​-​k​o​r​o​n​a​s​c​e​p​t​y​k​a​mi/

Michał Istel, & Klaudia Fober. (2020, May 11). Jak epi­de­mia wpły­nę­ła na sta­ty­sty­ki zgo­nów w Polsce. Analiza Konkret24. Konkret24. https://​kon​kre​t24​.tvn24​.pl/​z​d​r​o​w​i​e​,​1​1​0​/​j​a​k​-​e​p​i​d​e​m​i​a​-​w​p​l​y​n​e​l​a​-​n​a​-​s​t​a​t​y​s​t​y​k​i​-​z​g​o​n​o​w​-​w​-​p​o​l​s​c​e​-​a​n​a​l​i​z​a​-​k​o​n​k​r​e​t​2​4​,​1​0​1​5​6​4​5​.​h​tml

Miltimore, J. (2020, October 20). No, Sweden Isn?t Abandoning Its No-Lockdown Strategy | Jon Miltimore. https://​fee​.org/​a​r​t​i​c​l​e​s​/​n​o​-​s​w​e​d​e​n​-​i​s​n​-​t​-​a​b​a​n​d​o​n​i​n​g​-​i​t​s​-​n​o​-​l​o​c​k​d​o​w​n​-​s​t​r​a​t​e​gy/

MONIKA MIKOŁAJSKA. (2020, July 24). Koronawirus na świe­cie. Szwecja. Epidemiolog zado­wo­lo­ny ze stra­te­gii. medo​net​.pl. https://​www​.medo​net​.pl/​k​o​r​o​n​a​w​i​r​u​s​/​k​o​r​o​n​a​w​i​r​u​s​-​w​-​e​u​r​o​p​i​e​,​k​o​r​o​n​a​w​i​r​u​s​-​n​a​-​s​w​i​e​cie – szwe­cja – epidemiolog-zadowolony-ze-strategii,artykul,42937652.html

PHZ. (2020, February 27). Sposoby ogra­ni­cza­nia ryzy­ka zaka­że­nia koronawirusem?Plakat do pobra­nia. PZH. https://​www​.pzh​.gov​.pl/​s​p​o​s​o​b​y​-​o​g​r​a​n​i​c​z​a​n​i​a​-​r​y​z​y​k​a​-​z​a​k​a​z​e​n​i​a​-​k​o​r​o​n​a​w​i​r​u​s​e​m​-​p​l​a​k​a​t​-​d​o​-​p​o​b​r​a​n​ia/

Piotr Cieśliński. (2020, March 14). Koronawirus. Mieliśmy już pan­de­mie i wie­my, cze­go się spo­dzie­wać. Możliwe są dwa sce­na­riu­sze. gaze­tapl. https://​wybor​cza​.pl/​7​,​7​5​4​0​0​,​2​5​7​8​1​3​7​8​,​n​i​e​-​w​s​z​y​s​c​y​-​n​i​e​-​u​m​r​z​e​m​y​-​m​i​e​l​i​s​m​y​-​j​u​z​-​t​a​k​i​e​-​p​a​n​d​e​m​i​e​-​i​-​w​i​e​m​y​.​h​tml

Reunion ?69. (2020, June 26). SZWECJA ? PANDEMIA, PRYWATYZACJA I PERSONEL NA ŚMIECIÓWKACH. REUNION 69. https://​dzi​smis​.com/​2​0​2​0​/​0​6​/​2​7​/​s​z​w​e​c​j​a​-​p​a​n​d​e​m​i​a​-​p​r​y​w​a​t​y​z​a​c​j​a​-​i​-​p​e​r​s​o​n​e​l​-​n​a​-​s​m​i​e​c​i​o​w​k​a​ch/

Rittel, H. W. J., & Webber, M. M. (1973). Dilemmas in a gene­ral the­ory of plan­ning. Policy Sciences, 4(2), 155?169. https://​doi​.org/​1​0​.​1​0​0​7​/​B​F​0​1​4​0​5​730

Roser, M., Ritchie, H., Ortiz-Ospina, E., & Hasell, J. (2020). Coronavirus Pandemic (COVID-19). Our World in Data. https://​our​worl​din​da​ta​.org/​c​o​r​o​n​a​v​i​rus

Rushworth, S. (2020, August 11). How dan­ge­ro­us is Covid? A Swedish doctor?s per­spec­ti­ve. https://​app​.spec​ta​tor​.co​.uk/​2​0​2​0​/​0​8​/​1​1​/​h​o​w​-​d​a​n​g​e​r​o​u​s​-​i​s​-​c​o​v​i​d​-​a​-​s​w​e​d​i​s​h​-​d​o​c​t​o​r​s​-​p​e​r​s​p​e​c​t​i​v​e​/​c​o​n​t​e​n​t​.​h​tml

Sokal, A., & Bricmont, J. (2004). Modne bzdu­ry. O Nadużywaniu Pojęć z Zakresu Nauk Ścis\lych Przez Postmodernistycznych Intelektualistów.

Stephanie Pappas. (2020, June 2). Do face masks real­ly redu­ce coro­na­vi­rus spre­ad? Experts have mixed answers. | Live Science. https://​www​.live​scien​ce​.com/​a​r​e​-​f​a​c​e​-​m​a​s​k​s​-​e​f​f​e​c​t​i​v​e​-​r​e​d​u​c​i​n​g​-​c​o​r​o​n​a​v​i​r​u​s​-​s​p​r​e​a​d​.​h​tml

Stone, L. (2020, kwie­cień 21). Lockdowns Don?t Work. Public Discourse. https://​www​.the​pu​blic​di​sco​ur​se​.com/​2​0​2​0​/​0​4​/​6​2​5​72/

UKRI, C. the scien­ce expla­ined-. (2020, April 7). Can face masks pre­vent the spre­ad of COVID-19? https://​coro​na​vi​ru​se​xpla​ined​.ukri​.org/​e​n​/​a​r​t​i​c​l​e​/​p​u​b​0​0​05/

Weisberg, M. (2007). Three Kinds of Idealization: The Journal of Philosophy, 104(12), 639?659. https://​doi​.org/​1​0​.​5​8​4​0​/​j​p​h​i​l​2​0​0​7​1​0​4​1​240

Wojewódzka Stacja Sanitarno-Epidemiologiczna w Gdańsku. (n.d.). Czy moż­na zara­zić się COVID-19 od oso­by, któ­ra nie ma obja­wów? Retrieved 17 October 2020, from http://​www​.wsse​.gda​.pl/​i​n​f​o​r​m​a​c​j​e​/​2​9​1​-​c​z​y​-​m​o​z​n​a​-​z​a​r​a​z​i​c​-​s​i​e​-​c​o​v​i​d​-​1​9​-​o​d​-​o​s​o​b​y​-​k​t​o​r​a​-​n​i​e​-​m​a​-​o​b​j​a​wow

Wordometer. (2020, maj 14). Coronavirus Death Rate (COVID-19)?Worldometer. https://​www​.worl​do​me​ters​.info/​c​o​r​o​n​a​v​i​r​u​s​/​c​o​r​o​n​a​v​i​r​u​s​-​d​e​a​t​h​-​r​a​te/

Urbański, M. (2009). Rozumowania abduk­cyj­ne: Modele i pro­ce­du­ry. Wydawnictwo Naukowe UAM.

Yu Chong Ho. (1994). Abduction? Deduction? Induction? Is the­re a Logic of Exploratory Data Analysis? 28.

Popper, K. R. (2008). The Logic of scien­ti­fic disco­ve­ry (Repr. 2008 (twi­ce)). Routledge.

[Marzec 2021]

Did Lockdown Work? An Economist?s Cross-Country Comparison Christian Bj?rnskov CESifo Economic Studies, fab003, https://​doi​.org/​1​0​.​1​0​9​3​/​c​e​s​i​f​o​/​i​f​a​b​003 Published: 29 March 2021

Model dziedziny jako mechanizm

W 2013 roku, arty­kuł o tym czym jest model dzie­dzi­ny, zakoń­czy­łem słowami:

Metody obiek­to­we pole­ga­ją na mode­lo­wa­nia świa­ta rze­czy­wi­ste­go (dome­ny sys­te­mu), w efek­cie nie tra­ci­my żad­nej wie­dzy mode­lu­jąc (zapi­su­jąc) ?świat? w posta­ci mode­lu dzie­dzi­ny. Tu war­to zwró­cić uwa­gę, że wie­dzę o tym jak wyglą­da fak­tu­ra jako doku­ment, musi jakiś obiekt posia­dać: to obiekt fak­tu­ra, posia­da­ją­cy np. ope­ra­cję (meto­dę) ?dru­kuj?. Ale to temat na inny wpis :). (Źródło: Czym jest a czym nie jest tak zwa­ny model dzie­dzi­ny sys­te­mu | | Jarosław Żeliński IT-Consulting).

Mamy rok 2017, więc czte­ry lata czekało 😉 … 

Czytaj dalej… Model dzie­dzi­ny jako mecha­nizm”

TDD – czy same testy to wymagania?

Na nie­daw­no zakoń­czo­nej kon­fe­ren­cji beIT orga­ni­zo­wa­nej na Politechnice Gdańskiej przez Wydział Elektrotechniki, Telekomunikacji i Informatyki, wygło­si­łem refe­rat zaty­tu­ło­wa­ny Filozofia czy­li Aplikacja jako ele­ment biz­ne­so­wej rze­czy­wi­sto­ści (a nie gra kom­pu­te­ro­wa). Przesłanie tej pre­zen­ta­cji to:

Oprogramowanie bar­dzo czę­sto zastę­pu­je kon­struk­cje rze­czy­wi­ste takie jak zega­rek, kar­to­te­ka, biblio­te­ka, księ­gi han­dlo­we, pro­gra­ma­tor pral­ki i wie­le innych rze­czy. Dlatego ana­li­za powin­na pole­gać na zro­zu­mie­niu i udo­ku­men­to­wa­niu mecha­ni­zmu dzia­ła­nia tego cze­goś” a nie jedy­nie na spi­sa­niu zewnętrz­nych oznak tego dzia­ła­nia i zarzą­dza­nie tym spisem. 

Referat miał lek­kie pod­ło­że filozoficzne :).

Ten arty­kuł nie będzie jed­nak powtó­rze­niem refe­ra­tu (wyżej link do pobra­nia). Do jego napi­sa­nia skło­ni­ło mnie jed­no z pytań z sali:

Stosujemy TDD, czy to nie wystar­czy? Po co więc robić to o czym Pan mówi?”

Otóż odpo­wiedź brzmia­ła: TDD nie zastę­pu­je opi­su mecha­ni­zmu dzia­ła­nia. Innymi sło­wy: sam zestaw testów bar­dzo czę­sto nie sta­no­wi żad­nej infor­ma­cji o tym co ma powstać.

Niedawno pisa­łem:

Mechanizm jed­nak to nie zawsze tyl­ko same regu­ły, bar­dzo czę­sto (prak­tycz­nie zawsze dla nie­try­wial­nych sys­te­mów) powi­nien powstać dia­gram poka­zu­ją­cy wewnętrz­ną budo­wę (archi­tek­tu­rę) sys­te­mu, zestaw kom­po­nen­tów odpo­wie­dzial­nych za logi­kę reali­zo­wa­nia tych reguł (a jed­ną z nich jest np. ?treść doku­men­tów musi być zapa­mię­ty­wa­na z moż­li­wo­ścią przy­wo­ła­nia jej w dowol­nym momen­cie?). Taki dia­gram nazy­wa się Model dzie­dzi­ny. Jak go two­rzyć pisa­łem nap. w arty­ku­le Model dzie­dzi­ny jako wyma­ga­nie. (Źródło: Model To Mechanizm | | Jarosław Żeliński IT-Consulting)

A teraz jako przy­kład przy­to­czę dość zło­żo­ny kom­po­nent wie­lu sys­te­mów (pogru­bie­nie moje):

Jak dzia­ła sco­ring w Banku. Klient zain­te­re­so­wa­ny uzy­ska­niem kre­dy­tu wypeł­nia wnio­sek kre­dy­to­wy dla wybra­ne­go pro­duk­tu kre­dy­to­we­go. Dane z wnio­sku reje­stro­wa­ne są w sys­te­mie infor­ma­tycz­nym, któ­ry wspo­ma­ga pro­ces obsłu­gi wnio­sków kre­dy­to­wych w Banku. Podczas prze­twa­rza­nia wnio­sku nastę­pu­je wery­fi­ka­cja danych oraz zapy­ta­nie o auto­ma­tycz­ną reko­men­da­cję kre­dy­to­wą kie­ro­wa­ną do sil­ni­ka decy­zyj­ne­go. Silnik decy­zyj­ny wyko­nu­je zde­fi­nio­wa­ny w posta­ci reguł prze­twa­rza­nia algo­rytm sco­rin­go­wy: gro­ma­dzi dodat­ko­we infor­ma­cje z dostęp­nych źró­deł (np. Biuro Informacji Kredytowej SA, bazy nie­so­lid­nych klien­tów oraz dowo­dów zastrze­żo­nych ? MIG BR, MIG DZ), wyzna­cza wskaź­ni­ki, okre­śla przy­dział do klas ryzy­ka oraz wyli­cza oce­nę punk­to­wą w opar­ciu o kar­ty sco­rin­go­we. (Źródło: Scoring – meto­da oce­ny wia­ry­god­no­ści kre­dy­to­wej – ERP​-view​.pl – ERP, CRM, MRP, Business Intelligence, MRP)

Odpowiadając na pyta­nie o TDD powiem tak: nie da się jed­no­znacz­nie zamó­wić” Systemu sco­rin­go­we­go, poda­jąc jedy­nie par­tię danych wej­ścio­wych i spo­dzie­wa­nych danych wyj­ścio­wych. Testy moż­na opra­co­wać zna­jąc mecha­nizm dzia­ła­nia tego sys­te­mu, two­rzy­my wte­dy repre­zen­ta­tyw­ny zestaw testów pokry­wa­ją­cy cały kod”, o ile zna­my struk­tu­rę tego kodu (pro­jekt). Sam kod nie musi ist­nieć w momen­cie pro­jek­to­wa­nia tych testów, ale opra­co­wa­ny mecha­nizm tak, bo jak już pisa­łem model dzie­dzi­ny to struk­tu­ra kodu reali­zu­ją­ce­go logi­kę biz­ne­so­wą wraz z metodami”.

Można tu powie­dzieć, że nie każ­dy sys­tem to zło­żo­ność sys­te­mu sco­rin­go­we­go. To praw­da, ale to co nazy­wa­my biz­ne­sem to regu­ły biz­ne­so­we, mecha­nizm dzia­ła­nia orga­ni­za­cji, a ten nigdy nie jest try­wial­ny. Reguły udzie­la­nia upu­stów, regu­ły przy­dzie­la­nia kre­dy­tów kupiec­kich, regu­ły nagra­dza­nia w sys­te­mach lojal­no­ścio­wych, regu­ły roz­li­cza­nia kosz­tów i wie­le, wie­le innych w pra­wie każ­dej fir­mie, orga­ni­za­cji czy insty­tu­cji publicznej.

Prawdopodobieństwo tego, że powsta­nie popraw­ne” opro­gra­mo­wa­nie tyl­ko na pod­sta­wie zapi­su sze­re­gu zewnętrz­nych obser­wa­cji” (bo czym są wyma­ga­nia jako zapis burz mózgów, ankiet, wywia­dów, itp.?) jest tym bar­dziej bli­skie zeru im bar­dziej orga­ni­za­cja ma zło­żo­ny mecha­nizm dzia­ła­nia (czy­li większość).

Zjawisko to jest zna­ne już od dzie­siąt­ków lat:

Problemy, w któ­rych roz­wią­za­niu mają pomóc budo­wa­ne zło­żo­ne sys­te­my są zwy­kle ?pro­ble­ma­mi zło­śli­wy­mi? (Rittel i Webber, 1973). ?Problem zło­śli­wy? to taki skom­pli­ko­wa­ny pro­blem, w któ­rym jest tak wie­le powią­za­nych ze sobą bytów, że nie ist­nie­je jego osta­tecz­na spe­cy­fi­ka­cja. Prawdziwy cha­rak­ter pro­ble­mu obja­wia się dopie­ro w mia­rę opra­co­wy­wa­nia rozwiązania.

Dlatego roz­wią­za­nie nie­try­wial­ne­go pro­ble­mu nie pole­ga na spe­cy­fi­ko­wa­niu tego co zna­my, a na pod­ję­ciu pró­by zapro­jek­to­wa­nia roz­wią­za­nia. Tym pro­jek­tem nie jest jed­nak opis reak­cji syst­se­mu na bodź­ce” (czar­na skrzyn­ka). Projektem jest opi­sa­ny (jed­no­znacz­nie udo­ku­men­to­wa­ny) mecha­nizm dzia­ła­nia roz­wią­za­nia (bia­ła skrzynka).

Dlatego wyma­ga­nia spe­cy­fi­ku­je­my sku­tecz­nie poprzez pro­jekt pro­duk­tu a nie poprzez listę cech pro­duk­tu. Zamówienie dla deve­lo­pe­ra powin­no zawie­rać pro­jekt a nie wizu­ali­za­cję efek­tu koń­co­we­go, dokład­nie tak jak w bran­ży budow­la­nej, elek­tro­nicz­nej czy nawet mecha­nicz­nej (nawet wyko­naw­ca wału kor­bo­we­go dosta­je rysun­ki tech­nicz­ne a nie roz­wle­kłą proś­bę o faj­ny wał do samochodu).

Zilustrować to moż­na tak:

Wymagania

  1. Wymagania biz­ne­so­we zgła­sza biz­nes, są one for­mą opi­su i kon­se­kwen­cją pro­ble­mu biz­ne­so­we­go, wyma­ga­nia wobec roz­wią­za­nia to usta­lo­ny zakres projektu.
  2. Jeżeli jest to pro­jekt z obsza­ru inży­nie­rii opro­gra­mo­wa­nia, ma powstać opro­gra­mo­wa­nie opi­sa­ne z uży­ciem Przypadków uży­cia i Modelu dziedziny.
  3. Jak przejść od wyma­gań biz­ne­so­wych do Przypadków uży­cia i mode­lu dzie­dzi­ny i kto ma tego dokonać?

Kto ma opra­co­wać to ostat­nie? Programista? A na jakiej pod­sta­wie, sko­ro nie zna tego biz­ne­su” (to pro­gra­mi­sta a nie ana­li­tyk biz­ne­so­wy)? Czy same przy­pad­ki uży­cia opi­su­ją regu­ły (mecha­nizm dzia­ła­nia) dzia­ła­nia syst­se­mu sco­rin­go­we­go czy sys­te­mu upu­stów w pro­mo­cji (to jed­na licz­ba, war­tość upu­stu, na fak­tu­rze)? Nie. Czy da się na bazie par­tii testów (czy­li skoń­czo­nej, ale z regu­ły nie­zu­peł­nej liście bodziec-odpo­wiedź) stwo­rzyć cokol­wiek? Mało kie­dy. Oznacza to, że wyma­ga­nia zebra­ne tyl­ko jako przy­pad­ki uży­cia mało kie­dy” dają szan­sę na powsta­nie opro­gra­mo­wa­nia za pierw­szym razem”, tu pro­to­ty­pów nie jest nigdy prze­wi­dy­wal­na. To dla­te­go meto­dy zwa­ne zwin­ny­mi, bazu­ją­ce wyłącz­nie na user sto­ry i pro­to­ty­pach, nada­ją się do pro­ble­mów pro­stych. Kompletnie nie spraw­dza­ją się w przy­pad­kach zło­żo­nych sys­te­mów, rozu­mia­nych jako zło­żo­ne mecha­ni­zmy. Te ostat­nie trze­ba nie raz od zera” odkryć i opisać.

Paradygmat i metody obiektowe

Kluczem metod obiek­to­wych (i para­dyg­ma­tu obiek­to­we­go) jest her­me­ty­za­cja. Oznacza to, że zło­żo­ność obiek­tu z zewnątrz” nie jest zna­na nigdy, nie ma zna­cze­nia wiel­kość obiek­tu (mała kla­sa czy mega-kom­po­nent), na zewnątrz postrze­ga­ny jest wyłącz­nie jako inter­fejs. Rozważania na począt­ku poka­za­ły, że odpo­wie­dzi na bodź­ce to ocze­ki­wa­ne (wyma­ga­ne) cechy roz­wią­za­nia, któ­re jed­nak nie deter­mi­nu­ją jego mechanizmu.

Oprogramowanie poma­ga­ją­ce w nauce tablicz­ki mno­że­nia do 100, może zawie­rać sta­tycz­ną tabli­cę zna­ną z ostat­nich stron sta­rych zeszy­tów, a może to być mecha­nizm będą­cy imple­men­ta­cją algo­ryt­mu mno­że­nia. Po pierw­sze zestaw testów, jak widać, nie deter­mi­nu­je żad­nej z tych metod imple­men­ta­cji. Po dru­gie spe­cy­fi­ka­cja w pierw­szym wypad­ku będzie duża” (kosz­tow­na), w dru­gim bar­dzo pro­sta. Po trze­cie roz­wi­ja­nie (tablicz­ka mno­że­nia do 1000) opro­gra­mo­wa­nia w wer­sji z tabli­cą sta­tycz­ną będzie znacz­nie droż­sze niż pier­wot­ne wytwo­rze­nie wer­sji z mno­że­niem do 100. W dru­gim przy­pad­ku będzie pole­ga­ło wyłącz­nie na zdję­ciu blo­ka­dy mno­że­nia liczb więk­szych niż 10.

Tak więc co z tym TDD? Popatrzmy na to jak jest definiowane:

Co to jest Test Driven Development

Test Driven Development, czy­li TDD, to tech­ni­ka two­rze­nia opro­gra­mo­wa­nia ste­ro­wa­na przez testy. Tworzenie kodu skła­da się z wie­lo­krot­nie wyko­ny­wa­nych trzech głów­nych kroków:

  1. Stworzenie testu jed­nost­ko­we­go, któ­ry powi­nien być moż­li­wie naj­prost­szy, aby unik­nąć moż­li­wo­ści popeł­nie­nia błę­du w samym teście. Test ma spraw­dzać funk­cjo­nal­ność, któ­ra będzie imple­men­to­wa­na w kro­ku 2.
  2. Implementacja funk­cjo­nal­no­ści ? two­rzy­my funk­cjo­nal­ność, któ­rą chce­my zaim­ple­men­to­wać. Funkcjonalność ta powin­na speł­niać zało­że­nia testu jed­nost­ko­we­go, a wyko­na­nie testu jed­nost­ko­we­go powin­no koń­czyć się sukcesem.
  3. Refaktoryzacja, czy­li porząd­ki w stwo­rzo­nej funk­cjo­nal­no­ści. Ma to na celu upo­rząd­ko­wa­nie kodu, tak aby speł­nio­ne były stan­dar­dy. Czynności wyko­ny­wa­ne w tym kro­ku nie mogą zmie­nić wyni­ku testów.

Źródło: Test Driven Development

Pod poję­ciem funk­cjo­nal­ność tu rozu­mia­ny jest ocze­ki­wa­ny efekt”, bo test nie jest niczym innym. Czy testy to są (zastę­pu­ją) pro­jekt wewnętrz­nej logi­ki? W przy­pad­kach try­wial­nych pew­nie tak, tam gdzie logi­ka jest pro­sta lub nie wystę­pu­je (przy­pad­ki uży­cia typu CRUD), albo tam gdzie logi­ka” jest powszech­nie zna­na” zna ją tak­że pro­gra­mi­sta (np. spo­sób dzia­ła­nia zegara).

Jednak sys­tem o nie­try­wial­nej logi­ce dzia­ła­nia, nie da się wyspe­cy­fi­ko­wać w posta­ci skoń­czo­nej (lub roz­sąd­nie krót­kiej) listy bodziec-efekt (np. przy­kła­do­wych par­tii gry w sza­chy). W jed­nej ze swo­ich ksią­żek Martin Fowler napi­sał, że żad­na ilość godzin fil­mu znad sto­łu bilar­do­we­go, jako wyma­ga­nie, nie da w efek­cie nawet namiast­ki dobrej gry w bilar­da. Ale sche­mat sto­łu, wymia­ry kul, kija oraz pra­wa fizy­ki rzą­dzą­ce ruchem kul, pozwo­lą na napi­sa­nie wręcz dosko­na­łej symu­la­cyj­nej gry. Taki opis to wła­śnie model dzie­dzi­ny gry w sza­chy, dokład­ny opis mecha­ni­zmu tego co dzie­je się na sto­le bilardowym.

Ostatnie pyta­nie brzmia­ło: Jak przejść od wyma­gań biz­ne­so­wych do Przypadków uży­cia i mode­lu dzie­dzi­ny i kto ma tego dokonać?

Odpowiedź na to pyta­nie zawie­ra pewien arty­kuł, napi­sa­ny w 2014 roku na nie­co inny temat:

…rolą ana­li­ty­ka biz­ne­so­we­go nie jest spi­sa­nie prze­bie­gu dzie­sią­tek wywia­dów i setek indy­wi­du­al­nych wyma­gań. Nie mają więk­sze­go sen­su doku­men­ty na dwa, trzy tysią­ce stron (nikt ich nie czy­ta!). Rolą ana­li­ty­ka biz­ne­so­we­go jest prze­ana­li­zo­wa­nie dostęp­nych doku­men­tów, infor­ma­cji, i stwo­rze­nie opi­su mecha­ni­zmu dzia­ła­nia orga­ni­za­cji oraz opi­su roz­wią­za­nia, narzę­dzia mogą­ce­go uspraw­nić dzia­ła­nie orga­ni­za­cji. Opisu zawie­ra­ją­ce­go regu­ły biz­ne­so­we, prze­twa­rza­ne infor­ma­cje (wzo­ry doku­men­tów) oraz listą usług jakie ma świad­czyć pla­no­wa­na do wdro­że­nia apli­ka­cja wraz z opi­sem tego, jak te usłu­gi mają być reali­zo­wa­ne (umie­jęt­no­ści, któ­re moż­na zauto­ma­ty­zo­wać). Sens mają więc zwię­złe opi­sy i mode­le mecha­ni­zmów dzia­ła­nia orga­ni­za­cji oraz opi­sy tego jakie infor­ma­cje i jak mają być prze­twa­rza­ne z uwzględ­nie­niem tego, że część tych prac nadal będą wyko­ny­wa­li ludzie. Takie jak regu­ły gry w sza­chy: waż­ne są dwie stro­ny opi­su reguł gry a nie set­ki stron opi­sów przy­kła­do­wych par­tii. (Źródło: Warsztaty Analityczne ? Czyli Malowanie Trawy | | Jarosław Żeliński IT-Consulting)

Tak więc robi­my to tak, jak w innych dzie­dzi­nach inży­nie­rii: ana­li­zu­je­my, pro­jek­tu­je­my i zle­ca­my wyko­na­nie (imple­men­ta­cję).

Na zakończenie

Kim jest, człon­kiem któ­re­go zespo­łu jest (powi­nien być) pro­jek­tant? Przewrotnie odpo­wiem, że prak­ty­ka poka­zu­je, że – z powo­du ryzy­ka pro­jek­to­we­go – wyko­naw­ca nie powi­nien sam sobie sta­wiać wyma­gań. To dla­te­go zło­żo­ne i ryzy­kow­ne pro­jek­ty mają wydzie­lo­ną rolę ana­li­ty­ka pro­jek­tan­ta, nie jest to czło­nek zespo­łu biz­ne­su ani deve­lo­pe­ra bo obie te stro­ny mają sprzecz­ne inte­re­sy (zakres i koszt). W bran­ży budow­la­nej jest to Biuro Projektowe (tu archi­tekt), trze­ci nie­za­leż­na rola, poza inwe­sto­rem i wyko­naw­cą (z uwa­gi na ryzy­ko, pra­wo budow­la­ne zabra­nia łącze­nia jakiej­kol­wiek z tych trzech ról). W meto­dy­kach takich jak SCRUM, jest to Product Owner, i z powyż­sze­go powo­du nie jest dobrze gdy jest to czło­wiek developera”.

Problemy Filozofii – test na kompetencje analityka

Pięć lat temu napisałem:

Przyjmując, że dany sys­tem poję­cio­wy jest kom­plet­ny (pozwa­la na zapi­sa­nie każ­dej infor­ma­cji z danej dzie­dzi­ny), ana­li­za pole­ga tu na roz­ło­że­niu tek­stu (danych) pozy­ska­nych np. z wywia­dów czy doku­men­tów, na skoń­czo­ną licz­bę pojęć i związ­ków pomię­dzy nimi. W efek­cie uzy­sku­je­my np. dia­gram pro­ce­su BPMN (jeże­li celem był model pro­ce­su biz­ne­so­we­go) lub dia­gram klas UML (jeże­li celem była np. ana­li­za poję­cio­wa, obiek­to­wa czy zbu­do­wa­nie tak­so­no­mii). […] Więcej innym razem (Źródło: Epistemologia ? Jak Pomaga W Analizie | | Jarosław Żeliński IT-Consulting)

… i obie­ca­łem ciąg dal­szy ;). Zgodnie z powyż­szym każ­da ana­li­za sys­te­mo­wa orga­ni­za­cji zawie­ra jej model jako pod­sta­wo­we narzę­dzie w tej ana­li­zie. Stworzenie mode­lu to nic inne­go jak pozna­nie tego co ana­li­zo­wa­ne” i stwo­rze­nie pew­nej abs­trak­cji tego co pozna­no”. Niedawno napi­sa­łem, że:

Mamy więc za sobą nie­co filo­zo­fii, taka malut­ka wpraw­ka z epi­ste­mo­lo­gii i logi­ki :). Zakładam, że teraz cały ?sys­tem?, czy­li pra­wa fizy­ki, samo­lot i jego kon­struk­cja, pilot z jego wie­dzą i pra­wem któ­re­go musi prze­strze­gać, stał się ?zro­zu­mia­ły?, postrze­ga­my go jako okre­ślo­ną ?kon­struk­cję?, mecha­nizm jej funk­cjo­no­wa­nia opi­sa­ny ?powyż­szym ?mode­lem?. Modelem, na razie tyl­ko poję­cio­wym (!), ale jed­nak. (Źródło: Model To Mechanizm | | Jarosław Żeliński IT-Consulting)

No i ciąg dal­szy sam mi się napa­to­czył w posta­ci książ­ki Bertranda Russela:

Russell Problemy filozofii_1Jedno z naj­lep­szych, zwię­złych wpro­wa­dzeń w zagad­nie­nia kon­sty­tu­tyw­ne dla euro­pej­skiej tra­dy­cji filo­zo­ficz­nej. Niniejsza pozy­cja to nie tyl­ko pod­ręcz­nik, ale rów­nież pre­zen­ta­cja wła­snych poglą­dów onto­lo­gicz­nych i epi­ste­mo­lo­gicz­nych auto­ra. Wielokrotnie wzna­wia­na, wciąż aktu­al­na, sta­ła się jed­nym z naj­więk­szych suk­ce­sów wydaw­ni­czych Russella. Książka sta­no­wi nie­oce­nio­ną pomoc dla stu­den­tów filo­zo­fii i lek­tu­rę pomoc­ni­czą dla słu­cha­czy innych kie­run­ków nauk huma­ni­stycz­nych. (Źródło: Problemy Filozofii – Bertrand Russell (110605) – Lubimyczytać.pl)

Ta książ­ka, a kon­kret­nie jej wni­kli­we prze­czy­ta­nie, da odpo­wiedź na dwa pytania:

  • Czy uzna­ję taki tok – twar­dą logi­kę – rozu­mo­wa­nia w pro­ce­sie analizy?
  • Czy rozu­miem rolę nota­cji i sys­te­mów poję­cio­wych w analizie?

Dobry ana­li­tyk powi­nien odpo­wie­dzieć sobie dwa razy TAK…

Problemy Filozofii
Bertrand Russell
Wydawnictwo: Wydawnictwo Naukowe PWN