Презентационые материалы к Лекции #6

advertisement
Лекция 5
Спецификация
состояний(моделирование
отношений агрегации и
композиции, моделирование
отношений обобщения,
моделирование объектов).
Агрегация и композиция


Агрегация (aggregation) — это отношение вида часть целое
между классом, который представляет собрание компонент
(класс супермножество (superset class)), и классами,
представляющими компоненты (классы подмножества
(subset class)). Класс супермножество содержит один или
более классов подмножеств.
Композиция обладает дополнительным свойством
зависимость по существованию (existence dependency).
Объект класса подмножества не может существовать в
отсутствие связи с объектом класса супермножества.
Агрегация – особый случай
ассоциации
Она обладает рядом свойств:
• Транзитивность
• Асиметрия
Транзитивность означает, что если класс А
содержит класс В, а класс В содержит
класс С, то класс А содержит класс С.
Асимметрия означает, что если А
содержит В, то В не может содержать А.
Графическая нотация агрегации и
композиции
Пример спецификации агрегации и
композиции
Моделирование отношения
агрегации и композиции
Моделирующая способность языка UML
значительно усилилась, если бы язык
поддерживал четыре возможных семантики для
агрегации:
1.
Агрегация типа “Безраздельно обладает”.
2.
Агрегация типа “Обладает”.
3.
Агрегация типа “Включает”.
4.
Агрегация типа “Участник”.
Агрегация типа Безраздельно
обладает устанавливает следующее:




между компонентными классами и их
составными классами установлено отношение
зависимости по существованию (следовательно,
удаление составного объекта распространяется
вниз по иерархии отношения, так что связанные
компонентные объекты также удаляются);
агрегация транзитивна
агрегация асимметрична (нерефлексивна)
агрегация стационарна
Агрегация типа Обладает
поддерживает свойства



„зависимость существований;
„транзитивность;
„асимметричность.
Агрегация типа
Включает поддерживает следующие
свойства


транзитивность;
„асимметричность.
Агрегация типа Участник обладает
свойствами
Агрегация типа Участник обладает
свойством целенаправленного
группирования независимых объектов —
группирования, при котором не делается
предположений относительно свойства
зависимости по существованию,
транзитивности, асимметричности или
стационарности.
Выявление агрегаций и композиций

При объяснении отношения агрегации
лакмусовой бумажкой выступают фразы
“включает” (“has”) и “является частью” (“is
part of”).
Обобщение

Обобщение (generalization) представляет
собой видовое отношение между более
общим классом (суперкласс или
родительский класс) и более
специфическим видом класса (подкласс
или дочерний класс). Подкласс является
видом суперкласса. Там, где допустимо
использование суперкласса, может
использоваться и объект подкласса.
Графическая нотация обобщения
Цели обобщения
1.
2.
3.
Наследование
Полиморфизм
Подставимость
Выявление обобщений

При поиске отношения обобщения
лакмусовой бумажкой выступают фразы
может быть” (“can be”) и “это нечто вроде”
(“is a kind of”). При истолковании
отношения
Моделирование объектов
Моделирование касается проблем
определения систем. Модель — это не
действующая система, и поэтому она не
отражает объектов экземпляров.
Тем не менее, при моделировании классов
часто представляются объекты и
рассматриваются трудные сценарии с
использованием примеров объектов.
Объект
Объект — это экземпляр (instance) некоей
“сущности”. Он может быть одним из
множества экземпляров одной и той же
“сущности”.
Графическая нотация объектов
Кооперирование объектов
Пример спецификации объектов
Download