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

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

700,00 руб.
В течение часа!
Экзамен "Основы объектно-ориентированного проектирования" для пользователей и системных администраторов.
Количество
Есть в наличии!

Форма сдачи теста: Экстерн
Количество вопросов: 30
Проходной балл: 90% и выше
Срок действия сертификата: неограничен

Сертификат появляется в профиле ресурса INTUIT, и Вы можете заказать его бумажную версию на сайте INTUIT.
12878 шт.
Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Правила методологии ПО должны базироваться на

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


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

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


Конструирование ПО

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


Наиболее сложно задать правило

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


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

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


Методологическое правило может быть

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


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

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


Рекомендательные правила

могут быть банальностями
есть способ отличия банальности от принципа
всегда полезны
должны быть принципами


Исключения из правила

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


При разработке новых проектов гарантию успеха дает

хорошие учебники
ничто не дает
успешный опыт прежних проектов
теоретическая подготовка


Метафоры

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


Возможным решением является функциональное проектирование "сверху-вниз". Для этого решения справедливо следующее

четко сформулирована главная функция системы – выполнение сессии
при изменениях графа переходов модульная структура не меняется
при изменениях графа переходов не требуется изменения данных
разбор случаев необходим


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

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


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

приложение
сессия
переход (от этапа к этапу)
состояние


При переходе от функционального проектирования к объектно-ориентированному справедливо следующее

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


Сравнение функциональной и ОО-системы показывает, что?

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


В введенном классе Application (приложение) атрибуты задают

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


Класс State (состояние) является классом поведения. Это означает, что он

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


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

любая модель реального мира приводит к хорошей программной системе
функциональные системы лучше приспособлены к повторному использованию и расширяемости
созданная ОО-декомпозиция хороша из-за использования абстракций: STATE, APPLICATION, ANSWER — все они являются ясными, общими, управляемыми, готовыми к изменениям и повторному использованию в широкой области применения
рассмотренный образец программирования позволил довести описание решения до классов поведения, используемых во всех конкретизациях образца


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

реализация главной функции системы – это основа проектирования
программная система должна отображать модель реального мира
существует единственная модель реального мира
повторное использование и расширяемость должны быть целями разработки


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

ОО-системы лучше приспособлены к повторному использованию и расширяемости
согласно закону инверсии, данные, передаваемые функциями, становятся хозяевами функций и основой класса
функциональный подход полностью соответствует стилю проектирования "сверху-вниз"
главный вопрос при проектировании системы - это "что она делает?"


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

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


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

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


Под системой с откатами и повторами понимается интерактивная система, в которой?

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


В хороших системах с откатами достаточно иметь возможность отката

на 3-5 уровней
не менее 20 уровней
на один уровень
до 10 уровней


Механизм откатов и повторов должен удовлетворять следующим свойствам

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


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

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


Класс Command является

полностью абстрактным
классом поведения
полностью определенным
определяется наследниками системы


Для работы с командами, имеющими один или несколько аргументов, можно выбрать один из следующих вариантов реализации

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


Абстракциями, задающими классы в нашей системе, являются?

повтор
откат
команда
список истории


Спецификация и реализация системы находятся в следующих отношениях

реализация зависима от спецификации
реализация может изменять спецификацию
спецификация независима от реализации
спецификация полностью определяет реализацию


Класс, задающий список истории

добавляет к традиционным кнопкам отката и повтора показ окна истории
расширяет возможности традиционного интерфейса
заменяет традиционные кнопки отката и повтора показом окна истории
не оказывает влияния на интерфейс системы


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

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


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

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


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

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


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

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


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

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


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

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


Согласно теории АТД кандидат, претендующий на то, чтобы стать классом, должен

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


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

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


Имя класса всегда должно быть либо

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


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

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


Свойства идеального класса

эффективно управляет памятью
имеет запросы, команды, конструкторы
представляет АТД, четко ассоциированный с классом
в классе определена главная функция


Класс без команд

возможен, как сервисный класс, представляющий константы
не допустим
возможно является ошибкой проектировщика
возможен, как представление объектов внешнего мира, не подлежащих изменениям


Классы можно разделить на следующие категории

проектирования
пользовательские
реализации
анализа


В качестве источников идей при поиске классов следует использовать

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


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

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


В различных источниках идей для поиска классов следует искать

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


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

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


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

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


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

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


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

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


Функция

не должна иметь побочного эффекта
не должна иметь абстрактного побочного эффекта
допускает абстрактный побочный эффект
может иметь побочный эффект


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

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


Различие между аргументами-операндами и аргументами-опциями в том, что?

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


Из принципа операндов следует, что?

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


На простоту интерфейса компонента в первую очередь влияет

размер программного кода компонента
чем меньше аргументов у компонента, тем проще его интерфейс
число аргументов
чем больше аргументов у компонента, тем проще его интерфейс


