unold, inżynieria oprograamowania, Konserwacja oprogramowania

Konserwacja oprogramowania - z punktu widzenia klienta jest to eksploatacja, z punktu widzenia producenta faza konserwacji Konserwacja oprogramowania to wprowadzanie modyfikacji.

Klasy modyfikacji:

Modyfikacje poprawiające (usuwają błędy z oprogramowania, poprawa błędów popełnionych w każdej fazie tworzenia oprogramowania)

Modyfikacje ulepszające (poprawiają jakość oprogramowania poprzez poprawę wydajności funkcji, ergonomii interfejsu użytkownika, przejrzystości raportów)

Modyfikacje dostosowujące
(dostosowują oprogramowanie do zmian zachodzących w środowisku jego pracy (zmiany wymagań użytkownika, przepisów prawnych dotyczących dziedziny problemu, organizacyjne po stronie klienta, sprzętu i oprogramowania systemowego)

Słownik Danych - DD (Data Dictionary) - repozytorium wszystkich terminów (składników modeli : wejść, wyjść, obiektów itd.) używanych w projekcie, w szczególności zawiera definicje wszystkich atrybutów użytych w opisach typów obiektów i relacji.

Elementy składni: = składa się; + i; ( ) opcja; { } iteracja; [ ] wybranie jednej z wielu możliwości; | separator alternatyw w formule [ ];

* * początek/koniec komentarza; @ identyfikator (pole kluczowe

Przykład: zamówienie = nazwa_klie + adres_klie + {towar}; płeć = {M|K}

Bilansowanie modelu strukturalnego DFD, ERD, STD, Specyfikacja procesu, DD, modelują różne aspekty systemu. W celu zachowania spójności opisu i usunięcia błędów konieczne jest wzajemne zbilansowania wszystkich przekrojów projektu.

DFD względem DD: - każdy przeplyw i każdy skłąd danych musi być w DD; - każdy element danych i każdy skłąd danych zdefiniowany w DD musi mieć miejsce na DFD.

DFD względem specyfikacji procesów: - każdy proces musi być powiązany z DFD niżzego poziomu lub specyfikacją procesu, lub obie możliwości; - każda specyfikacja procesu jest powiązana z procesem najniższego poziomu; - wejścia w wyjścia muszą korelować ze sobą (na przykład przepływ wychodzący ze składu musi być interpretowany w specyfikacji jak instrukcja READ/GET, przepływ wychodzący jak WRITE/DISPALY)

Specyfikacja procesu względem DFD i DD każde odwołanie do danych w specyfikacji musi spełniać reguły: - musi być dopasowane do nazwy przepływu albo składu danych, podwiązanego do opisywanego procesu;

- jest terminem lokalnym zdefiniowanym wewnątrz tej specyfikacji; - jest komponentem dla przepływu albo składu danych podwiązanego do procesu;

DD względem DFD i specyfikacji procesów: - każde wejście do DD musi mieć odniesienie w specyfikacji lub innym wejściu do słownika danych

ERD względem DFD i specyfikacji procesów: - skład danych na DFD musi odpowiadać typowi obiektu albo relacji, albo kombinacji typu obiektu i relacji (obiekt asocjacyjny) na ERD; - nazwy obiektów na ERD oraz nazwy składów danych muszą sobie odpowiadać (skład danych -> KLIENCI, ERD -> KLIENT); - wejście do DD odnosi się jednocześnie do DFD i ERD (KLIENCI = { KLIENT}; - generowanie lub usuwanie wystąpienia każdego obiektu i relacji muszą mieć miejsce wewnątrz procesu

DFD względem STD: - każdy proces sterowania na DFD jest związany z STD w ten sposób, że STD jest specyfikacją tego procesu; - każdy warunek na STD musi odpowiadać wchodzącemu przepływowi sterowania do procesu sterowania związanego z przedmiotowym STD; - każda akcja na STD musi odpowiadać wychodzącemu przepływowi sterowania z procesu sterowania związanego z STD

Analiza drzew błędów - podstawowa technika zwiększania bezpieczeństwa:

- korzeniem drzewa jest jedna z rozważanych niebezpiecznych sytuacji

- wierzchołkami są pośrednie sytuacje; - unikanie niebezpieczeństwa polega na unikaniu jego przyczyn (unikanie błędów podczas implementacji „wierzchołków” drzewa, zlecenie realizacji „wierzchołków” doświadczonym programistom, stosowanie technik programowania n-wersyjnego, szczególnie dokładne testowanie „wierzchołków” )

Testowanie – proces sprawdzania/oceny czy produkt lub jego część jest „dobra” Atestowanie (walidacja) – testowanie zgodności systemu z rzeczywistymi potrzebami użytkownika Weryfikacja – testowanie zgodności systemu z wymaganiami określonymi w specyfikacji Błąd – niepoprawna konstrukcja w programie, mogąca prowadzić do niewłaściwego działania

Błędne wykonanie – niepoprawne działanie programu w trakcie jego pracy

Fazy testowania systemu (patrz model typu V)

- testy modułu, - testy systemu, - testy akceptacji (testy alfa, testy beta)

Testy statystyczne S

chemat wykonania:

1. losowa konstrukcja danych wejściowych zgodnych z rozkładem prawdopodobieństwa tych danych

2. określenie wyników poprawnego działania systemu na tych danych

3. uruchomienie systemu oraz porównanie wyników działania z poprawnymi

wynikami

4. gotowe

Niektóre cechy: - testowanie systemu w typowych sytuacjach - możliwość automatyzacji („brutalna siła”)

Miary niezawodności oprogramowania: - prawdopodobieństwo błędnego wykonania podczas realizacji transakcji; - częstotliwość występowania błędnych wykonań (liczba/godz) ; - średni czas między błędnymi wykonaniami; - dostępność. Miary niezawodności pozwalają oszacować koszty konserwacji!

Niezawodność = Niezawodność początkowa * exp (-C * Liczba testów)

Testy funkcjonalne :

- system traktowany jako czarna skrzynka, która w nieznany sposób realizuje wymagane funkcje;

- dane wejściowe dzielone są na klasy, w których działanie powinno być podobne sprawdzamy działanie funkcji dla:

- wszystkich dopuszczalnych warunków wejściowych i opcji;

- danych na granicach dziedzin wejściowych;

- danych na granicach dziedzin wynikowych;

- danych dla granic funkcjonalnych;

- danych niepoprawnych, niespodziewanych i destrukcyjnych

Zasady wyboru testowanych funkcji i danych wejściowych: - możliwość wykonania funkcji jest ważniejsza niż jakość wykonania;- funkcje systemu znajdujące się w poprzedniej wersji są istotniejsze niż nowo wprowadzone;

- typowe sytuacje są ważniejsze niż wyjątki

Testy strukturalne - zakładają znajomość sposobu implementacji testowanych funkcji

Wybrane kryteria doboru danych wejściowych: - kryterium pokrycia wszystkich instrukcji (każda instrukcja wykonana co najmniej raz);

- kryterium pokrycia instrukcji warunkowych (każdy warunek instrukcji warunkowej został co najmniej raz spełniony i raz niespełniony)

Dobór danych wejściowych dla pętli:

- tak, aby nie została wykonana żadna iteracja pętli (lub minimalna liczba); - tak, aby została wykonana maksymalna liczba iteracji;

- tak, aby została wykonana przeciętna liczba iteracji


Wyszukiwarka

Podobne podstrony:
unold, inżynieria oprograamowania, diagramy?nych i testy systemu
unold, inżynieria oprograamowania, Modele cyklu życia projektu
Inzynieria oprogramowania w ujeciu obiektowym UML wzorce projektowe i Java iowuje
ZadanieNaZaliczenie, WAT, semestr IV, Inżynieria oprogramowania
Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
zagadnienia egzaminacyjne z przedmiotu inżynieria oprogramowania zIO
Inżynieria oprogramowania Diagramy ERD
2006 06 Wstęp do Scrum [Inzynieria Oprogramowania]
sciąga moja, Informatyka SGGW, Semestr 4, Inżynieria oprogramowania, Od starszego rocznika
Tworzenie oprogramowania, Semestr 5, Inżynieria oprogramowania
2007 05 Mechanizm koncepcji w języku C nowe oblicze szablonów [Inzynieria Oprogramowania]
Inżynieria oprogramowania syllabus IV niestac 07 08, Prywatne, WAT, SEMESTR IV, IO, io, Materiały od
Rafał Polak 12k2 lab9, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
inżynieria oprogramowani5s 3D2LFW6JYNMO6D276CSZQV5ONUNVXOTKWFXHA3A
inżynieria oprogramowani1 2EM7Y2ON72DKTCAQF3UOSCLXHY5636FZE7C7PUQ
inżynieria oprogramowani5 G46UQE27RE6UDINZWBW2TXNEOUUYOYV2MMVZ2NI
2008 06 Java Microedition – metody integracji aplikacji [Inzynieria Oprogramowania]
Inżynieria oprogramowania II
Opracowanie na Inżynierie Oprogramowania

więcej podobnych podstron