Наличие в системе того или иного класса еще не определяет ее тип, значение также имеют:
• количество сущностей одного типа (подклассов) и связи между ними;
• количество экземпляров каждой сущности;
• связи между сущностями различного типа, их наличие и характер;
• характер описания (совокупность и количество атрибутов) каждой сущности.
Важно, что перечисленные типовые классы в общем случае не связаны с конкретной технологией реализации системы и не отражают ее физическую модель. Они одинаково эффективно могут применяться для систем, созданных на основе реляционных или нереляционных баз данных, языков разметки (в том числе семантической) и других технологий.
Чтобы получить типичные модели и унифицированную методику определения типа системы, мы будем составлять матрицы классов. Такая матрица может быть составлена для каждой конкретной системы, класса систем или исторических информационных систем в целом.
Названия столбцов и строк матрицы – типовые классы объектов системы. Также могут быть занесены иные классы (основные для конкретной системы, но не перечисленные среди типовых).
В матрице на пересечении двух разных классов указывается тип связи между ними:
• 0: связь отсутствует (на уровне модели, на функциональном или ином уровне) или отсутствует один из классов;
• 1–1: связь «один к одному»;
• 1 – ∞: связь «один ко многим», т. е. каждый экземпляр первого класса (строка) потенциально связан с несколькими экземплярами второго класса (столбец);
• ∞ – 1: связь «многие к одному», т. е. каждый экземпляр второго класса потенциально связан с несколькими экземплярами первого класса;
• ∞ – ∞: связь «многие ко многим».
В матрице на пересечении строки и столбца, соответствующих одному классу указывается его наличие в системе либо связь между подклассами внутри одного класса:
• 0: класс отсутствует;
• 1: класс присутствует и нет подклассов;
• если в системе есть подклассы данного класса, то элемент заполняется по аналогии с пересечением двух разных классов.
На основе разработанной методики составления матрицы классов могут быть заданы типичные модели исторических информационных систем различного типа; осуществлены описание, сравнение и анализ ресурсов.
Описанная методика позволяет дифференцировать обычные ресурсы, состоящие из нескольких не связанных на уровне модели, как правило, статичных страниц, от историко-ориентированных информационных систем. Матрица статичного ресурса будет представлена единицами на главной диагонали и нулями в остальных ячейках.
Анализ матрицы позволяет определить центральную сущность системы – ту, которая имеет в соответствующей строке и столбце наибольшее количество связей «один ко многим» и «многие ко многим».
Рассмотрим примеры заполнения матрицы классов для систем различных типов (незаполненные элементы могут принимать любые значения).
Пример: фактографическая система, в которой к каждому событию привязаны источники, публикации, персоналии, организации и события имеют подсобытия (табл. 2.1).
В этом примере в незаполненных ячейках могут стоять значения 0, если источники, публикации, персоналии и организации не связаны между собой.
Фактографическую систему можно изобразить в виде обобщенной диаграммы (рис. 2.2). Здесь событийная часть представлена несколькими сущностями, связанными между собой (это могут быть вложенные события, цепочки событий и т. п.).
Модель фактографической системы может также содержать прочие типичные или специфические сущности.
Таблица 2.1. Пример матрицы классов для фактографической системы
Рис. 2.2. Модель фактографической системы
Пример: просопографическая система (табл. 2.2).
Таблица 2.2. Пример матрицы классов для просопографической системы
ER-диаграмма просопографической системы в обобщенном виде представлена на рис. 2.3. Здесь центральной сущностью является персона. Другие типичные или специфические сущности могут присутствовать в модели историко-ориентированной информационной системы и соотноситься с персоной различными связями (на рисунке все связи имеют тип «многие ко многим»).