Разделы презентаций


07 Проектирование классов и взаимодействия.pptx

Содержание

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

Слайды и текст этой презентации

Слайд 1Проектирование ПО
Тема 7. Проектирование классов и взаимодействия
25.10.2013
ИГЭУ. Кафедра ПОКС

Проектирование ПОТема 7. Проектирование классов и взаимодействия25.10.2013ИГЭУ. Кафедра ПОКС

Слайд 2Проектирование ПО. Проектирование классов и взаимодействия
Проектирование классов и взаимодействия
Проектирование классов

– процесс обеспечения их поведения, заданного в модели вариантов использования

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

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

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

Проектирование ПО. Проектирование классов и взаимодействияПроектирование классов и взаимодействияПроектирование классов – процесс обеспечения их поведения, заданного в

Слайд 3Проектирование ПО. Проектирование классов и взаимодействия
Распределение обязанностей (responsibilities)
Класс, ко­торый имеет

соответствующие данные, должен и выполнять соответствую­щие обязанности.

Если все данные

находятся в одном классе, проблема реше­на.
Если данные распределены по нескольким классам, возможны следующие ре­шения:

Поместить обязанности в один класс (часто в класс-представление) и делегировать части работы другим классам, содержащим данные.
Создать класс «третьего лица» (часто класс пакета control — управление или mediator — посредник), назначить ему обязанности и при необходимости заставить его делегировать части работы другим классам.
Использовать существующий класс как класс «третьего лица»
Проектирование ПО. Проектирование классов и взаимодействияРаспределение обязанностей (responsibilities)Класс, ко­торый имеет соответствующие данные, должен и выполнять соответствую­щие обязанности.

Слайд 4Проектирование ПО. Проектирование классов и взаимодействия
Определение классов из требований варианта

использования
Классы должны обеспечивать поведение, указанное в функциональных требо­ваниях спецификации вариантов

использования.

Определение клас­сов включает выделение этих требо­ваний и выбор классов и их совместной работы, необ­ходимых для выполнения этих требований.

Концептуальные классы, которые определяют бизнес-объекты в БД, дол­жны быть выделены заранее. Концептуальные классы станут в проекте классами пакета entity (сущность).

Классы должны строго соответствовать структурному шаблону, выбранному для системы. Для начальных итераций иногда достаточно одного класса на пакет (например, для пакетов control и mediator).
Проектирование ПО. Проектирование классов и взаимодействияОпределение классов из требований варианта использованияКлассы должны обеспечивать поведение, указанное в функциональных

Слайд 5Проектирование ПО. Проектирование классов и взаимодействия
PCMEF+
пред­ставление
управление
посредник
сущность
основание
+
знакомство

Проектирование ПО. Проектирование классов и взаимодействияPCMEF+пред­ставление управление посредник сущность основание+знакомство

Слайд 6Проектирование ПО. Проектирование классов и взаимодействия
Определение классов из требований для

управления электронной почтой

Проектирование ПО. Проектирование классов и взаимодействияОпределение классов из требований для управления электронной почтой

Слайд 7Проектирование ПО. Проектирование классов и взаимодействия
Определение классов из требований

Проектирование ПО. Проектирование классов и взаимодействияОпределение классов из требований

Слайд 8Проектирование ПО. Проектирование классов и взаимодействия
Определение классов из требований

Проектирование ПО. Проектирование классов и взаимодействияОпределение классов из требований

Слайд 9Проектирование ПО. Проектирование классов и взаимодействия
Проектирование исходных классов для управления

электронной почтой
Модель включает ассоциации между сотрудничающими классами.
Соглас­но PCMEF-структуре все

ассоциации являются нисходящими.
Большинство ассоциаций могло бы быть выявлено из сотрудничества, непосредственно ви­димого в таблице. Однако в связи с тем, что таблица не показывает по­шаговую передачу сообщений, некоторые виды сотрудничества (которые есть в таблице), по-видимому, имеющиеся между несоседними пакетами, удалены из PCMEF-структуры.
Проектирование ПО. Проектирование классов и взаимодействияПроектирование исходных классов для управления электронной почтойМодель включает ассоциации между сотрудничающими классами.

Слайд 10Проектирование ПО. Проектирование классов и взаимодействия
Константы в интерфейсе
Интерфейс — удобный

способ хранения констант. Элементы данных в интерфейсе, в противоположность UML-интерфейсу,

не­явно заданы как public (внешний), static (статический) и final (заключитель­ный). Следовательно, они являются константами.

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

Проектирование ПО. Проектирование классов и взаимодействияКонстанты в интерфейсеИнтерфейс — удобный способ хранения констант. Элементы данных в интерфейсе,

Слайд 11Проектирование ПО. Проектирование классов и взаимодействия
Структурная разработка проекта классов
Классы (и

интерфейсы) должны удовлетворить структурным ограничениям, накладываемым структурным шаблоном, выбранным для

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

Слайд 12Проектирование ПО. Проектирование классов и взаимодействия
Структурная разработка проекта классов для

