Отличия между классом объектов и свойством

Характеристики класса объектов Характеристики свойства
Вещь, о которой необходимо хранить информацию Квалифицирует класс объектов
Имеет одно или более свойств Собственных свойств не имеет (в противном случае это класс объектов или комбинация свойств, которой дали неудачное название)
Может иметь несколько экземпляров и должна иметь значимую связь с другой класс объектов Для каждого экземпляра класса объектов имеет только одно значение
   

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

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

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

При выявлении характеристик свойств могут быть определены и домены. Домен – это набор правил проверки с точки зрения бизнеса, ограничений, относящихся более чем к одному свойству. С помощью домена можно задать: диапазон значений; список конкретных значений; несколько диапазонов; математическое уравнение; значение по умолчанию и т.п. Эти правила описываются в БД один раз и применяются для разных свойств. Самый известный домен {да, нет}.

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

Для каждого класса объектов должны быть обязательно выявлены уникальные идентификаторы. Уникальный идентификатор – это свойство, совокупность свойств или комбинация свойств и связей, используемых для однозначной идентификации объекта в классе объектов. Свойство, входящее в состав уникального идентификатора, должно иметь обязательную опциональность. Количество уникальных идентификаторов в классе объектов может быть любым. И каким угодно может быть количество компонентов (свойств и связей), входящих в состав уникального идентификатора. Уникальный идентификатор можно определять на любом этапе анализа предметной области, но чтобы приступить к описанию и проектированию класса объектов, необходимо, чтобы каждый класс объектов имел уникальные идентификаторы.

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

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

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

Для каждой предметной области можно увидеть обязательный для всех предметных областей перечень классов объектов. Каждая предметная область, в широком смысле слова, отображает работу какого-либо предприятия или организации – производственного предприятия, учебного или лечебного учреждения, торговой организации, склада, пункта проката, домашней экономической сферы и т.д. Название (полное или краткое) предприятия или организации фигурирует в различных выходных документах и отчетах. Таким образом, в предметной области присутствует класс объектов ПРЕДПРИЯТИЕ или СТРУКТУРНАЯ ЕДИНИЦА ПРЕДПРИЯТИЯ. Кроме того, зачастую необходимо вести учет адреса и телефона этого предприятия. В предметной области обязательно присутствуют физические лица, занимающие те или иные должности, своими подписями фиксирующие учет (приход или расход) какого-либо объекта. Причем для решения задач анализа данных и принятия затем соответствующих управленческих решений, для предметной области представляет интерес хранения знаний об истории учета состояния того или иного объекта. И ещё одна категория обязательных для каждой предметной области классов объектов – это документы, на основании которых и происходят все процессы в заданной предметной области.

Свести все итоги анализа предметной области в ходе выявления классов объектов и их свойств можно в виде формализованного описания, таблицы: объект/свойство; уникальный идентификатор; физические характеристики свойства (тип, длина); опциональность свойства (да/нет); логические ограничения свойства (диапазон значений, прописные, строчные буквы для символьных свойств и т.п.); процессы для значений свойств.