Под активной структурой данных понимается

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


АТД и активная структура данных

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


Список требований при добавлении нового компонента

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


Документация

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


Апостериорная схема вызова компонента

основана на принципе: "вначале сделай, потом проверь";
может привести к появлению исключительных ситуаций
применяется тогда, когда не работает априорная схема
всегда применима


Априорная схема вызова компонента предполагает

предусловие может зависеть от внешних событий и не являться утверждением
проверку предусловия компонента непосредственно перед вызовом – в операторе if или в инструкции check
проверка может не применяться по соображениям эффективности
проверку предусловия в самом компоненте, если оно не проверялось перед вызовом


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

выражение e является ссылочно-прозрачным, если возможно заменить любое его подвыражение эквивалентным значением без изменения значения e
при эволюции класса аргументы имеют тенденцию добавляться или удаляться
аргументы должны быть операндами
использование утверждений – предусловий, постусловий, инвариантов – является основой документирования интерфейсов


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

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


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

аргументы компонента должны быть опциями
класс должен быть известен своим интерфейсом, специфицируя предлагаемые службы, независимо от их реализации
каждый ОО-разработчик должен применять принцип "Разделения Команд и Запросов" без исключения
априорная либо апостериорная схема вызова позволяет обойтись без механизма дисциплинированных исключений


При выборе отношения, которым должны быть связаны классы – клиентским или наследования, следует учитывать, что?

если существуют аргументы в пользу того, что экземпляры класса А "являются" экземплярами класса В, то классы связаны отношением наследования
зачастую понятие "является" можно свести к понятию "иметь"
зачастую понятие "иметь" можно свести к понятию "является"
если экземпляры класса А "имеют" (обладают) экземплярами класса В, то классы связаны клиентским отношением


Используйте наследование для отношения, воспринимаемого как "является"

только при условии, что отношение между объектами постоянно
только при условии, что компоненты соответствующего объекта могут изменять тип в период выполнения
всегда
никогда


Пусть имеется класс Person, описывающий персону и класс Car, задающий автомобиль. Класс Owner_Car, описывающий владельца машины должен быть?

клиентом классов Person и Car
наследником класса Person и клиентом класса Car
наследником классов Person и Car
клиентом класса Person и наследником класса Car


При введении иерархии классов каждый наследник обязан выполнить по крайней мере одно из следующих условий

добавить предложение в инвариант класса
удалить компонент родителя
ввести новый компонент
переобъявить наследуемый компонент


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

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


Наследование применяется в различных ситуациях. Классификация включает следующие случаи наследования

с ограничением
по завещанию
с расширением
подтипов


Наследование применяется в различных ситуациях. Классификация включает следующие случаи наследования

с вариациями
реализации
льготное
родственное


Наследование применяется в различных ситуациях. Классификация включает следующие случаи наследования

с конкретизацией
семейное
вида
бесплатное


Типичные ошибки применения наследования

множественное наследование
наследование по расчету
наследование там, где имеет место клиентское отношение
таксономия


Наследование представляет собой

следует применять только определение подтипа
следует применять только расширение модуля
определение нового типа как специального случая существующего типа
определение нового модуля как расширения уже существующего модуля


При наследовании

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


Возможные ситуации (12), требующие наследования разделяются на следующие категории

наследование вариаций
программное наследование
наследование реального мира
наследование модели


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

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


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

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


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

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


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

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


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

в качестве аргументов используйте только операнды
если компонент не согласуется с абстракцией данных, но потенциально полезен, - добавьте его
активные структуры данных имеют состояние и могут рассматриваться как абстрактные машины
обратимость: извлекая пользу из уроков реализации, не корректируйте функциональную спецификацию


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

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


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

обратимость: извлекайте пользу из уроков реализации и корректируйте функциональную спецификацию
помещайте в класс минимум информации
делайте предусловие настолько сильным, насколько это возможно
обобщение: из специализированных классов создавайте повторно используемые классы. Абстрагирование, факторизация – дорога к общности


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

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


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

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


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

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


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

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


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

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


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

предлагаемая таксономия наследования включает 3 категории, распадающиеся на 12 видов
отложенный компонент родителя сохраняйте отложенным
предусловие связывает клиента, постусловие поставщика
повторные объявления не сохраняют семантику


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

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


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

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


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

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


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

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


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

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


Текст ОО-системы в сравнении с текстом систем на языках C, Pascal, Ada или Fortran

всегда короче
обычно короче для небольших программных систем
обычно короче для больших программных систем
всегда длиннее


Ясности и качеству ПО способствует язык программирования, характеризуемый

минимизацией нажатия клавиш
смесью ясности, характерной для Algol-подобных языков, и краткостью телеграфного стиля
краткостью, как C или RPG
многословностью, подобной COBOL


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

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


