Na straży wejścia

Bez zbytnich rygorów

Ryzykiem stosowania oprogramowania nadzorującego format i zakres wprowadzanej informacji jest możliwość zbytniego uszczelnienia, co w pewnych sytuacjach, przy pojawianiu się nieprzewidzianych wyjątków, utrudnia lub wręcz uniemożliwia proces wprowadzania danych. Typowym przykładem jest tu ograniczanie zakresu daty, co może działać sprawnie w 99,9% przypadków, ale gdy pojawi się wyjątek, wówczas nie pozostaje nic innego jak tylko algorytmiczne rygory rozluźnić. Nie można, stanowiących w gruncie rzeczy wartości poprawne, odstępstw od głównego nurtu danych dyskryminować z racji nieprzewidzenia ich pewnej odmienności. Okazuje się, że zawsze znajdą się wyjątki narzucające konieczność rozhermetyzowania skrzętnie budowanych reguł walidacyjnych. Nieraz można byłoby ponieść wysiłek na dopasowanie algorytmów potrafiących radzić sobie także z wyjątkami, ale najczęściej budowanie tak złożonych struktur oprogramowania okazywałoby się zbyt kosztowne, jeśli zestawić to z potencjalnymi korzyściami z tego wynikającymi.

Wraz z biegiem cyklu życia systemu obserwuje się bądź łagodzenie kontroli danych bądź jej zagęszczanie i komplikowanie. Czasami występujące w systemach silne wzajemne związki danych wymuszają konstruowanie bardzo restrykcyjnych reguł zarządzających wartością lub formatem. Jest to kij o dwóch końcach - w wielu sytuacjach strzeże, aby użytkownicy nie wychodzili poza pewne ramy, jednak w pewnych przypadkach uniemożliwia działanie, zbyt usztywniając system. Problem, czy i na ile zezwalać użytkownikowi na dowolność w zakresie prowadzenia wpisów, jest zawsze dylematem. Z jednej strony, system to nie notatnik, z drugiej zaś, nie można czynić użytkownika więźniem reguł.

Nawet algorytm nie pomoże

Automatyczna kontrola jakości danych wejściowych jest możliwa tylko w takich ramach, w jakich dopuszcza to logika oprogramowania korzystająca z treści, jaką niosą ze sobą dane oraz myśli włożonej w konstrukcję samego algorytmu. Dla przykładu: system komputerowy niedysponujący danymi biologicznymi, nie jest w stanie w wielu przypadkach przeprowadzić analizy danych, która jednoznacznie uprawdopodobniłaby płeć osoby na podstawie samego imienia i nazwiska. Tego typu nieokreśloność algorytmiczna jest specyficzna, zwłaszcza dla budowania bazy danych populacji wielonarodowej, gdzie osobnik nazywający się Durmus Halla może równie dobrze zdeklarować się na planszy jako mężczyzna lub kobieta, a żaden algorytm nie będzie w stanie rozstrzygnąć o poprawności tego wpisu. Prawdę powiedziawszy, nie tylko algorytm ma z tym problemy, bo my również, dysponując taką tylko, wybiórczą informacją. Problemów nie miałby system wykorzystujący dane biologiczne lub przeprowadzający ad hoc badanie psychologiczne, które w jakiś sposób mogłoby uprawdopodabniać przynależność pewnego zespołu cech do płci. Niewątpliwie najbliżej prawdy byłby jednak operator wprowadzający dane w imieniu tej osoby.

Pewne cechy danych są, jak widać, szczególnie trudne do weryfikacji na drodze automatycznej, ale powiedzmy sobie: przytoczony przykład to dosyć skrajny przypadek, o który nie warto kruszyć kopii i czynić specjalnych wysiłków, aby algorytmicznie rozstrzygać o jakości tego rodzaju danych.


TOP 200