Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

O inżynierii oprogramowania nietypowo! O inżynierii oprogramowania nietypowo! Jan Madey Uniwersytet Warszawski 1 października 2011.

Podobne prezentacje


Prezentacja na temat: "O inżynierii oprogramowania nietypowo! O inżynierii oprogramowania nietypowo! Jan Madey Uniwersytet Warszawski 1 października 2011."— Zapis prezentacji:

1 O inżynierii oprogramowania nietypowo! O inżynierii oprogramowania nietypowo! Jan Madey Uniwersytet Warszawski 1 października 2011

2 2 Zaczynamy od zagadki

3 3 Czy coś łączy poniższe przykłady? Mechanizm z Antykitery (Antikythery) Elektrownia atomowa w Darlington Milenijna pluskwa

4 44 Podpowiedź Podpowiedź Tajemnica skorodowanych bryłek brązu z okresu ok. 200 p.n.e. Wybuchnie nie wybuchnie Brak wyobraźni twórców systemów informatycznych w latach

5 5 Mechanizm z Antykitery

6 6 Bryłki brązu na wraku Rok 1900 – odkrycie wraku starożytnego statku handlowego niedaleko wyspy Antykitera (Grecja) –Grecka wyspa na Morzu Egejskim, naprzeciw Kitery –Powierzchnia: 20 km kwadratowych; 45 mieszkańców Rzymski wrak datowano na lata p.n.e. Skorodowane bryłki brązu (82) zawierały koła zębate –Nie były znane tak skomplikowane urządzenia w czasach wraku; sądzono, że to resztki zegara z XV wieku Oto największa z nich:

7 7 Bryłki brązu, c.d. Badania trwają od ok roku –1974 pierwsze wyniki – kolejne rewelacje Rentgen z 2005 roku:

8 8 Co się udało ustalić? Urządzenie astronomiczne kalkulator do obliczania pozycji ciał niebieskich Mechanizm składał się 37 kół zębatych z brązu, o średnicy od 1 do 17 cm, w drewnianej obudowie Koła były napędzane za pomocą korby z boku i poruszały kilkoma wskazówkami Samo urządzenie było zadziwiająco małe (33 cm wysokości, 17 cm szerokości i 9 cm głębokości)

9 9 Rekonstrukcja mechanizmu w Narodowym Muzeum Archeologicznym w Atenach

10 10 Co można było zobaczyć? Tarcza z przodu pokazywała ruch Słońca i Księżyca oraz fazy Księżyca Tarcze z tyłu pozwalały przewidywać zaćmienia Słońca i Księżyca Mechanizm pozwalał również przewidywać momenty wschodów i zachodów ważniejszych gwiazd i gwiazdozbiorów oraz pozycje pięciu znanych wówczas planet W 2008 r. odkryto, że mechanizm pokazywał też, które igrzyska powinny być rozgrywane w danym roku

11 11 Tarcza olimpijska (project/publications/nature-2008)

12 12 Decoding the Heavens: A 2,000-Year-Old Computer-- and the Century-Long Search to Discover Its Secrets by Jo Marchant (2009)

13 13 Elektrownia jądrowa w Darlington

14 14 Elektrownie jądrowe Stowarzyszone elektrownie wodne Wspomagające systemy komputerowe –System podstawowy Sterowanie procesem produkcji Reakcja na awarie –Dwa systemy wspomagające Wyłączanie elektrowni w wypadku jakiejkolwiek awarii Shut-down systems

15 15 Rozwiązania kanadyjskie Koniec lat osiemdziesiątych ubiegłego stulecia Sprawdzone i bardzo dobre reaktory Całkowicie niezależne systemy wyłączające –Rozłączne zbiory czujników –Komputery różnych producentów –Inne języki programowania Prowincja a państwo –Firma Ontario Hydro producent i dostawca energii –Agencja rządowa AECB licencjodawca

16 16 Specyfika elektrowni w Darlington Darlington – miasto koło Toronto, Ontario Pierwszy system w Kanadzie w nowej technologii –Systemy shut-down sterowane wyłącznie oprogramowaniem –Fortran i Pascal (Słuszne) wahania agencji AECB –Kwestia bezpieczeństwa –Czy można wyłącznie testowaniem sprawdzić poprawność tego typu oprogramowania?

17 17 Weryfikacja poprawności Ekspertyza akademicka (prof. D.L. Parnas) Zastana sytuacja Wypracowanie metodyki –Ustalenie jednolitego poziomu abstrakcji dla dokumentacji i funkcji programów –Trzy zespoły Opracowywanie jednolitej dokumentacji dla poszczególnych funkcjonalności Abstrahowanie z programów ich funkcji Porównywanie i uzasadnianie Znaleziono błędy!

18 18 Y2K

19 19 Problem Roku 2000 Potencjalnie katastroficzne skutki, jakie miał z nastaniem roku 2000 wywołać przyjęty kilkadziesiąt lat wcześniej sposób zapisu daty w programach komputerowych –Y2K, millenium bug Rok był zapisywany tylko dwiema ostatnimi cyframi –Stare systemy oszczędność pamięci –Nowe systemy wymaganie zgodności z wcześniejszymi wersjami Nie oczekiwano tak długiej żywotności aplikacji

20 20 Pesymistyczne scenariusze Ustaną dostawy ciepła i elektryczności Przestaną działać centrale telefoniczne Zostanie sparaliżowana komunikacja Zawiodą komputerowe systemy bankowe Mogą błędnie zadziałać urządzenia wojskowe Zostaną stracone bazy danych dotyczące m.in.: –pacjentów szpitali –klientów banków –sądów (n.p. rejestr skazanych) oraz policji...

