Niezawodno
Niezawodno
ść
ść
systemu
systemu
•
Niezawodność s.o. nazywamy poziom, do którego działanie systemu
– nawet w nieoczekiwanych i nieprzyjaznych warunkach – jest zgodne
ze specyfikacją jego usług dla użytkowników
•
System operacyjny jest poprawny, jeżeli w określonym środowisku
zachowuje się w oczekiwany sposób.
•
Błąd s.o. – odstępstwo od określonego działania
•
Wada – przyczyna błędu
•
Uszkodzenie – zniszczenie informacji wewnątrz systemu
komputerowego, konsekwencja błędu
•
Przy konstrukcji s.o. należy zwrócić uwagę na następujące kwestie:
– unikanie wad
– wykrywanie błędów
– usuwanie wad
– naprawianie uszkodzeń
Wady i ich unikanie
Wady i ich unikanie
• Wady spowodowane przez operatora i użytkownika
– trudno stworzyć system całkowicie odporny na niepoprawne użytkowanie
– zmniejszenie ilości tych wad można spowodować za pomocą
przeszkolenia użytkowników lub utworzenie odpowiednich interfejsów
użytkownika
• Wady sprzętu
– wady sprzętu są maskowane przez odpowiednie oprogramowanie
– wykrywanie błędów za pomocą nadmiarowych informacji, np. bity
parzystości, sumy kontrolne; w razie wystąpienia błędu zazwyczaj
operacja jest powtarzana
– mechanizm kodów wykrywających i usuwających błędy pozwala usunąć
niektóre skutki niepoprawnego przesyłania danych
– technika wybierania większościowego polega na przesyłaniu kilku kopii
tych samych danych; w razie różnic, wybierane są te dane, których jest
większość
• Wady oprogramowania
– podstawowym sposobem utworzenia oprogramowania lepszej jakości jest
przyjęcie odpowiedniego sposobu postępowania w procesie projektowym
Unikanie wad oprogramowania
Unikanie wad oprogramowania
• Kaskadowy model cyklu życia oprogramowania
PROJEKT
WSTĘPNY
PROJEKT
SZCZEGÓŁOWY
IMPLEMENTACJA
SPECYFIKACJA
INTEGRACJA I
TESTOWANIE
INSTALACJA I
KOŃCOWA
WALIDACJA
Unikanie wad oprogramowania c.d.
Unikanie wad oprogramowania c.d.
• Koszt poprawiania błędów rośnie wraz
z postępem prac
10000
1000
100
10
1
0.1
Koszt
Skala logarytmiczna
Specyfikacja Projekt Implementacja Produkcja Funkcjonowanie
Koszt poprawki
Termin wykrycia błędu
• Etapy cyklu życia realizuje się w oparciu o wybraną metodologię (np.
podejście strukturalne)
• Poprawność fazy implementacji zależy od wyboru odpowiednich narzędzi
programistycznych
• przy konstrukcji s.o. dąży się obecnie do tego, aby największa jego część była
utworzona za pomocą języka wysokiego poziomu
• Problem dowodzenia poprawności s.o.
• Usuwanie wad za pomocą testowania