![](/user_photo/1549_7W_y5.jpg)
- •Метрики объектно-ориентированных программных систем
- •Метрические особенности объектно-ориентированных программных систем
- •9. Языка uml. Назн. И эл-ты диаграммы вариантов использования.
- •15. Языка uml. Назначение и элементы диаграммы развертывания.
- •Структурные паттерны. “Facade”. “Flyweight”.
- •Iterator (итератор)
- •Interpreter (Интерпритатор)
- •Visitor (Посетитель)
- •Паттерны поведения. “Observer”. “State”.
- •Назначение и обл. Применения агентно-ориентированной методологии.
- •41. Проектирование распределенных систем. Corba, com, dcom и др.
9. Языка uml. Назн. И эл-ты диаграммы вариантов использования.
Цели:
определить
общие границы и контекст моделируемой
предметной области на начальных этапах
проектирования; определить общие
требования к функциональному поведению
проектируемой системы; разработать
исходную концептуальную модель системы
для ее последующей детализации в форме
логических и физических моделей;
подготовить исходную документацию для
взаимодействия разработчиков системы
с ее заказчиком и пользователями.
Виды
отношений:
UML. Назначение и элементы диаграммы последовательности.
Sequence
diagram
– диаграмма показывающая взаимодействие
объектов, упорядоченные по времени их
появления.
Диаграмма
последовательности – одна из диаграмм
кооперации. Смотри начало следующего
вопроса
Языка UML. Назначение и элементы диаграммы кооперации.
Диаграмма взаимодействий (Interaction diagram) описывает взаимодействия, состоящие из множества объектов и отношений между ними, включая сообщения, которыми они обмениваются. Диаграммой последовательностей (Sequence diagram) называется диаграмма взаимодействий, акцентирующая внимание на временной упорядоченности сообщений. Графически такая диаграмма представляет собой таблицу, объекты в которой располагаются вдоль оси X, а сообщения в порядке возрастания времени - вдоль оси Y. Диаграммой кооперации (Collaboration diagram) называется диаграмма взаимодействий, основное внимание в которой уделяется структурной организации объектов, принимающих и отправляющих сообщения. Графически такая диаграмма представляет собой граф из вершин и ребер.
Диаграмма
кооперации акцентирует внимание на
организации объектов, принимающие
участие во взаимодействии. Как показано
на рисунке, для создания диаграммы
кооперации нужно расположить участвующие
во взаимодействии объекта в виде вершин
графа. Затем связи, соединяющие эти
объекты, изображаются в вид дуг этого
графа. Наконец, связи дополняются
сообщениями, которые объекты принимают
и посылают. Это дает пользователю ясное
визуальное представление о потоке
управления в контексте структурной
организации кооперирующихся объектов.
У диаграмм кооперации есть два свойства, которые отличают их от диаграмм последовательностей.
Первое - это путь. Для описания связи одного объекта с другим к дальней концевой точке этой связи можно присоединить стереотип пути (например, local показывающий, что помеченный объект является локальным по отношению к от правителю сообщения). Имеет смысл явным образом изображать путь связи только в отношении путей типа local, parameter, global и self (но не associations).
Второе свойство - это порядковый номер сообщения. Для обозначения временной последовательности перед сообщением можно поставить номер (нумерация начинается с единицы), который должен постепенно возрастать для каждого нового сообщения (2, 3 и т.д.). Для обозначения вложенности используется десятичная нотация Дьюи (1 - первое сообщение; 1.1 - первое сообщение, вложенное в сообщение 1; 1.2- второе сообщение, вложенное в сообщение 1 и т.д.). Уровень вложенности не ограничен. Для каждой связи можно показать несколько сообщений (вероятно, посылаемых разными отправителями), и каждое из них должно иметь уникальный порядковый номер.
Языка UML. Назначение и элементы диаграммы состояний.
State
diagram
представляет
собой конечный автомат для спецификации
поведения объекта в форме последовательности
его состояний. Диаграмма описывает
реакцию объекта на внеш. события,
выполнение объектом действий, а также
изменение его свойств.
Пример:
Переход - это отношение
между двумя состояниями, показывающее,
что объект, находящийся в первом
состоянии, должен выполнить определенные
действия и перейти во второе состояние,
как только произойдет указанное событие
и будут удовлетворены указанные условия.
Языка UML. Назначение и элементы диаграммы деятельности.
Диаграмма деятельности (Activity diagram) показывает поток переходов от одной деятельности к другой. Деятельность (Activity) - это продолжающийся во времени неатомарный шаг вычислений в автомате. Деятельности в конечном счете приводят к выполнению некоего действия (Action, см. главу 15), составленного из выполняемых атомарных вычислений, каждое из которых либо изменяет состояние системы, либо возвращает какое-то значение. Действие может заключаться в вызове другой операции, посылке сигнала, создании или уничтожении объекта либо в простом вычислении - скажем, значения выражения. Графически диаграмма деятельности представляется в виде графа, имеющего вершины и ребра.
Представление
деятельности
является вариантом конечного автомата,
в котором показаны длительные
вычислительные деятельности.
Деятельность представляет собой поток работ или выполнение операций. Представление деятельности отображает как последовательные, так и параллельные виды деятельности. Изображаются такие модели на диаграммах деятельности.
На рисунке изображена диаграмма деятельности для нашей театральной кассы. На ней показан весь спектр различных видов театральной деятельности по подготовке конкретного представления (если у вас есть опыт работы в театре, не принимайте наш пример слишком буквально!). Стрелками на диаграмме показаны последовательные зависимости. Например, конкретную постановку можно выбрать из ряда других еще до того, как станет известно, когда она состоится. Жирной чертой отмечены места разделения или соединения потоков управления. Уже после того, как составлено расписание постановок, театр может начать рекламировать какую-либо одну из них, покупать для нее сценарии и музыку, нанимать актеров, работать над освещением, костюмами, причем делать все это можно одновременно. Впрочем, до начала репетиций театр должен будет выбрать сценарий и нанять актеров. Диаграмма деятельности отражает реальные потоки работ в человеческой организации. Такое бизнес-моделирование и есть основное ее назначение. С таким же успехом ее можно использовать и при моделировании работы программного приложения.
Диаграмма деятельности может оказаться полезной и для понимания поведения системы. При ее использовании не нужно указывать детали реализации, такие, например, как сообщения, которыми обмениваются объекты и которые необходимо отображать на диаграмме кооперации.
Диаграмма деятельности, собственно, представляет собой проекцию элементов, присутствующих в графе деятельности, - разновидности автомата, в которой все или большинство состояний - это состояния деятельности, а все или большинство переходов обусловлены завершением деятельности в состоянии-источнике. Поскольку диаграмма деятельности - это автомат, то к ней применимы все характеристики автоматов. Это означает, в частности, что диаграмма деятельности может содержать простые и составные состояния, точки ветвления, разделения и слияния.
Диаграмма деятельности, как и любая другая диаграмма, может содержать примечания и ограничения.
.
12
1212
1212
12
Языка UML. Назначение и элементы диаграммы компонентов
Все предыдущие представления модели являли собой чисто логические построения. В отличие от них физическое представление отражает структуру реализации программного приложения, включая разбиение программы на компоненты и развертывание ее на аппаратных узлах. С помощью него можно указывать отображение классов на компоненты реализации и узлы, на которых устанавливается система.
Существует два физических представления: представление реализации и представление развертывания.
Представление реализации показывает, какие компоненты есть в данной системе и какие между ними существуют зависимости.
Компонентами системы мы называем отдельные программные блоки, из которых состоит вся система. Понимание зависимостей между компонентами дает возможность отслеживать на модели результаты изменений в отдельных компонентах. Помимо того, в этом представлении модели иногда указывается, с какими классами и элементами связан конкретный компонент.
Представление
реализации изображается на диаграмме
компонентов.На
рисунке изображена диаграмма компонентов
для системы продажи
театральных билетов. Вы видите здесь
три пользовательских интерфейса:
по одному для клиента, покупающего билет
в киоске, кассира,
работающего с системой бронирования
билетов в реальном времени, и для
начальника, запрашивающего результаты
продаж билетов.
Кроме того, на этой диаграмме вы найдете три компонента: компонент продажи билетов, который координирует запросы, поступающие от театральных киосков и кассиров; компонент, обрабатывающий операции по снятию денег с кредитных карт, и, наконец, база данных с информацией о билетах. Таким образом, на диаграмме нашли отражение все виды компонентов системы. Некоторые конфигурации приложения могут допускать наличие в программе нескольких копий компонента.
Маленький именованный кружок на диаграмме изображает интерфейс, то есть некий набор связанных друг с другом услуг. Непрерывная линия, идущая от компонента к кружку-интерфейсу, указывает на то, что данный компонент обеспечивает работу интерфейса (иными словами, компонент реализует интерфейс, далее он обозначается как Клиент). Если же от компонента к интерфейсу идет пунктирная стрелка, это означает, что компонент требует для своей работы наличия доступа к данному интерфейсу. Например, компонент продажи билетов обеспечивает как продажи абонементов, так и групповые продажи билетов. Однако абонемент можно купить как в Киоске, так и у Кассира в театре, тогда как групповыми продажами занимается только Кассир.
15