Вы можете открыть актуальную версию документа прямо сейчас.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Заказное приложение
Общая целостность
Предоставляет ли язык функцию для получения или установки системной даты на хост-машине или через службу времени?
Возвращает ли эта функция правильное значение для системной даты для дат с повышенным риском:
1999-09-09, 1999-12-31, 2000-01-01, 2000-02-29?
Возвращает ли эта функция правильное значение для системной даты после перехода системной датой дат с повышенным риском:
1998-12-31 -> 1999-01-01
1999-12-31 -> 2000-01-01
2000-02-28 -> 2000-02-29
2000-02-29 -> 2000-03-01?
Встроены ли в приложение продукты третьей стороны? Соответствуют ли столетию все эти продукты?
Игнорирует ли код приложения значения для явного столетия в системной дате в любой точке программы?
Целостность даты
Поддерживает ли язык тип данных для значений даты в диапазоне от 1900-01-01 до 2050-12-31?
Выполняет ли приложение вычисление високосного кода? Обращаются ли эти вычисления с 2000 годом как с високосным, а с 1900 годом как с невисокосным?
Правильно ли арифметика дат определяет разности между датами, складывает даты и длительности, а также вычисляет день недели?
Правильно ли приложение выполняют преобразование значений даты из одного представления даты в другое (например, YYMMDD в юлианскую и в базу со смещением)?
Сравнивает ли приложение даты в логике какого-либо условного перехода или вычислении булевских значений? Получают ли все эти сравнения правильные результаты для всех сочетаний значений с ожидаемыми диапазонами дат?
Включает ли приложение поиск, сортировку, слияние или индексирование по внутренним таблицам, цепным спискам и другим структурам данных, основанным на переменных даты? Правильно ли эти операции выполняются для всех возможных значений даты в ключевых переменных? Производит ли правильную последовательность для дат в 19хх и 20хх годах ключевой индекс, включающий поле даты?
Представляет ли приложение дату в любой переменной как смещение от базовых даты/времени? Каково максимальное значение даты для этого представления? Каково минимальное значение даты для этого представления (обычно базовая дата)? Попадает ли ожидаемый диапазон значений для каждой переменной, использующей это представление даты, в эти пределы?
Использует ли приложение присваивание значений даты из одной переменной в другую? Отсекается ли у даты столетие при выполнении какого-либо присваивания? Используется ли значение в целевой переменной в операции над датами, требующей для получения правильных результатов явного столетия?
Использует ли приложение языковые средства, связывающие адрес даты с несколькими переменными (такие как REDEFINE в языке COBOL или COMMON в языке FORTRAN)? Игнорирует или отсекает значение для явного столетия в значении даты какая-либо переменная среди всех псевдонимов для одной и той же области данных? Используется ли усеченное значение даты в операции, которая предполагает, что все значения даты используют то же самое столетие?
Используются ли константы для значений даты (включая день, месяц или год) в какой-либо операции? Относится ли константа к функциональным требованиям или особое значение используется в типе данных "дата" для удобства?
Осуществляет ли приложение точное хранение и поиск дат для значений в диапазоне от 1900-01-01 до 2050-12-31?
Использует ли приложение утилиты сортировки/слияния для упорядочивания содержимого файлов по полям даты или индексированные файловые структуры с ключами по полям даты? Правильна ли упорядоченность для всех значений даты в диапазоне от 1900-01-01 до 2050-12-31?
Полагается ли приложение на первичные или альтернативные индексы структурированной базы данных для поиска, вставки, обновления или удаления, когда какой-либо ключ содержит поле даты? Будет ли правильной упорядоченность индекса для всех значений даты в диапазоне от 1900-01-01 до 2050-12-31?
Инициализируются ли все переменные типа "дата" в соответствии с каким-либо соглашением относительно пустого значения?
Явное столетие
Использует ли приложение язык, инструментальные средства и/или генератор приложений, допускающие явное столетие в типах данных "дата"? Если да, то поступают ли значения для столетия в переменных этих типов путем ввода извне или формируются программным обеспечением?
Использует ли приложение СУБД или другой программный продукт для хранения и поиска данных типа "дата"? Если да, то могут ли эти продукты поддерживать явные значения для столетия в любой х
<< Приложение 4. Критерии тестирования соответствия столетию |
||
Содержание Рекомендации ЦБР от 14 апреля 1999 г. по решению проблемы 2000 года в информационных системах Банка России |
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.