Проектирование на UML. Сборник задач. Антон Сергеевич Хританков
Чтение книги онлайн.

Читать онлайн книгу Проектирование на UML. Сборник задач - Антон Сергеевич Хританков страница 10

СКАЧАТЬ style="font-size:15px;">      д. Код интернет-магазина достаточно универсальный. Можно сделать на базе этого кода несколько сайтов для разных магазинов. Для этого нужно заполнить 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. СКАЧАТЬ