Визуальное проектирование на UML (Unified Modeling Language) При

Скачать презентацию Визуальное проектирование на UML (Unified Modeling Language) При Скачать презентацию Визуальное проектирование на UML (Unified Modeling Language) При

16256-5._uml.ppt

  • Количество слайдов: 93

>Визуальное проектирование на UML (Unified Modeling Language) Визуальное проектирование на UML (Unified Modeling Language)

>При разработке UML преследовались цели предоставить пользователям готовый к использованию выразительный язык визуального моделирования, При разработке UML преследовались цели предоставить пользователям готовый к использованию выразительный язык визуального моделирования, позволяющий разрабатывать осмысленные модели и обмениваться ими; предусмотреть механизмы расширяемости и специализации для расширения базовых концепций; обеспечить независимость от конкретных языков программирования и процессов разработки; обеспечить формальную основу для понимания этого языка моделирования; стимулировать рост рынка объектно-ориентированных инструментальных средств; интегрировать лучший практический опыт.

>Концептуальная модель UML основные строительные блоки языка,  правила сочетания строительных блоков  общие Концептуальная модель UML основные строительные блоки языка, правила сочетания строительных блоков общие для всего языка механизмы.

>Основные строительные блоки языка -  это сущности, отношения и диаграммы. Сущности - это Основные строительные блоки языка - это сущности, отношения и диаграммы. Сущности - это абстракции, являющиеся основными элементами модели. Отношения связывают различные сущности, а диаграммы группируют сущности. Сущности в UML : структурные; поведенческие; группирующие: аннотационные.

>Структурные сущности  Класс; Интерфейс ; Кооперация ; Прецедент ; Активный класс - инициатор Структурные сущности Класс; Интерфейс ; Кооперация ; Прецедент ; Активный класс - инициатор управляющего воздействия); Компонент (физическая модель логической структуры системы); Узел (элемент реальной физической системы).

>Поведенческие сущности Взаимодействие (поведение, которое отражает обмен сообщениями между объектами) Автомат  (алгоритм поведения, Поведенческие сущности Взаимодействие (поведение, которое отражает обмен сообщениями между объектами) Автомат (алгоритм поведения, определяющий последовательность состояний, через которые объект или взаимодействие проходит на протяжении всего времени работы системы в ответ на различные события, а также реакции на эти события.)

>Группирующие сущности Пакеты (организация элементов модели в группы) Аннотационные сущности Пояснительные тексты Группирующие сущности Пакеты (организация элементов модели в группы) Аннотационные сущности Пояснительные тексты

>Отношения зависимость,  ассоциация,  обобщение,  реализация Отношения зависимость, ассоциация, обобщение, реализация

>Диаграммы вариантов использования, описывающая функциональное назначение системы; классов, моделирующая статическое поведение системы; объектов, отображающая Диаграммы вариантов использования, описывающая функциональное назначение системы; классов, моделирующая статическое поведение системы; объектов, отображающая объекты и отношения между ними; взаимодействия, отображающие связи между объектами. состояний, моделирующая поведение системы при переходе из одного состояния в другое; деятельности, на которой представляются переходы потоков управления от одной деятельности к другой внутри системы; компонентов, отображающая организацию совокупности компонентов и существующие между ними зависимости; развертывания, моделирующие физическую архитектуру системы.

>C помощью правил определяются: имена, которые можно давать сущностям, отношениям и диаграммам; область действия C помощью правил определяются: имена, которые можно давать сущностям, отношениям и диаграммам; область действия (контекст, в котором имя имеет некоторое значение); видимость (когда имена видимы и могут использоваться другими элементами); целостность (как элементы должны правильно соотноситься друг с другом); выполнение (выполнить или имитировать некоторую динамическую модель).

>Общие механизмы языка UML Спецификация - это текстовое представление синтаксиса и семантики соответствующего строительного Общие механизмы языка UML Спецификация - это текстовое представление синтаксиса и семантики соответствующего строительного блока, Дополнения - это дополнительные детали спецификации, Принятые деления (разделение диаграмм по классам и объектам), Механизмы расширения (допускаются контролируемые расширения).

>Диаграмма вариантов использования Диаграмма вариантов использования

>Диаграмма классов - статическая структура модели Основа – понятие класса ООП Обязательным элементом для Диаграмма классов - статическая структура модели Основа – понятие класса ООП Обязательным элементом для класса является его имя

>Примеры неполного изображения класса Примеры неполного изображения класса

>Правила для ДК  Имя класса должно быть уникальным в пределах пакета. Имя класса Правила для ДК Имя класса должно быть уникальным в пределах пакета. Имя класса - это имя существительное в именительном падеже. Записывается имя полужирным шрифтом посередине поля и должно начинаться с заглавной буквы. Для абстрактного класса (не имеющего экземпляров или объектов) имя - курсив

>Атрибуты класса <квантор видимости><имя атрибута>[кратность]:<тип атрибута>=<исходное значение>{строка-свойство} квантор видимости: + - # Имя – Атрибуты класса <квантор видимости><имя атрибута>[кратность]:<тип атрибута>=<исходное значение>{строка-свойство} квантор видимости: + - # Имя – идентификатор Кратность атрибута: общее количество конкретных атрибутов данного типа, входящих в класс: [нижняя_граница1..верхняя_граница1, нижняя_граница2..верхняя_граница2, …, нижняя_границаN..верхняя_границаN]

>Кратность атрибута  [0..1]  0..*] или[*] [1..3]  [1..3,5..9]  1 по умолчанию Кратность атрибута [0..1] 0..*] или[*] [1..3] [1..3,5..9] 1 по умолчанию

