Файл: Конспект лекций для студентов специальности i 53 01 07 Информационные технологии и управление в технических системах.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.12.2023
Просмотров: 109
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
28
(рис. 17), при котором объект специализированного элемента (потомок) может быть подставлен вместо объекта обобщенного элемента (родителя или предка).
Таким образом, потомок (Child) наследует структуру и поведение своего родителя (Parent).
Рис. 17 Обобщение
Наконец,
реализация
(Realization)
– это отношение между классификаторами, при котором один классификатор определяет “контракт”, а другой гарантирует его выполнение (рис. 18).
Рис. 18 Реализация
Отношения реализации встречаются в двух случаях: во-первых, между интерфейсами и реализующими их классами или компонентами, а во-вторых,
между прецедентами и реализующими их кооперациями.
1.2 Диаграммы
Диаграмма в UML – это графическое представление набора элементов,
изображаемое в виде связанного графа с вершинами (сущностями) и ребрами
(отношениями), используемое для визуализации системы с разных точек зрения.
В UML выделяют 8 типов диаграмм (рис. 19).
29
Рис. 19 Интегрированная модель сложной системы в нотации UML
На диаграмме классов (Class diagram) изображаются классы, интерфейсы,
объекты и кооперации, а также их отношения. Используется при моделировании объектно-ориентированных систем.
На диаграмме вариантов использования (Use case diagram) представлены прецеденты и актеры (частный случай классов), а также отношения между ними.
Они используются при моделировании поведения системы.
Диаграммы последовательностей (Sequence diagram) и кооперации
(Collaboration diagram) являются частными случаями диаграмм взаимодействия.
На диаграммах взаимодействия представлены связи между объектами
(сообщения, которыми объекты могут обмениваться). Диаграммы взаимодействия относятся к динамическому виду системы. При этом диаграммы последовательности отражают временную упорядоченность сообщений, а диаграммы кооперации
– структурную организацию обменивающихся сообщениями объектов. Эти диаграммы могут быть преобразованы друг в друга.
На диаграммах состояний (Statechart diagrams) представлен автомат,
включающий состояния, переходы, события и виды действий. Диаграммы состояний используются при моделировании поведения интерфейса, класса или кооперации, зависящем от последовательности событий.
Диаграмма деятельности (Activity diagram) представляют переходы потока управления между объектами от одной деятельности к другой внутри системы.
Диаграмма компонентов (Component diagram) представляет зависимости между компонентами. Диаграммы компонентов отображаются на один или несколько классов, интерфейсов или коопераций.
На
диаграмме развертывания
(Deployment diagram) представлена конфигурация обрабатывающих узлов системы и размещенных в них компонентов.
30
2 Диаграммы вариантов использования (use case diagram)
На диаграммах вариантов использования отображается взаимодействие между вариантами использования, представляющими функции системы, и действующими лицами, представляющими людей или системы, получающие или передающие информацию в данную систему. Из диаграмм вариантов использования можно получить довольно много информации о системе. Этот тип диаграмм описывает общую функциональность системы. Пользователи,
менеджеры проектов, аналитики, разработчики, специалисты по контролю качества и все, кого интересует система в целом, могут, изучая диаграммы вариантов использования, понять, что система должна делать.
2.1 Базовые элементы диаграммы вариантов использования
К базовым элементам рассматриваемой диаграммы относятся вариант
использования, актер и интерфейс.
Вариант использования (рис. 20) применяется для спецификации общих особенностей поведения системы или другой сущности без рассмотрения ее внутренней структуры (например, оформление заказа на покупку товара,
получение информации о кредитоспособности клиента, отображение графической формы на экране монитора).
Рис. 20 Графическое обозначение варианта использования
Актер – это внешняя по отношению к моделируемой системе сущность,
которая взаимодействует с системой и использует ее функциональные возможности для решения определенных задач (рис. 21). При этом актеры служат для обозначения согласованного множества ролей, которые могут играть пользователи в процессе взаимодействия с проектируемой системой.
Рис. 21 Графическое обозначение актера
Имя актера должно быть достаточно информативным с точки зрения семантики, например клиент банка, продавец магазина, пассажир авиарейса,
водитель автомобиля, сотовый телефон.
Так как в общем случае актер всегда находится вне системы, его внутренняя структура никак не определяется. Для актера имеет значение только его внешнее представление, т.е. то, как он воспринимается со стороны системы.
Актеры взаимодействуют с системой посредством передачи и приема сообщений от вариантов использования. Сообщение представляет собой запрос актером
31
сервиса от системы и получение этого сервиса. Это взаимодействие может быть выражено посредством ассоциаций между отдельными актерами и вариантами использования или классами. Кроме этого, с актерами могут быть связаны интерфейсы, которые определяют, каким образом другие элементы модели взаимодействуют с этими актерами.
Интерфейс служит для спецификации параметров модели, которые видимы извне без указания их внутренней структуры (рис. 22). В диаграммах вариантов использования интерфейсы определяют совокупность операций,
обеспечивающих необходимый набор сервисов или функциональности для актеров. Интерфейсы не могут содержать ни атрибутов, ни состояний, ни направленных ассоциаций. Они содержат только операции без указания особенностей их реализации. Формально интерфейс эквивалентен абстрактному классу без атрибутов и методов с наличием только абстрактных операций.
Рис. 22 Графическое изображение интерфейсов на диаграммах вариантов использования
Интерфейс соединяется с вариантом использования сплошной линией,
если он реализует все операции, необходимые для данного интерфейса
(рис. 23, а). Если же вариант использования определяет только тот сервис,
который необходим для реализации данного интерфейса, используется пунктирная стрелка (рис. 23, б).
Рис. 23 Графическое изображение взаимосвязей интерфейсов с вариантами использования а) реализация всех операций, б) реализация только необходимого сервиса
Важность интерфейсов заключается в том, что они определяют стыковочные узлы в проектируемой системе, что совершенно необходимо для организации коллективной работы над проектом. Более того, спецификация интерфейсов способствует “безболезненной” модификации уже существующей системы при переходе на новые технологические решения. В этом случае изменению подвергается только реализация операций, но никак не функциональность самой системы. А это обеспечивает совместимость последующих версий программ с первоначальными при спиральной технологии разработки программных систем.
Примечания в языке UML предназначены для включения в модель
32
произвольной текстовой информации, имеющей непосредственное отношение к контексту разрабатываемого проекта (рис. 24). В качестве такой информации могут быть комментарии разработчика (например, дата и версия разработки диаграммы или ее отдельных компонентов), ограничения (например, на значения отдельных связей или экземпляры сущностей) и помеченные значения.
Рис. 24 Примеры примечаний в языке UML
Применительно к диаграммам вариантов использования примечание может носить самую общую информацию, относящуюся к общему контексту системы.
2.2 Отношения на диаграмме вариантов использования
Для выражения отношений между актерами и вариантами использования применяются стандартные виды отношений, описаные в разделе 1.2.
Отношение ассоциации применительно к диаграммам вариантов использования служит для обозначения специфической роли актера в отдельном варианте использования (рис. 25). Другими словами, ассоциация определяет семантические особенности взаимодействия актеров и вариантов использования в графической модели системы. Таким образом, это отношение устанавливает,
какую конкретную роль играет актер при взаимодействии с экземпляром варианта использования. Графическое обозначение отношения ассоциации может включать дополнительные условные обозначения (имя и кратность).
Рис. 25 Отношение ассоциации между актером и вариантом использования
Отношение расширения между вариантами использования обозначается пунктирной линией со стрелкой (вариант отношения зависимости),
направленной от того варианта использования, который является расширением для исходного варианта использования. Данная линия со стрелкой помечается ключевым словом “extend” (“расширяет”), как показано на рис. 26.
33
Рис. 26 Отношение расширения между вариантами использования
Отношение расширения отмечает тот факт, что один из вариантов использования может присоединять к своему поведению некоторое дополнительное поведение, определенное для другого варианта использования.
Отношение обобщения графически обозначается сплошной линией со стрелкой, которая указывает на родительский вариант использования (рис. 27).
Рис. 27 Отношение обобщения между вариантами использования
Отношение обобщения между вариантами использования применяется в том случае, когда необходимо отметить, что дочерние варианты использования обладают всеми атрибутами и особенностями поведения родительских вариантов. При этом дочерние варианты использования участвуют во всех отношениях родительских вариантов. В свою очередь, дочерние варианты могут наделяться новыми свойствами поведения, которые отсутствуют у родительских вариантов использования, а также уточнять или модифицировать наследуемые от них свойства поведения.
Отношение включения между двумя вариантами использования указывает,
что поведение одного варианта использования включается в качестве составного компонента в последовательность поведения другого варианта использования.
Графически данное отношение обозначается пунктирной линией со стрелкой
(вариант отношения зависимости), направленной от базового варианта использования к включаемому. При этом данная линия со стрелкой помечается ключевым словом “include” (“включает”), как показано на рис. 28.
Рис. 28 Отношение включения между вариантами использования
При моделировании возникает необходимость в указании количества объектов, связанных посредством одного экземпляра ассоциации. Это число называется кратностью (Multiplicity) роли ассоциации и записывается либо как выражение, значением которого является диапазон значений, либо в явном виде
(рис. 29). Кратность указывает на то, столько объектов должно соответствовать каждому объекту на противоположном конце. Кратность можно задать равной единице (1), указать диапазон: “ноль или единица” (0..1), “много” (0..*),
“единица или больше” (1..*). Разрешается также указывать определенное число
(например, 3).
34
Рис. 29 Кратность
2.3 Пример диаграммы вариантов использования
Рассмотрим диаграмму вариантов использования отражающую систему работы банковского автомата (Automated Teller Machine, ATM) (рис. 30).
Рис. 30 Диаграмма вариантов использования для ATM
Клиент банка инициирует различные варианты использования: снять деньги со счета, перевести деньги, положить деньги на счет, Показать баланс,
изменить идентификационный номер, произвести оплату. Банковский служащий может инициировать вариант использования "Изменить идентификационный номер". Действующими лицами могут быть и внешние системы, в данном случае кредитная система показана именно как действующее лицо – она является внешней для системы ATM. Стрелка, направленная от варианта использования к действующему лицу, показывает, что вариант использования предоставляет некоторую информацию действующему лицу. В данном случае вариант использования "Произвести оплату" предоставляет кредитной системе информацию об оплате по кредитной карточке.
3 Диаграммы последовательности (sequence diagram)
Для моделирования взаимодействия объектов в языке UML используются соответствующие диаграммы взаимодействия. При этом учитываются два аспекта: во-первых, взаимодействия объектов можно рассматривать во времени,
и тогда для представления временных особенностей передачи и приема сообщений между объектами используется диаграмма последовательности. Во- вторых, можно рассматривать структурные особенности взаимодействия
35
объектов. Для представления структурных особенностей передачи и приема сообщений между объектами используется диаграмма кооперации.
3.1 Объекты диаграммы последовательности
Диаграммы последовательности отражают поток событий, происходящих в рамках варианта использования. На этих диаграммах изображаются только те объекты, которые непосредственно участвуют во взаимодействии т.к. ключевым моментом является именно динамика взаимодействия объектов во времени и не используются возможные статические ассоциации с другими объектами. При этом диаграмма последовательности имеет два измерения (рис. 31). Одно – слева направо в виде вертикальных линий, каждая из которых изображает линию жизни отдельного объекта, участвующего во взаимодействии. Второе измерение – вертикальная временная ось, направленная сверху вниз. При этом взаимодействия объектов реализуются посредством сообщений, которые посылаются одними объектами другим. Сообщения изображаются в виде горизонтальных стрелок с именем сообщения и также образуют порядок по времени своего возникновения. Другими словами, сообщения, расположенные на диаграмме последовательности выше, инициируются раньше тех, которые расположены ниже.
Рис. 31 Графические примитивы диаграммы последовательности
Линия жизни объекта (object lifeline) изображается пунктирной вертикальной линией, ассоциированной с единственным объектом на диаграмме последовательности. Линия жизни служит для обозначения периода времени, в течение которого объект существует в системе и, следовательно, может потенциально участвовать во всех ее взаимодействиях. Если объект существует в системе постоянно, то его линия жизни должна начинаться в верхней части диаграммы и заканчиваться в нижней части (объекты 1 и 2 на рис. 31).
Отдельные объекты, выполнив свою роль в системе, могут быть уничтожены,
чтобы освободить занимаемые ими ресурсы. Для обозначения момента