Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

1. В переезд RailCrossing устанавливается installedInto оборудование Equipment. Оборудование реализует операции открытия open и закрытия close. Консоль управления Console подключена контроллером



 

1. В переезд RailCrossing устанавливается installedInto оборудование Equipment. Оборудование реализует операции открытия open и закрытия close. Консоль управления Console подключена контроллером ctrl к переезду и состоит controls из нескольких путей сообщения Path. Консоль реализует операцию addPath, которая создает путь и подсоединяет к нему оборудование, передаваемое в параметрах. Оборудование переезда может быть подсоединено только к одному из путей.

a. Добавьте светофор TrafficLights, семафор RailLights и шлагбаум Barrier как виды оборудования, и автоматическую и ручную виды консоли управления. Укажите, что оборудование и консоль управления могут быть только одного из указанных видов.

b. Выделите в отдельный класс TwoWayRCBuilder алгоритм создания переезда с ручным управлением с автомобильным путем сообщения, оборудованным светофором и шлагбаумом, и одним железнодорожным с семафором. Примените паттерн Builder, покажите алгоритм на диаграмме последовательности. Задание значение свойству считайте синхронной операцией, например, setCtrl для ctrl.

c. Приведите пример такого переезда. Решение поясните.

 

2. Процедура моделирования с помощью карточек CRC начинается с выделения кандидатов классов ElicitCandidateClasses. После этого, выбирается сценарий SelectScenario, и пока остались в нем шаги, берется следующий шаг TakeStep и назначаются обязанности AssignResponsibilities классам. Если шагов не осталось, берется следующий сценарий, если сценариев больше нет, процедура моделирования завершается.

a. Покажите, что актуальное описание классов поддерживается в объектном узле вида «centralBuffer» и обновляется после каждого назначения обязанностей.

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

c. Доработайте модель, укажите, что именно менеджер продукта ProductOwner выбирает следующий сценарий, а после рассмотрения всех шагов всех сценариев проектировщик Designer строит по классам диаграмму Diagram, которая и является результатом процедуры. Остальные действия выполняет команда Team.

d. Представьте структуру взаимодействий в виде кооперации команды, проектировщика и менеджера продукта, примените паттерн Mediator.

 

3. В графическом редакторе использованы фигуры отрезок Line между начальной и конечной точками Point и дуга Arc второго порядка, построенная по упорядоченному набору из трех точек. Фигуры позволяют задать свое положение точками и умеют рисовать paint себя на холсте Canvas.



a. Определите в подходящем классе статические операции создания отрезков и дуг по передаваемым точкам, и операцию создания точек по координатам на плоскости.

b. Добавьте в модель фигуру ломаная Polyline, отображаемую в виде соединенных последовательно отрезков. Каким образом можно воспользоваться алгоритмом рисования отрезков? Решение поясните.

c. Для замкнутых ломаных без самопересечений Polygon добавьте операцию заливки fill внутренней области одним из трех цветов RGB: красным, зеленым или синим. Примените паттерн Decorator. Где следует реализовать проверку свойств ломаных?

 

4. Рассмотрим программу для смартфона, которая при встрече приветствует смартфоны собеседников согласно правилам этикета. По нажатию кнопки приветствия устанавливается подключение connect с другим смартфоном, затем выполняется приветствие, собеседники его получают show, и подключение завершается close.

a. Приведите диаграмму вариантов использования. Кроме этого, реализуйте варианты использования кооперацией SimpleGreeting, в которой участвуют субъект Subject и объект Object приветствия, представляющие собеседников в системе. Поясните взаимодействие в кооперации диаграммой, полагая все действия синхронными (требующими ожидания завершения).

b. Согласно правилам английского этикета двадцатых годов прошлого века, правильным официальным приветствием будет “How do you do?” операцией howDoYouDo, в ответ на которое может последовать “How do you do?”. Примените паттерн Strategy к субьектам, покажите доработанные кооперацию и последовательность приветствия.

c. На бизнес встрече формальным приветствием будет “Very glad to meet you” операцией veryGladToMeet или “Very glad to see you”, если встреча происходит в своем офисе, при этом для джентльменов принято обмениваться асинхронными handshake.

d. Доработайте модель, реализуйте приветствие на бизнес-встрече с несколькими партнерами. В трендах этого сезона рукопожатия с собеседниками следуют после приветствия их всех.

 

