Область актуальности данных

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

Простейшим вариантом области актуальности является период существования объекта системы. Например, человек проживает в квартире в течение определенного периода времени. Или жильцу предоставлена льгота по оплате на определенный период времени.

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

Задание области актуальности

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

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

На практике льготы часто регистрируются позднее, чем должны быть учтены при расчетах. Тогда необходимо знать момент регистрации льготы, чтобы дать корректный ответ на вопрос потребителя, почему не была учтена его льгота: «Вы поздно зарегистрировали свою льготу, расчет счетов на оплату выполнялся ранее. Поэтому сейчас Вы должны полностью оплатить счет за услуги, а возникшая сумма переплаты будет учтена при формировании счета за следующий период.»

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

То же относится и к окончанию действия данных. Например, дата выезда жильца из квартиры может быть зарегистрирована позднее, чем его фактический отъезд. Информация о дате регистрации конца проживания необходима, во-первых, чтобы разобраться, почему этот жилец был учтен при расчете счета за услуги, хотя уже не проживал по данному адресу, во-вторых, чтобы учесть эти изменения при расчете следующего счета на оплату путем перерасчета суммы за прошлый период.

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