управления электронной почтой

Проектирование ПО. Проектирование классов и взаимодействияСтруктурная разработка проекта классов для управления электронной почтой

Слайд 13Проектирование ПО. Проектирование классов и взаимодействия
Уточнение классов

Проектирование ПО. Проектирование классов и взаимодействияУточнение классов

Слайд 14Проектирование ПО. Проектирование классов и взаимодействия
Уточнение классов

Проектирование ПО. Проектирование классов и взаимодействияУточнение классов

Слайд 15Проектирование ПО. Проектирование классов и взаимодействия
Уточнение классов

Проектирование ПО. Проектирование классов и взаимодействияУточнение классов

Слайд 16Проектирование ПО. Проектирование классов и взаимодействия
Классы после структурной проработки
Результаты таблицы

2 приводят к созданию улучшенной модели клас-сов.
К модели до­бавлен пакет

entity. Пакеты entity и mediator составляют пакет domain (предмет-ная область) как один из PCMEF-слоёв.
Пакет acquaintance имеет три новых интерфейса, реализован-ные классами в пакете entity. Новые операции, определенные во время структурной проработки, показаны в соответству-ющих классах.
Проектирование ПО. Проектирование классов и взаимодействияКлассы после структурной проработкиРезультаты таблицы 2 приводят к созданию улучшенной модели клас-сов.К

Слайд 17Проектирование ПО. Проектирование классов и взаимодействия
Инициализация классов
Результатом структурной проработки является

определение классов, ответственных за создание новых экземпляров других классов. Другими

словами, кто должен послать сообщение методу-конструктору другого класса, чтобы инициализировать новый объект этого класса.
Классы в более высоких слоях могут инициализировать классы в (соседних) более низких слоях, но не наоборот.
Первый объект должен быть инициализирован в начале программы. На­чальная точка компьютерной программы находится в главном методе. Главный метод инициализирует первый объект — это объект класса, который содержит главный метод.
Java требует массив объ­ектов String в качестве аргумента метода main. Пара­метр args содержит аргументы, если таковые вообще имеются, помещаемые в командную строку при запуске программы.
Класс, содержащий метод main, находится в пакете presentation и называется PMain.

Показать, кто создает новые экземпляры других классов можно, рисуя отношения зависимости между классами со стереотипом «instantiate» (инициализация).

Проектирование ПО. Проектирование классов и взаимодействияИнициализация классовРезультатом структурной проработки является определение классов, ответственных за создание новых экземпляров

Слайд 18Проектирование ПО. Проектирование классов и взаимодействия
Диаграмма инициализации
Когда класс А инициализи-рует

класс В, объекту А необходима ссылка на объект В. Если

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

Рисунок изображает диа-грамму инициализации для управления электрон­ной почтой. Связи ассоциации не смодели-рованы.
Проектирование ПО. Проектирование классов и взаимодействияДиаграмма инициализацииКогда класс А инициализи-рует класс В, объекту А необходима ссылка на

Слайд 19Проектирование ПО. Проектирование классов и взаимодействия
Взаимодействия
Взаимодействие (Interaction) - это поведение,

которое со­средоточено на наблюдаемом обмене информацией между объектами, существующими во

время взаимодействия

Существование объекта в определенное вре­мя называется линией жизни.
Взаимодействие реализуется как последовательность сообщений между линиями жизни. Сообщения могут быть синхронными или асинхронными.
Сообщение представляет собой связь от воз­никновения посылающего события на одной линии жизни до возникновения получаемого события на другой линии жизни.
UML 2.0 обеспечивает ряд диаграмм для изображения взаимо­действия: диаграммы последовательности, диаграм-мы коммуникации, диаграммы обзора взаимодействий и диаграммы синхронизации.

Проектирование ПО. Проектирование классов и взаимодействияВзаимодействияВзаимодействие (Interaction) - это поведение, которое со­средоточено на наблюдаемом обмене информацией между

Слайд 20Проектирование ПО. Проектирование классов и взаимодействия
Диаграммы последовательности
Диаграмма последовательности (sequence) показывает

упорядоченный во времени обмен сообщениями между объектами (partName : ClassName

[multiplicity]) в процессе взаимодействия.

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

Проектирование ПО. Проектирование классов и взаимодействияДиаграммы последовательностиДиаграмма последовательности (sequence) показывает упорядоченный во времени обмен сообщениями между объектами

Слайд 21Проектирование ПО. Проектирование классов и взаимодействия
Структурированные управляющие конструкции
Комбинированный фраг­мент (combined

fragment) состоит из ключевого слова и одного или несколь-ких вложенных

фраг-ментов:
ref – ссылка на другое взаи­модействие;
loop – цикл;
alt – условный фраг-мент;
opt – условный фраг-мент с одним вложен-ным фрагментом;
par – параллельно вы-полняющиеся фраг-менты.
Проектирование ПО. Проектирование классов и взаимодействияСтруктурированные управляющие конструкцииКомбинированный фраг­мент (combined fragment) состоит из ключевого слова и одного

