Добавил:
при поддержке музыки группы Anacondaz Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Гузеев Конспект лекций

.pdf
Скачиваний:
12
Добавлен:
07.05.2023
Размер:
1.82 Mб
Скачать

Класс описания.

Класс описания – содержит информацию о свойствах некоторого объекта.

Класс описания вводится в следующих случаях:

1.Существует необходимость описания элементов или служб, не зависимо от существования конкретных экземпляров этих объектов.

2.Если удаление экземпляров, описываемых им понятий, приводит к потери важной информации в связи с некорректной ассоциацией этой информации с удаляемым экземпляром.

3.Если при наличии понятия устраняется дублирования информации.

Ассоциация

Ассоциация – это отношение между экземплярами классов, отражающие некоторые значимые и полезные связи между ними.

Вмодель предметной области целесообразно включать:

1.Ассоциации, знания о которых нужно сохранять в течении некоторого периода.

2.Ассоциации, производные от содержащихся в списке стандартных ассоциаций.

3.Список стандартных ассоциаций.

А является транзакцией, которая связана с другой транзакцией Б.

Пример: платеж наличными – продажа.

А является элементом транзакции Б.

Пример: Элемент продажи – продажа.

А является товаром или услугой для транзакции Б.

Рейс – резервирование.

А является ролью, связанной с транзакцией Б.

Пример: Покупатель – платеж.

А является физической или логической частью Б.

Пример: Место – самолет А физически или логически содержится в Б.

Пример: Товар – полка, пассажир – самолет.

А является описанием Б.

Описание товара – товар.

А является организационной единицей Б.

Пример: Отдел – магазин.

А использует, управляет или владеет Б.

Пример: Игрок – объект.

А следует за Б.

Пример: Клетка – клетка.

Атрибут

Атрибут – логическое значение данных объекта.

В модель предметной области включаются те атрибуты, для которых определены соответствующие требования или для которых необходимо хранить определенную информацию.

Идентификация системных событий и описание операций в процессе проектирования.

Системные диаграммы последовательности. (СДП)

Диаграммы последовательностей — это артефакт, иллюстрирующий входные и выходные события, которые связаны с разрабатываемой системой. Входными данными для создания системных диаграмм последовательностей служит описание прецедентов и системные события. Операции, отображаемые на СДП могут также анализироваться в описании операций и словаре терминов, они служат отправной точкой для проектирования взаимодействия объектов. На СДП для определенного хода событий, описанного в прецеденте отображаются внешние исполнители, которые взаимодействуют непосредственно с системой, сама система, как «черный ящик», а также системные события, инициируемые исполнителями, при этом порядок событий должен соответствовать их последовательности в описании прецедента.

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

СДП – это схема, которая для определенного сценария прецедента показывает генерируемые внешними исполнителями события, их порядок, а также события, генерируемые внутри самой системы. (имеются в виду те события, которые система отдает в ответ). При этом все системы рассматриваются как черный ящик. Назначение данной диаграммы – отображение событий. передаваемых (и принимаемых) системой через ее границы. Диаграмма последовательностей создается для основного успешного сценария прецедента, а при необходимости и для наиболее существенных и сложных альтернативных сценариев.

Программная система реагирует на три типа событий:

1.Внешние события, инициируемые исполнителями (людьми или другими системами).

2.Таймерные события.

3.Сбои или исключения.

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

1.Диаграммы последовательностей.

2.Прецеденты.

3.Описание системных операций.

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

системного события лучше всего начинать с глагола, это повышает читабельность имен и подчеркивает направленность событий.

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

Как правило СДП строится только для тех сценариев, которые будут реализовываться на следующих итерациях.

Описание операций.

Описание системных операций определяют детальное поведение системы в терминах изменения состояния объектов модели предметной области после выполнения системных операций. Основными входными данными для описания операций являются системные операции, определенные для СДП, а также модели предметной области.

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

Описание операций содержит разделы:

1.Операции

2.Ссылки

3.Предусловия

4.Постусловия

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

Постусловия писания операций.

В разделе постусловия декларируется изменение состояния объектов в модели предметной области. К таким изменениям относятся:

1.Создание или удаление экземпляра

2.Формирование или разрыв ассоциации

3.Изменение атрибута

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

Наиболее типичной ошибкой при составлении описаний является не включение формирования операций в число постусловий операции. Установка ассоциаций играет особо важную роль при составлении операций.

Динамическое проектирование с использованием

Динамическое проектирование – взаимодействие объектов разных классов.

Диаграммы последовательности и коммуникации.

Термин диаграмма взаимодействия используется для общего названия двух конкретных типов диаграмм: последовательностей и коммуникаций.

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

Класса А содержит атрибут doOne, класс Б содержит атрибуты doTwo, doThree

public class A

private B me B = new B(); public void doOne (); myB.doTwo(); meB.doThree();

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

Основные обозначения диаграмм последовательностей.

Участники взаимодействия обозначаются следующим образом:

Неименнованные

Именнованные Экземпляр шаблонного класса, предназначенный для хранения объектов

Sales – имя

Единичный экземпляр класса, выбранный из набора объектов коллекции

Статический метод может показывается таким образом:

Синтаксис для отображения сообщений.

Диаграммы взаимодействия отображают взаимодействия, передаваемые от одних объектов к другим. В языке Uml существует стандартный синтаксис для обозначения передачи сообщений.

Получатель = сообщение (параметр: тип параметра): тип Получателя

Первое сообщение называется начальным и может дополнительно обозначаться кружком.

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

Существуют два различных способа отображения возврата значения при передачи сообщения:

1.С использованием синтаксиса отображения сообщения.

2.С использованием возвратной линии сообщения.

Если требуется отобразить передачу сообщений самому себе, то используется вложенный

активационный блок.

Создание экземпляров объектов:

Сообщение сreate с заштрихованной стрелкой интерпретируется для таких языков как java, с++ и т.д. как оператор new с вызовом конструктора.

Сообщение о создании не обязательно должно иметь имя create, однако это не опциональная традиция.

Уничтожение делается следующим образом:

Фреймы — это области или объекты диаграмм, содержащие оператор или метку (например, loop) и условное отображение. Синонимы фреймы диаграмм, фреймы взаимодействия.

Фрейм обозначается прямоугольником, сверху с лева оператор. Условное выражение – в квадратных скобках поверх линии жизни.

Итерационный процесс для отображения объектов

Любую диаграмму взаимодействия можно поместить специальный фрейм с оператором sd и присвоить ей имя. Это делается для обеспечения возможности ссылки на эту диаграмму с помощью другого фрейма с оператором ref.

Сообщение для класса с использованием статического имени.

Обращение к классу или вызов статического метода отображается на диаграмме последовательности путем представления объекта получателя в виде класса, а точнее экземпляра метакласса.

Полиморфные сообщения

Полиморфизм – изменчивость поведения некоторых имени в зависимости от различных параметров.

2-я картинка – полиморфное сообщение

Каждая диаграмма под каждое полиморфное сообщение

Асинхронные вызовы

Если участник маркирован ка Б, то он активный участник (все методы в отдельном потоке)

Сообщение старт и create является синхронны. Продолжаем только после того, как операция старт была завершена. Асинхронное сообщение run. Не дожидаясь пока кусок выполнится мы передаем сообщение deleteLate, эта информация поступает сразу после запуска, не дожидаясь завершения результата метода.

Статическое проектирование с использованием UML.

Для статического проектирования используется та же система обозначений UML, что и для описания модели предметной области – диаграммы классов. Однако в процессе проектирования диаграммы классов - отображают взаимодействие программных объектов или классов. Для наглядности и отличия ракурсов проектирования будем использовать термин диаграммы классов проектирования, как синоним диаграмм классов в процессе статического проектирования. Элементами модели проектирования по мимо классов являются еще и другие «объекты», поэтому вводится понятие классификатора.

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

1.С использованием имени атрибута

2.С помощью линии ассоциации

3.Комбинированный подход

Формат описания атрибута

Формат описания атрибута имеет следующий вид:

Область_видимости имя : тип кратность = значение_по_умолчанию {строка свойств}

Если область видимости не указана явно, то предполагается, что атрибут относится к закрытой области видимости.

Представление атрибута с помощью линии ассоциации на диаграммах класса проектирования осуществляется следующим образом:

1.Стрелка навигации – указывает направление связи от объекта источника к целевому объекту, это значит, что объект источник в качестве своего атрибута содержит целевой объект.

2.Кратность – указывается со стороны целевого объекта

3.Имя роли - Определяет имя атрибута и указывается только со стороны целевого объекта

4.Имя ассоциации отсутствует.

Атрибут обозначается с использованием имени, если относится к типом данных и линией ассоциации во всех других случаях. (рекомендательный характер)

Термин «тип данных» применим к тем объектам, для которых уникальная тождественность не является важной. Необходимо понимать, что различие в обозначении атрибутов существенно только в процессе проектирования (для выставления визуальных акцентов и большей наглядности диаграмм). В программном коде все атрибуты всегда записываются однообразно. Рядом с линией ассоциации в соответствии с описанием атрибута можно указывать строку ограничений в фигурных скобках.

Представление атрибутов коллекций.

Class A

{

List <Item> items;

}

Блоки примечаний используется в трех случаях:

1.Примечание – некий произвольны текст.

2.Для указания ограничений, если текст заключен в фигурные скобки.

3.Для указания тела метода.

Формат операции:

Область_видимости имя (список_параметров): тип_фозвращаемого_ значения {строка свойств}

Если область видимости не указана, то она считается public.

Операции — это не метод, а объявление с указанием имени, параметров, строки свойств и т.д.

Метод – реализация операции. Для того, чтобы правильно показывать методы.