Основы объектно-ориентированного проектирования



Авторы специализируются на тестах по любым дисциплинам! Средний балл по тестам 4,6.
 
Любые вопросы по дистанционному обучению. Тесты, письменные работы, сессия под ключ.
 
Известный интернет сайт, помощь по любым учебным вопросам - от теста до дипломной работы. Личный менеджер.
 
Крупная биржа студенческих работ. Закажи напрямую у преподавателя. Низкие цены, стена заказов.
 
Биржа студенческих работ. Потребуется самостоятельная выгрузка работ.
 

Наиболее полезным является правило

  • рекомендательно положительное
  • рекомендательно отрицательное
  • абсолютно отрицательное
  • (Правильный ответ) абсолютно положительное

Разница между принципом и банальностью

  • существует, но не может быть обнаружена
  • не существует
  • (Правильный ответ) использование отрицания утверждения позволяет понять, речь идет о принципе или о банальности

Эксперт в ОО-области должен обладать следующими качествами

  • (Правильный ответ) создать повторно используемую ОО-библиотеку, многократно используемую пользователями, невходящими в группу разработки
  • (Правильный ответ) принимать ключевое участие в ряде больших проектов
  • (Правильный ответ) иметь хорошую теоретическую подготовку
  • быть абсолютно уверенным в своей правоте

Граф переходов, описывающий многопанельную систему, характеризуется

  • (Правильный ответ) большим числом переходов между состояниями
  • (Правильный ответ) возможностью регулярных изменений графа (состояний и переходов)
  • стабильной структурой графа
  • (Правильный ответ) большим числом состояний

Многопанельная система является хорошим примером «образца» программирования поскольку

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

В данной главе под многопанельной системой понимается интерактивная система, в которой?

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

Подходящими примерами многопанельных систем являются системы

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

Для списка истории нужно

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

Отметьте истинные высказывания

  • (Правильный ответ) на безграничной памяти существует простое решение для системы с откатами
  • (Правильный ответ) сохранение документа позволяет любую команду считать обратимой
  • (Правильный ответ) число команд Undo всегда не меньше числа команд Redo
  • откаты противоречат стратегии «что, если»

Отметьте истинные высказывания

  • невозможно добавление откатов и повторов в уже готовую систему, спроектированную без учета таких возможностей
  • команды отката и повтора аналогичны другим командам системы
  • (Правильный ответ) схему откатов и повторов UNDO – REDO можно обогатить введением понятия пропуска отмененных команд UNDO – SKIP – REDO
  • (Правильный ответ) реализация и спецификация могут взаимно воздействовать друг на друга

Операция повтора

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

Какой из классов, описывающих графический мир (например карту) не связан с внешним миром?

  • WORLD
  • WINDOW
  • (Правильный ответ) DEVICE
  • FIGURE

Метод «подчеркивания существительных» в документе требований

  • (Правильный ответ) может использоваться как одно из средств поиска кандидатов
  • не имеет никакой пользы
  • может являться основой для поиска классов
  • помогает в овладении тезаурусом предметной области

Поиск классов

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

Отметьте истинные высказывания

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

Возможными признаками для отбраковки классов являются

  • (Правильный ответ) имя класса, заданное глаголом в императивной форме
  • (Правильный ответ) класс, выполняющий одну главную функцию
  • класс, выполняющий множество функций
  • класс-наследник, добавляющий или переопределяющий всего лишь одну функцию

Использование сценариев

  • лучший способ нахождения классов
  • (Правильный ответ) предпочтительно при функциональном подходе, основанном на процессах (действиях)
  • (Правильный ответ) предполагает упорядоченность, несовместимую с объектной технологией
  • (Правильный ответ) является инструментом проверки правильности, но не средством анализа

Функция имеет абстрактный побочный эффект, если?

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

Отметьте истинные высказывания

  • (Правильный ответ) аргументы-опции должны реализоваться атрибутами класса
  • конкретный побочный эффект не допустим в функциях
  • всегда применима либо априорная либо апостериорная схема вызова компонента
  • (Правильный ответ) принцип «Разделения Команд и Запросов» является методологическим предписанием

Отметьте истинные высказывания

  • наследование реализации нарушает отношение «является»
  • (Правильный ответ) из-за скрытия потомком не каждый компонент, применимый клиентом к экземплярам родительского класса, тем же клиентом может быть применен к экземплярам наследника
  • брак по расчету при наследовании означает заключение специального контракта между классами
  • (Правильный ответ) при льготном наследовании наследуется класс, предоставляющий полезные свойства

