Главная / Программирование /
Компонентный подход в программировании / Тест 6
Компонентный подход в программировании - тест 6
Упражнение 1:
Номер 1
Отметьте среди перечисленных пунктов определение архитектуры программного обеспечения.
Ответ:
 (1) Набор представлений ПО с различных точек зрения 
 (2) Набор компонентов ПО вместе с их интерфейсами и внешними свойствами 
 (3) Набор внутренних структур ПО, видимых с различных точек зрения и состоящих из компонентов, их связей, взаимодействий и свойств, доступных извне 
 (4) Структура связей между компонентами ПО по использованию, взаимодействию, зависимости и пр. 
Номер 2
Отметьте среди перечисленных пунктов определение архитектурного компонента.
Ответ:
 (1) Любой структурный элемент ПО 
 (2) Структурный элемент ПО, имеющий четко определенный интерфейс, через который он может взаимодействовать со своим окружением 
 (3) Один из элементов ПО, который может получить управление в ходе его работы 
 (4) Единица конфигурационного управления, которая может иметь определенную версию и может входить или не входить в заданную конфигурацию системы 
Номер 3
Отметьте среди перечисленных пунктов определение представления архитектуры программного обеспечения.
Ответ:
 (1) Согласованный набор документов и моделей, описывающих архитектуру ПО с определенной точки зрения 
 (2) Модель ПО, учитывающая только определенный аспект его поведения 
 (3) Целостное описание архитектуры, включающее все необходимые аспекты ее рассмотрения 
 (4) Одна из девяти диаграмм UML 
Упражнение 2:
Номер 1
Отметьте среди перечисленных пунктов действия, выполняемые в ходе анализа архитектуры по методу SAAM.
Ответ:
 (1) Определить оцениваемую архитектуру системы или несколько сравниваемых архитектур 
 (2) Выявить наиболее часто используемые операции в интерфейсах компонентов 
 (3) Выявить взаимодействующие сценарии и проблемные компоненты 
 (4) Определить заинтересованных лиц для анализируемого ПО 
 (5) Определить наиболее важные компоненты ПО 
Номер 2
Отметьте среди перечисленных пунктов действия, выполняемые в ходе анализа архитектуры по методу SAAM.
Ответ:
 (1) Определить интерфейсы компонентов на основе рассматриваемого набора сценариев 
 (2) Изменить интерфейсы проблемных компонентов так, чтобы разные сценарии использовали разные наборы операций 
 (3) Определить набор сценариев использования или модификации системы, достаточно значимый для определенных заинтересованных лиц 
 (4) Классифицировать сценарии на поддерживаемые и неподдерживаемые 
 (5) Определить возможные изменения в интерфейсах компонентов 
Номер 3
Отметьте среди перечисленных пунктов действия, выполняемые в ходе анализа архитектуры по методу SAAM.
Ответ:
 (1) Определить связи между рассматриваемыми сценариями и заинтересованными лицами 
 (2) Оценить изменения, необходимые для реализации неподдерживаемых сценариев 
 (3) Оценить трудоемкость предложенных изменений интерфейсов компонентов 
 (4) Оценить архитектуру или несколько сравниваемых архитектур в целом 
 (5) Определить заинтересованных лиц, связанных с наиболее проблемными сценариями 
Упражнение 3:
Номер 1
Отметьте среди перечисленных пунктов виды диаграмм UML.
Ответ:
 (1) Диаграммы взаимодействия 
 (2) Диаграммы структур данных 
 (3) Диаграммы уточнения 
 (4) Диаграммы сценариев 
 (5) Диаграммы интерфейсов 
 (6) Диаграммы компонентов 
Номер 2
Отметьте среди перечисленных пунктов виды диаграмм UML.
Ответ:
 (1) Диаграммы развертывания 
 (2) Диаграммы зависимостей 
 (3) Диаграммы классов 
 (4) Диаграммы обмена сообщениями 
 (5) Диаграммы заинтересованных лиц 
 (6) Диаграммы вариантов использования 
Номер 3
Отметьте среди перечисленных пунктов виды диаграмм UML.
Ответ:
 (1) Диаграммы использования 
 (2) Диаграммы потоков данных 
 (3) Диаграммы деятельности 
 (4) Диаграммы источников данных 
 (5) Диаграммы состояний 
 (6) Диаграммы объектов 
Упражнение 4:
Номер 1
Отметьте среди перечисленных пунктов правильно описывающие то, что изображено на приведенной диаграмме.
Ответ:
 (1) Класс ArrayList
наследует классу List
 
 (2) Каждый объект класса ArrayList
имеет в качестве поля ссылку на объект интерфейса List
 
 (3) Класс List
наследует классу ArrayList
 
 (4) Класс ArrayList
реализует интерфейс List
 
 (5) Класс ArrayList
использует компонент List
 
 (6) Класс List
реализует интерфейс ArrayList
 
Номер 2
Отметьте среди перечисленных пунктов правильно описывающие то, что изображено на приведенной диаграмме.
Ответ:
 (1) Класс ArrayList
имеет поле get
типа int
 
 (2) Класс ArrayList
имеет метод get
, имеющий параметр типа int
 
 (3) Класс ArrayList
имеет поле get
типа Object
 
 (4) Класс ArrayList
имеет метод get
, возвращающий значение типа int
 
 (5) Класс ArrayList
имеет метод get
, возвращающий значение типа Object
 
 (6) Класс ArrayList
имеет метод get
, имеющий параметр типа Object
 
Номер 3
Отметьте среди перечисленных пунктов правильно описывающие то, что изображено на приведенной диаграмме.
Ответ:
 (1) Класс Employee
