Методика IDEF1X
IDEF1 — методика информационного (инфологического) проектирования приложений, в настоящее время применяется ее усовершенствованный вариант IDEF1X. В IDEF1X имеется ясный графический язык для описания объектов и отношений в приложениях. Это язык диаграмм сущность-связь.
Основные компоненты описаний в IDEF1X: сущности (блоки), отношения (связи), атрибуты.
Сущность — множество объектов, обладающих общими свойствами (в языках программирования понятие сущности совпадает с понятием типа). Конкретные элементы этого множества называют экземплярами сущности. Атрибуты характеризуют свойства сущностей, их значения однозначно идентифицируют экземпляры сущностей. Если сущность А может быть определена только с помощью ссылки на свойства некоторой другой сущности В, то А называется зависимой (дочерней) сущностью, а В выступает в роли родительской сущности.
Сущности в IDEFIX-диаграммах изображаются в виде прямоугольников, при этом у зависимых сущностей углы прямоугольников должны быть скругленными.
Отношения (связи) между сущностями в IDEF1X являются бинарными отношениями. Выделяют идентифицирующие отношения — связи типа родитель-потомок, в которых потомок (зависимая сущность) однозначно определяется своей связью с родителем, и неидентифицирующие отношения, означающие, что у связанного этим отношением экземпляра одной сущности может быть, а может и не быть соответствующего экземпляра второй сущности (пример идентифицирующего отношения изготовитель-товар, неидентифицирующего отношения — рабочая станция — дигитайзер). Идентифицирующее отношение изображают на диаграмме сплошной линией между прямоугольниками связанных сущностей, неидентифицирующее отношение показывают пунктирной линией. На дочернем конце линии должно быть утолщение (жирная точка). Мощность k связи — число экземпляров зависимой сущности, соответствующее одному экземпляру родительской сущности. Известное значение мощности может быть указано около утолщенного конца линии связи. При этом символ р означает k > 1, а символу z соответствует k = 0 или 1. Отсутствие символа интерпретируется k > 0.
Различают также специфические и неспецифические отношения. Неспецифические отношения — это связи типа «многие ко многим» и обозначаются сплошной линией с утолщениями на обоих концах.
В отношениях родитель-потомок возможно наличие у потомка единственного родителя (характеристическая связь) или нескольких родителей (ассоциативная связь). Выделяют также отношения категоризации (наследования), отражающие связи между некоторой общей сущностью и вариантами ее реализации (категориями). Примером категориальной связи является отношение тип прибора — альтернативные варианты этого прибора.
Среди атрибутов различают ключевые и неключевые. Значение ключевого атрибута (ключа) однозначно идентифицирует экземпляр сущности. Внешний ключ — это атрибут (или атрибуты), входящий в ключ родителя и наследуемый потомком. На IDEF1Х-диаграммах ключи записывают в верхней части прямоугольника сущности, причем внешние ключи помечают меткой FK (Foreign Key), неключевые атрибуты помещают в нижнюю часть прямоугольников. В идентифицирующих отношениях все ключи родителя входят и в ключи потомка, в неидентифицирующих — ключи родителя относятся к неключевым атрибутам потомка.
Нормальные формы отношений позволяют выявить атрибуты, которые целесообразно (с целью устранения избыточности) считать сущностями. Известно несколько нормальных форм, обычно используют первые три из них.
Первая нормальная форма требует, чтобы шапка таблицы (отношения) была одноэтажная (т. е. все атрибуты характеризуются атомарными значениями), строки-дубли должны быть устранены.
Вторая нормальная форма устанавливается для сущностей, удовлетворяющих условиям первой нормальной формы и имеющих составные ключи. Она определяется отсутствием атрибутов, зависящих только от части составного ключа. Подобные атрибуты должны быть выделены в отдельные сущности.
Третья нормальная форма дополнительно характеризуется отсутствием транзитивных связей (взаимозависимости) атрибутов.
Разработка информационной модели по IDEF1X выполняется за несколько стадий.
Стадия 0. Выяснение цели проекта, составление плана сбора информации. Обычно отправным пунктом для разработки информационной модели является IDEFO-модель.
Стадия 1. Выявление и определение сущностей. Это неформальная процедура.
Стадия 2. Выявление и определение основных отношений. Результат представляется или графически в виде ER-диаграмм или в виде матрицы отношений, элемент которой AtJ = 1, если имеется связь между сущностями / и у, иначе Ау = О. Транзитивные связи не указываются.
Стадия 3. Детализация неспецифических отношений, определение ключевых атрибутов, установление внешних ключей. Детализация неспецифических отношений заключается в замене связей «многие ко многим» (М <-» М) на связи,«М «-»1» и «1 <-> М» введением сущности-посредника. Например, отношение «преподаватель — студенческая группа» может быть заменено на отношения этих сущностей с сущностью-посредником «расписание».
Стадия 4. Определение атрибутов и их принадлежности сущностям.
Основные элементы графического языка IDEF IX представлены на рис. 7.
Рис. 7. Элементы языка IDEF1X
Между IDEFO и IDEFIX-моделями одного и того же приложения существуют определенные связи. Так, стрелкам на IDEFO-диаграммах соответствуют атрибуты некоторых сущностей в IDEFlX-моделях, что нужно учитывать при построении информационных моделей.
Обзор других методик IDEF
Методика IDEF4 реализует объектно-ориентированное проектирование больших систем. При процедурном программировании кодированию предшествует удобное для пользователя изображение программы на графическом языке граф-схем или диаграмм потоков данных. Целесообразно иметь аналогичные средства, учитывающие специфику объектно-ориентированного программирования.
В частности, такие средства предоставляет IDEF4. Другим вариантом графического языка поддержки объектно-ориентированного проектирования ПО является язык UML (Unified Modeling Language), рассматриваемый консорциумом OMG на предмет стандартизации.
Методика IDEF4 содержит графический язык для изображения взаимосвязей классов, атрибутов, методов в виде ряда диаграмм: типов, наследования, протоколов, клиентов, таксономии методов. Примеры диаграмм приведены на рисунках. В этих диаграммах прямоугольники с поперечными линиями соответствуют классам, имена которых указаны ниже поперечных линий, а сверху линий записаны идентификаторы атрибутов. Процедуры (методы) в IDEF4 изображены прямоугольниками без поперечных линий. Передаваемые параметры записаны в овальных фигурах.
Примеры диаграмм типов данных и наследования приведены на рис. 8 и 9 соответственно. В примере рис. 9 объекты класса «Деталь» наследуют часть атрибутов из рис. 8. IDEF4-диаграмма типов классов «Геометрия» и «Материал».
Из рис. 10 ясно, что для процедуры моделирования некоторой схемы входными параметрами являются атрибуты источников сигналов и параметры компонентов схемы, а результатом — значения выходных параметров.
На рис. 11 показан пример классификации методов, согласно которой методы решения перечисленных частных задач относятся к мето- Рис'6'9' ">ЕР4-диаграмма наследования дам дискретной оптимизации.
Рис. 10. IDEF4-диаграмма протоколов
Связи вызывающих и вызываемой процедур представлены на рис. 12.
Методика IDEF5 направлена на представление онтологической информации приложения в удобном для пользователя виде. Онтология связана с определениями и понятиями, используемыми для характеристики объектов и процессов вместе с их взаимосвязями.
FTP — протокол файлового обмена (реализуется режим удаленного узла), клиент может запрашивать и получать файлы с сервера, адрес которого указан в запросе;
HTTP (Hypertext Transmission Protocol) — протокол для связи Web-серверов и Web-клиентов;
SMTP, IMAP, РОРЗ — протоколы электронной почты;
SNMP — протокол управления сетью.
Указанные протоколы поддерживаются с помощью соответствующего ПО. Как правило, прикладной протокол реализуется серверной и клиентской программами. Клиентская программа запрашивает информационную услугу, серверная программа выполняет запрос. Для Telnet, FTP, SMTP на серверной стороне выделены фиксированные номера протокольных портов.
Электронная почта — средство обмена сообщениями по электронным коммуникациям (в режиме off-line). Посылка сообщения осуществляется по инициативе отправителя. Можно пересылать текстовые сообщения и архивированные файлы. В последних могут содержаться данные (например, тексты программ, графические данные) в различных форматах.
На ЭВМ пользователя должна быть установлена программа-клиент, поддерживающая функции создания, передачи и приема сообщений. На почтовом сервере, выделяемом в корпоративной или локальной сети, организуется промежуточное хранение поступающих сообщений. Связь индивидуальных пользователей с почтовым сервером осуществляется по протоколам IMAP или РОРЗ.
В территориальных сетях почтовые сообщения проходят через ряд промежуточных федеральных или региональных узлов. В таких узлах устанавливают ПО (так называемый агент передачи сообщений), выполняющее функции сортировки и маршрутизации сообщений.
Разработан ряд альтернативных протоколов электронной почты для прикладного уровня. Расширение числа возможных кодировок и форматов данных по сравнению с SMTP сделано в MIME (Multipurpose Internet Mail Extensions). Применение MIME упрощает пересылку графических и звуковых файлов, реализацию шифрования и электронной подписи.
Примерами программ электронной почты могут служить Lotus cc: mail, Microsoft Mail, Outlook Express и др. Они позволяют посылать сообщения индивидуальному пользователю, на доску объявлений, последовательный просмотр несколькими исполнителями с возможностями коррекции сообщения; осуществляют поиск сообщений, пришедших в почтовый сервер, по контексту, адресу, времени отправки.
В настоящее время при разработке многих программных систем предусматривают интерфейс со средствами электронной почты, клиентские программы E-mail стараются включать в Web-браузеры сети Internet, а также во многие прикладные программные системы САПР, АСУ, документооборота.
Письма в E-mail состоят из заголовка и тела (текста). В заголовке указывается кому предназначено письмо, от кого оно поступило, кому посланы копии, дата отправки, указатель ключа, по которому пользователь может определить ключ для декодирования текста. В протоколе IMAP (Internet Message Access Protocol) сначала клиенту передается заголовок, а текст остается на сервере, затем пользователь при желании может получить и весь текст. В протоколе РОРЗ при обращении к почтовому серверу на клиентский узел переписывается все сообщение.
Файловый обмен — доступ к файлам, распределенным по различным компьютерам. Доступ возможен в режимах off-line и on-line. В режиме offline посылается запрос к FTP-серверу, сервер формирует и посылает ответ на запрос. В режиме on-line осуществляется интерактивный просмотр каталогов FTP-сервера, выбор и передача нужных файлов. На ЭВМ пользователя устанавливается FTP-клиент.
При запросе файла по протоколу FTP пользователь должен знать, где находится нужный ему файл. Обращение к FTP-клиенту происходит по команде:
пр[<параметры>][<имя сервера>] (1)
В качестве имени сервера указывается IP-имя или IP-адрес удаленного компьютера.
В большинстве серверов Internet для входа по FTP-команде нужны предварительная регистрация пользователя и указание пароля. Однако это не требуется при обращениях к общедоступным (анонимным) серверам. Такие серверы создают и обслуживают организации, заинтересованные в распространении информации определенного вида.
После выполнения команды (1) FTP-клиент переходит в командный режим. Примеры субкоманд, которые могут выполняться в командном режиме (ниже-удаленный компьютер обозначен S, локальный компьютер — Т):
open [<имя S>] — устанавливает связь с удаленным компьютером;
close [<имя S>] — разрывает связь с удаленным компьютером, оставаясь в командном режиме;
quit — то же, что и close, но с выходом из командного режима (из ftp);
cd [<имя каталога в S>] — выбор каталога на сервере;
IDEF9 (Business Constraint Discovery) нацелена на выявление разнообразных ограничений (технических, физических, юридических, политических, организационных), которые должны быть учтены при разработке системы, и для анализа их влияния на принимаемые решения в процессе реинжиниринга. Обычно в качестве систем фигурируют сложные информационные системы с ориентацией на экономические и управленческие приложения. Ограничение — это отношение, которое должно соблюдаться. Ограничения делятся на контексты (группы родственных ограничении). Применение IDEF9 заключается в выполнении нескольких шагов: 1) сбор свидетельств (фактов, указывающих на наличие ограничения); 2) классификация — определение контекстов, объектов, отношений; 3) прогнозирование — выявление ограничений на основе свидетельств; 4) отбор значимых ограничений; 5) определение экспертов для тестирования результатов; 6) детализация и фильтрация ограничений. В методике даны рекомендации по выполнению этих шагов. Предлагается графический язык, элементами которого являются система, блоки ограничений, контексты, линии связи, логические связки OR. AND, XOR (исключающее ИЛИ).
IDEF14 (Network Design) предназначена для проектирования корпоративных вычислительных сетей, их представления на графическом языке с описанием конфигураций, очередей, сетевых компонентов, требований к надежности и т. п. Чаще всего методика применяется для модернизации уже существующих сетей. Поэтому в ней предусматривается разработка моделей как «AS IS», так и «ТО BE». Проектирование включает в себя определение топологии сети или схемы коммуникаций, реализацию нужного качества обслуживания, анализ функционирования (трафик, дисциплины обслуживания в узлах, протоколы доступа). Модель топологии дополняется моделями очередей, надежности, материальных затрат. Важную роль играет библиотека методов построения и компонентов сетей. Методика основана на выполнении ряда шагов: установление целей модернизации, исследование существующей сети, определение типов компонентов в ней, построение модели «AS IS», ее верификация, анализ результатов, корректировка с переходом к «ТО BE». В графическом языке IDEF14 сети и подсети изображаются в виде облаков, топологические связи представляются линиями, для узлов используются специальные иконки, возможны поясняющие надписи, список характеристик размещается в прямоугольниках.
Унифицированный язык моделирования UML
Язык UML положен в основу Rational Unified Process (RUP) — известной методологии проектирования информационных систем, развиваемой фирмой Rational Software. В UML также используется ряд диаграмм.
К основным следует отнести прежде всего диаграммы классов. Они имеют следующие отличия от аналогичных диаграмм в IDEF4.
Во-первых, в прямоугольнике класса имеются три секции, в верхней секции записывается имя класса, в средней секции — атрибуты, в нижней части — процедуры класса. При записи атрибутов указываются символ доступности (+ — public, # — protected,-----private), идентификатор атрибута, тип атрибута. Запись процедуры аналогична подобным записям в языках программирования: указываются имя процедуры и в скобках. — список параметров.
Во-вторых, в диаграммах классов UML отображение отношений часть-целое (отношений агрегации) выполняется с помощью линий с ромбовидной стрелкой, направленной от класса-части к классу-целому, и отношений наследования (суперкласс-подкласс) — с помощью линий с обычной стрелкой, направленной от подкласса к суперклассу.
Поведенческий аспект моделирования отражен в диаграммах процессов, имеющихся в UML. Они бывают двух типов — диаграммы сценариев (ДС) и диаграммы взаимодействия объектов (ДВО).
Сценарий — это последовательность событий, заключающихся в воздействиях (посылках сообщений) одного объекта на некоторый другой объект. В ДС объекты изображаются прямоугольниками и располагаются в горизонтальном ряду объектов. Ось времени направлена от этого ряда вертикально вниз. От каждого объекта параллельно оси времени идут так называемые их линии жизни (lifelines). Каждое событие изображается горизонтальной линией со стрелкой от линии жизни объекта, посылающего сообщение, к линии жизни объекта, принимающего сообщение. Над этими линиями возможен поясняющий текст. Линии располагаются одна над другой в порядке, в котором события совершаются (пример ДС на рис. 16).
Диаграмма ДВО представляет собой граф, в котором вершины соответствуют объектам, а ребра — воздействиям. Около ребер возможны поясняющие записи, в частности, последовательные номера, указывающие порядок совершения событий.
К числу других диаграмм относятся диаграммы использования, цель которых — отобразить взаимодействие системы с пользователем. В этих диаграммах отображены в виде овалов те функции, которые непосредственно должен (или может) выполнять пользователь. При этом пользователи различаются ролями, выполняемыми ими при эксплуатации системы.
Проектирование информационной системы в RUP начинается с построения диаграмм использования. При этом определяется и согласовывается внешняя функциональность системы, и в итоге формируется техническое задание на разработку ПО.
Рис.6.Вид диаграммы сценариев
Далее разрабатываются диаграммы взаимодействия «пользователь-система», при этом выявляются необходимые объекты, строятся диаграммы классов, формируется компонентная структура ПО.