Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПО 2 семестр.doc
Скачиваний:
40
Добавлен:
23.09.2019
Размер:
3.74 Mб
Скачать
  1. Определение отношений между объектами: диаграмма кооперации (collaboration diagrams) – обозначение объектов и потоков данных, варианты реализации сценария.

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

- на уровне спецификации;

- на уровне примеров.

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

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

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

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

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

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

Отношение ассоциации означает наличие связи между экземплярами классов или объектами, например, класс Студент ассоциирован с классом Институт. Ассоциация может иметь имя, например, Обучается. Рядом с именем ассоциации обычно ставят стрелку, указывающую направление чтения имени («Студент обучается в институте», а не наоборот).

На этапе проектирования помимо ассоциации и обобщения различают ещё 2 типа отношения между классами – агрегацию и композицию.

Агрегацией называют ассоциацию между целым и его частью или частями. Агрегацию вместо ассоциации указывают, если отношение «целое-часть» в конкретном случае существенно.

Композиция – боле сильная разновидность агрегации, которая подразумевает, что объект-часть может принадлежать только единственному целому. Объект часть при этом создаётся и уничтожается только вместе со своим целым.

а - агрегация б - композиция

Проектирование классов предполагает окончательное определение структуры и поведения его объектов. Структура объектов определяется совокупностью атрибутов и операций класса. Каждый атрибут – это поле или совокупность полей данных, содержащихся в объекте класса.

Поведение объектов класса определяется реализуемыми обязанностями. Обязанности выполняются посредством операций класса.

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

UML также включает специальную нотацию для обозначения параметризованных классов или шаблонов. Получение из такого класса, класса с конкретными типами элементов называют связыванием. Связывание можно обозначить двумя способами: явно указав тип параметра и используя условное обозначение уточнения.

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