UML - унифицированный язык моделирования.pptx
- Количество слайдов: 22
UML - УНИФИЦИРОВАННЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ
Общие сведения об UML • UML - средство построения описательных моделей. • UML является универсальным стандартом для объектно-ориентированного моделирования • UML вобрал в себя черты нотаций Грейди Буча (Grady Booch), Джима Румбаха (Jim Rumbaugh), Айвара Якобсона (Ivar Jacobson) • К 1994 -му существовало 72 метода, или частные методики. Многие из них "перекрывались", т. е. использовали похожие идеи, нотации и т. д. Возникла острая потребность объединить в одном унифицированном средстве все лучшее, что было создано в области моделирования.
История • Так, метод Буча был хорош в проектировании, но слабоват в анализе. OMT Румбаха был, наоборот, отличным средством анализа, но плох в проектировании. И наконец, Objectory Якобсона был действительно хорош с точки зрения user experience, на который ни метод Буча, ни OMT не обращали особого внимания. Основной идеей Objectory было то, что анализ должен начинаться с прецедентов, а не с диаграммы классов, которые должны быть производными от них. • Румбах присоединился к Бучу в Rational Inc. Они объединили свои нотации и создали первую версию UML. В 1995 году на конференции OOPSLA они представили его как Unified Method, который потом и получил название UML. Чуть позже к ним присоединился Якобсон, который добавил к результатам их труда элементы Objectory и начал работу над Rational Unified Process (RUP). В 1997 году UML был отправлен в Object Management Group (OMG) для стандартизации.
Описание UML • Авторы UML определяют его как графический язык моделирования общего назначения (т. е. его можно применять для проектирования чего угодно - от простой качели, как на рисунке, до сложного аппаратно-программного комплекса или даже космического корабля), предназначенный для спецификации, визуализации, проектирования и докум ентирования всех артефактов, создаваемых в ходе разработки. • Спецификация - подробное описание системы, которое полностью определяет ее цель и функциональные возможности. • Словесные спецификации на естественном языке вызывают массу проблем, поскольку создаются разными специалистами на "их языке". • Формальная спецификация является, по сути, математической моделью задачи и потому для вычислительных задач все выглядит достаточно просто
Визуализация
Проектирование и документирование • Проектирование. UML позволяет строить модели программных систем (вообще говоря - ЛЮБЫХ систем). По этим моделям потом может производиться генерация каркасного кода проектируемых приложений. • Документирование. UML-модели сами по себе уже являются документами. Причем любой элемент на любой диаграмме может быть снабжен ноутсом - текстовым комментарием. Более того, большинство инструментов UML-проектирования умеют извлекать текстовую информацию из моделей и генерировать относительно удобочитаемые тексты.
Описание UML • UML описывается следующим образом. • Метамодель - описание самого языка, • мета-метамодель - описание формализма, с помощью которого производится описание языка. • Все это сопровождается комментариями на естественном языке и примерами моделей. • Организованное таким образом описание UML распространяется OMG абсолютно свободно и "лежит" на сайте OMG, по адресу http: //www. omg. org/.
Моделирование • Разработка модели любой системы (не только программной) всегда предшествует ее созданию или обновлению. • Это необходимо хотя бы для того, чтобы яснее представить себе решаемую задачу. • Продуманные модели очень важны и для взаимодействия внутри команды разработчиков, и для взаимопонимания с заказчиком. • В конце концов, это позволяет убедиться в "архитектурной согласованности" проекта до того, как он будет реализован в коде.
Моделирование • Модель - это некий (материальный или нет) объект, отображающий лишь наиболее значимые для данной задачи характеристики системы. • Диаграмма - это графическое представление множества элементов. Обычно изображается в виде графа с вершинами (сущностями) и ребрами (отношениями). Примеры диаграмм: блок-схема, схема монтажа различного оборудования, которые мы можем видеть в руководствах пользователя, и дерево файлов и каталогов на диске. • С помощью диаграмм можно визуализировать систему с различных точек зрения. Одна из диаграмм, например, может описывать взаимодействие пользователя с системой, другая - изменение состояний системы в процессе ее работы, третья - взаимодействие между собой элементов системы и т. д. • Набор диаграмм составляет модель системы и наиболее полно ее описывает, но не одна диаграмма, вырванная из контекста
Нотации • "Нотация" - это то, что в других языках называют "синтаксисом". Само слово "нотация" подчеркивает, что UML - язык графический и модели (а точнее диагр аммы) не "записывают", а рисуют. • Вообще же, в UML используется четыре вида элементов нотации: 1. фигуры, 2. линии, 3. значки, 4. надписи. • В изображении фигур и значков тоже нет каких-то жестких требований, и разработчики CASE-средств для UMLпроектирования вовсю используют эту свободу, применяя различные стили рисования, заливку фигур цветом, тени и т. д.
Диаграмма классов • — статическая структурная диаграмма, описывающая структуру системы, демонстрирующая классы системы, их атрибуты, методы и зависимости между классами. • Существуют разные точки зрения на построение диаграмм классов в зависимости от целей их применения: • концептуальная точка зрения — диаграмма классов описывает модель предметной области, в ней присутствуют только классы прикладных объектов; • точка зрения спецификации — диаграмма классов применяется при проектировании информационных систем; • точка зрения реализации — диаграмма классов содержит классы, используемые непосредственно в программном коде (при использовании объектно-ориентированных языков программирования).
Case средства где реализован UML • IBM Rational Rose; • Borland Together; • Gentleware Poseidon; • Microsoft Visio; • Telelogic TAU G 2.
Виды диаграмм • Структурные диаграммы: • Диаграмма классов • Диаграмма компонентов • Композитной/составной структуры • Диаграмма развёртывания • Диаграмма объектов • Диаграмма пакетов • Диаграмма профилей • Диаграммы поведения: • Диаграмма деятельности • Диаграмма состояний • Диаграмма прецедентов • Диаграммы взаимодействия: • Диаграмма коммуникации • Диаграмма обзора взаимодействия • Диаграмма последовательности • Диаграмма синхронизации
Диаграмма компонентов Диаграмма композитной/составной структуры • Диаграмма компонентов - статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами. В качестве физических компонент могут выступать файлы, библиотеки, модули, исполняемые файлы, пакеты и т. п. • Диаграмма композитной/составной структуры— статическая структурная диаграмма, демонстрирует внутреннюю структуру классов и, по возможности, взаимодействие элементов (частей) внутренней структуры класса. • Диаграммы композитной структуры могут использоваться совместно с диаграммами классов.
Диаграмма развёртывания Диаграмма объектов • Диаграмма развёртывания — служит для моделирования работающих узлов(аппаратных средств) и артефактов, развёрнутых на них. В UML 2 на узлах разворачиваются артефакты (англ. artifact), в то время как в UML 1 на узлах разворачивались компоненты. Между артефактом и логическим элементом (компонентом), который он реализует, устанавливается зависимость манифестации. • Диаграмма объектов— демонстрирует полный или частичный снимок моделируемой системы в заданный момент времени. На диаграмме объектов отображаются экземпляры классов (объекты) системы с указанием текущих значений их атрибутов и связей между объектами.
Диаграмма пакетов • — структурная диаграмма, основным содержанием которой являются пакеты и отношения между ними. Жёсткого разделения между разными структурными диаграммами не проводится, поэтому данное название предлагается исключительно для удобства и не имеет семантического значения (пакеты и диаграммы пакетов могут присутствовать на других структурных диаграммах). Диаграммы пакетов служат, в первую очередь, для организации элементов в группы по какому-либо признаку с целью упрощения структуры и организации работы с моделью системы.
Диаграмма деятельности • — диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий, соединённых между собой потоками, которые идут от выходов одного узла к входам другого. • Диаграммы деятельности используются при моделировании бизнес-процессов, технологических процессов, последовательных и параллельных вычислений.
Диаграмма состояний • Диаграмма состояний — диаграмма, на которой представлен конечный автомат с простыми состояниями, переходами и композитными состояниями. • Конечный автомат — спецификация последовательности состояний, через которые проходит объект или взаимодействие в ответ на события своей жизни, а также ответные действия объекта на эти события. Конечный автомат прикреплён к исходному элементу (классу, кооперации или методу) и служит для определения поведения его экземпляров. • Диаграмма вариантов использования (прецедентов) — диаграмма, на которой отражены отношения, существующие между пользоватлеями и вариантами использования. • Основная задача — представлять собой единое средство, дающее возможность заказчику, конечному пользователю и разработчику совместно обсуждать функциональность и поведение системы.
Диаграммы коммуникации и последовательности • Диаграмма коммуникации— диаграмма, на которой изображаются взаимодействия между частями композитной структуры или ролями кооперации. В отличие от диаграммы последовательности, на диаграмме коммуникации явно указываются отношения между элементами (объектами), а время как отдельное измерение не используется (применяются порядковые номера вызовов). • Диаграмма последовательности — диаграмма, на которой изображено упорядоченное во времени взаимодействие объектов. В частности, на ней изображаются участвующие во взаимодействии объекты и последовательность сообщений, которыми они обмениваются. • Диаграмма сотрудничества — Этот тип диаграмм позволяет описать взаимодействия объектов, абстрагируясь от последовательности передачи сообщений. На этом типе диаграмм в компактном виде отражаются все принимаемые и передаваемые сообщения конкретного объекта и типы этих сообщений.
Диаграмма обзора взаимодействия Диаграмма синхронизации • Диаграмма обзора взаимодействия— разновидность диаграммы деятельности, включающая фрагменты диаграммы последовательности и конструкции потока управления. • Эти диаграммы позволяют с разных точек зрения рассмотреть взаимодействие объектов в создаваемой системе. • Диаграмма синхронизации— альтернативное представление диаграммы последовательности, явным образом показывающее изменения состояния на линии жизни с заданной шкалой времени. Может быть полезна в приложениях реального времени.
UML - унифицированный язык моделирования.pptx