Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Базы данных: проектирование

Анализ объектов предметной области

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Также определяются группы классов:

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

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


п/п

Функция

Объект

Тип

Характеристики

Описание

1

Учет

товаров

магазина

Товар

Ключевой

Артикул і Наименование

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

2

Товар

на складе

Вспомогательный

Артикул і Наименование Цена поставки Количество

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

3

Формирование

заказа

клиента

Заказ

клиента

Ключевой

Заказ

Товар

Количество

Цена

Основной объект бизнес-функции, формирование экземпляра которого определяет состав заказа клиента и включает в себя указание на отдельные экземпляры вспомогательных объектов: "Заказ", "Товар"

4

Заказ

Вспомогательный

І Номер заказа Клиент Дата заказа

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

5

Товар

Вспомогательный

Артикул і Наименование

Классификатор, обеспечивающий наполнение заказа клиента списком заказанных товаров

6

Клиент

Вспомогательный

ФИО

Адрес доставки Телефон

Классификатор покупателей (клиентов), делающих заказы в магазине

...

...

...

...

...

...



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

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

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

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

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

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


Пример классификации объектов

п/п

Объект

Состав

Класс

Группа

Описание

1

Категории

товаров

Категории

товаров

Объектный

Иерархический

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

2

Товар

Товар

Электротовары

Продукты

Обобщающий

Линейный

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

3

Электротовары

Электротовары

Объектный

Квази-структурированный

Состав характеристик объекта является меняющимся в зависимости от типа электротоваров, и их полный состав на этапе разработки базы данных определить невозможно

...

...

...

...

...

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

Стоимость = Цена • Количество. (2.1)

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

При выделении атрибутов объектов возможны ситуации, когда некоторый атрибут является групповым и содержит внутри себя некоторое множество других атрибутов (например, атрибут "Адрес доставки" может внутри содержать несколько атрибутов — "Название города", "Название улицы", "Тип улицы", "Номер дома" и т.д.). Рассмотрение этих атрибутов требует отдельного внимания при моделировании базы данных и принятия решения о разбиении на отдельные составляющие или представления в виде единого неделимого атрибута.


Пример описания атрибутов объектов

п/п

Объект

п/п

Атрибут

Тип

данных

Длина

Вид

данных

Диапазон

значений

Алгоритм

вычисления

Классификатор

1

11ол человека

1

Наименование

С

10

Текст

-

-

Мужской

Женский

2

Аббревиатура

С

1

То же

-

-

М

Ж

3

Краткое значение

С

3

- " -

-

-

Муж

Жен

2

Товар

1

Артикул

С

10

- " -

2

Наименование

С

50

- " -

-

-

-

3

Категория

товара

1

Наименование

С

20

Электротовары

Телевизоры

11оутбуки

Одежда

Мужская

Обувь

Женская

Обувь

Платья

4

Товар на складе

1

Товар

-

-

Объект

-

-

-

2

Цена

Дн

7,2

Число

0 ...п

-

-

3

Количество

Ч

-

То же

0 ...п

-

-

4

Стоимость

Дн

10,2

- " -

0 ...п

4.2* 4.3

-




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

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

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

Указание типов данных для атрибутов дает информацию разработчику базы данных о правилах хранения сведений в базе данных и, когда появится необходимость указать тип данных с учетом используемой СУБД, разработчик будет обладать необходимой информацией.

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

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

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

Иногда случается, что в базе данных нужно хранить числовые сведения, содержащие ведущие нули (например, БИК банка — 04452255). Такие атрибуты описываются типом данных "Символьный", а вид данных будет "Число". Такое указание позволит разработчику базы данных понять правила по представлению и обработке сведений.

Также в описании указывается диапазон значений, особенно для числовых атрибутов. Диапазон значений может описываться явными значениями (0, 1, 2, 3...), диапазоном чисел (0...10). Поскольку не всегда можно однозначно указать диапазон значений, то нижняя и (или) верхняя граница значений может указываться неопределенным значением, представляемым буквенным символом (0...Я).

Поскольку некоторые атрибуты являются вычисляемыми, то для них определяется формула вычисления, которую, учитывая нумерацию объектов и атрибутов, можно представить в закодированном виде с использованием возможных математических функций и операций. Например, для вычисления стоимости необходимо перемножить цену и количество, и оба исходных атрибута находятся в объекте с номером "4", а сами атрибуты имеют нумерацию "2" и "3". В результате формула вычисления будет представлена следующим образом: "4.2*4.3".

При указании атрибута в качестве классификатора его целесообразно представить конкретными значениями, но это не всегда возможно (например, слишком большой список), тогда значения такого атрибута описываются структурой с указанием 5—10 значений.

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

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы