Zpo-8-wyk-Slajd24: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 1: Linia 1:
==Przykład(2)==
==Przekształcenia trudne==


[[Image:zpo-8-wyk-Slajd24.PNG|Przykład(2)]]
[[Image:zpo-8-wyk-Slajd24.PNG|Przekształcenia trudne]]




Dlatego do wykonania właściwego kodu wykorzystywane są podklasy klasy TypKarty, które reprezentują poszczególne stany obiektu. Metoda ''oplata'' ''()'' jest pokrywana w tych podklasach poprzez skopiowanie do nich tylko wybranej gałęzi wyrażenia warunkowego, związanej z określonym stanem.  
W przypadku przekształceń trudnych analiza statyczna nie jest wystarczającym narzędziem. Niektóre warunki poprawności tych przekształceń można zweryfikować jedynie poprzez analizę dynamiczną, np. wykorzystanie testów jednostkowych. Testy sprawdzają wówczas, czy asercje istotne z punktu widzenia przekształcenia są zachowane.


W efekcie tego przekształcenia w miejsce zmiennego zachowania obiektu, zależnego od jego stanu, powstała niezależna hierarchia dziedziczenia zawierająca definicje poszczególnych stanów zamknięte w postaci oddzielnych klas. Każda klasa definiuje własne implementacje metod, których zachowanie zmienia się wraz ze stanem,
Należy jednak zauważyć, że testy nie pozwalają na dowiedzenie poprawności przekształcenia; przeciwnie – niepowodzenie wykonania testu wskazuje na niepoprawność, natomiast poprawności w ten sposób nie można pokazać. Dlatego weryfikacja poprawności jest realizowana dla tej kategorii przekształceń w sposób niepełny i nie dający pewności, że transformacja została przeprowadzona poprawnie.
 
Dzięki temu możliwe stało się także usunięcie wyrażenia warunkowego. Przekształcenie to może zatem służyć nie tylko do restrukturyzacji problemu pola stanu, ale również złożonych wyrażeń warunkowych.




[[zpo-8-wyk-Slajd23 | << Poprzedni slajd]] | [[zpo-8-wyk-toc|Spis treści ]] | [[zpo-8-wyk-Slajd25 | Następny slajd >>]]
[[zpo-8-wyk-Slajd23 | << Poprzedni slajd]] | [[zpo-8-wyk-toc|Spis treści ]] | [[zpo-8-wyk-Slajd25 | Następny slajd >>]]

Aktualna wersja na dzień 18:13, 4 lis 2006

Przekształcenia trudne

Przekształcenia trudne


W przypadku przekształceń trudnych analiza statyczna nie jest wystarczającym narzędziem. Niektóre warunki poprawności tych przekształceń można zweryfikować jedynie poprzez analizę dynamiczną, np. wykorzystanie testów jednostkowych. Testy sprawdzają wówczas, czy asercje istotne z punktu widzenia przekształcenia są zachowane.

Należy jednak zauważyć, że testy nie pozwalają na dowiedzenie poprawności przekształcenia; przeciwnie – niepowodzenie wykonania testu wskazuje na niepoprawność, natomiast poprawności w ten sposób nie można pokazać. Dlatego weryfikacja poprawności jest realizowana dla tej kategorii przekształceń w sposób niepełny i nie dający pewności, że transformacja została przeprowadzona poprawnie.


<< Poprzedni slajd | Spis treści | Następny slajd >>