наследует классу Manager 
 (2) Каждый объект класса Manager
имеет в качестве поля ссылку на объект класса Employee
.  
 (3) Каждый объект класса Manager
имеет в качестве поля ссылку на объект класса Department
 
 (4) Каждый объект класса Employee
имеет в качестве поля ссылку на объект интерфейса Manager
 
 (5) Класс Manager
наследует классу Employee
 
 (6) Класс Manager
наследует классу Department
 
Упражнение 5:
Номер 1
Отметьте среди перечисленных пунктов правильно описывающие то, что изображено на приведенной диаграмме.
Ответ:
 (1) Пользователь посылает компоненту ReportGenerator
сообщение createReport()
, после чего ReportGenerator
создает объект aReport
 
 (2) Пользователь посылает компоненту ReportGenerator
сообщение createReport()
, после чего Пользователь создает объект aReport
 
 (3) Пользователь посылает компоненту ReportGenerator
сообщение deleteReport()
, после чего Пользователь посылает ему же сообщение createReport()
 
 (4) Пользователь посылает объекту aReport
сообщение show()
, после чего ReportGenerator
создает новый объект aReport
 
 (5) Пользователь посылает объекту aReport
сообщение show()
, после чего Пользователь посылает ему же сообщение print()
 
 (6) Пользователь посылает объекту aReport
сообщение print()
, после чего Пользователь посылает ему же сообщение show()
 
Номер 2
Отметьте среди перечисленных пунктов правильно описывающие то, что изображено на приведенной диаграмме.
Ответ:
 (1) Объект aClient
посылает компоненту OrderingSystem
сообщение createOrder()
, после чего объект aClient
создает объект anOrder
 
 (2) Объект aClient
посылает компоненту OrderingSystem
сообщение createOrder()
, после чего OrderingSystem
создает объект anOrder
 
 (3) Компонент OrderingSystem
получает от объекта aClient
сообщение createOrder()
, после чего посылает обратно сообщение getOrderData()
 
 (4) Объект aClient
посылает компоненту OrderingSystem
сообщение createOrder()
, после чего получает от созданного объекта anOrder
сообщение getOrderData()
 
 (5) Объект anOrder
посылает объекту aClient
сообщение getOrderData()
уже после того, как построение объекта anOrder завершено 
 (6) Объект aClient
посылает компоненту anOrder
сообщение store()
, после чего anOrder
посылает обратно сообщение getOrderData()
 
Номер 3
Отметьте среди перечисленных пунктов правильно описывающие то, что изображено на приведенной диаграмме.
Ответ:
 (1) Компонент Client
посылает объекту aServerProcess
сообщение query()
в ответ на полученное от него сообщения queryResults ()
 
 (2) Компонент Client
посылает компоненту DBManager
сообщение createConnection()
, после чего Client
создает объект aServerProcess
 
 (3) Компонент Client
посылает компоненту DBManager
сообщение createConnection()
и получает в ответ ссылку на созданный объект aServerProcess
 
 (4) Создав объект aServerProcess
, компонент DBManager
посылает ему сообщение query()
 
 (5) Объект aServerProcess
посылает компоненту Client
сообщение queryResults()
в ответ на полученное от него сообщения query()
 
 (6) Компонент DBManager
получает сообщение createConnection()
и посылает в ответ сообщение queryResults()
 
Упражнение 6:
Номер 1
Отметьте среди перечисленных пунктов правильно описывающие то, что изображено на приведенной диаграмме.
Ответ:
 (1) Сразу после начала работы система попадает в состояние Standard
 
 (2) Сразу после начала работы система попадает в то же состояние, в котором она была непосредственно перед концом прошлого сеанса работы 
 (3) Состояние, в которое система попадает сразу после начала работы, определяется текущим значением переменной currentMode
 
 (4) Состояние, в которое система попадает сразу после начала работы, определяется текущим значением переменной number 
 (5) Система переходит из состояния Standard
в состояние Scientific
при установке в переменную number значения 0 
 (6) При переходе системы из состояния Standard
в состояние Scientific
в переменную number
устанавливается значение 0 
Номер 2
Отметьте среди перечисленных пунктов правильно описывающие то, что изображено на приведенной диаграмме.
Ответ:
 (1) Состояние, в которое система попадает сразу после начала работы, определяется текущим значением переменной doc
 
 (2) Сразу после начала работы система попадает в состояние Empty
 
 (3) Сразу после начала работы система попадает в состояние Open Document
 
 (4) При переходе из состояния Open Document
в состояние Empty
переменной doc
присваивается значение null
 
 (5) При присваивании в переменную doc значения null
происходит переход из состояния Open Document
в состояние Empty
 
 (6) По событию Print
происходит переход из состояния Open Document
в состояние Empty
 
Номер 3
Отметьте среди перечисленных пунктов правильно описывающие то, что изображено на приведенной диаграмме.
Ответ:
 (1) Состояние, в которое система попадает сразу после начала работы, определяется текущим значением переменной bottles
 
 (2) Сразу после начала работы система попадает в состояние Ready
 
 (3) Состояние, в которое система попадает сразу после начала работы, определяется текущим значением переменной sum 
 (4) При обработке события Order
в состоянии Ready
система переходит в состояние Waiting money
, если значение переменной bottles
больше 0 
 (5) При обработке события Order
в состоянии Ready
система всегда переходит в состояние Waiting money
 
 (6) При обработке события Order
в состоянии Ready
система переходит в состояние Waiting money
, если значение переменной sum
равно 0