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