Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 41
Текст из файла (страница 41)
4 . Объектно-ориентированные моделиБ о л ь ш и н с т в о моделей объектно-ориентированного п р о е к т и р о в а н и яблизки по возможностям, но имеют отличия в основном в форме представления. Популярность объектно-ориентированных технологий привела ксближению большинства известных моделей. Многообразие моделей порождает трудности проектировщиков по выбору модели и по обмену информацией при работе над разными проектами. В этой связи известные специалисты Г.Буч, Д.Рамбо и И.Джекобсон при поддержке фирмы Rational SoftwareCorporation провели работу над унифицированной моделью и методом, получившим название UML (Unified Modeling Language - унифицированный язык моделирования).Общая характеристикаUMLUML представляет собой единый язык моделирования, предназначенныйдля спецификации, визуализации, конструирования и документированияматериалов программных систем, а также для моделирования бизнеса и дру-Часть 2.
Проектирование204и использование БДгих непрограммных систем. В снову создания U M L положены три наиболеераспространенные модели:• Booch, получившая название по фамилии автора Гради Буча (GradyBooch);• О М Т ( O b j e c t Modeling T e c h n i q u e - метод м о д е л и р о в а н и я объектов);• OOSE (Object-Oriented Software Engineering - объектно-ориентированное проектирование программного обеспечения).На заключительной стадии разработки, унификации и принятия UML вкачестве стандарта большой вклад внес консорциум O M G (Object Management Group - группа управления объектом). U M L можно определить также как промышленный объектно-ориентированный стандартмоделирования.
Он включает в себя в унифицированном виде лучшие методы визуального (графического) моделирования. В настоящее время имеется целый рядинструментальных средств, производители которых заявляют о поддержкеUML, среди них можно выделить: Rational Rose, Select Enterprise, Platinum иVisual Modeler.ТИПЫдиаграммUMLСоздаваемый с помощью UML проект информационной системы можетвключать в себя следующие 8 видов диаграмм (diagrams):• прецедентов использования (use case),• классов (class),• состояний (statechart),• активности (activity),• следования (sequence),• сотрудничества (collaboration),• компонентов (component),• размещения (deployment).Диаграммы состояний, активности, следования и сотрудничестваобразуют набор диаграмм, служащих для описания поведения разрабатываемой информационной системы.
Причем, последние две обеспечивают описание взаимодействияобъектов информационной системы. Диаграммыкомпонентов и размещения описывают физическую реализацию информационной системы.Каждая из диаграмм может содержать элементы определенного типа. Типыдопустимых элементов и отношений между ними зависят от вида диаграммы. Охарактеризуем указанные виды диаграмм более подробно.Диаграммы прецедентовиспользованияописывают функциональность И С, видимую пользователями системы.
Каждая функциональностьизображается в виде прецедентов использования. Прецедент - это ти-7. Средства автоматизациипроектирования205пичное взаимодействие пользователя с системой, которое выполняет следующее:•описывает видимую пользователем функцию,• представляет различные уровни детализации,•обеспечивает достижение конкретной цели.Прецедент изображается как овал, с в я з а н н ы й с т и п и ч н ы м и пользователя-ми, называемыми «актерами» (actors). Актером является любая сущность, взаимодействующая с системой извне, например человек, оборудование, другаясистема.
Прецедент описывает, что система предоставляет актеру - определяет набор транзакций, выполняемый актером при диалоге с информационной системой. На диаграмме изображается один актер, но пользователей, выступающих в роли актера, может быть много. Диаграмма прецедентов использования имеет высокий уровень абстракции и позволяет определить функциональные требования к И С.Диаграммы классов описывают статическую структуру классов. В составдиаграмм классов входят следующие элементы: классы, объекты и отношения между ними.
Класс представляется прямоугольником, включающим трираздела: имя класса, атрибуты и операции. Аналогичное обозначение применяется и для объектов, с той разницей, что к имени класса добавляется имяобъекта и вся надпись подчеркивается.Допускается отображение дополнительной информации (абстрактные операции и классы, стереотипы, общие и частные методы, интерфейсы, и т.
д.).Ассоциации, или статические связи между классами, изображаются в видесвязующей линии, на которой может указываться мощность ассоциации,направление, название, и возможное ограничение. Можно отразить свойстваассоциации, например отношение агрегации, когда составными частями класса являются другие классы. Отношение агрегации изображается в виде ромба, расположенного рядом с агрегирующим классом.
Отношение обобщенияизображается в виде треугольника и связующей линии, позволяя представитьиерархию наследования классов.Диаграммы состояний описывают поведение объекта во времени, моделируют все возможные изменения в состоянии объекта, вызванные внешними воздействиями со стороны других объектов или извне. Диаграммы состояний применяются для описания поведения объектов и для описания операций классов.Этот тип диаграмм описывает изменение состояния одного класса или объекта.Каждое состояние объекта представляется в виде прямоугольника с закругленными углами, содержащего имя состояния и, возможно, значение атрибутовобъекта в данный момент времени.
Переход осуществляется при наступлениинекоторого события (например, получения объектом сообщения или приема сигнала) и изображается в виде стрелки, соединяющей два соседних состояния. Имясобытия указывается на переходе. На переходе могут указываться также действия,производимые объектом в ответ на внешние события.206Часть 2. Проектирование и использование БДДиаграммы активности представляют частный случай диаграмм состояний. Каждое состояние есть выполнение некоторой операции, и переход вследующее состояние происходит при завершении операции в исходном состоянии. Тем самым реализуется процедурное, синхронное управление, обусловленное завершением внутренних действий. Описываемое состояние неимеет внутренних переходов и переходов по внешним событиям.Для диаграмм активности используются аналогичные диаграммам состояний обозначения, но на переходах отсутствует сигнатура события и добавлен символ «синхронизации» переходов для реализации параллельных алгоритмов.
Диаграммы активности используются в основном для описания операций классов.Диаграмма следования определяет временную последовательность (динамику взаимодействия) передаваемых сообщений, порядок, вид и имя сообщения. На диаграмме изображаются объекты, непосредственно участвующиево взаимодействии, и не показываются статические ассоциации с другимиобъектами.Диаграмма следования имеет два измерения. Первое - слева направо, в видевертикальных линий, изображающих объекты, участвующие во взаимодействии. Верхняя часть линий дополняется прямоугольником, содержащим имякласса объекта или имя экземпляра объекта.
Второе измерение - вертикальная временная ось. Посылаемые сообщения изображаются в виде стрелок сименем сообщения и упорядочены по времени возникновения.Диаграммы сотрудничества описывают взаимодействие объектов системы, выполняемого ими для получения некоторого результата. Под получением результата подразумевается выполнение законченного действия,например, описание в терминах взаимодействующих объектов смоделированного ранее прецедента использования информационной системы илинекоторого сервиса, объявленного как операция класса на соответствующей диаграмме.Диаграмма сотрудничества изображает объекты, участвующие во взаимодействии, в виде прямоугольников, содержащих имя объекта, его класси, возможно, значение атрибутов. Ассоциации между объектами изображаются в виде соединительных линий.
Возможно указание имени ассоциации и ролей объектов в данной ассоциации. Динамические связи (потоки сообщений) представляются в виде соединительных л и н и й междуобъектами, сверху которых располагается стрелка с указанием направления и имени сообщения.Диаграмма компонентов служит для определения архитектуры разрабатываемой системы путем установления зависимости между программнымикомпонентами: исходным, бинарным и/или исполняемым кодом. Во многихсредах разработки модуль, или компонент, соответствует файлу. Пунктирныестрелки, соединяющие модули, показывают отношения взаимозависимости7. Средства автоматизации проектирования207(как при компиляции).Диаграммы размещения используются для задания конфигурации компонентов, процессов и объектов, действующих в системе на этапе выполнения.