>Тип атрибута: выражение, семантика которого определяется спецификацией модели. Примеры:  имя[1..2]:string  точка:Point Тип атрибута: выражение, семантика которого определяется спецификацией модели. Примеры: имя[1..2]:string точка:Point

>Исходное значение для задания некоторого начального значения атрибута в момент создания экземпляра класса Примеры: Исходное значение для задания некоторого начального значения атрибута в момент создания экземпляра класса Примеры: имя[1..2]:string=Дмитрий Александрович; точка:Point=(0,0,15) Подчеркивание строки атрибута - атрибут может принимать подмножество значений из области значений атрибутов, определяемой его типом Строка-свойство: какие значения не могут быть изменены в программе при работе с данным типом объектов

>Операция представляет собой некоторую услугу, которая предоставляется экземпляром класса по определенному требованию Совокупность услуг Операция представляет собой некоторую услугу, которая предоставляется экземпляром класса по определенному требованию Совокупность услуг характеризует поведение данного класса.

>Правила записи: Запись операции располагается на отдельной строке поля <квантор видимости><имя операции>(список параметров):<тип возвращаемого Правила записи: Запись операции располагается на отдельной строке поля <квантор видимости><имя операции>(список параметров):<тип возвращаемого значения>{строка-свойство} <вид параметра><имя параметра>:<тип параметра>=<значение параметра по умолчанию> Вид параметра - in, out, i nout

