punkt siedzenia - punkt widzenia

Zadanie testowe dla analityka systemowego — czy zaprezentowana poniżej konstrukcja adresu w Polsce jest poprawna przy założeniu, że w rozpatrywanym systemie nie funkcjonują słowniki miejscowości, nazw ulic ani kodów pocztowych; czas wykonania: 7 sekund

...
Ulica varchar(50) null,
NumerDomu varchar(4) not null,
NumerLokalu varchar(4) null,
KodPocztowy varchar(6) null,
Miejscowosc varchar(50) not null,
...

0 .. 1 .. 2 .. 3 .. 4 .. 5 .. 6 .. czas minął.

Odpowiedź oczywiście brzmi nie. Jeżeli powyższe miałoby przedstawiać adres nie posiłkowany słownikami to przede wszystkim brakuje tutaj pola Poczta.[1] Mimo, że miejscowość zamieszkania a poczta mogą być w sposób całkiem oczywisty zupełnie inne, to w 9 przypadkach na 10 fakt ten jest kompletnie ignorowany. Dlaczego? Z powodu braku standardów? Lenistwa? Niewiedzy? Niekompetencji?

Szczerze mówiąc sam do niedawna również olewałem takie szczegóły — w końcu dane adresowe to z reguły najczęściej ignorowany i najgorzej przemyślany fragment bazy jakiejkolwiek (powyższy przykład to i tak przypadek nadzwyczaj elegancki i szczegółowy). Podejście zmienia się nie po nabraniu wiedzy tajemniej, tylko na skutek ... doświadczenia na przykładzie własnym. Po wyprowadzeniu się z miasta na wieś, co krok, co sklep, co faktura napotykam problem z zapisaniem mojego adresu w systemach przeróżnych. Najczęściej akceptowalnym rozwiązaniem jest podanie miejscowości zamieszkania obok kodu pocztowego (czyli w miejscu przeznaczonym na nazwę poczty) — taki adres jest w miarę zrozumiały. Szkoda tylko, że nieprawdziwy ;-)

Podobna refleksja męczyła mnie parę lat temu, kiedy się okazało, że 20 znaków nie wystarcza do zapisania aktualnego nazwiska mojej żony. Tutaj rozwiązania optymalnego już w ogóle nie ma — używanie nazwiska panieńskiego to przekłamanie znacznie większego kalibru.

I tak dochodzę do niezbyt może błyskotliwej konkluzji — wartość, sprawność i generalnie umiejętności analityka i/lub projektanta zależą w wielkiej mierze od jego osobistego doświadczenia. Bez doświadczenia na własnej skórze wszyscy wykazujemy tendencje do ignorowania spraw banalnych...

[1] Oczywiście słownik kodów pocztowych z przypisanymi nazwami miejscowości lokalizacji poczty byłby tu rozwiązaniem, ale — patrz założenie. Zresztą przy wykorzystaniu słowników całość powinna wyglądać zupełnie inaczej...

Komentarze

#1 | 2005.01.12 16:37 | Marek

hm. wyrobiłeś już nowy dowód? ja mam dowód, w którym obok kodu pocztowego istnieje nazwa miejscowości, w której mieszkam, a nazwy poczty brak - adres niby poprawny, ale nie prawdziwy.

ale to nic :) gmina, w której mieszkam, ustaliła właśnie, że siedziba poczty znajduje się w innej miejscowości, niż siedziba gminy, pomijając już, iż gmina i poczta znajdują się w innej miejscowości, niż miejscowość, od której nazwę gmina wzięła ;)

ale skutkiem tego jest obowiązek zmiany wpisu do rejestru dla wszystkich podmiotów gospodarczych - ewidentnie jest zaniedbanie i wina gminy, ale początkowo gmina życzyła sobie 50 zł za tę aktualizację!!!

#2 | 2005.01.13 09:16 | MiMaS

Profesjonalne (jak mniemam) zdanie analityka systemowego:

"czas wykonania: 7 sekund"
Zakładając, że analiza to około 20% czasu każdego projektu, tak ścisłe ograniczenie czasowe jest oczywiście niedorzeczne.

