Чтение онлайн

на главную - закладки

Жанры

Информационные системы

Петров Владимир Николаевич

Шрифт:

Рис. 3.10. Графическое изображение отношения ассоциации.


Пример на рисунке означает, что клиент делает покупки. При этом любой покупатель может купить любой товар или не купить никакой, и любой товар может быть продан любому покупателю или не быть купленным никем.

Отношение ассоциации может связывать большее количество классов (N-арная ассоциация). На диаграмме классов такая ассоциация изображается ромбом (рис. 3.11).

Рис. 3.11. N-арная ассоциация.


Приведенная ассоциация указывает, что покупатель

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

Частными случаями отношений ассоциации являются исключающая ассоциация, агрегация и композиция:

– исключающая ассоциация (xor-association) указывает на возможность связи определенного класса только с одним из нескольких классов (рис. 3.12);

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

Примечание.

Не все языки программирования поддерживают такие конструкции.

Рис. 3.12. Графическое изображение исключающей ассоциации.


Рис. 3.13. Графическое изображение отношения агрегации.


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

Рис. 3.14. Графическое изображение отношения композиции.


• Отношение обобщения (generalization relationship) показывает, что компонент (пользователь или прецедент) является частным случаем другого компонента. Графически это отношение обозначается непрерывной стрелкой от частного к общему (рис. 3.15). Отношениями обобщения иллюстрируется наследование классов.

Рис. 3.15. Графическое изображение отношения обобщения.


В приведенном примере класс Рыбные консервы наследует свойства и методы более общего класса Товар. Язык UML является средством документирования и иллюстрирования удачных идей и решений в области проектирования информационных систем. Так, диаграмма, представленная на рис. 3.16, выражает идею множественного наследования, реализованную в некоторых языках программирования.

Рис. 3.16. Множественное наследование.


Классы Рыбные консервы и Тушенка наследуют свойства и методы более общих классов Товар и Консервы, в то же время они наследуют соответственно свойства и методы классов Рыба и Мясо (последние принято называть «примесными классами»). Такое решение может значительно упростить процесс разработки информационной системы, сделать ее более устойчивой

к вносимым изменениям за счет сокращения избыточности и локализации общих структур.

Примечание.

Множественное наследование классов реализовано далеко не во всех языках программирования. В языке С++ наследование поддерживается, в языке Object Pascal – нет. Отказ от поддержания множественного наследования обусловлен возможностью возникновения ситуации, когда два или несколько классов, имея единого предка, по-разному реализуют одноименный метод, поэтому при множественном наследовании возникнет проблема выбора той или иной реализации метода (рис. 3.17), которую придется разрешать «вручную» (как это делается в С++).

Рис. 3.17. Проблема множественного наследования классов.


• Отношение обобщения может содержать поясняющий его идентификатор:

– {complete} – на диаграмме показаны все классы-потомки;

– {incomplete} – на диаграмме указаны не все классы-потомки;

– {disjoint} – множественное наследование не допускается;

– {overlapping} – множественное наследование допускается.

Помимо классов на диаграммах классов могут присутствовать интерфейсы, объекты (экземпляры классов) и параметризированные классы (метаклассы, шаблоны).

Интерфейс на диаграмме классов показывается прямоугольником с двумя секциями (рис. 3.18, а). В первой записывается имя интерфейса, ключевое слово «interface» и служебная информация. Вторая секция предназначена для записи методов интерфейса.

Рис. 3.18. Графическое изображение интерфейса и объекта на диаграмме классов.


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

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

Рис. 3.19. Графическое изображение метакласса.


В примере на рис. 3.19, б метакласс может служить основой для создания классов Счет в рублях, Счет в долларах США, Счет в евро или Мультивалютный счет.


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

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

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

Поделиться:
Популярные книги

Возвышение Меркурия. Книга 15

Кронос Александр
15. Меркурий
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 15

Хозяйка лавандовой долины

Скор Элен
2. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Хозяйка лавандовой долины

Имя нам Легион. Том 5

Дорничев Дмитрий
5. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 5

Белые погоны

Лисина Александра
3. Гибрид
Фантастика:
фэнтези
попаданцы
технофэнтези
аниме
5.00
рейтинг книги
Белые погоны

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

Сколько стоит любовь

Завгородняя Анна Александровна
Любовные романы:
любовно-фантастические романы
6.22
рейтинг книги
Сколько стоит любовь

Черный маг императора 2

Герда Александр
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Черный маг императора 2

Адвокат Империи 3

Карелин Сергей Витальевич
3. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Адвокат Империи 3

Господин моих ночей (Дилогия)

Ардова Алиса
Маги Лагора
Любовные романы:
любовно-фантастические романы
6.14
рейтинг книги
Господин моих ночей (Дилогия)

Черный Маг Императора 4

Герда Александр
4. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 4

Комендант некромантской общаги 2

Леденцовская Анна
2. Мир
Фантастика:
юмористическая фантастика
7.77
рейтинг книги
Комендант некромантской общаги 2

Война

Валериев Игорь
7. Ермак
Фантастика:
боевая фантастика
альтернативная история
5.25
рейтинг книги
Война

Надуй щеки! Том 7

Вишневский Сергей Викторович
7. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки! Том 7

Командир Красной Армии

Поселягин Владимир Геннадьевич
1. Командир Красной Армии
Фантастика:
попаданцы
8.72
рейтинг книги
Командир Красной Армии