Zasada ograniczonego zaufania

Oprogramowanie jest tworzone przez ludzi, stąd też zawiera w sobie niedoskonałości wynikające z błędów popełnionych przez twórców. Aczkolwiek proces testowania produktu pozwala na wyłapanie większości istotniejszych uchybień, to tak naprawdę nigdy nie możemy dać gwarancji stuprocentowej niezawodności. Każdy z nas, będąc czy to użytkownikiem czy programistą, wie z doświadczenia, że oprogramowanie nawet po latach używania może w pewnych sytuacjach zareagować nieprawidłowo na dynamicznie zmieniające się parametry pracy.

Oprogramowanie jest tworzone przez ludzi, stąd też zawiera w sobie niedoskonałości wynikające z błędów popełnionych przez twórców. Aczkolwiek proces testowania produktu pozwala na wyłapanie większości istotniejszych uchybień, to tak naprawdę nigdy nie możemy dać gwarancji stuprocentowej niezawodności. Każdy z nas, będąc czy to użytkownikiem czy programistą, wie z doświadczenia, że oprogramowanie nawet po latach używania może w pewnych sytuacjach zareagować nieprawidłowo na dynamicznie zmieniające się parametry pracy.

Innym problemem jest to, jak program w takich sytuacjach się zachowa - czy potrafi "zauważyć" sytuację wyjątku, informując o tym użytkownika, czy też po prostu "wyłoży się jak długi", pozostawiając operatora komputera samego sobie z problemem. Oprócz sytuacji, które z jakimś szacunkowym prawdopodobieństwem mogą się wydarzyć, istnieje wiele niedoskonałości, z którymi mamy do czynienia ustawicznie w konkretnym produkcie. Jeśli użytkownicy są poinformowani, że "te typy tak mają", potrafią znaleźć obejście tychże niedogodności, czekając cierpliwie, aż kiedyś pojawią się poprawki.

Jednym z najczęściej używanych narzędzi do obliczeń ad hoc jest arkusz kalkulacyjny Excel - wygodny, funkcjonalny i nie wymagający specjalnych umiejętności informatycznych. Pewien mój znajomy posłużył się nim, sporządzając wykaz ocen z egzaminu studentów. Nie zauważył jednak, że gdy w komórce jest wpisana liczba z miejscami po przecinku, a format komórki nie został jawnie zadeklarowany do wyświetlania określonej liczby miejsc dziesiętnych (np. funkcją menu "dodaj pozycję dziesiętną"), wówczas w trakcie zmniejszania szerokości kolumny wyświetlana na ekranie liczba jest automatycznie zaokrąglana, tak aby mogła zostać zaprezentowana graficznie w zredukowanej szerokości. Tak więc po zwężeniu kolumny wszystkie oceny połówkowe zostały zaokrąglone do pełnych wartości, on tego nie zauważył, a studenci, jak to studenci, byli bardzo zadowoleni i nikomu nie przyszło do głowy protestować. Przypadek ten nie miałby miejsca, gdyby zdefiniowano format liczbowy określający dokładność, z jaką liczba ma być wyświetlana - pokazują się wówczas znaki #, jawnie oznajmiające niemożność wyświetlenia wartości liczbowej w określonej przestrzeni. Użytkownik zbytnio zaufał w tym przypadku programowi, a w zasadzie można powiedzieć, że zbyt intuicyjnie i bezkrytycznie zawierzył "inteligencji" produktu. Okazało się, że intencje autorów Excela nie pokrywały się z domniemaniami użytkowników albo że autorzy oprogramowania zbyt optymistycznie podeszli do świadomości, jaką w trakcie tak rutynowych działań wykazują przeciętni użytkownicy.

Drugi przypadek nadużywania zaufania, bazujący tym razem na niewiedzy użytkowników, zaobserwowałem na przykładzie pewnych implementacji z użyciem SQL serwera Microsoftu w wersji MSDE (desktop edition), którą autorzy oprogramowania dla stacji roboczych wykorzystują jako lokalny motor bazy danych, zapominając nagminnie o zabezpieczeniu wbudowanego konta administratora (sa) hasłem. Efekt tego może być tylko jeden - ktokolwiek w sieci za pomocą standardowego Enterprise Managera (narzędzie do zarządzania serwerem instalowane niezależnie) może podpiąć się do tej bazy i zrobić co mu się żywnie podoba, a jak będzie miał jeszcze więcej fantazji, to za pomocą Query Analyzera uruchomi zadanie typu command shell i usunie pliki, nie znając nawet hasła dostępu na poziomie systemu operacyjnego odległego komputera. Radzę sprawdzić w Państwa firmie, czy nie znajdziecie tego typu "kwiatków".

Użytkownicy często ślepo wierzą w nieomylność oprogramowania, zapominając, że jest ono na tyle doskonałe, na ile jego twórcy zatroszczyli się o to.


TOP 200