Статические модели объектно-ориентированного представления программных систем



- Статические моделиобеспечивают представление структуры систем в терминах базовых строительных блоков и отношений между ними. «Статичность» этих моделей состоит в том, что здесь не показывается динамика изменений системы во времени. Вместе с тем следует понимать, что эти модели несут в себе не только структурные описания, но и описания операций, реализующих заданное поведение системы.

-      Диаграмма классов, пример

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

– ассоциации (например, клиент может сделать заказ);

– подтипы (частный клиент является разновидностью клиента).

 

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

 

- Отношения в диаграммах классов

В UML’е представлены следующие виды отношений:

Ассоциации

Ассоциация показывает, что объекты одной сущности связаны с объектами другой сущности.

Существует пять различных типов ассоциации. Наиболее распространёнными являются двунаправленная и однонаправленная. Например, классы «рейс» и «самолёт» связаны двунаправленной ассоциацией, а классы «человек» и «кофейный автомат» связаны однонаправленной.

Ассоциация может быть именованной, и тогда на концах представляющей её линии будут подписаны роли, принадлежности, индикаторы, мультипликаторы, видимости или другие свойства.

Агрегация — это разновидность ассоциации при отношении между целым и его частями. Одно отношение агрегации не может включать более двух классов.

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

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

Композиция — более строгий вариант агрегации. Известна также как агрегация по значению.

Композиция имеет жёсткую зависимость времени существования экземпляров класса контейнера и экземпляров содержащихся классов. Если контейнер будет уничтожен, то всё его содержимое будет также уничтожено.

Графически представляется как и агрегация, но с закрашенным ромбиком.

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

Обобщение показывает, что один из двух связанных классов является частной формой другого, который называется обобщением первого. На практике это означает, что любой экземпляр подтипа является также экземпляром надтипа. Например: животные — супертип млекопитающих, которые, в свою очередь, — супертип приматов, и так далее. Графически обобщение представляется линией с пустым треугольником у супертипа.

Реализация -отношение между двумя элементами модели, в котором один элемент реализует поведение, заданное другим. Графически реализация представляется также как и наследование, но с пунктирной линией.

Зависимость— это слабая форма отношения использования, при котором изменение в спецификации одного влечёт за собой изменение другого, причем обратное не обязательно. Возникает когда объект выступает например в форме параметра или локальной переменной.

Графически представляется пунктирной стрелкой, идущей от зависимого элемента к тому, от которого он зависит.

- Деревья наследования;Наследование — это отношение, при котором один класс разделяет структуру и поведение, определенные в одном другом (простое наследование) или во многих других (множественное наследование) классах.

 


Дата добавления: 2018-02-15; просмотров: 934; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!