Закоулки мозга

В реальном/физическом мире существуют вещи (и процессы тоже, про них нужно подумать отдельно) и с этими вещами происходят изменения. Вещи сохраняются долгое время, отдельные изменения мгновенны/скоротечны. На вещь можно указать пальцем, а на изменение - вряд ли.

В информационных системах принято различать данные и обрабатывающие их функции. На первый взгляд основание для такого разделения такое же, как и для вещей-изменений в реальном мире, - возможность долгосрочного хранения. Функции “случаются/происходят”, процесс обработки данных скоротечен и за пределами его выполнения на него никак не указать. Данные же лежат где-то в памяти, поэтому на них указать можно.

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

Однако в ИТ-индустрии существует (и очень распространено) такое заблуждение. Возможно, в этом есть прагматическая целесообразность - этого достаточно для создания широкого класса ИТ-систем. Однако, точного моделирования при наличии такого заблуждения не добиться, а значит, потенциал таких систем не максимален.

Пример такого ошибочного предположения - это, например, реестр записей о движениях по банковскому счету в информационной системе. Это однозначно данные, они хранятся долгое время, над ними выполняются какие-то операции/функции/изменения. Однако движение по банковскому счету в реальном мире - это изменение. Выходит, что в информационной системе данные отображают не вещь из реального мира, а всего лишь описывают изменение.