Отметьте истинные высказывания

  • (Правильный ответ) наследование подходит для описания отношения, воспринимаемого как «является», если для сущностей может возникнуть потребность присоединения к объектам различных типов
  • наследование требует доказательства того, что каждый экземпляр B является также экземпляром A
  • выбор между отношением наследования и клиентским всегда прост
  • не все категории наследования известны

Пусть классу В нужны специфические свойства классов C, D, …E. Техника описателей предполагает, что взаимодействие организуется следующим образом

  • класс В становится наследником класса A, потомками которого являются классы C, D, …E
  • класс В становится клиентом классов C, D, …E
  • (Правильный ответ) класс В становится клиентом класса A, потомками которого являются классы C, D, …E
  • класс В становится наследником классов C, D, …E

Отметьте истинные высказывания

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

Отметьте истинные высказывания

  • (Правильный ответ) организованный отказ: если в конце выполняется предложение rescue, не забудьте восстановить инвариант
  • динамическое связывание: влечет явный разбор случаев
  • задание статуса доступа компонентов: закрытых или экспортируемых – подвержено частым изменениям в ходе разработки
  • (Правильный ответ) используйте выборочный экспорт для группы тесно связанных классов

Отметьте истинные высказывания

  • бесшовность: применяйте различающиеся приемы и инструментарий на этапах анализа, проектирования, разработки и сопровождения
  • (Правильный ответ) используйте технику описателей для разделения абстрактного интерфейса и реализации для различных платформ
  • (Правильный ответ) пытайтесь сделать классы с самого начала настолько общими, насколько это возможно
  • (Правильный ответ) задавайте заголовочные комментарии тщательно и согласованно; они являются частью официального интерфейса

Отметьте истинные высказывания

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

Правила стиля

  • (Правильный ответ) обязательны в серьезных разработках
  • (Правильный ответ) стиль может меняться, но соблюдать его необходимо
  • следует создать собственный стиль
  • носят жесткий характер и не могут меняться

Правила для расстановки точек с запятой. Предлагаемый стиль отдает препочтение

  • минималистам — вообще не ставятся точки с запятой, исключая случаи, когда они синтаксически необходимы
  • (Правильный ответ) никому не отдает предпочтение, допуская все подходы
  • терминалистам – точка с запятой завершает каждую инструкцию, объявление или предложение утверждения
  • сепаратистам — точки с запятой появляются между последовательными элементами, но не после последнего объявления компонента или локального предложения

Объектная технология анализа характеризуется следующим

  • требования клиента – это основной документ, подлежащий безусловному выполнению
  • (Правильный ответ) акцент переносится на повторное использование
  • (Правильный ответ) компромиссами между заказчиком и разработчиком
  • фиксация результатов анализа и их неизменяемость вплоть до этапа завершения реализации системы

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

  • (Правильный ответ) включать разнообразный, но сочетающийся набор средств
  • не должна быть выражена в ОО-терминах
  • описание должно быть на естественном языке
  • должна быть представлена в графической форме

Отметьте истинные высказывания

  • (Правильный ответ) один из основных рисков аналитика – выполнение анализа с использованием средств, не обладающих семантической точностью
  • ОО-подход обеспечивает все потребности системного анализа
  • предложения разработчика, основанные на повторном использовании, важнее требований заказчика
  • (Правильный ответ) библиотеки классов повторного использования, особенно благодаря отложенным классам, обеспечивают готовыми элементами спецификаций

Объектно-ориентированный анализ

  • (Правильный ответ) синонимом анализа является понятие специфиикация
  • (Правильный ответ) занимается тем же, что и системное моделирование
  • применим только к анализу программных систем
  • (Правильный ответ) ориентирован на этап рассмотрения проблем

Требования к процессу анализа и поддерживающей нотации

  • (Правильный ответ) форма представления результатов анализа должна быть непосредственно пригодной для разработчиков ПО
  • (Правильный ответ) возможность участия в анализе и обсуждении результатов неспециалистов в области ПО
  • возможность проведения анализа без привлечения специалистов в области ПО
  • (Правильный ответ) возможность для читателя быстро получить общее представление об организации системы или подсистемы

Цели анализа

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

Модель водопада при разработке ПО

  • (Правильный ответ) предполагает последовательное выполнение этапов
  • (Правильный ответ) выделяет основные этапы разработки системы
  • предполагает параллельное выполнение этапов
  • предполагает циклическое выполнение этапов

Отметьте истинные высказывания

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

Бесшовность ОО-процесса разработки ПО

  • (Правильный ответ) сглаживает различия этапов, подчеркивая фундаментальную целостность процесса
  • (Правильный ответ) устраняет дорогостоящие и подверженные ошибкам резкие переходы между отдельными этапами, использующих различную нотацию, системы взглядов и персонал (аналитики, проектировщики, программисты …)
  • устраняет необходимость возврата к предыдущим этапам разработки
  • (Правильный ответ) требует дополнить диаграмму жизненного цикла кластера указаниями на постоянную возможность обратных пересмотров и исправлений