Текст ОО-системы в сравнении с текстом систем на языках C, Pascal, Ada или Fortran обычно короче для больших программных систем за счет следующих факторов

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


Инженерия ПО

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


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

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


Константы

для констант 0 и 1 используйте значения и не вводите специальные символические константы
символические константы представляют собой константные атрибуты
правила имен для символических констант совпадают с правилами имен для атрибутов
используйте главным образом манифестные константы, заданные значениями


Грамматические категории для имен

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


Имена

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



Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

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

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


Выберите наиболее подходящую форму комментария

касательная линия к текущей окружности, проходящая через точку p, если точка вне текущей окружности
касательная линия к текущей окружности, проходящая через данную точку p, если эта точка лежит вне текущей окружности
касательная из p
касательная


Правила форматирования текста

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


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

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


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

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


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

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


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

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


Цели анализа

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


Цели анализа

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


Процесс анализа требует

чтобы нотация не допускала неоднозначного толкования
привлечения всех участников проекта
масштабируемости решения
применения специальной нотации


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

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


Масштабируемость решения предполагает

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


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

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


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

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


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

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


В результате анализа описание нетривиальной системы должно использовать следующее представление

документ с требованиями на естественном языке
графическое представление, в котором графические образы представляют классы, кластеры, объекты и отношения (клиентские и наследования)
формальный текст – результат ОО-анализа
таблицы, как в представлении метода BON


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

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


Формализмы, применяемые на этапе анализа

OOSE
BLIN
UML
BON


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

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


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

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


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

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


Кластер может быть

единичным
глобальным
суперкластером
элементарным


Кластер содержит

группу связанных кластеров
глобальные данные
группау связанных классов и кластеров
группу связанных классов

Кластер

языковая конструкция
создается программистом при разработке системы
единица сборки
определяется руководителем проекта


Кластерная модель разработки ПО

Однопоточная
параллельная
последовательная
многопоточная


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

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


Число этапов в жизненном цикле кластера

5+ 2 предварительных этапа
1
3
5


Этап обобщения

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


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

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


Руководитель проекта в кластерной модели

разбивает проект на кластеры
определяет уровень параллельной разработки
выполняет разработку кластеров в случае задержек проекта
отслеживает текущие состояния кластеров


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

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


Объектная технология разработки ПО позволяет

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


Обратимость ОО-процесса разработки ПО

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


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

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


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

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


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

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


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

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


Суть стратегии "пройди начальный тренинг дважды" состоит в том, чтобы

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


Начальный курс по ОО-методу следует пройти

один раз до практической ОО-разработки
дважды - до и после практической ОО-разработки
один раз после практической ОО-разработки
вообще не следует проходить


В учебной программе следует большую часть времени уделять

углубленным курсам
сравнительному анализу различных подходов
вводному курсу
практическим разработкам


В начальном курсе следует уделять наибольшее внимание

практическим примерам, доведенным до завершения
реализации
проектированию
анализу и спецификациям


Чем не следует заниматься во вводном курсе?

реализацией
доведением до завершения практических примеров
проектированием
анализом и спецификациями


Когда следует начинать обучать объектной технологии?

после курса, посвященного основам доказательства корректности программ
только после обучения программированию традиционным путем
после курса, посвященного основам теории алгоритмов
с самого начала - чем раньше, тем лучше


Начальный учебный курс следует строить вокруг библиотеки классов. Это позволяет

научить разрабатывать большие системы
отказаться от элементарных примеров
освоить на практике повторное использование
работать с реальными интересными приложениями


С чего следует начинать обучение ОО-методу?

с формальных методов спецификации
с наследования и универсальности
с классов и их реализации
с конструирования и верификации программ


Стратегия от потребителя к производителю позволяет научить

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


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

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


Суть обращенного учебного плана состоит в том, чтобы?

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


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

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


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

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


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

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


Введение параллельности

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


Различные виды параллельности

посредники запроса объекта
удаленное выполнение в Сети
мультипроцессорная обработка
многозадачность


Ограничения, связанные с синхронизацией параллельных вычислений

следует учитывать ограниченное число параллельно работающих процессоров
если у подпрограммы имеется предусловие, содержащее аргумент, объявленный как separate (например, такой как a), то клиенту придется ждать, пока это предусловие не выполнится
для получения исключительного доступа к отдельному объекту O2, достаточно использовать присоединенную к нему сущность a, объявленную как separate, в качестве аргумента соответствующего вызова, например, r(a)
клиент должен ждать столько, сколько необходимо, после того, как вызов x.f (a) для объявленной separate сущности x пойдет на параллельное выполнение


Сходство между параллельным программированием и ОО-построением программ основано на том, что?

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


Может ли объект быть процессом?

нет, наследование конфликтует с понятием процесса
нет, процесс выполняет строго определенную последовательность действий
да, процесс – это просто активный объект
да, вызов метода эквивалентен запуску процесса


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

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