Generalnie się zgadzam, że „tak ścisłe ograniczenie czasowe” to bzdura, ale ... celowa. Do powyższego zadania można podejść tak — pytanie dotyczy standardu, czyli czegoś, co zawodowiec powinien wyrecytować w ciągu paru sekund w przysłowiowym środku nocy. Oczywiście, że sposobów rozwiązania kwestii zapisu adresu może być kilka, mniej lub bardziej optymalnych dla danego systemu, tylko w tym momencie to nie ma nic do rzeczy. Aby wymyślić coś „cwanego” trzeba zacząć od rozwiązania jak najbardziej podstawowego, takiego którego przedstawienie nie wymaga 7 sekund...

#3 | 2005.01.16 18:19 | Łukasz Grabuń

Śmiałbym się nie zgodzić (abstrahując już od faktu, że nie ma czegoś takiego jak mniej lub bardziej optymalne rozwiązanie :-). Ale nic to, przejdźmy do rzeczy.

Moja notka - będąca odpowiedzią na Twój wpis - sugeruje, że nie ma czegoś takiego jak optymalny opis adresu. W każdej sytuacji może się przydać nam coś innego, a nawet jeśli przyjmiemy jakiś wspólny punkt wyjścia, to po modyfikacjach niezbędnych do przystosowania go (tego adresu :-) do wymagań systemu, okaże się, że wyrzuciliśmy/dodaliśmy do wersju pierwotnej tyle, że cały ten standard jest psu na budę...

Uff, to było bardzo długie zdanie. Ujmując to lakoniczniej i prościej: moim zdaniem nie można ustalić jednego standardu, gdyż do każdego systemu potrzebne jest inne rozwiązanie. Ot, tyle.

#4 | 2005.01.17 08:13 | MiMaS

nie ma czegoś takiego jak mniej lub bardziej optymalne rozwiązanie

A jest „z pewnego punktu widzenia optymalne”? To to samo ;-)

moim zdaniem nie można ustalić jednego standardu, gdyż do każdego systemu potrzebne jest inne rozwiązanie

No widzisz, ja rozumiem Twój punkt widzenia, ale tutaj chyba wychodzą na jaw różnice w podejściu do tematu analityka i projektanta. ;-) Nie myśl o żadnym konkretnym zastosowaniu — pomyśl o adresie jako takim... Dla mnie coś takiego jak standardowa, podstawowa postać adresu jak najbardziej ma sens — coś jak klasa bazowa dla wszelkich możliwych adresów. Fakt, że żaden praktyczny system nie korzysta z tej klasy bazowej, tylko z jakiejś jej pochodnej specjalizowanej na potrzeby danego systemu nie ma tutaj nic do rzeczy. A nawet niech ona sobię będzie klasą abstrakcyjną.

A wracając do moich narzekań — gdyby taki „standard” istniał, to zapewne byłoby w nim pole „poczta” i założę się, że w bardzo wielu systemach by ono przetrwało. Prawdopodobieństwo, że zostałoby świadomie wywalone jest IMHO stosunkowo niewielkie. Zatem i prawdopodobieństwo, że znowu będę miał problem dyktując dane do jakiejś faktury byłoby mniejsze...

#5 | 2005.02.23 13:47 | baszar

A propos standardu adresu:
Istnieja u nas jeszcze takie potworki jak np ul. Mysliwiecka 3/5/7, czy "wylansowane" przez niektore spoldzielnie mieszkaniowe wprowadzanie dodatkowego nr bloku (ktory z adresem: ulica-nr budynku nic wspolnego nie ma).

#6 | 2005.02.23 14:02 | K

Haha, nie spotkałam. Ale w Opolu są bloki o adresach np. 5-7/1. Nie klatki schodowe numer 5 i numer 7 tylko obie z identycznym numerem 5-7. Założę się, że setki razy ludzie podawali np. samo 5 tylko dlatego, że ktoś nie przewidział znaku "-" w numerze domu. Inna spawa, że w takim bloku nie da się jednoznacznie stwierdzić, która klatka jest 5 a która 7 ;-)

 

Uwaga: Ze względu na bardzo intensywną działalność spambotów komentowanie zostało wyłączone po 60 dniach od opublikowania wpisu. Jeżeli faktycznie chcesz jeszcze skomentować skorzystaj ze strony kontaktowej.