Этап обобщения может содержать следующие действия

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

Достоинства стратегии «пройди начальный тренинг дважды»

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

ОО-учебный план может концентрироваться вокруг создания библиотек общецелевого назначения. Это позволяет

  • (Правильный ответ) получать полезные результаты в короткие сроки
  • (Правильный ответ) обучать коллективным методам работы
  • (Правильный ответ) использовать результаты научных исследований
  • (Правильный ответ) объединить усилия многих людей разной квалификации

Какие правила корректности сепаратности справедливы?

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

В рассматриваемом контексте процессор — это?

  • поток в многопоточной ОС
  • (Правильный ответ) виртуальный поток управления
  • (Правильный ответ) абстрактное понятие
  • физическое устройство

Сепаратный объект

  • может быть независимым и создаваться в параллельном процессе по собственной инициативе
  • (Правильный ответ) может порождаться процедурой создания
  • (Правильный ответ) это объект, обрабатываемый отдельным процессором
  • (Правильный ответ) может быть внешним и возвращаться внешней процедурой

Отметьте истинные высказывания

  • (Правильный ответ) ОО-разработку можно применять совместно с реляционными БД, имея в виду простое соответствие: классы – отношения, объекты – кортежи
  • (Правильный ответ) свойствами БД являются запросы, блокировки и транзакции
  • (Правильный ответ) при обнаружении рассогласования объекта он может быть «преобразован на лету», оставаясь неизменным в базе данных
  • при эволюции схемы изменяются все классы системы

При эволюции схемы возникают следующие проблемы

  • (Правильный ответ) обнаружения рассогласования у объекта
  • обнаружения изменившегося класса
  • (Правильный ответ) уведомление о существовании рассогласований
  • (Правильный ответ) исправление рассогласования

Сохраняемость объектов поддерживается

  • (Правильный ответ) реляционными базами данных
  • автоматически, с периодическим сохранением всех созданных объектов
  • (Правильный ответ) механизмами сохраняемости, встроенными в язык и окружение разработки
  • (Правильный ответ) ОО-базами данных

Отметьте истинные высказывания

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

Хороший конструктор интерфейса должен позволять

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

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

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

Командные кнопки, списки и другие элементы управления — это?

  • (Правильный ответ) представители встроенного множества элементов управления
  • объекты внешнего мира
  • экземпляры класса FIGURE
  • (Правильный ответ) представляют специальные случаи контекста

При двухуровневой структуре конструктора приложений

  • при работе с конструктором можно обращаться только к функциям библиотеки верхнего уровня
  • (Правильный ответ) на верхнем уровне находится переносимая графическая библиотека высокого уровня абстракции
  • (Правильный ответ) при работе с конструктором можно непосредственно обращаться к функциям библиотек нижнего уровня
  • (Правильный ответ) на нижнем уровне находятся специализированные библиотеки, каждая из которых приспособлена к «своей» платформе и реализует своими средствами функции библиотеки верхнего уровня

Конструктор приложения – это?

  • инструментарий, предназначенный для создания любых приложений
  • (Правильный ответ) инструментарий, предназначенный для графического конструирования приложения
  • (Правильный ответ) инструментарий, предназначенный для создания приложений командного типа, управляемых событиями
  • (Правильный ответ) инструментарий, расширяющий возможности конструктора интерфейса

Пакет языка Ada допускает

  • (Правильный ответ) универсальность
  • (Правильный ответ) процедуры в качестве родовых параметров
  • ограниченную универсальность
  • (Правильный ответ) возможность задания типов в качестве родовых параметров

Интерфейс пакета языка Ada содержит

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

Задача языка Ada

  • (Правильный ответ) описывает процессы
  • допускает наследование
  • (Правильный ответ) может быть экземпляром типа (задач)
  • может быть универсальной

Механизм исключений языка Ada

  • обработчик исключений языка Ada заканчивается либо выполнением команды raise, либо повтором охватывающей подпрограммы
  • (Правильный ответ) отделяет обработку ошибок от их обнаружения
  • (Правильный ответ) может приводить к некорректному использованию исключения, при котором вызывающая программа получит управление без устранения возникающих проблем
  • (Правильный ответ) ориентирован на стиль управляющей структуры

К инкапсулирующим языкам относят языки

  • Pascal
  • (Правильный ответ) Modula
  • (Правильный ответ) Ada
  • C

Тело пакета языка Ada содержит

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

Отметьте истинные высказывания

  • механизм подпрограмм с множественными входами позволяет эмулировать класс и создавать множество его экземпляров
  • (Правильный ответ) дисциплинарный подход применим ко всем функциональным языкам
  • (Правильный ответ) переносимость, эффективная компилируемость, машинная ориентация — это те свойства, которые делают язык С полезным для специальных применений и сегодня
  • применение функциональных языков сегодня не представляется разумным в условиях существования современных объектных языков

К «живым» необъектным языкам первого поколения относятся языки

  • (Правильный ответ) Cobol
  • (Правильный ответ) Fortran
  • (Правильный ответ) C
  • Algol

Первым языком ОО-программирования был язык?

  • Smalltalk
  • Algol
  • (Правильный ответ) Simula
  • C++

Сообщения в языке Smalltalk могут быть?

  • адресованными операционной системе
  • (Правильный ответ) бинарными
  • (Правильный ответ) с ключевыми словами
  • (Правильный ответ) унарными

Язык Objective-C

  • (Правильный ответ) поддерживает полиморфизм и динамическое связывание
  • (Правильный ответ) представляет объектное расширение языка С
  • (Правильный ответ) иллюстрирует ортогональный подход в расширении языка: добавляя ОО-слой к существующему языку, сохраняя при этом обе части как можно более независимыми
  • поддерживает универсальность и множественное наследование

Язык Eiffel

  • (Правильный ответ) реализован на всех известных платформах
  • (Правильный ответ) появился в 1986 году
  • (Правильный ответ) поддерживает параллелизм
  • (Правильный ответ) поддерживает множественное наследование и универсальность

Заключительная оптимизация – финализация подразумевает?

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

Инструментарий высокого уровня включает?

  • Melt – систему для заморозки компонентов
  • (Правильный ответ) Case – средство анализа и проектирования, обеспечивающее возможность рассмотрения системы на высоком уровне абстракции с привлечением графических представлений
  • Ace – инструментарий руководителя проекта
  • (Правильный ответ) Build — интерактивный генератор приложений, основанный на модели Контекст-Событие-Команда-Состояние

Предлагаемые правила стиля включают

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

Класс «состояние» характеризуется следующими операциями

  • (Правильный ответ) обработать (запрос пользователя)
  • (Правильный ответ) отобразить (панель, соответствующую состоянию)
  • перейти (в новое состояние)
  • (Правильный ответ) выполнить (состояние)

Компонент класса, представляющий запрос

  • (Правильный ответ) реализуется функцией
  • (Правильный ответ) возвращает информацию о состоянии, не изменяя его
  • (Правильный ответ) реализуется атрибутом
  • может изменять состояние объекта

ОО-подход представляет реальную основу системного анализа. В этом заслуга следующего инструментария

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

Язык Fortran

  • с блоком COMMON в языке связан фиксированный набор подпрограмм, дополняющий описание класса
  • блок COMMON и дисциплинарный подход позволяет описать не один абстрактный объект, а класс, из которого во время выполнения можно создать множество экземпляров
  • (Правильный ответ) продолжает жить и применяться в научных исследованиях, особенно в физике
  • (Правильный ответ) общий блок данных – COMMON является некоторым аналогом объекта, доступного многим клиентам

Производители компиляторов предпочитают использовать язык С из-за таких его свойств, как?

  • (Правильный ответ) возможность создания эффективного кода
  • (Правильный ответ) простота переносимости
  • (Правильный ответ) простота интеграции с универсальными инструментами и компонентами, основанными на С
  • ясность языковых конструкций и простота отладки

Дескриптор класса — это?

  • (Правильный ответ) может быть реализована массивом
  • (Правильный ответ) позволяет уменьшить объем занимаемой памяти
  • (Правильный ответ) позволяет реализовать динамическое связывание
  • (Правильный ответ) структура данных периода выполнения, содержащая ссылки на подпрограммы

Отметьте истинные высказывания

  • динамическое связывание в языке Simula запрещено
  • (Правильный ответ) сборка мусора в окружении С++ обычно отсутствует
  • (Правильный ответ) интерактивная техника — окна, значки, соединение текста и графики, выпадающие контекстные меню, использование мыши, браузеры, инспекторы и ОО-отладчики восходят корнями к окружению Smalltalk
  • (Правильный ответ) сопрограмма прерывает своё собственное выполнение и предлагает продолжить выполнение (resume) другой сопрограмме в ее последней точке прерывания; прерванная сопрограмма позже может продолжиться сама

Отметьте истинные высказывания

  • (Правильный ответ) ОО-системы лучше приспособлены к повторному использованию и расширяемости
  • (Правильный ответ) функциональный подход полностью соответствует стилю проектирования «сверху-вниз»
  • главный вопрос при проектировании системы — это «что она делает?»
  • (Пра