Polska MicrosoftSzukajPomocProduktySklepNapisz Do Nas   Microsoft
 
Najlepiej przegl╣daµ z

Microsoft Internet Explorer


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).

Microsoft Corporation⌐ Wszelkie prawa zastrze┐one