Mragowo 2004, A. Blikle
Transkrypt
Mragowo 2004, A. Blikle
JAKO W SYSTEMACH INFORMATYCZNYCH Czy tak musi by ? Andrzej Blikle pa dziernik 2004 Deklaracja wykładowcy Nie przyjmuj adnej odpowiedzialno ci za to, e w trakcie wykładu obok informacji prawdziwych b d podawał informacje cz ciowo lub całkowicie nieprawdziwe, b d obra ał słuchaczy, zarzucał im pedofili , nepotyzm, złodziejstwo oraz gotowo do przyjmowania łapówek. B d równie zabierał im portfele i obcinał krawaty, a tak e polewał ich trudno zmywalnymi farbami. pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 2 Definicja jako ci Jako produktu jest tym wy sza, im mniej jest w produkcie wad. Wad produktu jest ka da taka jego cecha negatywna, której u ytkownik ma si prawo nie spodziewa . Jako pa dziernik 2004 produktu jest cech relatywn wobec oczekiwa u ytkownika Andrzej Blikle, Jako w systemach informatycznych 3 Jako a poziom oczekiwa Maseratti systemy informatyczne administracja pa stwowa pa dziernik 2004 Andrzej Blikle, Jako zegarek szwajcarski Trabant w systemach informatycznych 4 Katastrofy mier sze ciu pacjentów w klinikach USA po bł dnie policzonej przez komputer dawce promieniowania (1985) Katastrofa ameryka skiego l downika na Wenus (198?) Katastrofa platformy wiertniczej w norweskim fiordzie (1991) Katastrofa Airbusa w Warszawie (1993) Przeoczenie przez niemieckie słu by meteorologiczne zbli ania si huraganu Lothar (1999) Bł dy zaokr gle w arytmometrze Intela (200?) pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 5 Drobne uci liwo ci (kilka przykładów z do wiadcze własnych) Czas ukazania si formularza na ekranie zale y do dnia miesi ca Bł dnie działaj ca funkcja zaokr gle w bazie danych (np. odokr gla liczby okr głe) Raport PLU systemu kasowego niezgodny z pami ci fiskaln Po zgrupowaniu rysunek w edytorze tekstu drukuje si jedynie w cz ci lub wcale Suma kolumny liczb w arkuszu kalkulacyjnym nie zale y od warto ci jej składników Problemy z moim palmtopem Problemy z moim laptopem pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 6 Dwie ortogonalne dziedziny wiedzy o jako ci Kompleksowe zarz dzanie jako ci (TQM): jak utrzymywa i doskonali jako przy produkcji seryjnej Wiedza bran owa: jak dobrze wykona jedn sztuk pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 7 Główne typy wad w systemach informatycznych niezgodno z powszechn wiedz : 125/10 = 12,500000004632876 niezgodno z opisem systemu nieprofesjonalny opis Informatyka ewoluuje w kierunku wiedzy eksperymentalnej pa dziernik 2004 Andrzej Blikle, Jako główne ródło problemów w systemach informatycznych 8 JAK DO TEGO DOSZŁO? (zdaniem wykładowcy) pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 9 Nadzieje lat 1960-tych Po wyj ciu z pionierskiego okresu lat 1950-tych in ynieria oprogramowania b dzie upodabnia si do klasycznych in ynierii: • podstawowa wiedza in ynieryjna oparta na matematyce, • najpierw projekt pó niej produkt, • budowanie zło onych produktów z gotowych i sprawdzonych podzespołów, • formalne uprawnienia zawodowe. pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 10 ALGOL 60 Alles was sich überhaupt sagen lässt, lässt sich klar sagen; und wovon man nich reden kann, darüber muss man schweigen. Ludwig Wittgenstein Formalny opis składni (gramatyka bezkontekstowa) ca.10 stron Nieformalny, ale do precyzyjny (abstrakcyjny) opis semantyki: zmienna, blok, widoczno , procedura, parametr procedury, rekursja; 33 strony Podr cznik z przykładami: 170 stron pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 11 Semantyka Operacyjna Vienna Definitional Language Opis semantyki j zyka przy pomocy formalnego opisu implementuj cej go maszyny abstrakcyjnej. J zyk programowania traktowany jako j zyk rozkazów dla maszyny. Problem 1: Niski stopie abstrakcji, bliski opisowi rzeczywistej implementacji, Problem 2: Opis odległy od rzeczywistej implementacji pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 12 Dowodzenie poprawno ci programów (logiki programów) Przy pomocy testowania mo esz jedynie udowodni obecno nie mo na jednak udowodni , e ich nie ma! bł dów, Alen Turing 1949 Bob Floyd (nagroda im. Turinga) lata 1960-te Anthony Hoare (programy strukturalne) lata 1970-te Andrzej Blikle (programy z zaci ciami) lata 1980-te Problem 1: dowód jest zawsze dłu szy od twierdzenia, Problem 2: nie da si udowodni poprawno ci niepoprawnego programu Problem 3: podziałról na programistów i walidatorów pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 13 Semantyka denotacyjna Vienna Definition Method (1970-1980 Dana Scott, Dines Bjorner i inni) Zaleta: wysoki stopie abstrakcji -- j zyk jako narz dzie opisu algorytmu, a nie do sterowania maszyn . Wada: fascynacja tym co skomplikowane i niepotrzebne: nieograniczone goto-sy -- kontynuacje procedura, która mo e przyj sam siebie jako parametr VDM okazałsi zbyt skomplikowany dla projektantów systemu (cho u yto go do wykonania kompilatora j zyka ADA!) pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 14 Naiwna semantyka denotacyjna MetaSoft (1983-1990) Andrzej Blikle, Andrzej Tarlecki i inni skoki (w zasadzie) ograniczone do obsługi wyj tków w tym bł dów, typologiczna hierarchia procedur, warto ci nieokre lone jako „obywatele pierwszej kategorii”, najpierw semantyka pó niej składnia J zyk MetaSoft nigdy nie wyszedłpoza faz wst pnego projektu cho miałwszystkie mechanizmy potrzebne do opisu współczesnych j zyków programowania pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 15 Stan aktualny klikologia i menulogia pozwalaj ca ka demu na budowanie „potiomkinowskich wiosek”, budowanie z modułów pozbawionych profesjonalnej dokumentacji, opisy systemów w j zyku dziecinno-gazetowym; np. Delphi 2000 stron; brak aparatu poj ciowego brak odwołania do (i znajomo ci) podstawowej terminologii, społecznie zaakceptowany brak odpowiedzialno ci za produkt ze strony producentów oprogramowania, brak wymagania uprawnie zawodowych. pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 16 Ekonomiczne powody tego stanu rzeczy Prawo Wasilewskiego: Ka dy producent b dzie wytwarzał tak zły produkt, jak tylko rynek na to pozwoli. Nierzadko firmy softwareowe czerpi powa ne korzy ci z bł dów w dostarczanych systemach. U ytkownik systemu informatycznego uzale nia si od niego. Programi ci s wynagradzani za ilo i terminowo , a nie za jako . Naukowcy s wynagradzani za ilo (ewentualnie naukow jako ) publikacji, ale nie za ich praktyczn u yteczno . pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 17 Naukowe powody tego stanu rzeczy Praktycy stwierdzili, e to co teoretycy maj do zaoferowania w zakresie opisu systemów nie nadaje si do wykorzystania w praktyce. Teoretycy stwierdzili, e problem opisu j zyków i systemów zostałju dawno rozwi zany i zaj li si nowymi problemami cz sto bardzo odległymi od praktyki. pa dziernik 2004 Andrzej Blikle, Jako w systemach informatycznych 18 Czy to mo na zmieni ? !"#$(367 5" !"#$%"&'() &*(" + + +,, +, , / , . !"#$0 1 23 &*" 4 4 1 , 8 / 4 4 !"#$ 1$&' ! 0) &*(" 4 5 pa dziernik 2004 Andrzej Blikle, Jako 1 , : w systemach informatycznych 9 / 19