Najlepiej
przegl╣daµ z
Powr≤t
Za│╣cznik A
Zakresy dat przechowywanych w
programach Microsoftu
Za│╣cznik B
Zasady okre£lania lat
przestΩpnych
Za│╣cznik C
Rozwi╣zanie problem≤w z BIOS-em
Za│╣cznik D
Zalecane zasady postΩpowania
odno£nie roku 2000 dla projektant≤w aplikacji,
programist≤w i os≤b testuj╣cych
Za│╣cznik E
Jak przygotowaµ aplikacjΩ na rok
2000 w Visual Basicu lub Visual FoxPro.
Jak przygotowaµ aplikacje w FoxPro
na rok 2000
Za│╣cznik F
Zasady konwersji roku dwucyfrowego
na rok czterocyfrowy
Rok 2000: problemy i rozwi╣zania
Problem roku 2000 û czΩsto
zadawane pytania
|
Microsoft a
rok 2000
Za│╣cznik D: zalecane
zasady postΩpowania odno£nie roku 2000 dla
projektant≤w aplikacji, programist≤w i os≤b
testuj╣cych
Microsoft utrzymuje
intranetow╣ witrynΩ WWW, przeznaczon╣ do og≤lnego
szkolenia w tym zakresie. Zawiera ona zbi≤r zasad
postΩpowania, podzielony na trzy grupy wed│ug typu
odbiorc≤w: kierownik≤w program≤w, programist≤w i
os≤b testuj╣cych.
Niekt≤re problemy
dotycz╣ce programist≤w:
- Nie istnieje jeden,
ustalony w bran┐y spos≤b interpretowania dat z
rokiem skr≤conym do dw≤ch cyfr.
- Regu│y wyznaczania
roku przestΩpnego s╣ nastΩpuj╣ce: (1) rok
podzielny przez 4 jest przestΩpny, ale (2) rok
podzielny przez 100 nie jest przestΩpny, ale (3)
rok podzielny przez 400 jest przestΩpny.
Programy zakodowane bez uwzglΩdnienia regu│y
(3) bΩd╣ w roku 2000 dzia│aµ niepoprawnie.
Przy niepoprawnym zakodowaniu regu│y (3) program
mo┐e uznaµ, ┐e w lutym 2000 r. jest 27, a
nawet 30 dni.
- Przekszta│cenie daty
sekwencyjnej (tzn. liczby dni od pocz╣tku 1980
r.) na numer dnia w miesi╣cu lub na dzie±
tygodnia wymaga prawid│owego zastosowania regu│
wyznaczania roku przestΩpnego.
Zalecenia dla
programist≤w Microsoftu dotycz╣ce projektowania,
kodowania i kontroli kodu (lista skr≤cona):
- Nale┐y u┐ywaµ
systemowych format≤w i procedur dla dat, chyba
┐e wiadomo, i┐ na danej platformie wystΩpuj╣
zak│≤cenia.
- Sprawdziµ, czy w
programie wystΩpuj╣ specjalne warto£ci roku
(00 lub 99) albo daty (np. 9.9.99) do zakodowania
przypadk≤w szczeg≤lnych.
- Upewniµ siΩ, czy
rok dwucyfrowy jest prawid│owo wy£wietlany w
zakresie 00-09, 10-19 itd.
- Sprawdziµ, czy w
programie wystΩpuje kod obliczaj╣cy dzie±
tygodnia i w ilu miejscach siΩ znajduje. Uwaga:
2000 jest rokiem przestΩpnym.
- Sprawdziµ, jakie
wystΩpuj╣ ograniczenia na zakres dat. Czy
format jest oznaczony? Czy daty s╣
ôdodatnieö czy ôujemneö? Przy jakiej
dacie najbardziej znacz╣cy bit reprezentacji
daty przestawia siΩ na 1?
- Czy wystΩpuj╣
formaty plik≤w, w kt≤rych pola daty zawieraj╣
rok dwucyfrowy?
- Czy rok jest u┐ywany
do indeksowania, mieszania lub sortowania?
- Czy za│o┐one wyniki
oblicze± na datach i godzinach s╣ weryfikowane
przez asercje?
- Czy w programie
wystΩpuje kod konwersji miΩdzy formatami
danych? W ilu miejscach?
- Ustaliµ zagadnienia
specyficzne dla danego produktu (lista pe│na).
Sugestie odno£nie
testowania (lista skr≤cona):
- Podczas testowania
platformy sprawdziµ, jak obs│ugiwane s╣
b│Ωdy BIOS-u zwi╣zane z rokiem 2000.
Sprawdziµ wy£wietlanie roku w ka┐dej dekadzie
od 2000 do 2099. Je┐eli platforma uwzglΩdnia
strefy czasowe, sprawdziµ, kiedy UTC
(uniwersalny czas skoordynowany, szczeg≤│y û
patrz strona WWW Narodowego Instytutu Standard≤w
i Technologii USA pod adresem
http://www.bldrdoc.gov/timefreq/) nale┐y do
innego stulecia ni┐ czas lokalny (zar≤wno
je£li czas lokalny jest wcze£niejszy, jak i
p≤ƒniejszy ni┐ UTC).
- Przetestowaµ
aplikacjΩ przy wprowadzaniu dat z rokiem
dwucyfrowym oraz wy£wietlanie dat z rokiem
dwucyfrowym przed rokiem 2000 i po nim.
Sprawdziµ wprowadzanie i wy£wietlanie dat
nale┐╣cych do innego stulecia (poprzedniego i
nastΩpnego).
- Sprawdziµ
wprowadzanie i wy£wietlanie dat z rokiem
czterocyfrowym.
- Sprawdziµ sortowanie
dat w przypadku, gdy niekt≤re daty s╣ przed
rokiem 2000, a niekt≤re po nim.
- Sprawdziµ dni
tygodnia dla dat przed 29 lutego 2000, w dniu 29
lutego oraz w datach p≤ƒniejszych (1 lutego
2001).
- Czy program wylicza
kiedykolwiek numer kolejnego roku? Decyduj╣cy
mo┐e byµ test na rok 1999.
- Co siΩ dzieje,
je┐eli nast╣pi po│╣czenie w sieci z maszyn╣
o ƒle ustawionym roku? Albo w innej strefie
czasowej?
- Czy mo┐na utworzyµ
kopiΩ zapasow╣ przed rokiem 2000, a odtworzyµ
j╣ po tym roku?
- Czy wystΩpuj╣
zakresy dat? Czy zakres mo┐e obj╣µ daty przed
rokiem 2000 i po nim?
- Czy jakakolwiek
poprzednia wersja programu zapisuje dane w pliku
w takim formacie, ┐e rok 00 lub 99 oznacza
jaki£ przypadek szczeg≤lny (np. nieograniczony
termin wa┐no£ci)?
- Ustaliµ zakres dat,
jakie program mo┐e przyjmowaµ.
- Ustaliµ specyficzne
problemy, zwi╣zanie z testowaniem danego
produktu (lista pe│na).
|