method_analys_new_draw (Лабораторная работа 5 - RUP, Анализ)

2017-12-22СтудИзба

Описание файла

Файл "method_analys_new_draw" внутри архива находится в папке "Лабораторная работа 5 - RUP, Анализ". Документ из архива "Лабораторная работа 5 - RUP, Анализ", который расположен в категории "". Всё это находится в предмете "технология проектирования" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "технология проектирования" в общих файлах.

Онлайн просмотр документа "method_analys_new_draw"

Текст из документа "method_analys_new_draw"

Виноградова М.В.

МГТУ им. Н.Э. Баумана

Построение модели анализа в инструментальной среде

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

В материалах рассмотрены принципы построения модели анализа. Приведены методы создания диаграммы классов и последовательностей в среде Rational Software Architect. Рассмотрены примеры построения моделей. В заключительной части методических указаний приведены контрольные вопросы, список рекомендуемой литературы и пример задания.

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

Оглавление

Оглавление

Теоретическая часть 2

Модель анализа 2

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

Создание UML-проекта 10

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

§ 11

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

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

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

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

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

Задание 22

Контрольные вопросы 23

Литература 23




Теоретическая часть

Модель анализа

Модель анализа создается на основе модели требований (диаграммы прецедентов) и состоит из диаграмм классов и последовательностей. Последовательность создания модели анализа:

  • Открыть в среде Software Architect проект. Добавить к нему модель анализа RUP.

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

  • Пример: Была диаграмма прецедентов

Создали диаграмму коопераций:

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

Пример:

  • Добавить в модель управлющие и граничные классы. Управляющий класс — один на каждую кооперацию. Граничный класс — один на каждого актера. Построить «обзорную» диаграмму граничных классов и «обзорную» диаграмму управляющих классов, содержащие классы соответсвующих типов.

Пример:

Управляющие классы :

Граничные классы:

  • Выполнить анализ коопераций. Для каждой кооперации:

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

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

Пример:

  • создать диаграмму последовательностей кооперации (для выполнения основного потока алгоритма). В качестве объектов использовать классы-участники кооперации и актера. Первое действие всегда от актера. События диаграммы будут прообразом методов классов.

Пример:

Диаграмма классов участников автоматически дополнится методами:

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

  • Выполнить анализ классов. Уточнить для каждого класса:

  • связи между классами, методы классов (названия и атрибуты), атрибуты классов.

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

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

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

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

Пример:

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

Пример:

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

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

Создание UML-проекта

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

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

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

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

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

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

    • Analysis Views — список диаграмм анализа,

    • Domain Model — диаграмма классов сущностей,

    • Key Abstractions — диаграмма основных классов нализа,

    • Key Controllers — диаграмма управляющих классов,

    • UI — диаграмма граничных классов.

    • Кооперации диаграмма коопераций.

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

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

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

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

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

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

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

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

  • Выделить новую кооперацию и в свойствах изменить ее имя:

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

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

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

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

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

  • обзорную диагарамму кооперации,

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

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

Классы переносятся из модели (из проводника проекта):

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

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

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

Связать классы направленной ассоциацией: от граничного к управляющему, от управляющего к сущностям:

  • Создать диаграмму последовательнстей для реализации.

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

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

Каждое входящее в класс событие будет его методом.

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

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

Рассмотрим пример простой телефонной книги при помощи шаблона архитектуры Model-View-Controller (MVC), как это показано на рисунке. Для приложения телефонной книги необходимо создать следующие три класса:

  • Класс PhoneBookModel управляет записями телефонной книги и регистрирует состояние приложения. При изменении состояния уведомляется класс PhoneBookView, который затем на основании состояния приложения обновляет пользовательский интерфейс;

  • Класс PhoneBookView управляет графическим или текстовым интерфейсом пользователя на основании состояния приложения, и уведомляет класс PhoneBookController при приеме входных данных;

  • Класс PhoneBookController управляет работой всего приложения. Он изменяет состояние модели приложения и обновляет модель данных на основе ввода пользователей.

Цель данного упражнения - показать использование Rational Software Architect при проектировании приложения. На самом проектировании внимание на заостряется. Можно работать с любым другим проектом.


Рисунок 7. Проект MVC для приложения телефонной книги

Теперь создайте диаграмму классов, отображающую проект, представленный на рис 8.

  • В Rational Software Architect панели Model Explorer нажмите правой кнопкой мыши Phone Book UML Model и выберите Add Diagram > Class Diagram;

  • Введите Class Diagram в качестве имени сгенерированной диаграммы, заменив имя по умолчанию ClassDiagram1;

Выберите Class в панели Palette, затем нажмите кнопку мыши в области диаграммы для создания класса. Назовите его PhoneBookModel;

Нажмите правой кнопкой мыши созданный класс PhoneBookModel и выберите Add UML > Operation для создания операции для этого класса. Назовите ее setState;

  • Таким же образом создайте остальные элементы, показанные в таблице 2. Имена операций выбираются без привязки к какому-либо языку программирования;

Таблица 2. Информация о классах


Класс

Операции

PhoneBookModel

addAnEntry
searchPhoneNumber
getSearchResult
getState

PhoneBookView

stateHasChanged
changeView
getUserInput

PhoneBookController

userHasInput
start



  • Теперь создайте некоторые сопоставления для связи этих трех классов. Как показано на рисунке 8, нажмите стрелку рядом с командой Association в панели Palette и выберите Directed Association;

    Рисунок 8. Выбор команды Directed Association в панели Palette

  • Нарисуйте линию отношения сопоставления от класса PhoneBookController к PhoneBookModel (порядок имеет значение) для создания отношения направленного сопоставления между этими двумя классами. Отношение направленного сопоставления означает, что первый класс знает о втором, но не наоборот;

Назовите отношение направленного сопоставления controllerHasModel;

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

    • Создайте отношение сопоставления между классом PhoneBookModel и PhoneBookView и назовите его modelView;

Создайте отношение сопоставления между классом PhoneBookView и PhoneBookController и назовите его viewController.

  • Полностью диаграмма классов должна выглядеть так, как показано на рисунке 9. Для сохранения диаграммы нажмите Ctrl-S .

    Рисунок 9. Созданная диаграмма классов для приложения телефонной книги

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

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

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