» » » » Антон Хританков - Проектирование на UML. Сборник задач


Авторские права

Антон Хританков - Проектирование на UML. Сборник задач

Здесь можно купить и скачать "Антон Хританков - Проектирование на UML. Сборник задач" в формате fb2, epub, txt, doc, pdf. Жанр: Прочая околокомпьтерная литература, издательство ЛитагентРидеро78ecf724-fc53-11e3-871d-0025905a0812. Так же Вы можете читать ознакомительный отрывок из книги на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
Проектирование на UML. Сборник задач
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Вы автор?
Книга распространяется на условиях партнёрской программы.
Все авторские права соблюдены. Напишите нам, если Вы не согласны.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Проектирование на UML. Сборник задач"

Описание и краткое содержание "Проектирование на UML. Сборник задач" читать бесплатно онлайн.



В данном сборнике представлены задачи по проектированию ПО с использованием унифицированного языка моделирования UML 2, принципов и паттернов проектирования. Сборник содержит более 120 задач с несколькими заданиями в каждой по разным разделам UML и проектирования ПО. Для каждого раздела приводятся основные понятия, для задач даны ответы и пояснения по решению. http://www.objectoriented.ru






Спецификация исполнения (execution specification), отложенная на линии жизни, указывает на выполнение экземпляром классификатора соответствующего данной линии некоторого исполняемого поведения.

Вхождение взаимодействия (interaction use) служит для повторного использования взаимодействий, вместо фрагмента подставляется содержимое указанного взаимодействия.


ЗАДАЧИ

3.1. (см. решение в §11) Кооперация продажа Sale включает роли продавец Salesman и покупатель Customer.

а. Покажите, что продавец и покупатель могут взаимодействовать друг с другом.

б. Используя вхождения коопераций Sale, создайте модель кооперации продажи с посредником BrokeredSale, в которой покупатель взаимодействует с посредником Broker, а посредник как покупатель взаимодействует с продавцом.

3.2. Моделируется серверная часть веб-приложения интернет-магазина, построенного на основе паттерна Model-View-Controller (MVC). Взаимодействие между ролями Model, View и Controller отобразим на диаграмме последовательности.

а. Разместите на диаграмме роли Controller, Model, а также роль типа ORM с именем db. Синхронное найденное сообщение postBuy (purchase) приходит на линию жизни Controller. После этого Controller посылает Model синхронное сообщение addPurchase (purchase). В ответном сообщении Model возвращает объект purchaseDetails.

б. Реализуем на диаграмме поведение Model в ответ на сообщение addPurchase. Model посылает синхронное сообщение addPurchase (purchase) линии жизни db. Затем открывается фрагмент alt. При условии purchase.needDelivery Model посылает сообщение addDelivery(purchase.address) линии жизни db. Фрагмент alt окончен. Model посылает db синхронное сообщение saveChanges ().

в. В ответ на запрос покупки Controller должен сообщить пользователю, что заказ совершен успешно. После получения от Model ответного сообщения Controller создает новую линию жизни с ролью View сообщением createConfirmationView. Затем Controller посылает линии жизни View сообщение setPurchaseDetails (purchaseDetails). Затем Controller отправляет в ответ на входящий запрос ответное сообщение, содержащее View.

г. Отдел доставки нужно уведомить о том, что требуется доставить новый заказ. Добавим в Model (в опциональный фрагмент alt) посылку асинхронного сообщения notifyNewDelivery. Сообщение является потерянным.

д. Код интернет-магазина достаточно универсальный. Можно сделать на базе этого кода несколько сайтов для разных магазинов. Для этого нужно заполнить View при создании информацией о конкретном магазине. Добавим в контекст взаимодействия переменную shopInfo типа ShopInformation. После сообщения setPurchaseDetails начинается фрагмент использования взаимодействия ref с именем FillShopInformation. В этот фрагмент входят линии жизни Controller и View. В виде аргумента во взаимодействие передается переменная shopInfo.

3.3. (см. решение в §1) Автор Author направляет статью сообщением manuscript редактору Editor и ожидает от него подтверждения получения. Редактор отправляет сообщением evaluate статью рецензенту Peer. Рецензент отправляет сообщение редактору с оценкой статьи review. Редактор направляет сообщение автору с результатами resolution и рецензенту с благодарностью thanks.

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

б. Укажите, используя фрагменты, что статья направляется на рецензирование каким-либо трем из пяти рецензентов.

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

3.4. Терапевт Therapist ведет прием посетителей Person, в ходе которого выписывает лекарства Medicine; посетители принимают лекарства.

а. Постройте логическую модель, включающую классы Therapist, Medicine и Person, и отношения между ними.

б. Используя кооперации, покажите, что на приеме терапевт выполняет обязанности врача Doctor, посетитель является пациентом Patient, лекарства выписываются в виде рецептов Subscription.

3.5. Автомобиль Car состоит из двигателя класса Engine, пары передних front и задних rear колес класса Wheel.

а. Добавьте привод drivetrain так, чтобы автомобиль был переднеприводным.

б. Расширьте модель так, чтобы наряду с переднеприводными автомобилями, она описывала полноприводные автомобили как частный случай переднеприводных. Добавьте необходимые элементы, используйте двигатель DoubleEngine с двумя приводами типа drivetrain.

3.6. Пассажир Person заходит в лифт и нажимает кнопку pressButton лифта Lift с указанием целочисленного номера этажа floor. Лифт закрывает двери и начинает движение синхронным вызовом операции startMoving. После этого сообщает пассажиру номера проезжаемых лифтом этажей сообщением floorReached с указанием номера этажа. Затем лифт вызывает операцию stopMoving и останавливается. Пассажир нажимает кнопку pressDoors лифта для открытия дверей.

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

б. Уточните взаимодействие пассажира с лифтом. Укажите, что до нажатия кнопки этажа, пассажир обязан закрыть двери кнопкой pressDoors.

в. Используя фрагменты, покажите, что пассажир не может нажать кнопку открытия и закрытия дверей в процессе движения лифта.

г. (*) Укажите, что лифт проезжает один этаж за три секунды.

3.7. Менеджер подключаемых модулей pluginsManager класса PluginsManager получает сообщение loadPlugins – указание на необходимость загрузки доступных модулей. Он синхронно запрашивает у объекта settings класса PluginManagerSettings пути к директориям с модулями и получает от settings значение свойства pluginsDirs. После чего в цикле для каждой директории и каждой библиотеки *.dll загружает модули вызовом собственной операции loadPlugins, передавая путь к библиотеке в параметрах.

а. Реализуйте операцию loadPlugins класса PluginsManager. Взаимодействие начинается с создания нового экземпляра PluginsDll, затем идет получение количества подключаемых модулей в библиотеке getPluginsCount и получение всех модулей через вызовы getPlugin с параметром – номером модуля. После этого происходит инициализация каждого полученного модуля IPlugin вызовом метода initPlugin класса PluginsManager.

б. Добавьте в модель описание действий по инициализации модуля. Метод initPlugin проверяет, обрабатывает ли модуль события графического интерфейса вызовом isUIHandled. Если обрабатывает, то регистрирует модуль в качестве слушателя событий addListener в классе PlayerUIPresenter.

3.8. Взаимодействие выбора этажа SelectFloor содержит линию жизни кабины, представленной экземпляром активного класса Cabin, линию жизни floor экземпляра класса кнопки этажа FloorButton с селектором «1», и линию жизни класса Algorithm. Взаимодействие начинается с синхронного вызова кабиной операции нажатия кнопки isPressed на линии floor. Операция возвращает логическое значение «истина», если кнопка нажата. Затем экземпляр класса Cabin вызывает операцию selectFloor у алгоритма на линии в данном взаимодействии.

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

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

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

г. (*) Приведите по одному примеру разрешенной и неразрешенной траекторий в данном взаимодействии.


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Проектирование на UML. Сборник задач"

Книги похожие на "Проектирование на UML. Сборник задач" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Антон Хританков

Антон Хританков - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

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

Отзывы о "Антон Хританков - Проектирование на UML. Сборник задач"

Отзывы читателей о книге "Проектирование на UML. Сборник задач", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.