Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Inżynieria oprogramowania

Podobne prezentacje


Prezentacja na temat: "Inżynieria oprogramowania"— Zapis prezentacji:

1 Inżynieria oprogramowania
(c) Jerzy Nawrocki Wykł. 9 Wprowadzenie do informatyki Wykład 7 Inżynieria oprogramowania Copyright, 2007 © Jerzy R. Nawrocki Wprowadzenie do informatyki

2 Kryzys oprogramowania
(c) Jerzy Nawrocki Kryzys oprogramowania Wykł. 9 Przekraczanie terminów Przekraczanie budżetu Nadgodziny Kiepska jakość Kryzys J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

3 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Wykł. 9 Definicja inżynieria Zastosowanie systematycznego, zdyscyplinowanego, ilościowego podejścia do rozwoju, eksploatacji i utrzymania oprogramowania. IEEE Std IEEE Standard Glossary of Software Eng. Terminology J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

4 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Plan wykładu Wykł. 9 Specyfikacja wymagań Kontrola jakości artefaktów Testowanie oprogramowania Metody formalne Język UML Zarządzanie konfiguracją Standard kodowania J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

5 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Cykl życia Wykł. 9 Wymagania Projekt Wykonanie J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

6 Problem i koncepcja rozwiązania
(c) Jerzy Nawrocki Inżynieria wymagań Wykł. 9 Problem i koncepcja rozwiązania Wymagania Zbieranie wymagań Analiza wymagań Negocjacja wymagań J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

7 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Inżynieria wymagań Wykł. 9 Wymagania Wymagania funkcjonalne Wymagania pozafunkcjonalne J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

8 Podręcznik użytkownika
(c) Jerzy Nawrocki Artefakty Wykł. 9 Specyfikacja wymagań Testy akceptacyjne Kod programu Podręcznik użytkownika J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

9 Rodzaje kontroli jakości
(c) Jerzy Nawrocki Rodzaje kontroli jakości Wykł. 9 Testowanie Przeglądy J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

10 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Czym jest testowanie? Wykł. 9 Testowanie oprogramowania jest wykonaniem kodu dla kombinacji danych wejściowych i stanów w celu wykrycia błędów Robert Binder J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

11 Czym jest testowanie? – c.d.
(c) Jerzy Nawrocki Czym jest testowanie? – c.d. Wykł. 9 Wariant testu (przypadek testowy, ang. test case) Testowana implementacja Dane wejściowe Zaobserwowane wyjście Stan wstępny J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

12 Czym jest testowanie? – c.d.
(c) Jerzy Nawrocki Czym jest testowanie? – c.d. Wykł. 9 Oczekiwane wyjście Wynik testu Porównanie Dane wejściowe Testowany system Faktyczne wyjście Stan wstępny J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

13 Cele testowania wg Glena Myersa (1979)
Jakość przypadku testowego: prawdopodob. znalezienia jeszcze nie wykrytego błędu. Udany test : taki, który wykrywa jeszcze nie wykryty błąd. J.Nawrocki, Metody numeryczne

14 Pracochłonność testowania
Testowanie: ~ % % całkowitej pracochłonności. Testowanie systemów krytycznych: % - % całkowitej pracochłonności (!) -- Roger Pressman’97 Roger S. Pressman J.Nawrocki, Metody numeryczne

15 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Metody formalne Wykł. 9 Przetestuję. Czy on jest poprawny? Program Przeczytam. Udowodnię.   J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

16 Ograniczenia testowania
(c) Jerzy Nawrocki Ograniczenia testowania Wykł. 9 „Testowanie może ujawnić obecność błędów, ale nigdy ich braku” Dijkstra J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