Слайд 22Проектирование ПО. Проектирование классов и взаимодействия
Диаграммы последовательности

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

Слайд 23Проектирование ПО. Проектирование классов и взаимодействия
Диаграммы коммуникации
Диаграммы коммуникации (сommunication) могут

быть более полезны для анализа сообщений от(к) конкретного(му) объекта(у). Они

могут быть более удобны при изображении исходного проекта взаимодействий и выполнения «итеративного» моделиро­вания.
Проектирование ПО. Проектирование классов и взаимодействияДиаграммы коммуникацииДиаграммы коммуникации (сommunication) могут быть более полезны для анализа сообщений от(к)

Слайд 24Проектирование ПО. Проектирование классов и взаимодействия
Диаграмма обзора взаимодействия (interaction overview

diagram)
является разно­видностью диаграммы деятельности, в которой узлы-объекты замене­ны взаимодействиями и

исполь-зованиями взаимодействий (ссылками).

На рисунке приведен пример со студентом, принятым в университет. Сначала студент должен принять или отвергнуть решение об его зачислении. Согласившись с этим решением, студент должен зарегистри-роваться на кур­сы и подать заявку на место в общежитии. Завершив эти действия, студент должен заплатить за регистрацию. Если оплата не будет осуществлена вовре­мя, студента исключат.

Проектирование ПО. Проектирование классов и взаимодействияДиаграмма обзора взаимодействия (interaction overview diagram)является разно­видностью диаграммы деятельности, в которой узлы-объекты

Слайд 25Проектирование ПО. Проектирование классов и взаимодействия
Диаграмма синхронизации (timing diagram)

Проектирование ПО. Проектирование классов и взаимодействияДиаграмма синхронизации (timing diagram)

Слайд 26Проектирование ПО. Проектирование классов и взаимодействия
Взаимодействия для управления электронной почтой
«удачный

путь» взаимодействия:
регистрационное имя (login);
выход (exit);
просмотр непосланных сообщений (view unsent messages);
отображение

текста сообщения (display message text);
передача сообщения по электронной почте (email message);
«неудачный путь» взаимодействия:
неправильное имя пользователя или неправильный пароль (incorrect username or password);
неправильная опция (incorrect option);
слишком много сообщений (too many messages);
сообщение не может быть послано по электронной почте (email could not be sent).
Проектирование ПО. Проектирование классов и взаимодействияВзаимодействия для управления  электронной почтой«удачный путь» взаимодействия:регистрационное имя (login);выход (exit);просмотр непосланных

Слайд 27Проектирование ПО. Проектирование классов и взаимодействия
Взаимодействие «Регистрационное имя»

Проектирование ПО. Проектирование классов и взаимодействияВзаимодействие «Регистрационное имя»

Слайд 28Проектирование ПО. Проектирование классов и взаимодействия
Взаимодействие «Выход» (Exit)

Проектирование ПО. Проектирование классов и взаимодействияВзаимодействие «Выход» (Exit)

Слайд 29Проектирование ПО. Проектирование классов и взаимодействия
Взаимодействие «Просмотр сообщений»

Проектирование ПО. Проектирование классов и взаимодействияВзаимодействие «Просмотр сообщений»

Слайд 30Проектирование ПО. Проектирование классов и взаимодействия
Взаимодействие «Отображение текста»

Проектирование ПО. Проектирование классов и взаимодействияВзаимодействие «Отображение текста»

Слайд 31Проектирование ПО. Проектирование классов и взаимодействия
Взаимодействие «Отсылка сообщения»

Проектирование ПО. Проектирование классов и взаимодействияВзаимодействие «Отсылка сообщения»

Слайд 32Проектирование ПО. Проектирование классов и взаимодействия
Взаимодействие «Неправильное имя пользователя или

пароль»

Проектирование ПО. Проектирование классов и взаимодействияВзаимодействие «Неправильное имя пользователя или пароль»

Слайд 33Проектирование ПО. Проектирование классов и взаимодействия
Взаимодействие «Неправильная опция»

Проектирование ПО. Проектирование классов и взаимодействияВзаимодействие «Неправильная опция»

Слайд 34Проектирование ПО. Проектирование классов и взаимодействия
Взаимодействие «Слишком много сообщений»

Проектирование ПО. Проектирование классов и взаимодействияВзаимодействие «Слишком много сообщений»

Слайд 35Проектирование ПО. Проектирование классов и взаимодействия
Взаимодействие «Сообщение не может быть

послано по электронной почте»

Проектирование ПО. Проектирование классов и взаимодействияВзаимодействие «Сообщение не может быть послано по электронной почте»

Слайд 36Проектирование ПО. Проектирование классов и взаимодействия
Резюме
Проектирование классов и проектирование взаимодействия

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

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

Слайд 37Проектирование ПО. Проектирование классов и взаимодействия
Резюме
Диаграмма последовательности определяет последователь­ность сообщений.
Диаграмма

коммуникации (до UML 2.0 известная как диаграмма сотрудничест­ва или кооперации)

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

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика