3.1. Обновление

3.1. Обновление

Назначение данного раздела - очертить преимущества и недостатки каждого приема и помочь организаторам проектов в определении самой лучшей стратегии обновления.

Обновление является процессом, с помощью которого в проекте 2000 года решаются проблемы структуры даты. Существует в основном четыре типа приемов обновления: расширение, работа с окнами, кодирование или сжатие и последовательная дата (serial date).

Проблемы

- Определение полей даты и переменных, которые должны соответствовать 2000 году, в качестве входных для процесса обновления.

- Процесс обновления предполагает, что исходный код доступен для всех Приложений, требующих обновления.

- Приложения разбиваются на обновляемые модули. Неиспользуемый исходный текст ("мертвый" код) не обновляется.

Приемы

Внутри приложения наилучшие результаты может дать один прием или их комбинация.

- Приемы расширения:

        четырехзначный формат;
        односимвольный код столетия:
          внешний код столетия;
          вложенный код столетия.

- Приемы работы с окнами:

        фиксированное окно;
        скользящее окно.

- Приемы кодирования или сжатия.

- Прием последовательной даты.

Приемы расширения

Когда следует использовать приемы расширения

Когда даты переходят границу 100-летнего окна и столетие не может быть получено недвусмысленно (например, в дате рождения).

Для элемента даты, который является частью ключа или индекса.

В относительно новой системе, которая может иметь долгую жизнь.

В системе большого объема, где на время отклика в режиме он - лайн может неблагоприятно влиять получение столетий программным путем.

В приложениях с многочисленными интерфейсами к другим приложениям, внутренним или внешним, особенно когда внешний источник диктует использование четырехзначной даты в качестве условия ведения бизнеса.

Когда технологией является база данных, контролируемая системой управления базами данных (СУБД); структуры таблицы / записи изменяются однажды, а ссылка на них содержится в многочисленных приложениях.

Когда следует избегать приемов расширения

Когда стратегией преобразования является постоянное сопровождение, непрактично делать изменения структур данных специально.

Когда имеется ограниченное устройство хранения прямого доступа (DASD) / дополнительная память, чтобы сохранить столетия.

Когда приложение имеет короткий жизненный цикл и расширение поля является дорогостоящей альтернативой.

В случаях только отображения, когда двузначная дата не будет интерпретироваться двусмысленно (например, дата формирования отчета).

Четырехзначный формат

Преимущества

Обеспечивает четырехзначный формат года; рассматривается как полное, постоянное и очевидное решение.

Использует формат ISO (YYYY - MM - DD) по умолчанию.

Обеспечивает в настоящее время усиленную защиту против потенциально неприемлемых решений, если отображаемые даты выборочно игнорируются.

Недостатки

Во всех случаях требуется преобразование года из двузначного формата в формат с четырьмя цифрами.

Смежные поля в макете поля даты переопределяются, и размеры записей увеличиваются.

Требуется увеличение используемой DASD / памяти.

Односимвольный код столетия

Внешний код столетия

Преимущества

Формат базы данных может быть преобразован, а программы модифицированы позже.

Обеспечивает простое решение для преобразования данных в новый формат.

Недостатки

Требуется дополнительная логика для программ, выполняющих вычисления даты.

Последовательность подборки некорректна, если поле даты используется как ключ, пока к ключу не добавлен код столетия.

Размеры записей должны увеличиться.

Требуется увеличение используемой DASD / памяти.

Встроенный код столетия

Преимущества

Сохраняется правильное упорядочение данных.

Не требуется дополнительного дискового пространства.

Недостатки

Данные года должны быть преобразованы из двузначного в трехзначный формат.

Требуется преобразование данных формата YY в формат CYY.

Приемы работы с окнами

Когда следует использовать прием окон

Когда расширение поля будет слишком дорогостоящим, если даты, как ожидается, останутся в пределах 100-летнего периода.

Когда недостаточно времени, чтобы выполнить расширение четырехзначного поля.

При преобразовании приложения, замену которого первоначально планировалось выполнить до критической точки, а время истекает.

Как быстрое решение, когда дефектные программы изменяются как часть продолжающегося сопровождения.

Когда не следует использовать прием окон

При обработке дат со значениями, выходящими за пределы 100-летнего периода.

При частой обработке дат; постоянное формирование дат может создать недопустимую дополнительную нагрузку.

При неуверенности в том, что одно и то же правило формирования будет использоваться при формировании столетия несколькими приложениями для одного и того же элемента даты.

Когда рассматриваемая дата является частью ключа или используется в отсортированном наборе данных в некоторой системе управления базами данных.

Фиксированное окно и скользящее окно

Преимущества

Нет необходимости расширять формат года с двузначного до четырехзначного.

Обеспечивает формат года с четырьмя знаками для обращения к данным.

Различает годы разных столетий, используя двузначный формат (исходя из предположения, что обрабатываемые годы находятся в 100-летнем диапазоне).

Полезно в том случае, если отдельная программа выводится из использования поэтапно; временное решение.

Недостатки

Потенциальные риски существуют, когда / если функционирование программного приложения требует обрабатывать годы вне 100-летнего диапазона.

Влияние на производительность прямо пропорционально количеству обрабатываемых дат вследствие дополнительной нагрузки преобразования года из двузначного формата в четырехзначный.

Для программ, использующих метод фиксированного окна, может потребоваться ежегодное обновление вручную.

Все программы, принимающие выходные данные, получаемые с помощью приема фиксированного окна, должны использовать те же самые предположения (например, окна текущей даты, прошлой даты и будущей даты).

Приемы кодирования или сжатия

Преимущества

Нет необходимости преобразовывать год из двузначного в четырехзначный формат данных.

Различают годы разных столетий, используя двузначный формат года.

Юлианский формат с флагом (CYYDDD) использует С как признак столетия.

Недостатки

В зависимости от представления данных схема может применяться к ограниченному диапазону.

Все программы, использующие эту схему и обращающиеся к результату двухсимвольного преобразования, должны изменяться одновременно.

Вследствие преобразования данных влияние на производительность может быть прямо пропорциональным количеству дат, обрабатываемых конкретным приложением.

В зависимости от выбора реализованного представления данных может происходить неправильная сортировка данных, если не расширена логика программирования.

Закодированные даты требуют преобразования всякий раз при работе с данными; присутствие закодированных дат добавит к задачам другой уровень сложности.

Данные должны быть преобразованы прежде, чем они смогут отображаться в григорианском формате; некоторые закодированные данные могут просматриваться только в шестнадцатеричном формате.

Прием последовательной даты

Преимущества

Во многих случаях форматы записи не должны изменяться.

Недостатки

Он сложен; должен быть хорошо задокументирован.

Может влиять на производительность при преобразовании дат из последовательного значения или в него.