5. Удаленный отладчик для встраиваемых программ TargetDebugger позволяет собирать треки выполнения программы на устройстве, передавать их для сопоставления с UML моделью программы на рабочей станции разработчика. Отладчик состоит из программы-монитора на устройстве DeviceMonitor и модуля подключения по сети RemoteLib.

a. Интерфейс Monitor монитора позволяет указать setBreakpoint точку останова по адресу в памяти addr, остановить pause и продолжить resume выполнение программы, указать. Покажите на диаграмме классов интерфейс монитора, и его реализации для разных платформ ARM7, PowerPC и Cortex-M3.

b. Покажите структуру модуля удаленного доступа, используя бинарный протокол BinaryTcp и текстовый протокол Telnet. Воспользуйтесь паттерном Proxy и представьте решение на диаграмме компонентов. Решение поясните.

c. Выберите артефакты и разместите модули отладчика на рабочем месте разработчика и устройстве на ARM7, предполагая связь по Telnet. В каком архитектурном стиле реализован отладчик?

 

6. При вызове операции пассивного открытия listen модуль протокола TCP переходит из Closed в Listen. При получении сообщения SYN будет выполнен переход в SYN_Rcvd с отправкой SYN+ACK, и далее в Established при получении ACK. При вызове операции close модуль переходит в ActiveClose, отправляя FIN, и через 2 секунды возвращается в Closed. Если же в Established было получено сообщение FIN, то модуль переходит в PassiveClose и по получении ACK переходит в Closed.

a. Покажите переходы на схеме состояний. Добавьте активное открытие соединения ActiveOpen через отправку SYN при вызове операции connect в Closed, и переходе в Established по получении SYN+ACK.

b. Уточните, что в PassiveClose модуль до получения ACK ожидает однократного вызова close, отправляя FIN. При том же вызове close, модуль переходит в ActiveClose из SYN_Rcvd с отправкой FIN, в Closed из ActiveOpen.

c. В конечном автомате Мура (Moore) выполняемые действия определяются только состоянием, в котором находится автомат. В схеме состояний UML это эквивалентно указанию действий только при входе и выходе из состояния. Преобразуйте схему состояний модуля протокола TCP в конечный автомат Мура.

d. Разработанная схема состояний описывает поведение только одного конца соединения peer из двух, приведите схему состояний для всего соединения.

 

7. На совещании Meeting обсуждается discuss несколько вопросов Issue. Каждый вопрос имеет название title и автора author. Сложный вопрос состоит из нескольких вопросов.

a. Определите интерфейс сохранения и восстановления Saveable из файла с операциями записи writeExternal и чтения readExternal из файла File, реализуемый совещанием и вопросами.

b. Реализуйте в модели чтение совещаний с вопросами из файлов. применив паттерн Visitor. Считайте, что операции чтения и записи примитивных типов определены в File и реализованы для бинарных и XML файлов, File не зависит от совещаний и вопросов. Решение поясните.

c. Приведите последовательность вызовов при чтении из XML файла совещания с одним вопросом и одним сложным вопросом из еще одного вопроса.

 

8. Система управления движением поездов метро построена в архитектурном стиле Blackboard, поезда Train и семафоры Semaphore выступают агентами, связанными с общим событийным пространством Blackboard через интерфейс обмена EventSpace. Алгоритм управления поездом тормозит brake поезд до полной остановки Steady при получении события приближения к станции station с последующим открытием дверей open, и закрытием дверей close, разгоном и поддержанием sustain скорости sp поезда в движении Moving на команду об отправлении go. Параметры управления движением поездов и семафоров доступны через интерфейс обмена.

a. Покажите на диаграмме компоненты системы и отношения между ними.

b. Представьте алгоритм управления поездом в виде схемы состояний. Переходное состояние торможения считайте вложенным в Steady.

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

d. Добавьте в модель поезда с установленной системой кондиционирования. Помимо управления поездом, доработанный алгоритм может включить режим охлаждения Cooling, нагрева Heating или ожидания StandBy пока температура не отклонится от comfy на величину val. Решение поясните.

 


Дата добавления: 2015-11-04; просмотров: 23 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Escada Rockin` Rio Limited Edition | Министерство образования и науки Российской Федерации

mybiblioteka.su - 2015-2024 год. (0.008 сек.)