Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

O inżynierii oprogramowania ─ nietypowo! 

Podobne prezentacje


Prezentacja na temat: "O inżynierii oprogramowania ─ nietypowo! "— Zapis prezentacji:

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

2 Zaczynamy od zagadki

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

4 „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 4

5 Mechanizm z Antykitery

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 Bryłki brązu, c.d. Badania trwają od ok. 1955 roku
1974 pierwsze wyniki kolejne rewelacje Rentgen z 2005 roku:

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 Rekonstrukcja mechanizmu w Narodowym Muzeum Archeologicznym w Atenach

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 Tarcza olimpijska (project/publications/nature-2008)

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

13 Elektrownia jądrowa w Darlington

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 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 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 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 Y2K

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 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 Ś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 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 Inżynieria w klasycznym ujęciu

24 Inżynierskie podejście — od potrzeby do produktu
Najbardziej „zgrubne” fazy: Zapotrzebowanie Ustalenie wymagań Produkcja Produkt

25 Definicja Wikipedia (2009-10-02):
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 Inżynieria w informatyce

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 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 Inżynierskie podejście — typowe fazy wytwarzania oprogramowania
Analiza, określenie oraz zapisanie wymagań specyfikacja walidacja Projektowanie weryfikacja Implementacja Wdrożenie Ewolucja (konserwacja)

30 Inżynieria odwrotna

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

32 Definicja Wikipedia (2009-10-02):
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 Odwrotne podejście — od produktu do jego właściwości
Najbardziej „zgrubne” fazy: Gotowy produkt Określenie właściwości produktu (Produkcja)

34 Kilka innych przykładów

35 Hasłowo Programy antywirusowe Przemysł Komputery ...
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 Konkluzja — z inżynierią odwrotną spotykamy się na co dzień!

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”) Adam Tomczyk, slajdy z prezentacji na seminarium w Instytucie Informatyki UW, 2008/2009 Własne doświadczenia  Wikipedia Różne witryny internetowe


Pobierz ppt "O inżynierii oprogramowania ─ nietypowo! "

Podobne prezentacje


Reklamy Google