Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Конспект по языку UML
Составитель гр.521701
Унифицированный язык моделирования (Unified Modeling Language, UML) является графическим языком для визуализации, специфицирования, конструирования и документирования систем, в которых большая роль принадлежит программному обеспечению. С помощью UML можно разработать детальный план создаваемой системы, отображающий не только ее концептуальные элементы, такие как системные функции и бизнес-процессы, но и конкретные особенности реализации, в том числе классы, написанные на специальных языках программирования, схемы баз данных и программные компоненты многократного использования.
Структурные диаграммы
Диаграмма классов. Диаграммой классов (Class diagram) называют диаграмму, на которой показано множество классов, интерфейсов, коопераций и отношений между ними. Ее изображают в виде множества вершин и дуг. | ||
Название элемента | Изображение | Описание |
Класс |
| Классом (Class) называется описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. Графически класс изображается в виде прямоугольника. У каждого класса должно быть имя, отличающее его от других классов. Атрибут - это именованное свойство класса, включающее описание множества значений, которые могут принимать экземпляры этого свойства. Класс может иметь любое число атрибутов или не иметь их вовсе. Операцией называется реализация услуги, которую можно запросить у любого объекта класса для воздействия на поведение. Иными словами, операция - это абстракция того, что позволено делать с объектом. У всех объектов класса имеется общий набор операций. Класс может содержать любое число операций или не содержать их вовсе. |
Интерфейс |
| Интерфейс – вид класса, который представляет собой объявление множества общедоступных характеристик и обязанностей. Интерфейс в языке UML является специальным случаем класса, у которого, как правило, имеются операции и отсутствуют атрибуты. Интерфейсы предназначены для спецификации таких операций класса, объявления которых видимы извне, однако особенности их реализации скрыты от клиентов. |
Шаблон |
| Шаблон (template) предназначен для обозначения такого класса, который имеет один (или более) нефиксированный формальный параметр. Он определяет целое семейство или множество классов, каждый из которых может быть получен связыванием этих параметров с действительными значениями. Обычно параметрами шаблонов служат типы атрибутов классов, такие как целые числа, перечисление, массив строк и др. В более сложном случае формальные параметры могут представлять и операции класса. |
Отношение ассоциации |
| Ассоциации отображаются в виде линии, соединяющей взаимодействующие классы, и могут показывать роль и количество объектов с каждой стороны. |
Отношение агрегации |
| Агрегации являются специальным типом ассоциаций, в котором два участвующих класса не равнозначны по статусу, но создают взаимодействие типа «часть-целое». Объединение описывает, как класс, играющий роль целого, создаётся из других классов, играющих роль частей. Для объединений класс, выступающий в роли целого, всегда имеет множественность, равную единице. |
Отношение композиции |
| Композиция является ассоциацией, которая представляет очень тесное объединение. Это означает, что Композиция формирует взаимодействия типа «часть-целое», но эти взаимодействия настолько сильные, что части не могут существовать сами по себе. Они существуют только внутри целого, и при уничтожении целого уничтожаются и части. |
Отношение обобщения |
| Наследование является основной концепцией объектно-ориентированного программирования, в которой класс «получает» все атрибуты и методы наследуемого класса и может переопределять/модифицировать некоторые из них, имея возможность добавлять собственные атрибуты и методы. В UML ассоциация обобщения между двумя классами помещает их в иерархию, представляющую концепцию наследования производного класса от базового. |
Отношение зависимости |
| Отношение зависимости в общем случае указывает некоторое семантическое отношение между двумя элементами модели или двумя множествами таких элементов, которое не является отношением ассоциации, обобщения или реализации. Оно используется в такой ситуации, когда некоторое изменение одного элемента модели может потребовать изменения другого зависимого от него элемента модели. Стрелка может помечаться необязательным, но стандартным ключевым словом в кавычках и необязательным индивидуальным именем. Для отношения зависимости предопределены ключевые слова, которые обозначают некоторые специальные виды зависимостей. Эти ключевые слова (стереотипы) записываются в кавычках рядом со стрелкой, которая соответствует данной зависимости. Примеры стереотипов для отношения зависимости представлены ниже:
· "refine" - указывает, что класс-клиент служит уточнением класса-источника в силу причин исторического характера, когда появляется дополнительная информация в ходе работы над проектом. |
Ассоциация-класс |
| Ассоциация-класс – элемент модели, который имеет свойства, как ассоциации, так и класса, и предназначенный для спецификации дополнительных свойств ассоциации в форме атрибутов, и, возможно, операций класса. Ассоциация-класс может рассматриваться как ассоциация, которая также имеет свойства класса, или как класс, который также имеет свойства ассоциации. Она не только соединяет множество классов, но и определяет множество характеристик, которые принадлежат самому отношению и не принадлежат ни одному из классов. |
Отношение реализации |
| Реализация – специализированное отношение зависимости между двумя элементами модели, один из которых представляет некоторую спецификацию (поставщик), а другой представляет его реализацию (клиент). Отношение реализации означает, что множество элементов клиента является реализацией множества элементов поставщика, которое служит в качестве спецификации. |
Пример: диаграмма классов системы продажи товаров в интернет-магазине.
| ||
Диаграмма объектов Диаграммой объектов (Object diagram) называется диаграмма, на которой показаны объекты и их отношения в некоторый момент времени. Графически диаграмму объектов представляют в виде графа, состоящего из вершин и ребер. Диаграмма объектов - это, по существу, экземпляр диаграммы классов или статическая часть диаграммы взаимодействия. В любом случае она содержит прежде всего объекты и связи и акцентирует внимание на конкретных экземплярах или экземплярах-прототипах. Диаграммы компонентов и развертывания также могут содержать экземпляры, причем если они не содержат ничего другого (в частности, сообщений), то могут рассматриваться как частные случаи диаграммы объектов. | ||
Название элемента | Изображение | Описание |
Объект |
| Объект (object) является отдельным экземпляром класса, который создается на этапе выполнения программы. Он имеет свое собственное имя и конкретные значения атрибутов. В силу самых различных причин может возникнуть необходимость показать взаимосвязи не только между классами модели, но и между отдельными объектами, реализующими эти классы. В данном случае может быть разработана диаграмма объектов, которая, хотя и не является канонической в метамодели языка UML, но имеет самостоятельное назначение. |
Пример: диаграмма объектов системы учёта сотрудников – отображает информацию о конкретном сотруднике
| ||
Диаграммы поведения | ||
Диаграмма вариантов использования (прецедентов) Диаграммой прецедентов, или использования (Use case diagram), называется диаграмма, на которой показана совокупность прецедентов и актеров, а также отношения между ними. | ||
Название элемента | Изображение | Описание |
Актёр |
| Актер (actor) — согласованное множество ролей, которые играют внешние сущности по отношению к вариантам использования при взаимодействии с ними. Актер представляет собой любую внешнюю по отношению к моделируемой системе сущность, которая взаимодействует с системой и использует ее функциональные возможности для достижения определенных целей или решения частных задач. Каждый актер может рассматриваться как некая отдельная роль относительно конкретного варианта использования. Стандартным графическим обозначением актера на диаграммах является фигурка "человечка", под которой записывается имя актера. |
Вариант использования |
| Вариант использования (use case) — внешняя спецификация последовательности действий, которые система или другая сущность могут выполнять в процессе взаимодействия с актерами. Вариант использования представляет собой спецификацию общих особенностей поведения или функционирования моделируемой системы без рассмотрения внутренней структуры этой системы. Несмотря на то, что каждый вариант использования определяет последовательность действий, которые должны быть выполнены проектируемой системой при взаимодействии ее с соответствующим актером, сами эти действия не изображаются на рассматриваемой диаграмме. |
Отношение ассоциации |
| В контексте диаграммы вариантов использования отношение ассоциации между актером и вариантом использования может указывать на то, что актер инициирует соответствующий вариант использования. Такого актера называют главным. В других случаях подобная ассоциация может указывать на актера, которому предоставляется справочная информация о результатах функционирования моделируемой системы. Таких актеров часто называют второстепенными. Более детальное описание семантических особенностей отношения ассоциации будет дано при рассмотрении других диаграмм в последующих лекциях. |
Отношение включения |
| Включение (include) в языке UML — это разновидность отношения зависимости между базовым вариантом использования и его специальным случаем. При этом отношением зависимости (dependency) является такое отношение между двумя элементами модели, при котором изменение одного элемента (независимого) приводит к изменению другого элемента (зависимого). Отношение включения устанавливается только между двумя вариантами использования и указывает на то, что заданное поведение для одного варианта использования включается в качестве составного фрагмента в последовательность поведения другого варианта использования. Данное отношение является направленным бинарным отношением в том смысле, что пара экземпляров вариантов использования всегда упорядочена в отношении включения. |
Отношение расширения |
| Отношение расширения позволяет моделировать таким образом, что один из вариантов использования должен присоединять к своему поведению дополнительное поведение, определенное для другого варианта использования. В то же время данное отношение всегда предполагает проверку условия и ссылку на точку расширения в базовом варианте использования. Точка расширения определяет место в базовом варианте использования, в которое должно быть помещено расширение при выполнении соответствующего логического условия. При этом один из вариантов использования может быть расширением для нескольких базовых вариантов, а также иметь в качестве собственных расширений другие варианты. Базовый вариант использования не зависит от своих расширений. |
Пример
| ||
Диаграмма последовательностей Диаграмма последовательности - методология объектно-ориентированного проектирования, предназначенная для моделирования взаимодействия во времени. Диаграмма последовательности позволяет отслеживать поведение взаимодействующих групп объектов. | ||
Название элемента | Изображение | Описание |
Линия жизни |
| Линия жизни объекта (object lifeline) - вертикальная линия на диаграмме последовательности, которая представляет существование объекта в течение определенного периода времени. Линия жизни объекта изображается пунктирной вертикальной линией, ассоциированной с единственным объектом на диаграмме последовательности. Линия жизни служит для обозначения периода времени, в течение которого объект существует в системе и, следовательно, может потенциально участвовать во всех ее взаимодействиях. Если объект существует в системе постоянно, то и его линия жизни должна продолжаться по всей рабочей области диаграммы последовательности от самой верхней ее части до самой нижней (объект 1 и анонимный объект Класса 2). |
Фокус управления | Фокус управления (focus of control) - специальный символ на диаграмме последовательности, указывающий период времени, в течение которого объект выполняет некоторое действие, находясь в активном состоянии. Фокус управления изображается в форме вытянутого узкого прямоугольника, верхняя сторона которого обозначает начало получения фокуса управления объекта (начало активности), а ее нижняя сторона - окончание фокуса управления (окончание активности). Этот прямоугольник располагается ниже обозначения соответствующего объекта и может заменять его линию жизни, если на всем ее протяжении он активен. | |
Сообщения |
| Первая разновидность сообщения наиболее распространена и используется для вызова процедур, выполнения операций или обозначения отдельных вложенных потоков управления. Начало этой стрелки, как правило, соприкасается с фокусом управления того объекта-клиента, который инициирует это сообщение. Конец стрелки соприкасается с линией жизни того объекта, который принимает это сообщение и выполняет в ответ определенные действия. При этом принимающий объект может получить фокус управления, становясь в этом случае активным. Передающий объект может потерять фокус управления или остаться активным. Вторая разновидность сообщения используется для обозначения простого асинхронного сообщения, которое передается в произвольный момент времени. Передача такого сообщения обычно не сопровождается получением фокуса управления объектом-получателем. Третья разновидность сообщения используется для возврата из вызова процедуры. Примером может служить простое сообщение о завершении вычислений без предоставления результата расчетов объекту-клиенту. В процедурных потоках управления эта стрелка может быть опущена, поскольку ее наличие неявно предполагается в конце активизации объекта. В тоже время считается, что каждый вызов процедуры имеет свою пару - возврат вызова. Для непроцедурных потоков управления, включая параллельные и асинхронные сообщения, стрелка возврата должна указываться явным образом. Обычно сообщения изображаются горизонтальными стрелками, соединяющими линии жизни или фокусы управления двух объектов на диаграмме последовательности. При этом неявно предполагается, что время передачи сообщения достаточно мало по сравнению с процессами выполнения действий объектами. Считается также, что за время передачи сообщения с соответствующими объектами не может произойти никаких событий. Другими словами, состояния объектов не изменяются. Если же это предположение не может быть признано справедливым, то стрелка сообщения изображается под наклоном, так чтобы конец стрелки располагался ниже ее начала. |
Пример: диаграмма последовательностей, изображающая разговор по телефону
| ||
Диаграмма активностей Диаграмма активностей (Activity diagram) показывает поток переходов от одной деятельности к другой. Деятельность (Activity) - это продолжающийся во времени неатомарный шаг вычислений в автомате. Деятельности в конечном счете приводят к выполнению некоего действия, составленного из выполняемых атомарных вычислений, каждое из которых либо изменяет состояние системы, либо возвращает какое-то значение. Действие может заключаться в вызове другой операции, посылке сигнала, создании или уничтожении объекта либо в простом вычислении - скажем, значения выражения. Графически диаграмма деятельности представляется в виде графа, имеющего вершины и ребра. | ||
Название элемента | Изображение | Описание |
Действие (активность) |
| Активное состояние системы, в котором она выполняет некоторую работу. После ее завершения происходит переход в другую активность. |
Начальный узел |
| Определяет «точку входа» для диаграммы деятельности и обозначает начало выполнения деятельности. На диаграмме может быть только один начальный узел. |
Конечный узел |
| Определяет окончание деятельности. На диаграмме может присутствовать несколько конечных узлов деятельности. Останавливает все потоки в деятельности. |
Узел события |
| Ждет наступления некоторого события, а затем передает следующему действию маркер управления. |
Поток управления |
| Путь управления, по нему передаются маркеры управления. |
Объектный поток |
| Описывает передачу объектов или данных между действиями. |
Пример: схема работы оператора с клиентом
| ||
Диаграмма состояний Диаграмма состояний (Statechart diagram) показывает автомат, фокусируя внимание на потоке управления от состояния к состоянию. Автомат (State machine) - это описание последовательности состояний, через которые проходит объект на протяжении своего жизненного цикла, реагируя на события, - в том числе описание реакций на эти события. Состояние (State) - это ситуация в жизни объекта, на протяжении которой он удовлетворяет некоторому условию, осуществляет определенную деятельность или ожидает какого-то события. Событие (Event) - это спецификация существенного факта, который происходит во времени и пространстве. В контексте автоматов событие - это стимул, способный вызвать срабатывание перехода. Переход (Transition) - это отношение между двумя состояниями, показывающее, что объект, находящийся в первом состоянии, должен выполнить некоторые действия и перейти во второе состояние, как только произойдет определенное событие и будут выполнены заданные условия. Деятельность (Activity) - это продолжающееся неатомарное вычисление внутри автомата. Действие (Action) - это атомарное вычисление, которое приводит к смене состояния или возврату значения. Диаграмма состояний изображается в виде графа с вершинами и ребрами. | ||
Название элемента | Изображение | Описание |
Простое состояние |
| Простым состоянием(simple state) называется состояние, которое не имеет внутренних регионов и подсостояний. Символ простого состояния может быть разделен на несколько секций, отделенных друг от друга горизонтальными линиями. Секции: секция имени (name compartment), секция внутренней деятельности (internal activities), секция внутренних переходов (internal transitions). |
Композитное состояние |
| Композитное состояние (composite state) – состояние, содержащее один регион или несколько ортогональных регионов. Правило входа по умолчанию: если регион простого композитного состояния имеет нач. псевдосостояние, то переход в это композитное состояние представляет собой переход в нач. псевдосостояние региона. При выходе используется правило выхода по умолчанию: если регион простого композитного состояния имеет финальное состояние, то переход в него означает завершение поведения в регионе и инициирует событие завершения. |
Начальное псевдосостояние |
| Начальное псевдосостояние (initial pseudo state) представляет вершину графа КА, которая по умолчанию является состоянием-источником для начального перехода моделируемого поведения. |
Узел завершения |
| Узел завершения (terminate node) является псевдосостоянием, вход в который означает завершение выполнения поведения КА в контексте его объекта. |
Выбор |
| Псевдосостояние выбора (вершина выбора, узел выбора, выбор) позволяет расщепить входящий в него переход на несколько выходящих. Выбор ветви происходит на основе динамического оценивания, сторожевых условий триггеров для каждого из выходящих переходов. Решение, какой путь следует принять, может быть функцией результатов предшествующих действий, осуществленных на этом же шаге выполнения до завершения. Выходящие из выбора переходы не должны иметь пометок имен событий. Допускается изображать узлы с выходящими переходами, для которых одновременно несколько сторожевых условий могут быть истинными. Для продолжения поведения необходимо выбрать 1 путь, как это реализовать должен уточнить разработчик. Если в момент проверки ни одно из условий не может быть истинным, то модель считается несогласованной (ill-formed). |
Соединение |
| Узлы соединения могут использоваться для расщепления входящего на несколько выходящих с различными сторожевыми условиями. Эта конструкция реализует статические альтернативные ветви, которые отличаются от динамических условных ветвлений. Узлы соединения могут использоваться для моделирования сложных путей переходов путем объединения нескольких входящих и выходящих переходов. Входящие и выходящие переходы могут иметь сторожевые условия. Допускается для выходящих переходов использовать определенное сторожевое состояние [else]. Это сторожевое условие может иметь не более 1 выходящего перехода. |
Разделение |
| Вершина разделения (узел разделения, разделение) позволяет разделить входящий в него переход на несколько параллельных путей. Вершина должна иметь только 1 входящий переход и не менее 2 выходящих переходов. Все переходы, выходящие из вершины разделения, должны иметь целевые состояния в различных ортогональных регионах некоторого композитного состояния. |
Финальное состояние |
| Финальное состояние (final state) – специальный вид состояния, предназначенного для моделирования завершения КА или региона, в котором оно содержится. |
Пример
| ||
Архитектурные диаграммы | ||
Диаграмма компонентов Диаграмма компонентов (Component diagram) показывает набор компонентов и отношения между ними. | ||
Название элемента | Изображение | Описание |
Компонент |
| Компонент предназначен для представления физической организации ассоциированных с ним элементов модели. Дополнительно компонент может иметь текстовый стереотип и помеченные значения, а некоторые компоненты – собственное графическое представление. Компонентом может быть исполняемый код отдельного модуля, командные файлы или файлы, содержащие интерпретируемые скрипты. |
Интерфейс |
| При разработке программных систем интерфейсы обеспечивают не только совместимость различных версий, но и возможность вносить существенные изменения в одни части программы, не изменяя другие. Характер применения интерфейсов отдельными компонентами может отличаться. |
Отношение |
| Отношение зависимости служит для представления факта наличия специальной формы связи между двумя элементами модели, когда изменение одного элемента модели оказывает влияние или приводит к изменению другого элемента модели. Отношение зависимости на диаграмме компонентов изображается пунктирной линией со стрелкой, направленной от клиента или зависимого элемента к источнику или независимому элементу модели. Зависимости могут отражать связи отдельных файлов программной системы на этапе компиляции и генерации объектного кода. В других случаях зависимость может указывать на наличие в независимом компоненте описаний классов, которые используются в зависимом компоненте для создания соответствующих объектов. Применительно к диаграмме компонентов зависимости могут связывать компоненты и импортируемые этим компонентом интерфейсы, а также различные виды компонентов между собой. |
Пример
| ||
Диаграмма развёртывания На диаграмме развертывания, или применения (Deployment diagram), показана конфигурация обрабатывающих узлов, на которых выполняется система, и компонентов, размещенных в этих узлах. Диаграмма развертывания представлена в виде графа с ребрами и вершинами. | ||
Название элемента | Изображение | Описание |
Узел |
| Узел (node) представляет собой физически существующий элемент системы, который может обладать вычислительным ресурсом или являться техническим устройством. В качестве вычислительного ресурса узла может рассматриваться один или несколько процессоров, а также объем электронной или магнитооптической памяти. Однако в языке UML понятие узла включает в себя не только вычислительные устройства (процессоры), но и другие механические или электронные устройства, такие как датчики, принтеры, модемы, цифровые камеры, сканеры и манипуляторы. |
Пример
| ||
































