Лекции в виде ответов на вопросы (1037797), страница 3
Текст из файла (страница 3)
ОТНОШЕНИЯ НА ДИАГРАММЕ ПРЕЦЕДЕНТОВ
12. Язык UML. Диаграмма классов. Вид диаграммы. Назначение диаграммы.
ПРИМЕНЕНИЕ ДИАГРАММЫ КЛАССОВ
-
моделирования словаря системы. Моделирование словаря системы предполагает принятие решения о том, какие абстракции являются частью системы, а какие - нет
-
моделирования простых коопераций. Кооперация - это сообщество классов, интерфейсов и других элементов, работающих совместно для обеспечения некоторого кооперативного поведения, более значимого, чем сумма составляющих его элементов
-
визуализировать и специфицировать классы и отношения между ними
-
моделирование логической схемы базы данных
На диаграмме классов показывают классы, интерфейсы, объекты и кооперации, а также их отношения. При моделировании объектно-ориентированных систем этот тип диаграмм используют чаще всего. Диаграммы классов соответствуют статическому виду системы с точки зрения проектирования. Диаграммы классов, которые включают активные классы, соответствуют статическому виду системы с точки зрения процессов.
В диаграмме классов существуют следующие отношения:
1) Отношение зависимости
2) Отношение ассоциации
3) Отношение агрегации
4) Отношение обобщения
13. Язык UML. Диаграмма объектов. Вид диаграммы. Назначение диаграммы.
На диаграмме объектов представлены объекты и отношения между ними. Они являются статическими "фотографиями" экземпляров сущностей, показанных на диаграммах классов. Диаграммы объектов, как и диаграммы классов, относятся к статическому виду системы с точки зрения проектирования или процессов, но с расчетом на настоящую или макетную реализацию.
14. Язык UML. Диаграммы взаимодействий. Диаграмма последовательностей. Вид диаграммы. Назначение диаграммы.
-
Диаграмма последовательностей - диаграмма взаимодействий, акцентирующая внимание на временной упорядоченности сообщений
Диаграмма последовательностей (SEQUENCE DIAGRAM).
-
Отображаются только те объекты, которые участвуют во временном взаимодействии
-
Каждый объект имеет линию жизни
-
На линии жизни отражается фокус управления, когда данный объект является активным
-
Объекты обмениваются между собой сообщениями
-
Объекты должны быть соотнесены классам
-
Для моделирования временной упорядоченности потоков управления. С этой целью используют диаграммы последовательностей. При этом внимание акцентируется на передаче сообщений во времени, что бывает особенно полезно для визуализации динамического поведения в контексте прецедентов. Простые итерации и ветвления на диаграммах последовательностей отображать удобнее, чем на диаграммах кооперации;
15. Язык UML. Диаграммы взаимодействий. Диаграмма коопераций. Вид диаграммы. Назначение диаграммы.
Диаграмма коопераций (COLLABORATION DIAGRAM)
Диаграмма коопераций - диаграмма взаимодействий, основное внимание в которой уделяется структурной организации объектов, принимающих и отправляющих сообщения
-
Моделируется структурная организация взаимодействующих объектов
-
Основное – потоки сообщений между объектами
-
Последовательность сообщений задается номером сообщения
-
Сообщения передаются по связям между объектами
Для моделирования структурной организации потоков управления. В этом случае нужны диаграммы кооперации. Основное внимание при этом уделяется моделированию структурных отношений между взаимодействующими экземплярами, вдоль которых передаются сообщения. Для визуализации сложных итераций, ветвлений и параллельных потоков управления диаграммы кооперации подходят лучше, чем диаграммы последовательностей
16. Язык UML. Диаграмма состояний. Вид диаграммы. Назначение диаграммы.
Диаграмма состояний (Statechart diagram) – моделирует динамическое поведение сущностей в виде автоматных схем. Описывают возможные последовательности состояний и переходов.
На диаграммах состояний (Statechart diagrams) представлен автомат, включающий в себя состояния, переходы, события и виды действий. Диаграммы состояний относятся к динамическому виду системы; особенно они важны при моделировании поведения интерфейса, класса или кооперации. Они акцентируют внимание на поведении объекта, зависящем от последовательности событий, что очень полезно для моделирования реактивных систем.
-
Диаграмма состояний показывает автомат, фокусируя внимание на потоке управления от состояния к состоянию.
-
Автомат - описание последовательности состояний, через которые проходит объект на протяжении своего жизненного цикла, реагируя на события, в том числе описание реакций на эти события.
-
Состояние - это ситуация в жизни объекта, протяжении которой он удовлетворяет некоторому условию, осуществляет определенную деятельность или ожидает какого-то события.
-
Событие - это спецификация существенного факта, который происходит во времени и пространстве. В контексте автоматов событие - это стимул, вызывающий срабатывание перехода.
-
Переход - это отношение между двумя состояниями показывающее, что объект, находящийся в первом состоянии, должен выполнять некоторые действия и перейти во второе состояние» как только произойдет деленное событие и будут выполнены заданные условия.
-
Деятельность - это продолжающееся неатомарное вычисление внутри автомата.
-
Действие - это атомарное вычисление, которое приводит к смене состояния или возврату значения
Состояния:
-
Состояние может содержать список внутренних действий: <метка> / <выражение действия>
-
Начальное (конечное) состояние не содержит внутренних действий. В этом состоянии находится объект в начальный (конечный) момент времени
17. Язык UML. Диаграмма деятельности. Вид диаграммы. Назначение диаграммы.
Диаграмма деятельности (Activity diagram) – динамическая модель системы. Описывает процесс выполнения операций. (Описание алгоритма).
-
Моделирует динамическое поведение системы
-
Показывает поток переходов от одной деятельности к другой
-
Используется для любых видов абстракций
Диаграмма деятельности, Activity diagram — диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью (англ. activity) понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий (англ. action), соединённых между собой потоками, которые идут от выходов одного узла ко входам другого.
Диаграммы деятельности используются при моделировании бизнес-процессов, технологических процессов, последовательных и параллельных вычислений.
18. Язык UML. Диаграмма компонентов. Вид диаграммы. Назначение диаграммы.
Диаграмма компонентов (Component diagram) – описание организации компонентов и зависимостей между ними. Статическое описание системы. Представляет физическое представление системы.
На диаграмме компонентов представлена организация совокупности компонентов и существующие между ними зависимости. Диаграммы компонентов относятся к статическому виду системы с точки зрения реализации. Они могут быть соотнесены с диаграммами классов, так как компонент обычно отображается на один или несколько классов, интерфейсов или коопераций.
-
Компонент - это физическая заменяемая часть системы, совместимая с одним набором интерфейсов. Компонент изображается в виде прямоугольника с вкладками.
Кассы – Компоненты.
-
классы представляют собой логические абстракции, а компоненты - физические сущности. Таким образом, компоненты могут размещаться в узлах, a классы нет
-
компоненты представляют собой физическую упаковку логических сущностей и, следовательно, находятся на другом уровне абстракции
-
классы могут обладать атрибутами и операциями. Компоненты обладают только операциями, доступными через их интерфейсы
Интерфейс - это набор операций, которые описывают услуги, доставляемые классом или компонентом.
Стандартные стереотипы компонентов
-
executable (исполнимый) - определяет компонент, который может использоваться в узле
-
library (библиотека) - определяет статическую или динамическую проектную библиотеку
-
table (таблица) - определяет компонент, представляющий таблицу базы данных
-
file (файл) - определяет компонент, представляющий документ, который содержит исходный текст или данные;
-
document (документ) - определяет компонент, представляющий документ
19. Язык UML. Диаграмма развертывания. Вид диаграммы. Назначение диаграммы.
Диаграмма развертывания (Deployment diagram) – представляет конфигурацию обрабатывающих узлов системы и размещенных в них компонентов. Статическое описание системы.
Они связаны с диаграммами компонентов, поскольку в узле обычно размещаются один или несколько компонентов.
Узел- это физический элемент, который существует во время выполнения и представляет вычислительный ресурс, обычно обладающий как минимум некоторым объемом памяти, а зачастую также и процессором.
20. Язык UML. Понятие прямого и обратного проектирования.
Прямым проектированием (Forward engineering) называется процесс преобразования модели в код путем отображения на некоторый язык реализации. Процесс "прямого проектирования приводит к потере информации, поскольку написанные на языке UML модели семантически богаче любого из существующих объектно-ориентированных языков. Фактически именно это различие и является основной причиной, по которой мы, помимо кода, нуждаемся и в моделях. Некоторые структурные свойства системы, такие как кооперации, или ее поведенческие особенности, например взаимодействия, могут быть легко визуализированы в UML, но в чистом коде наглядность теряется.
Прямое проектирование диаграммы классов производится следующим образом:
-
Идентифицируйте правила отображения модели на один или несколько язы ков программирования по вашему выбору. Это допустимо делать как при работе над одним конкретным проектом, так и для вашей организации в целом.
-
В зависимости от семантики выбранных языков, вероятно, придется отказаться от использования некоторых возможностей UML. Например, язык UML допускает множественное наследование, а язык программирования Smalltalk - только одиночное. В связи с этим можно или запретить авторам моделей пользоваться множественным наследованием (что сделает создаваемые модели зависимыми от языка), или разработать идиомы для трансляции таких расширенных возможностей в конструкции, поддерживаемые данным языком программирования (что усложнит отображение).
-
Применяйте помеченные значения для специфицирования языка программирования. Это можно сделать как на уровне индивидуальных классов (если нужна тонкая настройка), так и на более высоком уровне, например для пакетов или коопераций.
-
Пользуйтесь инструментальными средствами для прямого проектирования моделей.
Обратным проектированием (Reverse engineering) называется процесс преобразования в модель кода, записанного на каком-либо языке программирования. В результате этого процесса вы получаете огромный объем информации, часть которой находится на более низком уровне детализации, чем необходимо для построения полезных моделей. В то же время обратное проектирование никогда не бывает полным. Как уже упоминалось, прямое проектирование ведет к потере информации, так что полностью восстановить модель на основе кода не удастся, если только инструментальные средства не включали в комментариях к исходному тексту информацию, выходящую за пределы семантики языка реализации.
Обратное проектирование диаграммы классов осуществляется так:
-
Идентифицируйте правила для преобразования из выбранного вами языка реализации. Это можно сделать на уровне проекта или организации в целом.
-
С помощью инструментального средства укажите код, который вы хотите подвергнуть обратному проектированию. Воспользуйтесь этим средством для создания новой модели или для модификации ранее созданной.
-
Пользуясь инструментальными средствами, создайте диаграмму классов путем опроса полученной модели. Можно начать, например, с одного или нескольких классов, а затем расширить диаграмму, следуя вдоль некоторых отношений или добавив соседние классы. Раскройте или спрячьте детали содержания диаграммы в зависимости от ваших намерений.
21. Язык UML. Элементы описания класса на диаграмме классов.
На диаграмме классов показывают классы, интерфейсы, объекты и кооперации, а также их отношения. При моделировании объектно-ориентированных систем этот тип диаграмм используют чаще всего. Диаграммы классов соответствуют статическому виду системы с точки зрения проектирования. Диаграммы классов, которые включают активные классы, соответствуют статическому виду системы с точки зрения процессов.