17 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Silnia Wykł. 9 int Silnia (int n) { /*** PRE n >= 0 ***/ int k, s; k= 0; s= 1; while (k != n) { k= k + 1; s= s * k; } return s; /*** POST s== n! ***/ J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

18 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Silnia Wykł. 9 int Silnia (int n) { /*** PRE n >= 0 ***/ int k, s; k= 0; s= 1; /*** INV s== k! ***/ while (k != n) { k= k + 1; s= s * k; /*** INV s== k! ***/ } return s; /*** POST s== n! ***/ 1 = 0! J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

19 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Silnia Wykł. 9 int Silnia (int n) { /*** PRE n >= 0 ***/ int k, s; k= 0; s= 1; /*** INV s== k! ***/ while (k != n) { k= k + 1; s= s * k; /*** INV s== k! ***/ } return s; /*** POST s== n! ***/ s== k! s== k!  k== k + 1  s == J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

20 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Silnia Wykł. 9 int Silnia (int n) { /*** PRE n >= 0 ***/ int k, s; k= 0; s= 1; /*** INV s== k! ***/ while (k != n) { k= k + 1; s= s * k; /*** INV s== k! ***/ } return s; /*** POST s== n! ***/ s == (k – 1)!  s == s * k  s == s== (k – 1)! J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

21 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Silnia Wykł. 9 int Silnia (int n) { /*** PRE n >= 0 ***/ int k, s; k= 0; s= 1; /*** INV s== k! ***/ while (k != n) { k= k + 1; s= s * k; /*** INV s== k! ***/ } return s; /*** POST s== n! ***/ k == n J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

22 Dowodzenie poprawności programów
(c) Jerzy Nawrocki Dowodzenie poprawności programów Wykł. 9 Program Specyfikacja 5 000 LOC 7 000 LOC Wolfgang Reif J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

23 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Wykł. 9 J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

24 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Diagramy UML Wykł. 9 Diagramy stanów Diagramy przypadków użycia Diagramy sekwencji Diagramy czynności Diagramy klas . . . J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

25 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Diagram stanów Wykł. 9 /Zdanie Matury Maturzysta /Złożenie podania na studia Kandydat Nieprzyjęty Zakwalifikowany /Złożenie oryginału świadectwa Przyjęty /Złożenie ślubowania Student J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

26 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Diagram stanów Wykł. 9 Akcja Maturzysta /Złożenie podania na studia Kandydat J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

27 Diagram przypadków użycia
(c) Jerzy Nawrocki Diagram przypadków użycia Wykł. 9 Złożenie podania Maturzysta Obejrzenie wyników rekrutacji Zakwalifikowany Nieprzyjęty J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

28 Diagram przypadków użycia
(c) Jerzy Nawrocki Diagram przypadków użycia Wykł. 9 Przypadek użycia Aktor J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

29 Diagram sekwencji Maturzysta System rekrutacji KReM
(c) Jerzy Nawrocki Diagram sekwencji Wykł. 9 Maturzysta System rekrutacji KReM Składa podanie i wprowadza oceny Czy oceny są poprawne? Są poprawne Potwierdza przyjęcie podania i ocen Wnosi opłatę rekrutacyjną Potwierdza przyjęcie opłaty J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

30 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Diagram sekwencji Wykł. 9 Obiekt Obiekt-1 Obiekt-2 Linia życia obiektu J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

31 Koncepcja systemu zarządzania konfiguracją
(c) Jerzy Nawrocki Wykł. 9 Koncepcja systemu zarządzania konfiguracją Program System zarz. konfiguracją J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

32 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Standard kodowania Wykł. 9 Nagłówek programu /*************************************************************/ /* Program: KolorGraf */ /* Autor: Jerzy Nawrocki */ /* Data: */ /* Funkcja: Program koloruje wezly podanego grafu nieskiero- */ /* wanego w taki sposób, aby kazda para wezlow */ /* polaczonych lukiem miala różny kolor */ /* Wejscie: Liczba naturalna N>0 okreslajaca liczbe wezlow. */ /* Sekwencja par liczb A,B (0 < A,B <= N). Para taka*/ /* oznacza, ze wezly A,B sa polaczone lukiem */ /* Wyjscie: Minimalna liczba potrzebnych kolorow */ /*Efekt ub: Brak */ /* Uwagi: Program koloruje graf metoda brutalnej sily. */ J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

33 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Standard kodowania Wykł. 9 Identyfikatory int N; /* Liczba wezlow w grafie: 0 < N <= MaxN */ int A, B; /* Numery rozwazanych wezlow: 0 < A,B <= N */ int Kolor; /* Numer rozwazanego koloru: 0 < Kolor <= N */ int x41; int PopKG; J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

34 J.Nawrocki, Metody numeryczne
(c) Jerzy Nawrocki Standard kodowania Wykł. 9 Wcięcia while (scanf("%d %d", &A, &B)>0){ if (0<A && A<=N && 0<B && B<=N) Luk[A,B]= True; LiczbaLukow++; } J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki

35 Komentowanie instrukcji
(c) Jerzy Nawrocki Standard kodowania Wykł. 9 Komentowanie instrukcji while (scanf("%d %d", &A, &B)>0){ /* Czytaj kolejne pary */ /* wezlow A,B i dla kazdej,*/ if (0<A && A<=N && 0<B && B<=N) /* o ile jest poprawna, */ Luk[A,B]= True; /* zapamietaj, ze jest luk */ /* miedzy tymi wezlami. */ } while (scanf("%d %d", &A, &B)>0){ /* Jak dlugo funkcja scanf,*/ /* czytajac wartosci A,B, */ /* zwraca wartosc dodatnia,*/ if (0<A && A<=N && 0<B && B<=N) /* sprawdz, czy A,B naleza */ /* do przedzialu [1, N] i */ Luk[A,B]= True; /* zapamietaj wartosc True */ /* w tablicy Luk o wspol- */ /* rzednych A,B */ } J.Nawrocki, Metody numeryczne Wprowadzenie do informatyki


Pobierz ppt "Inżynieria oprogramowania"

Podobne prezentacje


Reklamy Google