Главная » Просмотр файлов » ЛР №5 - Построение модели анализа в инструментальной среде

ЛР №5 - Построение модели анализа в инструментальной среде (1038838), страница 2

Файл №1038838 ЛР №5 - Построение модели анализа в инструментальной среде (ЛР №5 - Построение модели анализа в инструментальной среде) 2 страницаЛР №5 - Построение модели анализа в инструментальной среде (1038838) страница 22017-12-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Рис.7. Диаграмма последовательностей для кооперации «Просмотр каталога»

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

Все сообщения, которые являются входящими для класса анализа, будут автоматически трансформированы в его методы. Классы анализа пополнятся методами – сообщениями. Измененная диаграмма классов – участников на рис. 8.

Рис.8. Диаграмма классов – участников кооперации «Просмотр каталога» после построения диаграммы последовательностей.

Шаг 7. Анализ кооперациий

После анализа ВСЕХ коопераций будут получены следующие диаграммы их участников (диаграммы классов) и последовательностей (рис. 9 ).

Рис.9. Диаграмма последовательностей для кооперации «Оформление заказа»

Рис.10. Диаграмма классов – участников кооперации «Оформление заказа»

Рис.11. Диаграмма последовательностей для кооперации «Заказ товара»

Рис.12. Диаграмма классов – участников кооперации «Заказ товара»

Шаг 8. Анализ классов

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

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

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

Для проверки корректности и полноты свойств классов используют слеждующие принципы:

  • для класса сущности: атрибуты ― поля хранимых данных, методы ― get|set или CRUD;

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

  • для класса управляющего: атрибуты ― промежуточные данные алгоритма, методы ― шаги алгоритма кооперации.

Также при анализе классов возможно их преобразование, например, разбиение или слияние, выделение базовых и производных классов.

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

Шаг 9. Анализ пакетов — построить «обзорную» диаграмму всех классов

После анализа классов проводят их разбиение на пакеты.

Для этого надо построить «обзорную» диаграмму всех классов, содержащую все классы и все связи между ними.

На диагарамму выносят все классы анализа. Связи прорисовываются автоматически. Пример на рис.13.

Рис.13 «Обзорная» диаграмма всех классов

Шаг 10. Анализ пакетов — распределение классов по пакетам

Добавить в модель пакеты. Распределить классы анализа по пакетам по принципу функциональной связности. Пример на рис. 14.

Рис. 14. «Обзорная» диаграмма пакетов ( классов)

Создание диаграмм в среде Rational Software Architect

(По материалам Тинни Нг (Tinny Ng) - IBM Toronto)

Создание RUP-модели

После запуска Rational Software Architect откройте UML-проект с именем Lab2 (созданный ранее). Добавьте к нему модель анализа. Для этого выполните следующие действия:

  • В Project Explorer выберите Models , нажмите правую мышь и из контекстного меню выберите Create Model, нажмите кнопку Next;

  • Выберите Analysis and Design / RUP Analysis Package, укажите имя модели и нажмите кнопку Finish;

  • Нажмите Yes в ответ на запрос открытия перспективы Modeling.

Будет создана модель и добавлена в проект. Она содержит набор предопределенных папок и элементов (рис. 15). далее они рассмотрены подробно.

Рис. 15. Набор предопределенных папок и элементов модели анализа.

Диаграммы и элементы модели Анализа

Модель содержит Rerspective Overviews - набор обзорных диаграмм, в том числе:

    • Analysis Views ― список диаграмм анализа (ссылки на них), здесь можно поправить надписи,

    • Domain Model ― «обзорная» диаграмма классов сущностей,

    • Key Abstractions ― «обзорная» диаграмма основных классов нализа (всех и пакетов),

    • Key Controllers ― «обзорная» диаграмма управляющих классов,

    • UI ― «обзорная» диаграмма граничных классов.

Модель содержит Model Library – набор строительных блоков, в том числе прототипы:

  • Functional Area ― пакет классов,

  • Boundary ― граничный класс,

  • Control ― управляющий класс,

  • Entity ― класс сущности,

  • use.case - кооперация.

Строительные блоки используют добавления элементов с настроенными параметрами.

Создание обзорной диаграммы коопераций

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

  • добавьте в модель анализа кооперации, соответствующие прецедентам из модели требований (ЛР2).

Добавление в модель кооперации, пакета или класса

При необходимости добавить в модель новый элемент, например, кооперацию или класс сущности, нужный элемент выбирают в Project Explorer в строительном блоке. Затем правой мышью вызывают контекстное меню, выбирают Copy. Затем выбирают в Project Explorer модель анализа, правой мышью вызывают контекстное меню, выбирают Paste (рис. 16)

Рис. 16. Копирование строительных блоков.

Новый элемент переименовывают либо выбрав в контекстном меню Edit, либо в свойствах данного элемента (Properties).

  • Для создания кооперации выбрать строительный блок кооперации (use.case), скопировать его (copy) и вставить в модель анализа (paste).

  • Выделить новую кооперацию в Project Explorer и в свойствах изменить ее имя (из контекстного меню вызвать свойства - Properties) (рис.17)

Рис. 17 Свойства кооперации

Добавить в модель диаграмму (свободную) и перенести на нее из модели требований прецеденты, а из модели анализа - кооперации. Для этого:

  • в Project Explorer выбрать модель анализа, вызвать контекстное меню, выбрать Add Diagram - > FreeForm Diagram. В модель добавится новая диаграмма, можно изменить ее имя.

  • Открыть соданную диаграмму (двойным щелчком по ней в Project Explorer).

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

  • Соединить прецеденты и кооперации (их реализующие) связью Реализация. Выделить связи и установить для них (на панели Свойства, вкладка Стереотипы) стереотип TRACE (кнопка Apply Stereotype) рис. 18.

Рис. 18. Свойства связи - Стереотипы

Создание обзорных диаграмм классов

Модель анализа содержит обзорные диаграммы классов сущностей, граничных и управляющих. Они находятся в папке Rerspective Overviews модели анализа.

Добавьте в модель анализа классы сущности, граничные и управляющие. Их копируют из строительных блоков в модель и преименовывают (см. выше).

Классы сущности выявляют на основе модели предметной области. Это прототипы таблиц БД. Управляющий класс ― один на каждую кооперацию. Граничный класс ― один на каждого актера.

Откройте нужную обзорную диаграмму и перетащите на нее все классы соответствующего типа из Project Explorer.

Для классов сущностей укажите атрибуты, связи ассоциации, роли, множественность и арность.

Добавление атрибутов и связей между классами

Для добавления атрибута выберите класс на диаграмме или в Project Explorer, в контекстном меню выберите Add UML → Attribute и укажите его имя. Состав атрибутов можно редактировать и в свойствах класса (Properties в конткестом меню, вкладска Attribute).

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

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

Для удаления класса или свзи выберте нужное на диаграмме или в Project Explorer и в контекстном меню укажите Delete from Model или Delete from Diagram. Ненужные элементы удаляйте из модели.

Анализ кооперации

Анализ выполняют для каждой кооперации отдельно. Для этого выполните следующие действия:

  • Раскрыть кооперацию для анализа в Project Explorer, которая содержит:

  • диаграмму классов участников (Participarts),

  • обзорную диагарамму кооперации (Overview) – ссылки на диаграммы кооперации,

  • диаграмму последовательности кооперации (для основного и альтернативного потоков сообщений) — рис. 19.

Рис. 19 Состав диаграммы для кооперации.

  • Открыть диаграмму классов участников — Participarts. Добавить на нее те классы анализа (созданные ранее), которые участвуют в этой кооперации и соединить их направленными ассоциациями (от граничного к управляющему, от управляющего к сущностям). Классы переносятся из модели (из проводника проекта) — рис. 20:

  • Граничный ― для актера, который реализует прецедент кооперации,

  • Управляющий соответствует данной кооперации,

  • Сущности определяются логикой прецедента (для данной кооперации).

Рис. 20 Диаграмма клссов — участников кооперации.

  • Открыть диаграмму последовательнстей для реализации — Basic Flow.

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

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

Создание диаграммы последовательностей (циклограммы)

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

  1. Перетащите действующее лицо User из Project Explorer на диаграмму для создания экземпляра действующего лица. Таким же образом создайте экземпляры нужных классов, перетащив их на диаграмму из Project Explorer.

  2. Выберите synchronous Message (или другое) на палитре инструментов. Нажмите кнопку мыши на линии под элементом User. Удерживая кнопку мыши нажатой, перетащите линию под элемент граничного класса, отпустите мышь. Введите название операции в появившемся окне.

  3. Если созданная операция вызывает другую, то нажмите кнопку мыши на линии жизни внутри прямоугольника (метода). Удерживая кнопку мыши нажатой, перетащите линию под элемент того класса, который надо вызвать, и отпустите мышь. Выберите в открывшемся меню либо создание новой операции, либо выбор существущей.

  4. Для создания сообщения для собственного вызова, просто нажмите кнопку мыши в строке экземпляра без всякого перетаскивания.

  5. Созданная циклограмма представлена на рисунке 21.

Рис. 21. Циклограмма.

Если после создания диаграммы последовательностей (циклограммы) перейти к диаграмме участников, то можно увидеть, что классы заполнились методами — рис. 22.

Рис. 22 Диаграмма классов участников.

Распределение классов по пакетам

  • Открыть обзорную диаграмму Key Abstractions.

  • Перенести на нее все классы из Project Explorer. Связи отобразятся автоматически.

  • Скопировать из строительных блоков (Project Explorer) функциональный пакет (copy-paste) и переименовать его,

  • перенести пакет на диаграму,

  • перенести классы в пакет (до повления синего овала) — в Project Explorer) класы переместятся в соответствующий пакет,

  • раскрыть содержимое пакетов (знак +).

Пример на рис. 23.

Характеристики

Список файлов лабораторной работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6381
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее