method_analys_new_draw (Лабораторная работа 5 - RUP, Анализ)
Описание файла
Файл "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 |
PhoneBookView | stateHasChanged |
PhoneBookController | userHasInput |
-
Теперь создайте некоторые сопоставления для связи этих трех классов. Как показано на рисунке 8, нажмите стрелку рядом с командой Association в панели Palette и выберите Directed Association;
Рисунок 8. Выбор команды Directed Association в панели Palette
-
Нарисуйте линию отношения сопоставления от класса PhoneBookController к PhoneBookModel (порядок имеет значение) для создания отношения направленного сопоставления между этими двумя классами. Отношение направленного сопоставления означает, что первый класс знает о втором, но не наоборот;
Назовите отношение направленного сопоставления controllerHasModel;
Теперь создайте еще несколько отношений. На этот раз создайте отношения сопоставления без направления, то есть два соединенных класса взаимно осведомлены друг о друге:
-
Создайте отношение сопоставления между классом PhoneBookModel и PhoneBookView и назовите его modelView;
Создайте отношение сопоставления между классом PhoneBookView и PhoneBookController и назовите его viewController.
-
Полностью диаграмма классов должна выглядеть так, как показано на рисунке 9. Для сохранения диаграммы нажмите Ctrl-S .
Рисунок 9. Созданная диаграмма классов для приложения телефонной книги
Создание диаграммы последовательностей (циклограммы)
Циклограммы в UML показывают хронологическую последовательность сообщений при взаимодействии экземпляров. Она состоит из взаимодействия, представленного линиями связи и сообщениями, которыми они обмениваются при взаимодействии, также называемыми линиями сообщений.