Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Структура и основные понятия унифицированного языка моделирования (UML)).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.03.2024

Просмотров: 60

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

2.2. Диаграммы взаимодействия

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

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

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

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

Диаграмма последовательности – это диаграмма взаимодействия, которая подчеркивает временной порядок сообщений. Изображается как таблица, в которой вдоль оси X расположены объекты, а вдоль оси Y сообщения, упорядоченные в хронологическом порядке.

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

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

Диаграммы взаимодействия, как и все прочие, могут содержать примечания и ограничения.

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


Диаграммы последовательности отличаются от диаграмм коммуникации двумя признаками.

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

Во-вторых, это наличие фокуса управления. Фокус управления (focus of control), изображаемый высоким узким прямоугольником, показывает период времени, в течение которого объект выполняет действие – как непосредственно, так и с помощью зависимой процедуры. Верхняя грань прямоугольника выровнена по началу действия, а нижняя – по его завершению и может быть отмечена сообщением возврата. Можно показать вложенность фокуса управления, вызванную рекурсией, вызовом собственной операции либо возвратом вызова из другого объекта, наложив другой фокус управления чуть правее родительского (таким образом можно изобразить сколько угодно уровней вложения). Если нужно особенно точно показать расположение фокуса управления, можно оттенить часть прямоугольника, обозначающего период времени, в течение которого на самом деле работает метод объекта и управление не передается другому объекту. Однако следует заметить, что на практике такая конструкция выглядит довольно «утяжеленной».

Основное содержимое диаграммы последовательности – сообщения. Они изображаются стрелками, направленными от одной линии жизни к другой. Стрелка указывает на приемник сообщения. Для асинхронного сообщения стрелка рисуется «уголком», а для синхронного (то есть для вызова) закрашенным треугольником. Ответ на синхронное сообщение (возврат из вызова) показывается пунктирной стрелкой «уголком». Сообщение возврата может быть опущено, поскольку каждый вызов неявно подразумевает возврат, но иногда удобно таким образом продемонстрировать возвращаемое значение.

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


2.3. Диаграммы классов

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

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

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

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

На диаграммах классов обычно представлены следующие элементы:

⵼ классы;

⵼ интерфейсы;

⵼ зависимости, обобщения и ассоциации.

Как и другие диаграммы, они могут содержать примечания и ограничения.

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

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

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

1. Для моделирования словаря системы.

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

2. Для моделирования простых коопераций.

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


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

2.4. Диаграммы состояний

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

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

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

Диаграмма состояний (state diagram) показывает автомат, сосредотачивая внимание на потоке управления от одного состояния к другому. Изображается в виде графа с вершинами и дугами (ребрами).

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

Состояние (state) – ситуация в жизненном цикле объекта, на протяжении которой он удовлетворяет некоторому условию, выполняет некоторую деятельность или ожидает некоторого события.

Событие (event) – спецификация существенного факта, который происходит во времени и пространстве. В контексте автомата событие – это воздействие, которое вызывает переход между состояниями.


Переход (transition) – связь между двумя состояниями, показывающая, что объект, находящийся в первом состоянии, должен выполнить некоторые действия и перейти во второе, как только произойдет определенное событие и будут выполнены определенные условия.

Деятельность (activity) специфицирует работу, происходящую внутри автомата.

Действие (action) – примитивное выполняемое вычисление, приводящее к смене состояния модели или возврату значения.

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

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

2.5. Диаграммы деятельности

Диаграммы деятельности – это один из пяти видов диаграмм, применяемых в UML для моделирования динамических аспектов систем. По сути, диаграмма деятельности представляет собой блок-схему, которая показывает, как поток управления переходит от одной деятельности к другой. В отличие от традиционной блок-схемы диаграмма деятельности показывает параллелизм так же хорошо, как и ветвление потока управления.

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