3.2. МЕТОДЫ МОДЕЛИРОВАНИЯ ДАННЫХ В ИС
Главная цель проведения моделирования – изыскание вариантов решений, позволяющих улучшить основные показатели деятельности людей, устройств и систем, технологических и иных процессов в организации. Необходимым элементом моделирования является анализ потоков данных. Сбор, обработка и анализ реальных данных функционирования организации даёт требуемые количественные оценки и необходимые представления для разработки вариантов новых или модернизируемых объектов систем и самих систем.
Объект – совокупность свойств элемента, которые могут быть исследованы и описаны. Любой объект обладает временными, пространственными, материально-вещественными, физическими и морфологическими свойствами.
Каждый объект обычно состоит из других объектов, то есть представляет собой некоторую систему.
Система – это объект, состоящий из элементов, находящихся между собой в различных отношениях и связях, которые обеспечивают её целостное функционирование. Можно сказать, что система включает в себя объекты, называемые элементами системы.
К термину “объект” обычно относят структурное понятие элемента, характеризующее его структурные (механические, физические, морфологические и др.) свойства или их совокупности.
Элементом считается элементарная (наиболее простая) часть целого, общего.
Любая система существует в пространстве и времени. Во времени происходят процессы изменения и развития систем. Состояние системы в любой момент времени характеризуется её структурой, т.е. составом, свойствами элементов, их отношениями и связями между собой.
Разработка модели в общем случае означает объединение отдельных составляющих системы в единую модель. При этом каждая составляющая (подсистема) изолирована от других частей модели и решает собственные задачи. Количество связей между элементами системы (подсистемами), в том числе с внутренней и внешней средой, может быть значительным. Учесть все связи невозможно, поэтому при разработке модели ограничиваются наиболее важными из них. Такой подход ориентирован на реализацию несложных моделей, в которых можно разделить и взаимно независимо рассмотреть отдельные аспекты функционирования реального объекта.
Структуру системы вместе с её компонентами в информационной модели можно представить в графическом или текстовом виде. Разработка модели ИС в современных организациях включает проектирование программно-технического обеспечения автоматизированных систем.
На протяжении своей истории человечество использовало различные способы и инструменты для создания информационных моделей. Эти способы постоянно совершенствовались, так первые информационные модели были графическими и создавались в форме наскальных рисунков. Современные информационные модели строятся обычно с использованием компьютерных технологий. Их разработка осуществляется с применением различных графических методов представления элементов, объектов, структур и моделей.
Графические информационные модели представляют собой рисунки, карты, чертежи, схемы, графики, диаграммы и т.д.
Довольно часто информационные модели имеют иерархическую (древовидную) структуру. В иерархической информационной модели объекты или их свойства распределены по уровням, причём элементы нижнего уровня входят в состав элементов более высокого уровня. Иерархические структуры применяются и для описания процессов.
Наиболее общее (топологическое) описание структуры ИС позволяет в общем виде определить её составные части. Иерархические информационные модели можно изобразить в виде графов.
Граф – информация о составе и структуре системы, представленная в графической форме. Это и удобный способ наглядного представления структуры информационной модели.
Вершины графа (овалы) отображают элементы системы. Элементы верхнего уровня находятся в отношении “состоять из” к элементам более низкого уровня. Такая связь между элементами изображается в виде дуги (направленной линии в форме стрелки).
В простейшем случае объекты связаны между собой отношениями. Графы позволяют формализовать информационные модели, записанные на естественном языке, т.е. позволяют “увидеть” структуру его объектов и отношений. Например, выражение “Принтер подключён к компьютеру” означает, что объект “Принтер” находится в отношении “подключён к” с объектом “Компьютер”. Представление этой фразы с помощью графа приведёно на рис. 3.2.
Рис. 3.2. Представление фразы с помощью графа.
Линия, соединяющая в данном случае два объекта, является связью (ребром) вершин (объектов). Направленная линия (стрелка) называется “дугой”. Дуга отражает связь и определяет подчинение конечной вершины начальной. Две вершины, соединенные ребром или дугой, называют смежными.
“Связи” – силы и взаимодействия, отражающие существование не менее двух элементов, разным образом воздействующих друг на друга.
Некоторые группы объектов имеют одинаковые общие свойства, отличающие их от объектов других групп. Группа объектов, обладающих одинаковыми общими свойствами, называется классом объектов. Внутри класса объектов могут быть выделены подклассы, объекты которых обладают некоторыми особенными свойствами. В свою очередь подклассы могут делиться на ещё более мелкие группы и т.д. Так, например, класс “Компьютеры” можно разделить на три семейства: “Суперкомпьютеры”, “Рабочие станции” и “Персональные компьютеры”. Семейство “Персональные компьютеры”, в свою очередь, можно разделить на: настольные, напольные, переносные (портативные и карманные). Схема классификации компьютеров с помощью графа представлена на рис. 3.3.
Рис. 3.3. Классификация компьютеров, представленная с помощью графа.
Начальной вершиной данного графа является объект “Компьютеры”. Конечными для него вершинами являются объекты (его семейства) “Суперкомпьютеры”, “Рабочие станции” и “ПК”. При этом вершина “ПК” является начальной для конечных вершин “Напольные”, “Настольные” и “Переносные”. Направления стрелок на схеме отражают связь между объектами и определяют конечные вершины, подчинение начальной для них вершине.
Наследование свойств и операций объекта может изменять или не изменять начальные (родительские) свойства объектов и операций. Изменение свойств объекта не происходит само по себе, для этого необходимо выполнить определенные операции (действия). Так, например, компьютер не может осуществлять действия сам над собой. Для их выполнения требуется другой объект, которым в системе “Человек – Компьютер” является “Человек” (рис 3.4).
Рис. 3.4. Граф простой модели управления.
В приведённом примере “Человек” является управляющим объектом, а “Компьютер” – управляемым. Связь “управление”, расположенная между ними, определяет подчинение конечной вершины “Компьютер” начальной вершине “Человек”.
Моделирование данных заключается в обеспечении разработчика ИС концептуальной схемой БД в форме одной или нескольких локальных моделей, относительно легко отображаемых в любую систему баз данных. Рассмотрим некоторые методы моделирования данных. Процесс моделирования осуществляется поэтапно в виде определённых шагов.
Первый шаг моделирования – извлечение информации из интервью и выделение сущностей.
Сущность (Entity) – реальный или воображаемый объект, имеющий существенное значение для рассматриваемой предметной области, информация о котором подлежит хранению. Её графическое изображение приведено на рис. 3.5.
Рис. 3.5. Графическое изображение сущности.
Модель системы можно определить как иерархию диаграмм потоков данных, описывающих процесс преобразования информации от её ввода в систему до выдачи пользователю. Основными компонентами диаграмм потоков данных являются:
Внешняя сущность – материальный предмет или физическое лицо, представляющее собой источник или приёмник информации, например, заказчики, персонал, поставщики, клиенты, склад. Определение некоторого объекта или системы в качестве внешней сущности указывает на то, что она находится за пределами границ анализируемой ИС. В процессе анализа некоторые внешние сущности могут быть перенесены внутрь диаграммы анализируемой ИС, если это необходимо, или, наоборот, часть процессов ИС может быть вынесена за пределы диаграммы и представлена как внешняя сущность. Внешняя сущность обозначается квадратом (рис. 3.6), расположенным как бы “над” диаграммой и бросающим на неё тень, чтобы можно было выделить этот символ среди других обозначений.
Рис. 3.6. Внешняя сущность.
Модель сложной ИС можно представить в общем виде на контекстной диаграмме в виде одной системы как единое целое или декомпозированной на ряд подсистем. Вариант изображения подсистемы (или системы) на контекстной диаграмме представлен на рис. 3.7.
Рис. 3.7. Подсистема.
При этом номер подсистемы служит для ее идентификации. В поле имени вводится наименование подсистемы в виде предложения с подлежащим и соответствующими определениями и дополнениями.
Процесс, в соответствии с определённым алгоритмом, представляет преобразование входных потоков данных в выходные. Физически он может быть реализован различными способами. Например, это может быть подразделение организации (отдел), выполняющее обработку входных документов и выпуск отчётов, или программа, аппаратно реализованное логическое устройство и т.д. На диаграмме потоков данных процесс изображается следующим образом (рис. 3.8).
Рис. 3.8. Процесс.
При этом номер процесса служит идентификатором. В поле имени вводится наименование процесса в виде предложения с активным недвусмысленным глаголом в неопределённой форме (вычислить, рассчитать, проверить, определить, создать, получить), за которым следуют существительные в винительном падеже, например: “Ввести сведения о клиентах”; “Выдать информацию о текущих расходах”; “Проверить кредитоспособность клиента” или “Рассчитать остаток средств”.
Накопитель данных – абстрактное устройство для хранения информации, которую можно в любой момент поместить в накопитель и извлечь из него, причём способы помещения и извлечения могут быть любыми. Он может быть реализован физически в виде микрофиши, ящика в картотеке, таблицы в оперативной памяти, файла на магнитном и ином носителе и т.д. На диаграмме потоков данных его можно изобразить следующим образом (рис. 3.9).
Рис. 3.9. Накопитель данных.
Накопитель данных идентифицируется буквой “D” и произвольным числом. Имя его выбирается из соображения наибольшей информативности для проектировщика. В общем случае накопитель данных является прообразом будущей БД. Описание хранящихся в нём данных должно быть увязано с информационной моделью.
Источники информации (внешние сущности) порождают информационные потоки (потоки данных), переносящие информацию к подсистемам или процессам.
Поток данных определяет информацию, передаваемую через некоторое соединение от источника к приёмнику. Реальный поток данных может быть информацией, передаваемой по кабелю или воздуху между двумя устройствами, пересылаемыми по почте письмами, магнитными лентами или дискетами, переносимыми с одного компьютера на другой и т.д. На диаграмме (рис. 3.10) поток данных изображён линией, оканчивающейся стрелкой, показывающей направление потока. Каждый поток данных имеет имя, отражающее его содержание.
Рис. 3.10. Поток данных.
Наиболее распространённым средством моделирования данных являются диаграммы “сущность-связь”.
Следующий шаг моделирования – идентификация связей.
Связь (Relationship) – поименованная ассоциация между двумя сущностями, значимая для рассматриваемой предметной области. Связь – это ассоциация между сущностями, при которой, как правило, каждый экземпляр одной сущности, называемой родительской, ассоциирован с произвольным (в том числе нулевым) количеством экземпляров второй сущности, называемой сущностью-потомком, а каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя. Таким образом, экземпляр сущности-потомка может существовать только при существовании сущности родителя. Степень связи и обязательность графически изображены на рис. 3.11.
Рис. 3.11.
Связи может даваться имя, выражаемое грамматическим оборотом глагола и помещаемое возле линии связи. Имя каждой связи между двумя данными сущностями должно быть уникальным, но имена связей в модели не обязаны быть уникальными. Имя связи всегда формируется с точки зрения родителя, так что предложение может быть образовано соединением имени сущности-родителя, имени связи, выражения степени и имени сущности-потомка. Например, связь продавца с контрактом можно выразить следующим образом:
● продавец может получить вознаграждение за один или более контрактов;
● контракт должен быть инициирован ровно одним продавцом.
Связь продавца с контрактом, графически можно выразить следующим образом (рис. 3.12).
Рис. 3.12.
Описав связи остальных, ранее рассматривавшихся нами, сущностей, получим следующую схему (рис. 3.13).
Рис. 3.13.
Связи могут быть многонаправленными и иметь атрибуты (за исключением ключевых). Выделяют два вида связей:
В необязательной связи (рисунок 3.14) могут участвовать не все экземпляры сущности.
Рис. 3.14. Необязательная связь.
В отличие от необязательной связи в полной (total) связи участвуют все экземпляры хотя бы одной из сущностей. Это означает, что экземпляры такой связи существуют только при условии существования экземпляров другой сущности. Полная связь может иметь один из четырёх видов: обязательная связь, слабая связь, связь “супертип-подтип” и ассоциативная связь. Помимо перечисленных существуют и другие виды связи: рекурсивная связь и неперемещаемые связи.
Последний шаг моделирования – идентификация атрибутов.
Атрибут – любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности. Атрибут представляет тип характеристик или свойств, ассоциированных с множеством реальных или абстрактных объектов (людей, мест, событий, состояний, идей, пар предметов и т.д.).
Экземпляр атрибута – это определенная характеристика отдельного элемента множества. Он определяется типом характеристики и её значением, называемым значением атрибута. В некоторых моделях атрибуты ассоциируются с конкретными сущностями. Таким образом, экземпляр сущности должен обладать единственным определённым значением для ассоциированного атрибута. Атрибут может быть обязательным, или необязательным (рис. 3.15).
Рис. 3.15.
Обязательность означает, что атрибут не может принимать неопределённых значений (null values). Атрибут может быть описательным (т.е. обычным дескриптором сущности), или входить в состав уникального идентификатора (первичного ключа).
Каждая сущность обладает хотя бы одним возможным ключом. Возможный ключ сущности – это один или несколько атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. При существовании нескольких возможных ключей один из них обозначается в качестве первичного ключа, а остальные – как альтернативные ключи. С учётом имеющейся информации ранее построенная диаграмма будет выглядеть следующим образом (рис. 3.16).
Рис. 3.16.
В реляционных моделях данных с помощью ключей можно устанавливать такие виды связи, как: “один-к-одному”, “один-ко-многим” и “многие-ко-многим”. Для формализации связи “один-ко-многим” создают ассоциативный объект, который содержит ссылки на идентификаторы каждого из участвующих в модели объектов.