>Примеры: +показать()   +нарисовать(форма: точка = координаты, цвет:int=4)   сообщение():{ Примеры: +показать() +нарисовать(форма: точка = координаты, цвет:int=4) сообщение():{"ERROR"}

>Отношения ДК отношение зависимости,  отношение ассоциации,  отношение обобщения Отношения ДК отношение зависимости, отношение ассоциации, отношение обобщения

>Отношение зависимости  изменение одного элемента объекта влечет  за собой изменение другого, зависимого Отношение зависимости изменение одного элемента объекта влечет за собой изменение другого, зависимого объекта стрелка направлена от зависимого класса к независимому - источнику

>Зависимость одного класса определяется некоторым множеством классов Зависимость одного класса определяется некоторым множеством классов

>Возможное поименование стрелки Возможное поименование стрелки "access" - служит для обозначения доступности открытых атрибутов и операций класса источника для зависимого класса; "bind' - зависимый класс может использовать шаблон; "derive" - атрибуты зависимого класса могут быть вычислены по атрибутам класса источника; "import" - открытые атрибуты и операции класса-источника становятся частью зависимого класса; "refine" - зависимый класс служит уточнением класса источника на стадии проектирования.

>Отношение ассоциации  определяет некоторое отношение между классами Отношение ассоциации определяет некоторое отношение между классами

>

>Исключающая ситуация Исключающая ситуация

>Отношение ассоциации: отношение агрегации Если некий класс является составной частью другого класса Отношение ассоциации: отношение агрегации Если некий класс является составной частью другого класса

>

>Отношение ассоциации: отношение композиции составные части отношения Отношение ассоциации: отношение композиции составные части отношения "целое-часть" находятся внутри целого

>

>Отношение обобщения описывает иерархическую структуру классов на диаграмме Отношение обобщения описывает иерархическую структуру классов на диаграмме

>

>Ограничения {complete} - означает, что на диаграмме указаны все потомки и других потомков не Ограничения {complete} - означает, что на диаграмме указаны все потомки и других потомков не может быть; {disjoint} - означает, что классы потомки не могут содержать объектов, одновременно являющихся экземплярами двух или более классов; {incomplete} - противоположность первому случаю; {overlapping} - означает, что отдельные экземпляры классов-потомков могут одновременно принадлежать нескольким классам.

>

>Интерфейсы Интерфейсы

>Объекты Объекты

>Параметризованный шаблон Параметризованный шаблон

>

>Диаграмма состояний описывает процесс изменения состояний только одного класса Каждая диаграмма состояний представляет собой Диаграмма состояний описывает процесс изменения состояний только одного класса Каждая диаграмма состояний представляет собой автомат Автомат описывает поведение объекта, начиная от момента его создания до момента уничтожения, т.е. всего жизненного цикла

>Основные понятия ТА Состояние  переход Графическое представление автомата: Ориентированный граф:  Вершины – Основные понятия ТА Состояние переход Графическое представление автомата: Ориентированный граф: Вершины – состояния Дуги - переходы

>Состояние -  моделирует некоторую ситуацию, в течении которой выполняется некоторое условие Действие - Состояние - моделирует некоторую ситуацию, в течении которой выполняется некоторое условие Действие - операция, которая приводит к изменению состояния или возврату значения

>Имя состояния – глагол в настоящем времени или причастие. Анонимное состояние – состояние, у Имя состояния – глагол в настоящем времени или причастие. Анонимное состояние – состояние, у которого имя отстутствует Список внутренних действий - это перечень действий, которые выполняются в процессе нахождения объекта в данном состоянии: <метка-действия / выражениние-действия> Метка действия указывает на обстоятельства или условия, при которых будет выполняться действие. Выражение действия может использовать любые атрибуты и связи, которые принадлежат области имен или контексту моделируемого объекта. Символ "/" может не указываться, если выражение действия отсутствует

>Перечень меток entry - указывает на действие, определенное выражением действия, которое выполняется в момент Перечень меток entry - указывает на действие, определенное выражением действия, которое выполняется в момент входа в данное состояние; exit - указывает на действие, которое определено выражением действия и выполняется в момент выхода из данного состояния; do - обозначает выполняющуюся деятельность, которая выполняется в течении всего времени, пока автомат находится в данном состоянии; или пока не закончится вычисление, определенное следующим за этой меткой выражением действия; include - используется для обращения к подавтомату, следующее за ней выражение действия содержит имя подавтомата.

>Пример: ввод пароля пользователем при входе в систему Пример: ввод пароля пользователем при входе в систему

>

>Переход Простой переход осуществляется при наступлении некоторого события: окончания выполнения деятельности, получением объекта сообщения Переход Простой переход осуществляется при наступлении некоторого события: окончания выполнения деятельности, получением объекта сообщения или приемом сигнала На переходе указывается имя события и могут указываться действия, производимые объектом в ответ на внешние события при переходе из одного состояния в другое Срабатывание перехода может зависеть от выполнения сторожевого условия.

>Строка текста перехода <сигнатура события>[<сторожевое условие>]<выражение действия> Сигнатура события описывает некоторое событие с необходимыми Строка текста перехода <сигнатура события>[<сторожевое условие>]<выражение действия> Сигнатура события описывает некоторое событие с необходимыми аргументами в виде: <имя события>(<список параметров, разделенных запятой>) Сторожевое условие представляет собой некоторое логическое выражение. Выражение действия выполняется в случае срабатывания перехода

>

>Диаграмма деятельности отображается логика перехода от одной деятельности к другой Диаграмма деятельности отображается логика перехода от одной деятельности к другой

>

>Диаграммы взаимодействия Диаграмма последовательностей Диаграмма кооперации Диаграммы взаимодействия Диаграмма последовательностей Диаграмма кооперации

>

>

>Сообщения - информация, передаваемая от одного объекта другому вызов процедур, выполнения операций или обозначения Сообщения - информация, передаваемая от одного объекта другому вызов процедур, выполнения операций или обозначения отдельных вложенных потоков управления обозначение простого (не вложенного) потока управления асинхронное сообщение между двумя объектами в некоторой процедурной последовательности возврат из вызова процедуры

>Рефлексное сообщение Рефлексное сообщение

>

>Стереотипы Стереотипы "call" - сообщение, требующее вызова операции или процедуры принимающего объекта; "return" - сообщение, возвращающее значение выполненной операции или процедуры вызвавшему ее объекту; "create" - сообщение, требующее создать другой объект для выполнения определенных действий; "destroy" - сообщение с явным требованием уничтожить объект; "send" - обозначает посылку другому объекту сигнала, который асинхронно инициируется одним объектом и принимается другим. Отличие сигнала от сообщения заключается в том, что сигнал должен быть явно описан в классе, инициирующим сигнал.

>Временные ограничения: {время_ожидания_ответа<10 сек.} Временные ограничения: {время_ожидания_ответа<10 сек.}

>Диаграмма кооперации отражает структурные аспекты взаимодействия объектов.  Диаграмма кооперации может быть представлена на Диаграмма кооперации отражает структурные аспекты взаимодействия объектов. Диаграмма кооперации может быть представлена на уровне спецификации и на уровне примеров

>Диаграмма кооперации на уровне спецификации показывает роли, которые играют участвующие во взаимодействии элементы. Элементами Диаграмма кооперации на уровне спецификации показывает роли, которые играют участвующие во взаимодействии элементы. Элементами кооперации на этом уровне являются классы и ассоциации. Диаграмма кооперации уровня примеров представляется совокупностью объектов и связей. При этом связи дополняются стрелками сообщений

>Диаграмма кооперации уровня спецификации отражает структурные аспекты взаимодействия объектов изображаются только отношения между объектами, Диаграмма кооперации уровня спецификации отражает структурные аспекты взаимодействия объектов изображаются только отношения между объектами, играющими определенные роли во взаимодействии относится к отдельному варианту использования и детализирует особенности его последующей реализации

>Диаграмма кооперации представлена на уровне спецификации (показывает роли, которые играют участвующие во взаимодействии элементы. Диаграмма кооперации представлена на уровне спецификации (показывает роли, которые играют участвующие во взаимодействии элементы. Элементами кооперации на этом уровне являются классы и ассоциации). уровня примеров (представляется совокупностью объектов и связей. При этом связи дополняются стрелками сообщений)

>Диаграмма кооперации уровня спецификации Роль классификатора: /<имя роли классификатора> : <имя классификатора> [: <имя Диаграмма кооперации уровня спецификации Роль классификатора: /<имя роли классификатора> : <имя классификатора> [: <имя классификатора>]*

>

>Кооперация – реализация операции или классификатора или Кооперация – реализация операции или классификатора или

>Диаграмма кооперации на уровне примеров включает графическое изображение объектов <Имя объекта>/<Имя роли классификатора>: <Имя Диаграмма кооперации на уровне примеров включает графическое изображение объектов <Имя объекта>/<Имя роли классификатора>: <Имя классификатора> [<Имя классификатора>]*

>Варианты записей строки текста: :С - анонимный объект, образуемый от класса С; /R - Варианты записей строки текста: :С - анонимный объект, образуемый от класса С; /R - анонимный объект, играющий роль R; /R:C - анонимный объект, образуемый от класса С и играющий роль R; О/R - объект с именем О, играющий роль R; О:С - объект с именем О, образуемый от класса С; О/R:C - объект с именем О, образуемый от класса Си играющий роль R; /R - роль с именем R; :С - анонимная роль на базе класса С.

>Составной объект Составной объект

>Связи между объектами Прямые линии На каждом из концов линий – имена ролей Может Связи между объектами Прямые линии На каждом из концов линий – имена ролей Может иметь стереотипы

>Стереотипы: Стереотипы: "association" - ассоциация; "parameter" - параметр метода. Соответствующий объект может быть только параметром метода; "local" - локальная переменная метода. Область видимости ограничена соседним объектом; "global" - глобальная переменная. Область видимости распространяется на всю диаграмму; "self" - рефлексивная связь объекта с самим собой.

>Пример: Пример:

>Сообщения Может быть помечено строкой: <Предшествующие сообщения> <[Сторожевое условие]> <Выражение последовательности> <Возвращаемое значение := Сообщения Может быть помечено строкой: <Предшествующие сообщения> <[Сторожевое условие]> <Выражение последовательности> <Возвращаемое значение := имя сообщения> <Список аргументов> Предшествующие сообщения - это номера сообщений, разделенных запятой и заканчивающиеся символом"/". Данное сообщение не может быть передано, пока не переданы предшествующие сообщения

>Выражение последовательности - это разделенный точками список термов последовательности после которого ставится символ Выражение последовательности - это разделенный точками список термов последовательности после которого ставится символ ":« <Терм последовательности.>< Терм последовательности.>: Терм последовательности имеет синтаксис: [Целое число | Имя] [Символ рекуррентности ]

>Символ рекуррентности  *[предложение итерация] (для записи итеративного выполнения выражения) и [предложение условие] (для Символ рекуррентности *[предложение итерация] (для записи итеративного выполнения выражения) и [предложение условие] (для записи ветвления). Пример: 3.1.4а*[i:=1..n], 3.2[x>=0]

>Возвращаемое значение  представляется в форме списка имен значений, возвращаемых по окончании коммуникации или Возвращаемое значение представляется в форме списка имен значений, возвращаемых по окончании коммуникации или взаимодействия в полной итерации данной процедурной последовательности Пример: 1.2.3: с:= найти_документ (спецификация_документа)

>Имя сообщения означает имя события, которое инициируется объектом -получателем после приема этого сообщения. Список Имя сообщения означает имя события, которое инициируется объектом -получателем после приема этого сообщения. Список аргументов - это разделенные запятыми и заключенные в круглые скобки действительные параметры операции, вызываемой данным сообщением. В приведенном выше примеров, аргумент единственный: спецификация_документа

>Диаграмма реализации - Физическое представление моделей диаграмма компонентов   диаграмма развертывания Диаграмма реализации - Физическое представление моделей диаграмма компонентов диаграмма развертывания

>Диаграмма компонентов отображает особенности физической структуры системы позволяет определить архитектуру разрабатываемой системы, установив зависимости Диаграмма компонентов отображает особенности физической структуры системы позволяет определить архитектуру разрабатываемой системы, установив зависимости между компонентами

>Цели диаграммы компонентов: визуализации общей структуры исходного кода программной системы; спецификации исполнимого варианта программной Цели диаграммы компонентов: визуализации общей структуры исходного кода программной системы; спецификации исполнимого варианта программной системы; обеспечения многократного использования отдельных фрагментов программного кода; представление концептуальной и физической схем баз данных

>Компонент реализует некий набор интерфейсов и служит для обозначения элементов физического представления системы имя Компонент реализует некий набор интерфейсов и служит для обозначения элементов физического представления системы имя компонента - имя исполняемого файла, имя динамической библиотеки, имя web - страницы, имена файлов с текстами программ, имя типа (<имя компонента : имя типа>) К имени + информация об имени пакета и {номере версии компонента}

>Виды компонентов компоненты развертывания, которые обеспечивают выполнение системой своих функций:  динамические библиотеки, html Виды компонентов компоненты развертывания, которые обеспечивают выполнение системой своих функций: динамические библиотеки, html страницы, файлы справки; компоненты-рабочие продукты: файлы с исходными текстами программ компоненты исполнения: файлы с расширением exe

>Пример с включением интерфейсов Соединения интерфейса с компонентом означает, что данный компонент реализует интерфейс Пример с включением интерфейсов Соединения интерфейса с компонентом означает, что данный компонент реализует интерфейс

>Зависимость компонентов Зависимость компонентов

>Диаграмма развертывания применяется для представления общей конфигурации и топологии распределенной программной системы и содержит Диаграмма развертывания применяется для представления общей конфигурации и топологии распределенной программной системы и содержит распределение компонентов системы по отдельным ее узлам отображаются физические соединения - маршруты передачи информации между аппаратными устройствами

>Цели диаграммы определить распределение компонентов системы по ее узлам; показать физические связи между всеми Цели диаграммы определить распределение компонентов системы по ее узлам; показать физические связи между всеми узлами реализации системы на этапе ее исполнения.

>

>

>Соединения означают необходимость физической реализации канала для обмена информацией между узлами Отношения зависимости используются, Соединения означают необходимость физической реализации канала для обмена информацией между узлами Отношения зависимости используются, если необходимо показать, какие компоненты входят в узел. При этом эти компоненты не содержатся в графическом символе узла

>Пример с отношением зависимости Пример с отношением зависимости

>Пример системы удаленного обслуживания клиентов банка Пример системы удаленного обслуживания клиентов банка