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

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

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

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

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

Онлайн просмотр документа "ЛР №5 - Построение модели анализа в инструментальной среде "

Текст из документа "ЛР №5 - Построение модели анализа в инструментальной среде "

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

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

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

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

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

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

Исходные данные

  • проект Rational Software Architect, содержащий модель требований (был создан в ЛР2);

  • набор актеров и прецедентов (созданы в ЛР2),

  • спецификации прецедентов (созданы в ЛР2),

  • прототип пользовательского интерфейса (создан в ЛР2).

Оглавление

Исходные данные 1

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

Унифицированный процесс разработки ПО (RUP) 3

Рабочий процесс «Определение требований» 3

Рабочий процесс «Анализ требований» 4

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

Шаг 1. Анализ архитектуры - определение коопераций 5

Шаг 2. Анализ архитектуры - определение классов сущностей 5

Шаг 3. Анализ архитектуры - определить граничные и управляющие классы 6

Шаг 4. Анализ кооперации – определить классы-участники кооперации 7

Шаг 5. Анализ кооперации – построить диаграмму последовательностей 8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Действия при анализе требований (итог) 26

Задание 27

Требования к отчету 28

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

Литература 29

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

Унифицированный процесс разработки ПО (RUP)

Унифицированный процесс состоит из четырех этапов разработки: сбора требований, проектирования, построения и внедрения. Каждый этап выполняется как серия итераций, каждая из которых обеспечивает приращение функциональных возможностей системы.

Итерация состоит из пяти рабочих процессов: определение требований, анализ, проектирование, реализация и тестирование.

Рабочий процесс «Определение требований»

Рабочий процесс определения требований начитает итерацию. Он состоит из шагов:

  • перечислить кандидаты в требования;

  • осознать контекст системы (построить модель предметной области и бизнес-модель);

  • определить функциональные требования;

  • определить нефункциональные требования.

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

  • актеры – соответствуют группам пользователей системы;

  • прецеденты – набор функций системы, реализующих полезную для пользователей деятельность;

  • прототип пользовательского интерфейса;

  • модель прецедентов – содержит систему прецедентов из множества актеров, прецедентов и связей между ними;

  • глоссарий (словарь) терминов.

Пример: АСУ магазина. Диаграмма прецедентов на рис.1

Рис.1 Диаграмма прецедентов

Рабочий процесс «Анализ требований»

На стадии анализа необходимо выполнить следующие действия:

  • анализ архитектуры системы;

  • анализ прецедентов;

  • анализ классов;

  • анализ пакетов.

В результате выполнения анализа требований будут получены артефакты:

  • модель анализа - содержит систему анализа из множества пакетов, классов и коопераций анализа;

  • классы анализа – представляют начальное разбиение системы на классы;

  • анализ коопераций – показывает реализацию прецедентов в терминах классов и связей между ними;

  • пакеты анализа – логические контейнеры классов анализа;

  • сервисные пакеты – содержат классы для выполнения сервисных функций.

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

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

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

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

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

Шаг 1. Анализ архитектуры - определение коопераций

В начале анализа следует добавить кооперации для реализации основных прецедентов. Для каждого прецедента одну кооперацию. Название кооперации совпадает с названием прецедента. Составляем «обзорную» диаграмму коопераций, содержащую прецеденты и реализующие их кооперации, связь между ними типа «реализации» со стереотипом трассировки (отображения) <<trace>>. См. пример на рис.2

Рис.2 Обзорная диаграмма коопераций и прецедентов

Шаг 2. Анализ архитектуры - определение классов сущностей

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

Построить «обзорную» диаграмму классов сущностей (Domain Model) на основе модели предметной области. Определить для них атрибуты, связи ассоциации, роли, множественность и арность. Классы сущностей имеют стереотип <<entity>>. Пример на рис.3.

Рис.3. Обзорная диаграмма классов сущностей.

Шаг 3. Анализ архитектуры - определить граничные и управляющие классы

Классы анализа бывают трех типов: граничный, управляющий или сущности.

Классы сущностей рассмотрены выше.

Граничный класс – выделяют для моделирования взаимодействия между системой и актерами: получение и передача информации или запроса. Граничный класс соответствует пользовательскому интерфейсу, интерфейсу внешних устройств или коммуникационному протоколу, библиотеке АРI на высоком уровне абстракции без физической реализации. Граничный класс обозначается стереотипом <<boundary>>.

Управляющий класс – выполняет координацию, последовательность, взаимодействие и управление другими объектами для прецедента. Обрабатывает и координирует действия и потоки управления, реализует бизнес-логику. Управляющий класс обозначается стереотипом <<control>>.

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

Принципы выделения классов анализа (для нескольких или всех прецедентов):

  • определить по одному основному граничному классу на каждого актера – человека. Это будет прототипом главной формы его пользовательского интерфейса. Основной граничный класс может быть набором простых граничных классов, соответствующих формам его пользовательского интерфейса;

  • определить по одному основному граничному классу на каждого актера - внешнюю систему. Это будет коммуникационным интерфейсом. Если несколько уровней коммуникации, то выделяют по одному граничному классу на каждый уровень;

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

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

Рис.4 - «обзорная» диаграмма управляющих классов

На рис. 5 приведена «обзорная» диаграмма граничных классов (UI)

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

Шаг 4. Анализ кооперации – определить классы-участники кооперации

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

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

  • Определить ассоциации между классами в соответствии с их взаимодействием для реализации прецедента.

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

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

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

  • классы сущностей, используемые в данной кооперации.

Возможно добавление других управляющих классов (сервисов), если для данной кооперации ее прецедент включает другой прецедент (<<include>>).

Классы, участвующие в кооперации, выбираются из определенных ранее классов анализа. На рис. 6 диаграмма классов – участников кооперации Просмотр каталога.

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

Классы – участники соединяются направленными ассоциациями. Направление ассоциаций соответствует вызовам между классами:

  • от актера к его граничному классу (ввод и вывод через пользовательский интерфейс),

  • от граничного – к управляющему (передача вызова функции),

  • от управляющего – к сущностям (обращение к хранилищу данных),

  • от управляющего - к другому управляющему (если есть вызов сервиса).

Шаг 5. Анализ кооперации – построить диаграмму последовательностей

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

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

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

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