Поток ошибок Е1 - ошибка в заказе.
1. пациент, обнаружив ошибку в сумме или в выполненном заказе, сообщает о ней менеджеру.
2. менеджер проверяет информацию полученную от клиента.
3. менеджер производит корректировку.
4. исправленный чек(квитанция) или заказ предоставляются клиенту на рассмотрение.
5. прецедент завершается.
Вторым видом диаграммы взаимодействия является кооперативная диаграмма. Подобно диаграммам последовательности, кооперативные диаграммы отображают поток событий через конкретный сценарий варианта использования. Диаграммы последовательности упорядочены по времени, а кооперативные диаграммы заостряют внимание на связях между объектами. Она по-другому описывает поток событий. Из нее легче понять связи между объектами, однако труднее уяснить последовательность событий. По этой причине часто для какого-либо сценария создают диаграммы обоих типов.
Диаграммы классов
Диаграммы классов описывают типы объектов системы и различного рода статистические связи. На диаграммах классов изображаются атрибуты, операции и ограничения, которые накладываются на связи между объектами.
Атрибут - это элемент информации, связанный с классом.
Операции представляют собой процессы, реализуемые некоторым классом Операции реализуют связанное с классом поведение. Операция включает три части - имя, параметры и тип возвращаемого значения. Параметры - это аргументы, получаемые операцией «на входе». Тип возвращаемого значения относится к результату действия операции.
Связь - семантическая взаимосвязь между классами. Чтобы один класс мог послать сообщение другому на диаграмме взаимодействия должна существовать связь.
Ассоциации (association) - отношения между экземплярами классов.
Стрелки - навигации. Могут быть однонаправленные и двунаправленные.
Зависимости (dependency) также отражают связь между классами, но они всегда однонаправлены и показывают, что один класс зависит от определений, сделанных в другом. Зависимости изображают в виде стрелки, проведенной пунктирной линией
Агрегации (aggregations) представляют собой более тесную форму ассоциации. Агрегация - это связь между целым и его частью.
Стереотипы - это механизм, позволяющий разделять классы на категории. В языке UML основными стереотипами являются: Boundary (граница), Entity (сущность) и Control (управление).
Граничные классы (boundary classes) - это классы, которые расположены на границе системы и окружающей среды. Они включают все формы, отчеты, интерфейсы с аппаратурой (такой, как принтеры или сканеры) и интерфейсы с другими системами.
Классы-сущности (entity classes) отражают основные понятия (абстракции) предметной области и, как правило, содержат хранимую информацию. Обычно для каждого класса-сущности создают таблицу в базе данных.
Управляющие классы (control classes) отвечают за координацию действий других классов. Обычно у каждого варианта использования имеется один управляющий класс, контролирующий последовательность событий этого варианта использования. Управляющий класс отвечает за координацию, но сам не несет в себе никакой функциональности - остальные классы не посылают ему большого количества сообщений. Вместо этого он сам посылает множество сообщений. Управляющий класс просто делегирует ответственность другим классам, по этой причине его часто называют классом-менеджером.
Диаграммы пакетов можно считать основным средством управления общей структурой системы.
Диаграммы компонентов (component diagram) показывают различные компоненты системы и зависимости между ними. Компонент представляет собой физический компонент программного кода. Зависимости между компонентами показывают как изменения одного компонента могут повлиять на другой.
Диаграммы размещения (deployment diagram) отражают физические зависимости между программными и аппаратными компонентами разрабатываемой системы Показывает размещение объектов и компонентов в распределенной системе. Каждый узел представляет собой некоторый тип вычислительного устройства.
Пример диаграммы классов для рекламного агентства