O inżynierii oprogramowania ─ nietypowo! 

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

16 décembre 2013 Slide N° 1 5 mars 2009 Slide N° 1 Urbact Secretariat URBACT II Europejski Program Współpracy Terytorialnej dla Zrównoważonego.
Klasyfikacja roczna w roku szkolnym 2012/2013
Wprowadzenie do informatyki Wykład 6
Projektowanie w cyklu życia oprogramowania
Powierzchnie reklamowe na terenach MTP
TERMO-SPRĘŻYSTO-PLASTYCZNY MODEL MATERIAŁU
Liczby pierwsze.
Domy Na Wodzie - metoda na wlasne M
1 Stan rozwoju Systemu Analiz Samorządowych czerwiec 2009 Dr Tomasz Potkański Z-ca Dyrektora Biura Związku Miast Polskich Warszawa,
Rzeszów, 2 sierpnia 2006 r.. Tomasz Orczyk Departament Zarządzania EFS Ministerstwo Rozwoju Regionalnego Doświadczenia wdrażania Europejskiego Funduszu.
PROJEKTOWANIE PROCESÓW TECHNOLOGICZNYCH
Ksantypa2: Architektura
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Pojęcia podstawowe, historia komputera, rodzaje komputerów.
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
Systemy operacyjne.
Inżynieria Oprogramowania dla Fizyków
0 BIBLIOTEKI XXI WIEKU. CZY PRZETRWAMY? Ogólnopolska konferencja bibliotekarzy Łódź, czerwca 2006.
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Karolina Danuta Pągowska
UKŁADY SZEREGOWO-RÓWNOLEGŁE
Transformacja Z (13.6).
© Victo Testowanie dla menedżerów Wersja TDM Slajd 1 (27) Testowanie oprogramowania dla menedżerów Co menedżerowie i kierownicy naprawdę potrzebują
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Nowoczesne technologie w edukacji Andrzej Matuła
Ubezpieczenie wypadkowe
Produkcja skojarzona w systemie elektroenergetycznym
„Rynek pracy w powiecie trzebnickim: struktura bezrobocia i miejsca pracy.”
MECHANIZMY ZEGAROWE Jaś Szulfer IIA.
Agenda Co to jest Scopus ? Author Identifier SCOPUS i scientometria.
Rozwiązania informatyczne dla przedsiębiorstw
1/34 HISTORIA BUDOWY /34 3/34 6 MAJA 2011.
Systemy operacyjne. Komputer aby mógł realizować zadania oraz aby wszystkie urządzenia w systemie komputerowym mogły działać poprawnie, musi być wyposażony.
Podstawy działania wybranych usług sieciowych
Instytut Techniki Cieplnej, Politechnika Warszawska
ŻYWE JĘZYKI PROGRAMOWANIA LIVING IT UP WITH A LIVE PROGRAMMING LANGUAGE Sean McDirmid Ecole Polytechnique Fédérale de Lausanne (EPFL)
Analiza wpływu regulatora na jakość regulacji (1)
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Kalendarz 2011r. styczeń pn wt śr czw pt sb nd
Badanie kwartalne BO 2.3 SPO RZL Wybrane wyniki porównawcze edycji I- VII Badanie kwartalne Beneficjentów Ostatecznych Działania 2.3 SPO RZL – schemat.
Na wysokościach myślenia jest sfera,
EGZAMINU GIMNAZJALNEGO 2013
EcoCondens Kompakt BBK 7-22 E.
EcoCondens BBS 2,9-28 E.
Operacyjne sterowanie produkcją
Projekt Badawczo- Rozwojowy realizowany na rzecz bezpieczeństwa i obronności Państwa współfinansowany ze środków Narodowego Centrum Badań i Rozwoju „MODEL.
User experience studio Użyteczna biblioteka Teraźniejszość i przyszłość informacji naukowej.
Projekt Wojewody Opolskiego Upowszechnienie e-usług świadczonych przez administrację publiczną w województwie opolskim.
Testogranie TESTOGRANIE Bogdana Berezy.
Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 – 321 Bydgoszcz
Badanie kwartalne BO 2.3 SPO RZL Wybrane wyniki porównawcze edycji I- VI Badanie kwartalne Beneficjentów Ostatecznych Działania 2.3 SPO RZL – schemat a.
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
© GfK 2014 | GfK Health | Leki homeopatzcyne widziane okiem lekarzy 1 LEKI HOMEOPATYCZNE WIDZIANE OKIEM LEKARZY Czerwiec 2014.
Dr hab. Renata Babińska- Górecka
Jeleniogórski System Wspierania Placówek Oświatowych
nasz najbliższy sąsiad w przestrzeni
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Kalendarz 2020.
ANKIETA ZOSTAŁA PRZEPROWADZONA WŚRÓD UCZNIÓW GIMNAZJUM ZPO W BORONOWIE.
Ankieta dotycząca kart bankomatowych i kont bankowych.
Elementy geometryczne i relacje
Strategia pomiaru.
1 Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Gorzowie Wielkopolskim Konferencja: Lubuskie Centrum Innowacji, styczeń
Projekt InMoST Podsumowanie dotychczasowych działań oraz plany na kolejny rok Projekt InMoST Podsumowanie dotychczasowych działań oraz plany na kolejny.
IV Konferencja Naukowo-Techniczna "Nowoczesne technologie w projektowaniu, budowie.
IEEE SPMP Autor : Tomasz Czwarno
Zapis prezentacji:

O inżynierii oprogramowania ─ nietypowo!  Jan Madey madey@uw.edu.pl Uniwersytet Warszawski 1 października 2011

Zaczynamy od zagadki

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

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

Mechanizm z Antykitery

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 150-200 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:

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

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)

Rekonstrukcja mechanizmu w Narodowym Muzeum Archeologicznym w Atenach

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

Tarcza olimpijska (project/publications/nature-2008)

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

Elektrownia jądrowa w Darlington

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”

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

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?

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!

Y2K

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

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

Ś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.

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?

Inżynieria w klasycznym ujęciu

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

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 [...]

Inżynieria w informatyce

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

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, 27-31 Oct. 1969, Brussels,Scientific Affairs Division, NATO (1970) 164pp.

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

Inżynieria odwrotna

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

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

Odwrotne podejście — od produktu do jego właściwości Najbardziej „zgrubne” fazy: Gotowy produkt Określenie właściwości produktu (Produkcja)

Kilka innych przykładów

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

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

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