Какие ситуации возможны в процессе "дуэли"?

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


В ситуации "дуэли" исключительная ситуация возникает

у требовательного претендента на ресурс при неуступчивом владельце
всегда у владельца ресурса
всегда у претендента на ресурс
у просящего претендента на ресурс при неуступчивом владельце


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

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


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

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


Сепаратными могут быть?

Объект
сущность
класс
процедура


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

клиент, выполнивший запрос на занятый объект, всегда обязан ждать освобождения объекта
прервать выполнение компонента владельца невозможно
один клиент – владелец выполняет компонент, остальные ждут
объект выполняет одновременно только один компонент


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

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



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

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


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

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


При поддержке сохраняемости, встроенной в язык, наиболее предпочтительным является вариант сохранения

структуры, в которой некоторые связи оборваны согласно указаниям в момент сохранения
самого объекта
всей структуры, связанной с сохраняемым объектом – прямых и непрямых связников
объекта вместе с его прямыми связниками


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

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


Эволюция схемы предполагает, что?

за время хранения изменился сам сохраняемый объект
за время хранения изменилась система, сохранявшая объект
объект и система не изменились, но изменились представления о них
за время хранения изменился сохраняемый объект в соответствии с изменившейся системой


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

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


Обнаружение рассогласования объекта основано на том, что вместе с объектом сохраняется ключ его версии класса, который может

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


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

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


При структурном подходе в ключ (дескриптор) класса разумно включать

только имя класса
полный текст класса
имя класса, список имен атрибутов и их типов, инвариант класса
имя класса и список имен атрибутов и их типов


В основе реляционных баз данных лежат следующие свойства

данные в таблицах хранятся в нормализованной форме
для запросов используется специальный язык SQL
в таблицах могут храниться объекты в форме, принятой в ОО-языке
БД – это набор отношений (таблиц)


Базы данных должны обеспечивать следующие свойства

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


Стимулами для разработки ОО-баз данных являются?

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


Свойства, которыми должна обладать ОО-база данных

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


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

все перечисленные средства
средства сохранения, встроенные в язык
язык SQL
специальный объектно-реляционный интерфейс


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

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


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

кроме сохраняемости, многим приложениям требуется поддержка БД, обеспечивающая параллельный доступ разных клиентов
длинные транзакции могут выполняться в течение месяца
оптимистическая блокировка – это блокировка с надеждой, что никто не помешает проведению операций над объектом
в ОО-базе данных основным языком запросов остается язык SQL


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

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


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

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


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

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


Абстракции, используемые при разработке конструктора приложений

Контекст
Окно
атрибут
меню


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

DEVICE
FIGURE
WINDOW
WORLD


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

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


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

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


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

обе эти системы и отображение между ними
систему мировых координат
систему координат устройства
только одну из этих систем


Отложенный класс FIGURE

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


В рассматриваемой реализации класс Window, задающий окно

позволяет задать положение окна в мире
является наследником класса TWO_WAY_TREE, реализующего деревья
произвести слияние окон
произвести покраску окна


Контекст в данном контексте - это?

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


Это возможно?

по состоянию однозначно определить доступность пары контекст-событие
однозначно определить доступность пары контекст-событие
по событию и контексту однозначно определить команду
по событию однозначно определить команду


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

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


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

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


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

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


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

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


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

C
Ada
Modula
Pascal


В языке Ada

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


В инкапсулирующих языках

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


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

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


Пакет языка Ada может использоваться для задания

набора процедур
подтипа, наследуемого от ранее определенного типа
реализации АТД
набора констант


Клиентский модуль, которому доступен интерфейс пакета, может

компилироваться без задания тела пакета
использовать только компоненты из открытой части интерфейса пакета
компилироваться при условии задания тела пакета
использовать все компоненты интерфейса модуля


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

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


Тип в языке Ada

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


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

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


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

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


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

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


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

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


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

в языке Ada-95 введено наследование
задачи могут иметь родовые параметры
исключения отделяют обнаружение ошибок от их обработки, но не дают решения проблемы ошибок времени выполнения
пакеты могут иметь родовые параметры


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

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


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

язык Ada – это самый сложный и самый законченный инкапсулирующий язык
пакет – это чисто синтаксический механизм
Ada 95 делает возможным определение нового типа, порождённого существующим типом с поддержкой переопределения подпрограмм, полиморфизма и динамического связывания
задача – это чисто синтаксический механизм


В данном контексте к функциональным языкам относятся?

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


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

Algol
Cobol
C
Fortran


Под эмуляцией объектной технология в не ОО-средах понимают?

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

skype По Skype: molodoyberkut
telegram По Telegram: @MolodoyBerkut
icq По ICQ: 657089516

Или через форму обратной связи на нашем сайте
Пока сочиняется...
4.png