Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по ПрИС.doc
Скачиваний:
11
Добавлен:
14.11.2019
Размер:
1.33 Mб
Скачать

2.9.6.4Идентификация ассоциаций

Ассоциация – структурное отношение, описывающее набор связей, в котором каждая из них представляет собой соединение между объектами.

Требуемые ассоциации определяются на основе диаграмм взаимодействия.

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

Типичными ситуациями, которые требуют определения ассоциаций с указанием направления связи от объекта А к объекту В:

  1. Объект А отправляет сообщение объекту В.

  2. Объект А создаёт объект В.

  3. Объект А должен поддерживать связь с объектом В.

Для выявления отношений между классами необходимо исследовать:

  1. Диаграммы взаимодействия для определения типичных ситуаций.

  2. Объекты на наличие связей целое-часть.

  3. Объекты на наличие связей общее-частное.

  4. Объекты на наличие остальных связей.

При проектировании ассоциаций следует помнить:

  1. Наличие большого количества ассоциаций между классами говорит о плохо спроектированной системе. Недостатками будут: сложность изменения, трудность повторного использования, необходимость изменений во многих классах при изменении какого-то одного класса.

  2. Наличие большого числа уровней иерархии в отношении обобщения приведёт к тому, что система будет плохо управляемой.

В спецификации для агрегации задаётся метод локализации (containment):

  1. Целое и часть создаются и разрушаются одновременно By valueпо значению. Это сильная агрегация. Обозначается как закрашенный ромб.

  2. Целое и часть создаются и разрушаются в разное время By referenceпо ссылке. Это слабая агрегация. Обозначается как полый ромб.

В UML существует особый вид отношения, называемого отношением зависимости. Это отношение указывает, что элемент (класс, пакет, вариант использования) знает о другом элементе и зависит от него. Лучшим способом реализации отношения зависимости является передача ссылки на независимый класс в операциях зависимого класса.

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

К онцептуальная диаграмма классов для системы POST.

Д иаграмма классов для варианта использования Покупка товара:

2.10Диаграммы состояний – statechart diagrams

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

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

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

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

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

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

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

П ростейший пример диаграммы состояния для понятия компьютер: