Унифицированный язык моделирования UML

Методика 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. В режиме off­line посылается запрос к 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.Вид диаграммы сценариев

Далее разрабатываются диаграммы взаимодействия «поль­зователь-система», при этом выявляются необходимые объекты, строятся диаграммы классов, формируется компонентная структура ПО.

Наши рекомендации