21 21 Świadomość problemu Problem zauważony już w 1958 roku (Bob Bemer) ignorowano do 1994 Programy rządowe (poziom premiera/prezydenta) w większości państw Przykład Polski –Program rządowy –Dokument NIK, Departament Administracji i Integracji Europejskiej: INFORMACJA o wynikach kontroli działań administracji publicznej w celu minimalizacji skutków tzw. Problemu Roku 2000 dla funkcjonowania sfery publicznej w Polsce, Nr 222/1999, 56 str.

22 22 Różne fakty Systemy bankowe –Oprogramowanie w języku Cobol –Przykład firmy kanadyjskiej Wykorzystanie zagrożeń do unowocześnienia infrastruktury Plany awaryjne Apokalipsa, której się obawiano, nie nastąpiła może jednak dzięki przygotowaniom?

23 23 Inżynieria w klasycznym ujęciu

24 24 Inżynierskie podejście od potrzeby do produktu Najbardziej zgrubne fazy: 1.Zapotrzebowanie 2.Ustalenie wymagań 3.Produkcja 4.Produkt

25 25 Definicja Wikipedia ( ): –Inżynieria – działalność polegająca na projektowaniu, konstrukcji, modyfikacji i utrzymaniu efektywnych kosztowo rozwiązań dla praktycznych problemów, z wykorzystaniem wiedzy naukowej oraz technicznej Wielka Encyklopedya Powszechna Ilustrowana, tom XXXI-XXXII. Sikorski 1903: –Inżynierya – rozumiemy pod ta nazwą głównie umiejętność budowania różnych układów ciał użytecznych, przeznaczonych do zaspakajania pewnych potrzeb człowieka [...]

26 26 Inżynieria w informatyce

27 27 Czterdzieści lat minęło, jak jeden dzień... Lata sześćdziesiąte ubiegłego wieku –króluje firma IBM (ponad 70% komputerów na świecie) –IBM 360/IBM 370 OS 360/370 –rodzina wieloprogramowych systemów operacyjnych (OS/360, OS/MVT, OS/VS2, TSS/360) –tysiąc błędów wykrywanych miesięcznie! Software crisis –złożone, duże oprogramowanie, to najbardziej skomplikowane wytwory człowieka!

28 28 Narodziny inżynierii oprogramowania Nieśmiałe próby przełom lat 1950/60 Oficjalne daty i dokumenty 1968/69 –P. Naur, B. Randell, (Eds.). Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7-11 Oct. 1968, Brussels, Scientific Affairs Division, NATO (1969) 231pp. –B. Randell, J.N. Buxton, (Eds.). Software Engineering Techniques: Report of a conference sponsored by the NATO Science Committee, Rome, Italy, Oct. 1969, Brussels,Scientific Affairs Division, NATO (1970) 164pp.

29 29 Inżynierskie podejście typowe fazy wytwarzania oprogramowania Analiza, określenie oraz zapisanie wymagań –specyfikacja –walidacja Projektowanie –weryfikacja Implementacja –weryfikacja Wdrożenie Ewolucja (konserwacja)

30 30 Inżynieria odwrotna

31 31 Terminologia Angielski bez problemów: –Reverse Engineering Po polsku: –Inżynieria odwrotna –Inżynieria wsteczna –Technika odwracania –Programowanie zwrotne

32 32 Definicja Wikipedia ( ): –Inżynieria odwrotna jest to proces badania produktu w celu ustalenia, jak on dokładnie działa, a także w jaki sposób i jakim kosztem został wykonany Chikofsky E., Cross J. Reverse Engineering..., 1990: –Inżynieria odwrotna jest to proces analizy systemu w celu rozpoznania komponentów systemu i zależności pomiędzy nimi oraz zbudowania odpowiednika systemu w innej formie lub na wyższym poziomie abstrakcji

33 33 Odwrotne podejście od produktu do jego właściwości Najbardziej zgrubne fazy: 1.Gotowy produkt 2.Określenie właściwości produktu 3.(Produkcja)

34 34 Kilka innych przykładów

35 35 Hasłowo Programy antywirusowe –W pełni pozytywne korzystanie z inżynierii odwrotnej Przemysł –Repliki zegarków –Leki generyczne –Podróbki markowej odzieży i obuwia Komputery –Jednolity System Elektronicznych Maszyn Cyfrowych –Klony IBM PC...

36 36 Konkluzja z inżynierią odwrotną spotykamy się na co dzień!

37 37 Teraz podstawowe źródła Wielka Encyklopedia Powszechna Ilustrowana, wyd. F. J. Granowski i S. J. Sikorski, 1880 – 1914 (55 tomów, przerwana na haśle Patroklos) Wielka Encyklopedia Powszechna Ilustrowana, wyd. F. J. Granowski i S. J. Sikorski, 1880 – 1914 (55 tomów, przerwana na haśle Patroklos) Adam Tomczyk, slajdy z prezentacji na seminarium w Instytucie Informatyki UW, 2008/2009 Adam Tomczyk, slajdy z prezentacji na seminarium w Instytucie Informatyki UW, 2008/2009 Własne doświadczenia Własne doświadczenia Wikipedia Wikipedia Różne witryny internetowe Różne witryny internetowe


Pobierz ppt "O inżynierii oprogramowania nietypowo! O inżynierii oprogramowania nietypowo! Jan Madey Uniwersytet Warszawski 1 października 2011."

Podobne prezentacje


Reklamy Google