Главная / Программирование / Основы объектно-ориентированного проектирования

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

Правильные ответы выделены зелёным цветом.
Все ответы: Фундаментальный учебник по основам объектно-ориентированного проектирования и инженерии программ. В книге подробно рассматривается объектная технология бесшовной разработки программных систем, включающая этапы анализа, проектирования, разработки и сопровождения. Как находить классы, правильное использование наследования, таксономия наследования, объектно-ориентированный анализ – это далеко не полный перечень рассматриваемых в книге тем.
Конструирование ПО
(1) тривиальная задача
(2) этому можно научиться
(3) в этой книге описан надежный и легкий путь создания качественного ПО
(4) методология может служить общим руководством, благодаря примерам предыдущих удачных решений, а также примерам того, что не работает, – но не более того
Кластер содержит
(1) глобальные данные
(2) группу связанных классов
(3) группу связанных кластеров
(4) группау связанных классов и кластеров
Начальный курс по ОО-методу следует пройти
(1) один раз до практической ОО-разработки
(2) один раз после практической ОО-разработки
(3) дважды - до и после практической ОО-разработки
(4) вообще не следует проходить
Введение параллельности
(1) требует создания специализированного объектного языка
(2) позволяет ограничиться добавлением лишь одного понятия
(3) предполагает, что действия, связанные с конкретным объектом, могут выполняться отдельным процессором
(4) требует, чтобы программист создавал абстрактные процессоры наряду с классами
Сохраняемость объектов поддерживается
(1) автоматически, с периодическим сохранением всех созданных объектов
(2) механизмами сохраняемости, встроенными в язык и окружение разработки
(3) реляционными базами данных
(4) ОО-базами данных
Хороший конструктор интерфейса должен позволять
(1) создавать окна (формы), населяемые элементами управления
(2) создавать разнообразные меню – иерархические, контекстные, выпадающие
(3) создавать разнообразные элементы управления – командные кнопки, окна редактирования, списки
(4) рисовать в формах геометрические фигуры и выполнять над ними различные преобразования
В инкапсулирующих языках
(1) основным понятием является модуль
(2) модуль понимается как собрание данных и процедур (функций)
(3) модуль играет семантическую роль
(4) определено наследование
К "живым" необъектным языкам первого поколения относятся языки
(1) Fortran
(2) Algol
(3) Cobol
(4) C
Первым языком ОО-программирования был язык?
(1) C++
(2) Smalltalk
(3) Algol
(4) Simula
Среда разработки объединяет следующие элементы
(1) ОО-метод
(2) язык – нотацию, используемую на этапах анализа, проектирования и реализации
(3) набор инструментальных средств, необходимых для использования метода и языка: средства компиляции, просмотра, документирования, проектирования
(4) библиотеки программных компонент повторного использования
В данной главе под многопанельной системой понимается интерактивная система, в которой?
(1) работа пользователя состоит в выполнении ряда этапов, и каждый этап поддерживается полноэкранной диалоговой панелью (формой)
(2) выбор очередного этапа выполняется автоматически системой
(3) на каждом этапе осуществляется диалог пользователя с системой
(4) по результатам диалога пользователь выбирает, к какому этапу следует перейти
Под системой с откатами и повторами понимается интерактивная система, в которой?
(1) пользователь может выполнять некоторые команды из фиксированного набора
(2) действие уже выполненных команд может быть отменено
(3) действие уже отмененных команд может быть повторено
(4) заключаются взаимовыгодные контракты между различными группами пользователей
Поиск классов
(1) полностью неформален
(2) основан на интуиции
(3) подчиняется строгим правилам
(4) двухэтапный процесс, включающий поиск кандидатов и их последующий отсев
Компонент класса, представляющий запрос
(1) может изменять состояние объекта
(2) возвращает информацию о состоянии, не изменяя его
(3) реализуется функцией
(4) реализуется атрибутом
Пусть имеется класс Person, описывающий персону и класс Car, задающий автомобиль. Класс Owner_Car, описывающий владельца машины должен быть?
(1) клиентом классов Person и Car
(2) наследником классов Person и Car
(3) клиентом класса Person и наследником класса Car
(4) наследником класса Person и клиентом класса Car
Отметьте истинные высказывания
(1) разработку ведите снизу-вверх: постройте прочный базис, затем применяйте его к специальным случаям
(2) не пытайтесь сделать классы с самого начала общими, делайте их конкретными
(3) априорная проверка: до выполнения операции проверяйте возможность ее применения
(4) все использования наследования должны принадлежать одной из категорий в таксономии
Ясности и качеству ПО способствует язык программирования, характеризуемый
(1) краткостью, как C или RPG
(2) многословностью, подобной COBOL
(3) минимизацией нажатия клавиш
(4) смесью ясности, характерной для Algol-подобных языков, и краткостью телеграфного стиля
Объектно-ориентированный анализ
(1) применим только к анализу программных систем
(2) ориентирован на этап рассмотрения проблем
(3) занимается тем же, что и системное моделирование
(4) синонимом анализа является понятие специфиикация
Методологическое правило может быть
(1) абсолютно положительное
(2) абсолютно отрицательное
(3) рекомендательно положительное
(4) рекомендательно отрицательное
Модель водопада при разработке ПО
(1) выделяет основные этапы разработки системы
(2) предполагает последовательное выполнение этапов
(3) предполагает циклическое выполнение этапов
(4) предполагает параллельное выполнение этапов
В начальном курсе следует уделять наибольшее внимание
(1) проектированию
(2) реализации
(3) анализу и спецификациям
(4) практическим примерам, доведенным до завершения
Сходство между параллельным программированием и ОО-построением программ основано на том, что?
(1) типы процессов и классы играют определяющую роль в этих технологиях
(2) в обоих случаях имеет место проектирование по контракту
(3) механизмы коммуникации процессов и объектов могут быть описаны, как передача сообщений"
(4) описание класса и описание типа процесса имеет одинаковую структуру
При эволюции схемы предпочтительным для пользователей системы является вариант
(1) отказ от сохраненных объектов
(2) преобразование всех сохраненных объектов
(3) обнаружение рассогласования и его устранение для некоторых объектов
(4) обнаружение и уведомление о рассогласовании без его устранения для некоторых объектов
Двухуровневая структура конструктора приложений необходима при создании конструктора
(1) переносимого на все платформы
(2) специализированного, приспособленного к конкретной платформе и учитывающего все ее особенности
(3) переносимого по умолчанию, но с возможностью настраивания на конкретную платформу
Пакет языка Ada может использоваться для задания
(1) набора констант
(2) набора процедур
(3) реализации АТД
(4) подтипа, наследуемого от ранее определенного типа
Дисциплинарный подход к эмуляции объектной технологии для функциональных языков предполагает?
(1) набор строгих методологических правил
(2) определение АТД и его компонентов, используя средства языка
(3) реализацию компонентов АТД набором подпрограмм
(4) использование при работе с моделируемым АТД только подпрограмм, реализующих его компоненты
Язык Simula решает проблему "аномалии наследования" следующим образом
(1) тело потомка выполняется вместо тела родителя
(2) тело потомка выполняется после выполнения тела родителя
(3) тело потомка выполняется перед выполнением тела родителя
(4) тело потомка выполняется в заданном месте тела родителя при его выполнении
Технология тающего льда предполагает?
(1) возможность замораживания (компиляции) системы
(2) компоненты, подвергшиеся изменениям, считаются размороженными
(3) размороженные компоненты можно компилировать независимо от остальной системы
(4) исполняющая машина, встроенная в окружение, выполняет замороженную систему и оттаявшие компоненты
Многопанельная система является хорошим примером "образца" программирования поскольку
(1) многочисленные реальные ситуации укладываются в эту схему
(2) существует единственно возможное решение
(3) основные идеи алгоритма, решающего задачу, могут быть сформулированы на абстрактном уровне схемы
(4) возможны различные подходы к ее решению и не очевидно, какой из них является наилучшим
Операция повтора
(1) полезна, когда есть откаты
(2) в ней нет нужды, если откат ограничен одним шагом
(3) может быть выполнена, если сделан откат
(4) без нее можно обойтись, не теряя эффективности работы пользователя
Возможными признаками для отбраковки классов являются
(1) класс, выполняющий множество функций
(2) класс, выполняющий одну главную функцию
(3) имя класса, заданное глаголом в императивной форме
(4) класс-наследник, добавляющий или переопределяющий всего лишь одну функцию
Различие между аргументами-операндами и аргументами-опциями в том, что?
(1) для операнда может быть задано значение по умолчанию
(2) для опции может быть задано значение по умолчанию
(3) опция задает режим выполнения операции
(4) операнд представляет объект, с которым оперирует программа
При введении иерархии классов каждый наследник обязан выполнить по крайней мере одно из следующих условий
(1) ввести новый компонент
(2) переобъявить наследуемый компонент
(3) удалить компонент родителя
(4) добавить предложение в инвариант класса
Отметьте истинные высказывания
(1) задание статуса доступа компонентов: закрытых или экспортируемых – подвержено частым изменениям в ходе разработки
(2) динамическое связывание: влечет явный разбор случаев
(3) используйте выборочный экспорт для группы тесно связанных классов
(4) организованный отказ: если в конце выполняется предложение rescue, не забудьте восстановить инвариант
Текст ОО-системы в сравнении с текстом систем на языках C, Pascal, Ada или Fortran обычно короче для больших программных систем за счет следующих факторов
(1) универсальности
(2) наследования
(3) статической проверки типов
(4) динамического связывания
Процесс анализа требует
(1) привлечения всех участников проекта
(2) применения специальной нотации
(3) масштабируемости решения
(4) чтобы нотация не допускала неоднозначного толкования
Рекомендательные правила
(1) всегда полезны
(2) могут быть банальностями
(3) должны быть принципами
(4) есть способ отличия банальности от принципа
Руководитель проекта в кластерной модели
(1) разбивает проект на кластеры
(2) определяет уровень параллельной разработки
(3) отслеживает текущие состояния кластеров
(4) выполняет разработку кластеров в случае задержек проекта
Когда следует начинать обучать объектной технологии?
(1) с самого начала - чем раньше, тем лучше
(2) только после обучения программированию традиционным путем
(3) после курса, посвященного основам доказательства корректности программ
(4) после курса, посвященного основам теории алгоритмов
Какие правила корректности сепаратности справедливы?
(1) если источник присоединения является сепаратным, то его целевая сущность также должна быть сепаратной
(2) если фактический аргумент сепаратного вызова имеет тип ссылки, то соответствующий формальный аргумент должен быть объявлен как сепаратный
(3) если источник присоединения является результатом вызова функции, возвращающей тип ссылки, то цель должна быть объявлена как сепаратная
(4) если фактический аргумент или результат сепаратного вызова имеет развернутый тип, то его базовый класс не может содержать непосредственно или опосредовано никакой несепаратный атрибут ссылочного типа
При структурном подходе в ключ (дескриптор) класса разумно включать
(1) только имя класса
(2) полный текст класса
(3) имя класса и список имен атрибутов и их типов
(4) имя класса, список имен атрибутов и их типов, инвариант класса
В системах, интерфейс которых допускает визуализацию внешнего мира, требуется использовать
(1) систему мировых координат
(2) систему координат устройства
(3) только одну из этих систем
(4) обе эти системы и отображение между ними
Тип в языке Ada
(1) совпадает с понятием пакета
(2) может быть параметризованным
(3) определяется внутри пакета, задавая представление данных
(4) может задавать операции над данными типа
Подпрограммы с множественными входами
(1) определены во всех версиях языка Fortran
(2) позволяют моделировать описание операций, выполняемых над данными класса
(3) разрешают внутренние вызовы операций
(4) все входы разделяют хранимые данные подпрограммы, появляющиеся с директивой SAVE
Сообщения в языке Smalltalk могут быть?
(1) унарными
(2) бинарными
(3) адресованными операционной системе
(4) с ключевыми словами
Что происходит при внесении изменений в систему?
(1) автоматически находятся классы, подвергшиеся изменениям
(2) все классы, наследники измененного класса, нуждаются в перекомпиляции
(3) все классы, клиенты измененного класса, нуждаются в перекомпиляции
(4) для снижения временных затрат в качестве единицы перекомпиляции выбирается не класс, а отдельная подпрограмма
Класс "состояние" характеризуется следующими операциями
(1) выполнить (состояние)
(2) отобразить (панель, соответствующую состоянию)
(3) обработать (запрос пользователя)
(4) перейти (в новое состояние)
Класс Command является
(1) полностью определенным
(2) полностью абстрактным
(3) классом поведения
(4) определяется наследниками системы
Класс без команд
(1) не допустим
(2) возможен, как представление объектов внешнего мира, не подлежащих изменениям
(3) возможен, как сервисный класс, представляющий константы
(4) возможно является ошибкой проектировщика
Список требований при добавлении нового компонента
(1) соответствие абстракции данных, задающей класс
(2) совместимость с другими компонентами класса
(3) дублирование целей других компонентов класса
(4) поддержка инварианта класса
Наследование применяется в различных ситуациях. Классификация включает следующие случаи наследования
(1) родственное
(2) с вариациями
(3) реализации
(4) льготное
Отметьте истинные высказывания
(1) полиморфные структуры данных: наследование и универсальность позволяют комбинировать в нужных пропорциях подобие и вариации
(2) пытайтесь сделать классы с самого начала настолько автономными, насколько это возможно
(3) классы поведения являются эффективными
(4) повторение выполнения: испробуйте другой алгоритм или (стратегия надежды) тот же повторно. Сохраните информацию в атрибутах или локальных сущностях, инициализируемых в момент вызова, но не при повторах retry
Имена
(1) классов – всегда содержательны и могут состоять из нескольких слов, объединенных пробелами, записываются большими буквами
(2) компонентов – совпадают с правилами для имен классов
(3) аргументов и локальных сущностей – не требуют особой выразительности
(4) регистр учитывается в написании имен
Объектная технология анализа характеризуется следующим
(1) акцент переносится на повторное использование
(2) требования клиента – это основной документ, подлежащий безусловному выполнению
(3) компромиссами между заказчиком и разработчиком
(4) фиксация результатов анализа и их неизменяемость вплоть до этапа завершения реализации системы
Метафоры
(1) хороши в литературных текстах, но их следует избегать в методологических руководствах
(2) в научных областях метафоры являются мощным, но опасным средством
(3) будят воображение
(4) позволяют делать обоснованные выводы
Бесшовность ОО-процесса разработки ПО
(1) устраняет необходимость возврата к предыдущим этапам разработки
(2) сглаживает различия этапов, подчеркивая фундаментальную целостность процесса
(3) устраняет дорогостоящие и подверженные ошибкам резкие переходы между отдельными этапами, использующих различную нотацию, системы взглядов и персонал (аналитики, проектировщики, программисты ...)
(4) требует дополнить диаграмму жизненного цикла кластера указаниями на постоянную возможность обратных пересмотров и исправлений
ОО-учебный план может концентрироваться вокруг создания библиотек общецелевого назначения. Это позволяет
(1) получать полезные результаты в короткие сроки
(2) объединить усилия многих людей разной квалификации
(3) использовать результаты научных исследований
(4) обучать коллективным методам работы
Сепаратными могут быть?
(1) класс
(2) сущность
(3) процедура
(4) объект
При работе с реляционной базой данных в объектном окружении для получения и обновления данных следует использовать
(1) язык SQL
(2) средства сохранения, встроенные в язык
(3) специальный объектно-реляционный интерфейс
(4) все перечисленные средства
Контекст в данном контексте - это?
(1) текст, окружающий выделенную часть текста
(2) условия, полностью определяющие отклик приложения на появление события
(3) класс, задающий абстрактное понятие
(4) интерфейсный элемент управления
Механизм исключений языка Ada
(1) отделяет обработку ошибок от их обнаружения
(2) ориентирован на стиль управляющей структуры
(3) может приводить к некорректному использованию исключения, при котором вызывающая программа получит управление без устранения возникающих проблем
(4) обработчик исключений языка Ada заканчивается либо выполнением команды raise, либо повтором охватывающей подпрограммы
Файл языка C
(1) может использоваться для эмуляции понятия модуля
(2) представляет единицу компиляции, которая может содержать функции и данные
(3) не допускает скрытия информации
(4) допускает наследование
Язык С++
(1) является объектным расширением языка С
(2) иллюстрирует подход слияния, сближая, насколько это возможно, концепции объектного языка с концепциями функционального языка
(3) первоначально представлял препроцессор, транслирующий объектные конструкции в конструкции языка С
(4) остается неизменным с момента создания, сохраняя основные понятия и механизмы
Заключительная оптимизация – финализация подразумевает?
(1) удаление мертвого кода (особенно из библиотек)
(2) статическое связывание, там, где оно возможно
(3) развертывание циклов
(4) подстановку кода
Сравнение функциональной и ОО-системы показывает, что?
(1) в функциональной программе повторно используется только функция, описывающая переходы
(2) в ОО-программе повторно используются классы, описывающие состояние и приложение
(3) в функциональной программе разбор случаев, встроенный в функции, при расширениях требует изменения кода
(4) в ОО-программе при расширениях благодаря полиморфизму и динамическому связыванию изменения существующего кода минимальны (добавляются новые классы – наследники, изменяется процедура создания)
Класс, задающий список истории
(1) не оказывает влияния на интерфейс системы
(2) добавляет к традиционным кнопкам отката и повтора показ окна истории
(3) заменяет традиционные кнопки отката и повтора показом окна истории
(4) расширяет возможности традиционного интерфейса
Использование сценариев
(1) предпочтительно при функциональном подходе, основанном на процессах (действиях)
(2) предполагает упорядоченность, несовместимую с объектной технологией
(3) лучший способ нахождения классов
(4) является инструментом проверки правильности, но не средством анализа
Априорная схема вызова компонента предполагает
(1) проверку предусловия компонента непосредственно перед вызовом – в операторе if или в инструкции check
(2) проверка может не применяться по соображениям эффективности
(3) предусловие может зависеть от внешних событий и не являться утверждением
(4) проверку предусловия в самом компоненте, если оно не проверялось перед вызовом
При наследовании
(1) инвариант родителя автоматически является частью инварианта наследника
(2) предусловие подпрограмм, возможно ослабленное, применимо к любому ее переопределению у потомка
(3) предусловие подпрограмм, возможно усиленное, применимо к любому ее переопределению у потомка
(4) любое свойство на выходе подпрограммы, специфицированное для экземпляра родителя, будет также выполняться экземплярами наследника
Отметьте истинные высказывания
(1) отложенный компонент родителя сохраняйте отложенным
(2) предусловие связывает клиента, постусловие поставщика
(3) повторные объявления не сохраняют семантику
(4) предлагаемая таксономия наследования включает 3 категории, распадающиеся на 12 видов
Выберите наиболее подходящую форму комментария
(1) касательная линия к текущей окружности, проходящая через данную точку p, если эта точка лежит вне текущей окружности
(2) касательная линия к текущей окружности, проходящая через точку p, если точка вне текущей окружности
(3) касательная из p
(4) касательная
Формализмы, применяемые на этапе анализа
(1) UML
(2) BON
(3) BLIN
(4) OOSE
Отметьте истинные высказывания
(1) применять метафоры – это всегда хорошо
(2) проектировщики, даже самые лучшие, никогда не должны переоценивать значение своего опыта
(3) для абсолютно положительного правила чаще всего можно построить инструментарий, автоматически выполняющий правило
(4) рекомендация "используйте содержательные имена идентификаторов" является банальностью
Отметьте истинные высказывания
(1) строгое следование последовательной модели является следствием требований бесшовности и обратимости
(2) последовательным элементом жизненного цикла является кластер – набор логически связанных классов
(3) объектная технология восстанавливает в правах реализацию
(4) обобщение означает, что до последнего момента можно не думать о возможности повторного использования
Отметьте истинные высказывания
(1) в начальном курсе начинайте с абстракций
(2) тренинг в компании должен включать курсы для менеджеров наряду с курсами для разработчиков
(3) для обучения используйте чистый ОО-язык, простой и понятный, поддерживающий полный спектр технологии, в частности, утверждения
(4) в начальном тренинге для профессионалов без колебаний повторяйте сессию, посвященную концепциям, после некоторой фазы практической работы
Отметьте истинные высказывания
(1) если целью вызовов в подпрограмме является ее формальный сепаратный аргумент, то для внутренних вызовов не нужно беспокоиться о получении доступа к целевому объекту
(2) клиент, выполнивший сепаратный запрос, всегда будет ждать его окончания, прежде чем перейдет к выполнению следующей инструкции
(3) утверждения в предусловиях могут иметь две разные семантики – условий корректности и условий ожидания
(4) владелец объекта всегда должен быть готов отдать объект претенденту, если тому срочно понадобился этот объект
Отметьте истинные высказывания
(1) при эволюции схемы меняется инвариант класса, а сам класс остается неизменным
(2) корректно восстановить рассогласованный объект можно только в случае, когда произошло удаление полей объекта, а не их добавление
(3) под живучестью объектов понимается возможность их существования после завершения очередной сессии
(4) по умолчанию рассогласование должно возбуждать некоторое исключение
Отметьте истинные высказывания
(1) объект интерфейса пользователя представляет специальный случай контекста
(2) двухуровневая структура конструктора приложений облегчает его переносимость и повышает эффективность его работы
(3) приложение полностью описывается множеством состояний
(4) конструктор приложений позволяет разработчикам графически конструировать приложение
Отметьте истинные высказывания
(1) пакеты языка Ada позволяют отделить реализацию от интерфейса
(2) в интерфейсе задаются исключения
(3) в качестве родовых параметров пакета могут использоваться только типы
(4) язык Ada относится к "мертвым" языкам, реально не используемых на практике
Отметьте истинные высказывания
(1) эмуляция – это некоторое насилие над языком
(2) язык C благодаря возможностям эмуляции рекомендуется использовать для создания больших программных систем
(3) коммерческие версии языка Pascal расширили язык, включив в него средства модульности и объектной ориентированности
(4) в языке Fortran достигаются многие ОО-свойства, благодаря возможностям, считающимися низкоуровневыми и предназначенными для других целей
Отметьте истинные высказывания
(1) динамическое связывание в языке Simula запрещено
(2) сопрограмма прерывает своё собственное выполнение и предлагает продолжить выполнение (resume) другой сопрограмме в ее последней точке прерывания; прерванная сопрограмма позже может продолжиться сама
(3) сборка мусора в окружении С++ обычно отсутствует
(4) интерактивная техника - окна, значки, соединение текста и графики, выпадающие контекстные меню, использование мыши, браузеры, инспекторы и ОО-отладчики восходят корнями к окружению Smalltalk
Отметьте истинные высказывания
(1) в среде разработки в процессе выполнения можно следить за отдельным объектом с помощью инструментария Object Tool
(2) механизм pick-and-drop – это обобщение механизма drag-and-drop
(3) графическое проектирование в инструментарии Case способствует пониманию целей системы, но не допускает трансляции в программный текст
(4) при финальной оптимизации трансляция идет в код конкретной платформы без использования языка С в качестве промежуточного языка
Отметьте истинные высказывания
(1) главный вопрос при проектировании системы - это "что она делает?"
(2) согласно закону инверсии, данные, передаваемые функциями, становятся хозяевами функций и основой класса
(3) ОО-системы лучше приспособлены к повторному использованию и расширяемости
(4) функциональный подход полностью соответствует стилю проектирования "сверху-вниз"
Отметьте истинные высказывания
(1) образец системы с откатами и повторами играет важную практическую роль
(2) внутреннее понятие списка истории, привело к появлению внешнего понятия окна истории с привлекательным пользовательским механизмом взаимодействия
(3) действие любой команды можно отменить, выполнив откат
(4) практически невозможно построить повторно используемую систему с откатами и повторами
Отметьте истинные высказывания
(1) класс не может отражать концепции
(2) отложенные классы реализации имеют практическую ценность
(3) использование прилагательных для имени класса характерно для классов, описывающих общие свойства объектов
(4) абстрактные свойства всегда должны быть описаны формально
Отметьте истинные высказывания
(1) принцип "Разделения Команд и Запросов" является методологическим предписанием
(2) конкретный побочный эффект не допустим в функциях
(3) аргументы-опции должны реализоваться атрибутами класса
(4) всегда применима либо априорная либо апостериорная схема вызова компонента
Отметьте истинные высказывания
(1) каждый компонент, применимый клиентом к экземплярам родительского класса, тем же клиентом может быть применен к экземплярам наследника
(2) следует предпочитать наследование, принадлежащее ровно одной допустимой категории
(3) наследование модели, отражает отношение "является", существующее между абстракциями, характерными для самой модели
(4) наследование подтипов не имеет аналогов в реальном мире
Отметьте истинные высказывания
(1) отложенные классы описывают категории высокого уровня
(2) обновление необъектного ПО: инкапсулируйте абстракции в классы
(3) при браке по расчету: реализация сочетается с абстракцией
(4) нельзя переопределить сразу несколько эффективных компонентов
Отметьте истинные высказывания
(1) включайте в имя компонента имя базовой абстракции данных, служащей именем класса
(2) лишние точки с запятой недопустимы
(3) утверждения следует именовать
(4) цвет и шрифт играют важную роль в оформлении текста
Отметьте истинные высказывания
(1) важнейшая задача анализа – удовлетворение всех требований заказчика
(2) на этапе анализа можно применять библиотеки элементов спецификаций
(3) чрезмерная спецификация - один из основных рисков аналитика
(4) раннее введение классов затрудняет проведение анализа
Правила методологии ПО должны базироваться на
(1) теории предметной области
(2) исключительно на опыте анализа и проектирования
(3) теоретических рассуждениях
(4) опыте, включающем все этапы жизненного цикла ПО: анализ, проектирование, реализацию и, конечно же, сопровождение
Кластер может быть
(1) элементарным
(2) глобальным
(3) единичным
(4) суперкластером
Суть стратегии "пройди начальный тренинг дважды" состоит в том, чтобы
(1) пройти начальный курс
(2) выполнить ОО-разработку
(3) пройти начальный курс
(4) циклически повторять предыдущие этапы
Ограничения, связанные с синхронизацией параллельных вычислений
(1) клиент должен ждать столько, сколько необходимо, после того, как вызов x.f (a) для объявленной separate сущности x пойдет на параллельное выполнение
(2) для получения исключительного доступа к отдельному объекту O2, достаточно использовать присоединенную к нему сущность a, объявленную как separate, в качестве аргумента соответствующего вызова, например, r(a)
(3) следует учитывать ограниченное число параллельно работающих процессоров
(4) если у подпрограммы имеется предусловие, содержащее аргумент, объявленный как separate (например, такой как a), то клиенту придется ждать, пока это предусловие не выполнится
При поддержке сохраняемости, встроенной в язык, наиболее предпочтительным является вариант сохранения
(1) самого объекта
(2) объекта вместе с его прямыми связниками
(3) всей структуры, связанной с сохраняемым объектом – прямых и непрямых связников
(4) структуры, в которой некоторые связи оборваны согласно указаниям в момент сохранения
Конструктор приложения – это?
(1) инструментарий, предназначенный для создания любых приложений
(2) инструментарий, предназначенный для создания приложений командного типа, управляемых событиями
(3) инструментарий, предназначенный для графического конструирования приложения
(4) инструментарий, расширяющий возможности конструктора интерфейса
К инкапсулирующим языкам относят языки
(1) C
(2) Ada
(3) Modula
(4) Pascal
Под эмуляцией объектной технология в не ОО-средах понимают?
(1) моделирование понятия класса и других механизмов объектной технологии средствами необъектного языка
(2) расширение необъектного языка новыми механизмами
(3) использование концепций объектной технологии
(4) специальные приемы и дисциплина применения средств необъектного языка, создающие эффект работы в объектной среде
Язык Simula
(1) основан на классах, допускающих единичное наследование
(2) тело класса задает закрытую часть класса
(3) виртуальные подпрограммы языка задают отложенные компоненты
(4) поддерживает полиморфизм и динамическое связывание
Язык Eiffel
(1) появился в 1986 году
(2) поддерживает множественное наследование и универсальность
(3) поддерживает параллелизм
(4) реализован на всех известных платформах
Подходящими примерами многопанельных систем являются системы
(1) заказа билетов (железнодорожных, авиа и т.д.)
(2) выбора места отдыха в туристском Интернет-агентстве
(3) оформления заграничной визы
(4) работы с гипертекстовым учебником
Система с откатами и повторами является хорошим примером "образца" программирования поскольку
(1) многочисленные реальные ситуации укладываются в эту схему
(2) существует единственно возможное решение
(3) основные идеи алгоритма, решающего задачу, могут быть доведены до создания классов поведения, используемых во всех конкретизациях образца
(4) возможны различные подходы к ее решению и не очевидно, какой из них является наилучшим
Метод "подчеркивания существительных" в документе требований
(1) может являться основой для поиска классов
(2) не имеет никакой пользы
(3) может использоваться как одно из средств поиска кандидатов
(4) помогает в овладении тезаурусом предметной области
Функция
(1) не должна иметь побочного эффекта
(2) может иметь побочный эффект
(3) не должна иметь абстрактного побочного эффекта
(4) допускает абстрактный побочный эффект
При выборе отношения, которым должны быть связаны классы – клиентским или наследования, следует учитывать, что?
(1) если существуют аргументы в пользу того, что экземпляры класса А "являются" экземплярами класса В, то классы связаны отношением наследования
(2) если экземпляры класса А "имеют" (обладают) экземплярами класса В, то классы связаны клиентским отношением
(3) зачастую понятие "иметь" можно свести к понятию "является"
(4) зачастую понятие "является" можно свести к понятию "иметь"
Отметьте истинные высказывания
(1) не пытайтесь сделать классы с самого начала настолько автономными, насколько это возможно – учитывайте все зависимости
(2) клиент бывает ссылочный и развернутый
(3) отложенные классы описывают реализацию
(4) классы поведения: задают общее поведение
Предлагаемые правила стиля включают
(1) осмысленные идентификаторы, заданные словами, а не аббревиатурами
(2) подробные комментарии, не скупящиеся на детали
(3) ограничивают комментарии
(4) запрещают излишнюю квалификацию
Цели анализа
(1) предложить образец решения проблемы
(2) понять проблему или проблемы, которые программная (или иная) система должна решить
(3) определить, что система должна делать
(4) определить, как система должна это делать
Наиболее полезным является правило
(1) абсолютно положительное
(2) абсолютно отрицательное
(3) рекомендательно положительное
(4) рекомендательно отрицательное
Число этапов в жизненном цикле кластера
(1) 1
(2) 3
(3) 5
(4) 5+ 2 предварительных этапа
Чем не следует заниматься во вводном курсе?
(1) проектированием
(2) реализацией
(3) анализом и спецификациями
(4) доведением до завершения практических примеров
Может ли объект быть процессом?
(1) да, процесс – это просто активный объект
(2) нет, процесс выполняет строго определенную последовательность действий
(3) нет, наследование конфликтует с понятием процесса
(4) да, вызов метода эквивалентен запуску процесса
При эволюции схемы возникают следующие проблемы
(1) обнаружения изменившегося класса
(2) обнаружения рассогласования у объекта
(3) уведомление о существовании рассогласований
(4) исправление рассогласования
При двухуровневой структуре конструктора приложений
(1) на верхнем уровне находится переносимая графическая библиотека высокого уровня абстракции
(2) на нижнем уровне находятся специализированные библиотеки, каждая из которых приспособлена к "своей" платформе и реализует своими средствами функции библиотеки верхнего уровня
(3) при работе с конструктором можно обращаться только к функциям библиотеки верхнего уровня
(4) при работе с конструктором можно непосредственно обращаться к функциям библиотек нижнего уровня
Интерфейс пакета языка Ada содержит
(1) как открытую, так и закрытую часть
(2) описания экспортируемых переменных
(3) реализации процедур пакета
(4) описания определяемых типов
Язык Pascal
(1) относится к функциональным языкам
(2) разделы, из которых состоит описание программы на Pascal, хорошо согласуются с объектной технологией описания классов
(3) для эмуляции применим дисциплинарный подход
(4) в свое время являлся лучшим языком для первоначального изучения программирования
Первый объектный язык программирования Simula ввел следующие понятия
(1) классов с наследованием
(2) множественного наследования и универсальности
(3) сопрограмм и параллельных вычислений
(4) виртуальных методов, полиморфизма и динамического связывания
Технология тающего льда
(1) не позволяет обеспечить полный контроль типов
(2) обеспечивает быструю компиляцию
(3) требует проверки всей системы при проверке корректности изменений
(4) несмотря на интерпретацию размороженных компонентов оставляет приемлемой скорость выполнения
Возможным решением является прямое отображение графа переходов в модульную структуру. Каждое состояние – отдельный модуль, заканчивающийся разбором случаев, определяющим модуль-преемник. Для этого решения справедливо следующее
(1) соответствие принципу "прямого отображения" моделируемой ситуации, облегчающего понимание и прозрачность разработки
(2) не требуется изменять разработанные модули при изменении структуры графа переходов
(3) слабая возможность повторного использования готовой системы
(4) решение хорошо работает для стабильного графа
Механизм откатов и повторов должен удовлетворять следующим свойствам
(1) применим к широкому классу интерактивных приложений, независимо от их проблемной области
(2) не должен требовать перепроектирования при добавлении новых команд
(3) разумно использовать ресурсы памяти
(4) применим к откатам как на один, так и несколько уровней
Имя класса всегда должно быть либо
(1) существительным, возможно квалифицированным
(2) глаголом в императивной форме
(3) прилагательным
(4) причастием
Из принципа операндов следует, что?
(1) при вызове компонента нужно задавать значения лишь для тех аргументов (опций), значения которых отличается от установок по умолчанию
(2) новички обязаны изучать все специальные свойства
(3) добавление новых опций не изменяет интерфейс подпрограммы и, следовательно, не нарушает работу существующих клиентов
(4) сложность вызова не уменьшается, а увеличивается из-за необходимости установки опций
Пусть классу В нужны специфические свойства классов C, D, …E. Техника описателей предполагает, что взаимодействие организуется следующим образом
(1) класс В становится наследником классов C, D, …E
(2) класс В становится клиентом классов C, D, …E
(3) класс В становится наследником класса A, потомками которого являются классы C, D, …E
(4) класс В становится клиентом класса A, потомками которого являются классы C, D, …E
Отметьте истинные высказывания
(1) для каждой команды, устанавливающей статус, обеспечьте запрос, возвращающий статус
(2) когда все рушится, не используйте обработку исключений
(3) доступ к родительской версии при переопределении обеспечивает precursor
(4) атрибут можно переопределить как функцию
Правила стиля
(1) носят жесткий характер и не могут меняться
(2) обязательны в серьезных разработках
(3) стиль может меняться, но соблюдать его необходимо
(4) следует создать собственный стиль
Требования к процессу анализа и поддерживающей нотации
(1) возможность участия в анализе и обсуждении результатов неспециалистов в области ПО
(2) возможность проведения анализа без привлечения специалистов в области ПО
(3) форма представления результатов анализа должна быть непосредственно пригодной для разработчиков ПО
(4) возможность для читателя быстро получить общее представление об организации системы или подсистемы
Исключения из правила
(1) должны быть частью правила
(2) исключения, включенные в правило, перестают быть исключениями из правила
(3) исключения могут быть в руководстве, но не в правиле
(4) каждое правило имеет исключение
Этап обобщения
(1) имеет целью шлифовку классов для их подготовки к повторному использованию
(2) в нем нет необходимости при грамотной разработке проекта
(3) всегда необходим, но не требует дополнительных ресурсов
(4) необходим и требует ресурсы
Начальный учебный курс следует строить вокруг библиотеки классов. Это позволяет
(1) отказаться от элементарных примеров
(2) работать с реальными интересными приложениями
(3) научить разрабатывать большие системы
(4) освоить на практике повторное использование
Какие ситуации возможны в процессе "дуэли"?
(1) претендент требует, а владелец ресурса готов отдать занятый им ресурс
(2) претендент требует, а владелец ресурса не желает отдать занятый им ресурс
(3) претендент просит, владелец ресурса готов отдать занятый им ресурс
(4) претендент просит, а владелец ресурса не отдает занятый им ресурс
Базы данных должны обеспечивать следующие свойства
(1) хранить структурированные данные, связанные некоторыми точно определенными отношениями
(2) хранить большие объемы данных
(3) при эволюции схемы автоматически модифицировать хранимые данные
(4) выполнять запросы, задающие абстрактные свойства данных, а не их местоположение
В рассматриваемой реализации класс Window, задающий окно
(1) является наследником класса TWO_WAY_TREE, реализующего деревья
(2) позволяет задать положение окна в мире
(3) произвести слияние окон
(4) произвести покраску окна
Тело пакета языка Ada содержит
(1) как открытую, так и закрытую часть
(2) описания реализации процедур и функций пакета
(3) описания скрытых компонентов пакета
(4) описания используемых типов
Язык C - это язык?
(1) высокого уровня
(2) машинно-ориентированный, позволяющий работать с адресами, указателями и байтами
(3) переносимый
(4) объектно-ориентированный
Язык Lisp привнес следующие полезные идеи в ОО-технологию
(1) классов
(2) динамичного подхода к созданию объектов
(3) автоматического управления памятью со сборкой мусора
(4) эффективной реализации древовидных структур данных
В интересах повторного использования в систему можно подключить?
(1) стандартные библиотеки классов, заранее откомпилированные
(2) ограниченное множество собственных библиотек, компилируемых вместе с системой
(3) неограниченное множество собственных библиотек, компилируемых вместе с системой
(4) неограниченное множество собственных библиотек, заранее откомпилированных
При переходе от функционального проектирования к объектно-ориентированному справедливо следующее
(1) исчезает понятие главной функции системы
(2) классы строятся вокруг функций
(3) когда функции передают друг другу одни и те же данные, то это первый признак того, что класс нужно строить вокруг данных, а функции должны быть частью этого класса
(4) инверсия функционально построенной системы в ОО-систему практически невозможна
Для работы с командами, имеющими один или несколько аргументов, можно выбрать один из следующих вариантов реализации
(1) ввести атрибуты по числу возможных аргументов
(2) ввести один составной атрибут, принимающий множество значений
(3) ввести аргумент в процедуру, выполняющую команду
(4) исключить такие команды из системы
Свойства идеального класса
(1) представляет АТД, четко ассоциированный с классом
(2) в классе определена главная функция
(3) имеет запросы, команды, конструкторы
(4) эффективно управляет памятью
Под активной структурой данных понимается
(1) часто вызываемая структура данных
(2) структура данных, содержащая ссылки
(3) структура, включающая активную позицию - курсор, определяющий над какими данными будет выполняться операция
(4) список с курсором – это частный случай активной структуры
Наследование применяется в различных ситуациях. Классификация включает следующие случаи наследования
(1) с конкретизацией
(2) вида
(3) семейное
(4) бесплатное
Отметьте истинные высказывания
(1) обобщение: оставьте создание повторно используемых классов на долю экспертов – дорога к общности – не ваша дорога
(2) системы создаются только из классов
(3) при повторном объявлении допустимо ослабление предусловий, позволяющее расширить область применения подпрограммы
(4) для запросов без аргументов должна быть видима разница в их реализации – атрибутом или функцией
Грамматические категории для имен
(1) классов – это существительные, возможно квалифицированные, или прилагательные
(2) процедур – это глаголы в императивной или инфинитивной форме
(3) запросов и атрибутов – это глаголы в инфинитивной форме
(4) локальных сущностей – всегда существительные
ОО-подход представляет реальную основу системного анализа, благодаря следующему инструментарию
(1) инвариантам и вариантам цикла
(2) подходу, основанному на АТД, приводящему к ясным, абстрактным, эволюционным спецификациям
(3) простому, множественному и дублируемому наследованию, поддерживающему классификацию
(4) механизму обработки исключительных ситуаций
При разработке новых проектов гарантию успеха дает
(1) успешный опыт прежних проектов
(2) теоретическая подготовка
(3) хорошие учебники
(4) ничто не дает
Обратимость ОО-процесса разработки ПО
(1) требует дополнить диаграмму жизненного цикла кластера указаниями на постоянную возможность обратных пересмотров и исправлений
(2) становится возможной благодаря классам, используемым на всех этапах разработки
(3) официальное признание влияния более поздних стадий процесса разработки ПО на решения, выработанные на начальных стадиях
(4) требует анализ завершать до проектирования, проектирование – до начала реализации, реализацию – до поставки
Суть обращенного учебного плана состоит в том, чтобы?
(1) начинать с повторного использования уже готовых библиотек
(2) начинать с пользовательского видения концепций высокого уровня и методов, фактически применяемых в индустриальном окружении
(3) читать курс в обратном порядке, усложняя задачу студентам
(4) начинать с абстрактных понятий
Сепаратный объект
(1) это объект, обрабатываемый отдельным процессором
(2) может порождаться процедурой создания
(3) может быть внешним и возвращаться внешней процедурой
(4) может быть независимым и создаваться в параллельном процессе по собственной инициативе
Стимулами для разработки ОО-баз данных являются?
(1) желание предоставить разработчикам ОО-ПО механизм сохранения объектов, согласованный с методом их разработки
(2) невозможностью хранения объектов в реляционных базах данных
(3) необходимостью преодоления концептуальных ограничений реляционных баз данных
(4) возможностью предложения более развитых средств работы с базами данных
Командные кнопки, списки и другие элементы управления - это?
(1) экземпляры класса FIGURE
(2) представители встроенного множества элементов управления
(3) представляют специальные случаи контекста
(4) объекты внешнего мира
Задача в языке Ada
(1) представляют специальный вид модуля
(2) позволяет организовать параллельные вычисления
(3) является семантической, а не только синтаксической конструкцией
(4) не разделяется на интерфейс и тело
Для эмуляции класса можно использовать структуру языка С, поскольку
(1) данные структуры позволяют задавать данные класса
(2) компоненты структуры, представленные указателями на функции, позволяют задавать операции класса
(3) раздел private позволяет эмулировать скрытие информации
(4) можно создавать объекты – экземпляры структуры
Современный стандарт языка С++ предлагает широкий набор мощных механизмов
(1) скрытие информации, включая способность скрывать компоненты от собственных наследников
(2) поддержку множественного наследования и универсальности
(3) автоматическое управление памятью и сборку мусора
(4) статическое связывание по умолчанию, для динамического связывания функция, должна быть определена как виртуальная
Инструментарий высокого уровня включает?
(1) Build - интерактивный генератор приложений, основанный на модели Контекст-Событие-Команда-Состояние
(2) Melt – систему для заморозки компонентов
(3) Ace – инструментарий руководителя проекта
(4) Case – средство анализа и проектирования, обеспечивающее возможность рассмотрения системы на высоком уровне абстракции с привлечением графических представлений
Класс State (состояние) является классом поведения. Это означает, что он
(1) абстрактный класс
(2) имеет эффективные компоненты (execute), описанные с помощью отложенных компонентов
(3) конкретное поведение задают потомки класса, реализуя отложенные компоненты
(4) не может быть повторно использован
Для списка истории нужно
(1) создать класс, специально сконструированный для этой задачи
(2) выбрать подходящий библиотечный класс из классов, задающих списки
(3) создать класс поведения, детали которого будут реализованы потомками
(4) поручить создание класса потомкам
В качестве источников идей при поиске классов следует использовать
(1) существующие библиотеки
(2) документ требований
(3) обсуждения с заказчиками и будущими пользователями
(4) литературу
Апостериорная схема вызова компонента
(1) применяется тогда, когда не работает априорная схема
(2) основана на принципе: "вначале сделай, потом проверь";
(3) всегда применима
(4) может привести к появлению исключительных ситуаций
Наследование представляет собой
(1) определение нового типа как специального случая существующего типа
(2) определение нового модуля как расширения уже существующего модуля
(3) следует применять только расширение модуля
(4) следует применять только определение подтипа
Отметьте истинные высказывания
(1) для ссылочного клиента справедливо отношение "является", для развернутого – "имеет"
(2) динамическое связывание на полиморфных структурах данных: применяет к каждому элементу структуры операцию, соответствующую элементу
(3) обновление не объектного ПО: не пытайтесь одеть в новые одежды старую систему
(4) индексируйте классы
Правила для расстановки точек с запятой. Предлагаемый стиль отдает препочтение
(1) терминалистам – точка с запятой завершает каждую инструкцию, объявление или предложение утверждения
(2) сепаратистам - точки с запятой появляются между последовательными элементами, но не после последнего объявления компонента или локального предложения
(3) минималистам - вообще не ставятся точки с запятой, исключая случаи, когда они синтаксически необходимы
(4) никому не отдает предпочтение, допуская все подходы
В результате анализа описание нетривиальной системы должно использовать следующее представление
(1) формальный текст – результат ОО-анализа
(2) графическое представление, в котором графические образы представляют классы, кластеры, объекты и отношения (клиентские и наследования)
(3) документ с требованиями на естественном языке
(4) таблицы, как в представлении метода BON
Отметьте истинные высказывания
(1) великого проектировщика отличает не то, что у него мало плохих идей, а его умение отказываться от них
(2) правила, основанные на теории, не могут быть опасными
(3) метафоры могут служить великолепным обучающим средством
(4) в построения больших систем опыт незаменим
Отметьте истинные высказывания
(1) не верьте в готовность ПО к повторному использованию пока не увидите, что оно действительно использовано
(2) модель жизненного цикла основана на параллельной разработке: параллельной работе над несколькими кластерами, использующих спецификации ранее завершенных кластеров
(3) недостатком кластерной модели является невозможность управления проектом и гибкого распределения ресурсов
(4) верификация и аттестация – часть жизненного цикла кластера
Отметьте истинные высказывания
(1) для обучения используйте язык С, простой и понятный
(2) в ОО-тренинге основное внимание уделяйте анализу и спецификациям
(3) в начальном тренинге для профессионалов без колебаний повторяйте сессию, посвященную концепциям, после некоторой фазы практической работы
(4) долговременный проект по созданию библиотеки может объединить усилия кафедры или факультета
Отметьте истинные высказывания
(1) цель сепаратного вызова всегда должна быть формальным аргументом подпрограммы, осуществляющей этот вызов
(2) клиент, выполнивший сепаратный запрос, никогда не будет ждать его окончания, а перейдет к выполнению следующей инструкции
(3) ожидание по необходимости связано с запросами, но не с командами
(4) если сепаратный вызов использует несепаратный фактический аргумент типа ссылки, то соответствующий формальный аргумент должен использоваться в подпрограмме только в качестве источника присваиваний
Отметьте истинные высказывания
(1) длинные транзакции могут выполняться в течение месяца
(2) оптимистическая блокировка – это блокировка с надеждой, что никто не помешает проведению операций над объектом
(3) в ОО-базе данных основным языком запросов остается язык SQL
(4) кроме сохраняемости, многим приложениям требуется поддержка БД, обеспечивающая параллельный доступ разных клиентов
Отметьте истинные высказывания
(1) полностью переносимый конструктор приложений представляет собой библиотеку классов, которую достаточно перекомпилировать при переходе на другую платформу, не внося в нее никаких изменений
(2) при моделировании внешнего мира понятие окна играет роль посредника, связанного как с некоторой областью мира, так и с некоторой областью устройства
(3) у мировых координат есть стандартная единица
(4) события могут быть встроенными, являясь частью каталога событий, так и определяемые в самом приложении
Отметьте истинные высказывания
(1) в языке Ada-95 введено наследование
(2) исключения отделяют обнаружение ошибок от их обработки, но не дают решения проблемы ошибок времени выполнения
(3) задачи могут иметь родовые параметры
(4) пакеты могут иметь родовые параметры
Отметьте истинные высказывания
(1) механизм подпрограмм с множественными входами позволяет эмулировать класс и создавать множество его экземпляров
(2) переносимость, эффективная компилируемость, машинная ориентация - это те свойства, которые делают язык С полезным для специальных применений и сегодня
(3) дисциплинарный подход применим ко всем функциональным языкам
(4) применение функциональных языков сегодня не представляется разумным в условиях существования современных объектных языков
Отметьте истинные высказывания
(1) в языке Simula все сущности ссылочные
(2) в языке Smalltalk классы являются объектами
(3) язык Lisp является строго типизированным языком
(4) язык C++ появился в нужное время и в нужном месте
Отметьте истинные высказывания
(1) среду разработки можно использовать для кросс-платформенной разработки, компилируя код на другой платформе
(2) в любом окне инструментальных средств все важные элементы интерактивны
(3) инструментарий Case позволяет разрабатывать системные структуры в графической среде, создавая визуальные представления классов и определяя их отношения с помощью стрелок с последующей группировкой их в кластеры и генерацией соответствующих программных текстов
(4) среда разработки построена на основе функционального подхода
Отметьте истинные высказывания
(1) функциональные системы лучше приспособлены к повторному использованию и расширяемости
(2) любая модель реального мира приводит к хорошей программной системе
(3) созданная ОО-декомпозиция хороша из-за использования абстракций: STATE, APPLICATION, ANSWER — все они являются ясными, общими, управляемыми, готовыми к изменениям и повторному использованию в широкой области применения
(4) рассмотренный образец программирования позволил довести описание решения до классов поведения, используемых во всех конкретизациях образца
Отметьте истинные высказывания
(1) реализация и спецификация могут взаимно воздействовать друг на друга
(2) схему откатов и повторов UNDO – REDO можно обогатить введением понятия пропуска отмененных команд UNDO – SKIP – REDO
(3) команды отката и повтора аналогичны другим командам системы
(4) невозможно добавление откатов и повторов в уже готовую систему, спроектированную без учета таких возможностей
Отметьте истинные высказывания
(1) все компоненты класса должны принадлежать одной, хорошо определенной абстракции
(2) всегда полезно, когда в классе смешиваются несколько абстракций
(3) отбраковка кандидатов не менее важна, чем их поиск
(4) лучшим источником классов являются библиотеки повторного использования
Отметьте истинные высказывания
(1) аргументы должны быть операндами
(2) при эволюции класса аргументы имеют тенденцию добавляться или удаляться
(3) использование утверждений – предусловий, постусловий, инвариантов – является основой документирования интерфейсов
(4) выражение e является ссылочно-прозрачным, если возможно заменить любое его подвыражение эквивалентным значением без изменения значения e
Отметьте истинные высказывания
(1) из-за скрытия потомком не каждый компонент, применимый клиентом к экземплярам родительского класса, тем же клиентом может быть применен к экземплярам наследника
(2) брак по расчету при наследовании означает заключение специального контракта между классами
(3) наследование реализации нарушает отношение "является"
(4) при льготном наследовании наследуется класс, предоставляющий полезные свойства
Отметьте истинные высказывания
(1) отношение "является" иногда следует реализовать как клиентское
(2) используйте многослойную архитектуру для разделения абстрактного интерфейса и реализации для различных платформ
(3) минимизируйте заголовочные комментарии; они являются частью официального интерфейса
(4) вводите понятие устарелых (obsolete) компонентов и классов для облегчения перехода к новой версии
Отметьте истинные высказывания
(1) предложение индексирования частично формализовано
(2) имена локальных переменных, несущие слишком много смысла, могут ухудшить читабельность текста
(3) используйте пробелы перед и после открывающей и закрывающей скобки
(4) точка с запятой должна разделять инструкции, а не быть ее частью
Отметьте истинные высказывания
(1) один из основных рисков аналитика – выполнение анализа с использованием средств, не обладающих семантической точностью
(2) предложения разработчика, основанные на повторном использовании, важнее требований заказчика
(3) библиотеки классов повторного использования, особенно благодаря отложенным классам, обеспечивают готовыми элементами спецификаций
(4) ОО-подход обеспечивает все потребности системного анализа
Эксперт в ОО-области должен обладать следующими качествами
(1) принимать ключевое участие в ряде больших проектов
(2) быть абсолютно уверенным в своей правоте
(3) создать повторно используемую ОО-библиотеку, многократно используемую пользователями, невходящими в группу разработки
(4) иметь хорошую теоретическую подготовку
Кластер
(1) языковая конструкция
(2) единица сборки
(3) создается программистом при разработке системы
(4) определяется руководителем проекта
Достоинства стратегии "пройди начальный тренинг дважды"
(1) понимание концепций по-настоящему приходит во время второй итерации
(2) облегчает труд преподавателя
(3) почти не реализуема на практике
(4) идентичность сессий обучения
Различные виды параллельности
(1) мультипроцессорная обработка
(2) многозадачность
(3) посредники запроса объекта
(4) удаленное выполнение в Сети
Эволюция схемы предполагает, что?
(1) за время хранения изменился сам сохраняемый объект
(2) за время хранения изменилась система, сохранявшая объект
(3) за время хранения изменился сохраняемый объект в соответствии с изменившейся системой
(4) объект и система не изменились, но изменились представления о них
Абстракции, используемые при разработке конструктора приложений
(1) окно
(2) меню
(3) контекст
(4) атрибут
В языке Ada
(1) роль модуля играет пакет
(2) пакет может быть универсальным (родовым)
(3) пакет может иметь родителей (быть наследуемым);
(4) пакет может иметь скрытую часть
В данном контексте к функциональным языкам относятся?
(1) аппликативные языки типа Lisp, Refal, в которых нет присваивания и вычислений в привычном для процедурных языков стиле
(2) языки типа C, в которых нет понятия процедуры
(3) языки, где единицей декомпозиции является подпрограмма (функция или процедура), функциональная абстракция, описывающая шаг обработки
(4) инкапсулирующие языки
Сопрограммы языка Simula
(1) обеспечивают настоящий параллелизм
(2) обеспечивают квази-параллелизм, когда активной в каждый момент времени может быть только одна сопрограмма
(3) будучи вызванной, сопрограмма возвращает управление вызывающей сопрограмме, закончив свою работу
(4) все сопрограммы, как и процессы, равноправны
Интерфейс языка Eiffel с языками С и С++
(1) не поддерживается
(2) транслирует код Eiffel в язык С
(3) транслирует код Eiffel в язык С++
(4) специальный инструментарий Legacy++, позволяет на основе существующего класса C++ создать обертывающий класс языка Eiffel
Граф переходов, описывающий многопанельную систему, характеризуется
(1) большим числом состояний
(2) большим числом переходов между состояниями
(3) стабильной структурой графа
(4) возможностью регулярных изменений графа (состояний и переходов)
Подходящими примерами систем с откатами и повторами являются системы
(1) текстовые, графические и другие редакторы
(2) системы управления огнем и другие военные системы
(3) игры и тренажеры
(4) медицинские системы, помогающие при операциях
Согласно теории АТД кандидат, претендующий на то, чтобы стать классом, должен
(1) описывать множество объектов, соответствующих физическим объектам
(2) описывать множество объектов, характеризуемых хорошо определенными операциями и их формальными свойствами
(3) быть частью модели мира
(4) включать только такие характеристики, которые соответствуют целям системы
Функция имеет абстрактный побочный эффект, если?
(1) содержит оператор присваивания, в левой части которого указано имя атрибута
(2) содержит вызов процедуры
(3) имеет конкретный побочный эффект, который может изменить значение не секретного запроса
(4) содержит вызов функции с побочным эффектом
Используйте наследование для отношения, воспринимаемого как "является"
(1) всегда
(2) только при условии, что отношение между объектами постоянно
(3) только при условии, что компоненты соответствующего объекта могут изменять тип в период выполнения
(4) никогда
Отметьте истинные высказывания
(1) активные структуры данных имеют состояние и могут рассматриваться как абстрактные машины
(2) обратимость: извлекая пользу из уроков реализации, не корректируйте функциональную спецификацию
(3) если компонент не согласуется с абстракцией данных, но потенциально полезен, - добавьте его
(4) в качестве аргументов используйте только операнды
Текст ОО-системы в сравнении с текстом систем на языках C, Pascal, Ada или Fortran
(1) всегда короче
(2) всегда длиннее
(3) обычно короче для больших программных систем
(4) обычно короче для небольших программных систем
Цели анализа
(1) определить, что система не должна делать
(2) задать значимые вопросы о проблеме и о системе
(3) дать ответы на основные вопросы системы
(4) убедиться, что система удовлетворит потребности ее пользователей и определить критерии ее приемки
Наиболее сложно задать правило
(1) абсолютно положительное
(2) абсолютно отрицательное
(3) рекомендательно положительное
(4) рекомендательно отрицательное
Кластерная модель разработки ПО
(1) последовательная
(2) параллельная
(3) однопоточная
(4) многопоточная
В учебной программе следует большую часть времени уделять
(1) вводному курсу
(2) практическим разработкам
(3) углубленным курсам
(4) сравнительному анализу различных подходов
В рассматриваемом контексте процессор - это?
(1) виртуальный поток управления
(2) физическое устройство
(3) поток в многопоточной ОС
(4) абстрактное понятие
Обнаружение рассогласования объекта основано на том, что вместе с объектом сохраняется ключ его версии класса, который может
(1) задаваться в момент появления и регистрации новой версии
(2) автоматически строиться по схеме, аналогичной созданию IP-адресов
(3) строиться на основе анализа текущей структуры класса (структурный подход)
(4) строиться как единый ключ для всех классов системы
Какой из классов, описывающих графический мир (например карту) не связан с внешним миром?
(1) WORLD
(2) WINDOW
(3) FIGURE
(4) DEVICE
Клиентский модуль, которому доступен интерфейс пакета, может
(1) использовать все компоненты интерфейса модуля
(2) компилироваться без задания тела пакета
(3) использовать только компоненты из открытой части интерфейса пакета
(4) компилироваться при условии задания тела пакета
Язык Fortran
(1) продолжает жить и применяться в научных исследованиях, особенно в физике
(2) общий блок данных – COMMON является некоторым аналогом объекта, доступного многим клиентам
(3) с блоком COMMON в языке связан фиксированный набор подпрограмм, дополняющий описание класса
(4) блок COMMON и дисциплинарный подход позволяет описать не один абстрактный объект, а класс, из которого во время выполнения можно создать множество экземпляров
Язык Smalltalk
(1) сочетает черты языка Simula и бестиповый стиль языка Lisp
(2) статическая типизация отсутствует – все проверки осуществляются в период выполнения
(3) вызов метода рассматривается как посылка сообщения
(4) класс является объектом и имеет статические методы, связываемые с классом, а не с его экземплярами
Назовите требования к компиляции кода
(1) эффективность сгенерированного кода должна быть сопоставимой с эффективностью, достигаемой при использовании классического языка типа C
(2) время перекомпиляции после внесения изменений должно быть коротким - пропорциональным объему изменений, а не размеру полной системы
(3) поддержка быстрой доставки приложений через Internet для непосредственного выполнения
(4) из-за конфликта требований приходится выбирать либо эффективный код (для готовой системы), либо быструю компиляцию (при отладке)
Возможным решением является функциональное проектирование "сверху-вниз". Для этого решения справедливо следующее
(1) четко сформулирована главная функция системы – выполнение сессии
(2) при изменениях графа переходов модульная структура не меняется
(3) при изменениях графа переходов не требуется изменения данных
(4) разбор случаев необходим
В хороших системах с откатами достаточно иметь возможность отката
(1) на один уровень
(2) на 3-5 уровней
(3) до 10 уровней
(4) не менее 20 уровней
Проектирование иерархии семейства классов с наследованием следует
(1) осуществлять на ранних этапах проектирования
(2) откладывать на более поздние сроки
(3) смело вводить, если таковая иерархия существует и общепринята во внешней модели
(4) стараться обойтись без наследования
На простоту интерфейса компонента в первую очередь влияет
(1) размер программного кода компонента
(2) число аргументов
(3) чем больше аргументов у компонента, тем проще его интерфейс
(4) чем меньше аргументов у компонента, тем проще его интерфейс
Наследование применяется в различных ситуациях. Классификация включает следующие случаи наследования
(1) с ограничением
(2) с расширением
(3) по завещанию
(4) подтипов
Отметьте истинные высказывания
(1) помещайте в класс минимум информации
(2) обобщение: из специализированных классов создавайте повторно используемые классы. Абстрагирование, факторизация – дорога к общности
(3) делайте предусловие настолько сильным, насколько это возможно
(4) обратимость: извлекайте пользу из уроков реализации и корректируйте функциональную спецификацию
Инженерия ПО
(1) требует выработки стандартов стиля разработки
(2) не должна ограничивать свободу творчества программистов
(3) творческий инстинкт должен быть полностью затушеван в интересах общности и понятности
(4) требует, чтобы разработчики ПО контролировали сами себя и выработали свои стандарты
Масштабируемость решения предполагает
(1) выделение в описании системы необходимого числа уровней абстракции
(2) возможность рассмотрения как системы в целом, так и отдельных ее подсистем
(3) учет возможности дальнейшего расширения системы
(4) учет возможности повторного использования системы
Если в руководстве системы, которой вы собираетесь пользоваться много отрицательных правил, то?
(1) постарайтесь обнаружить дефекты инструментария
(2) рассмотрите возможность изменений
(3) не обращайте внимания на отрицательные правила, рассмотрите положительные
(4) откажитесь от инструментария, если есть альтернатива
Этап обобщения может содержать следующие действия
(1) абстрагирование: введение абстрактных классов там, где это необходимо
(2) факторизацию: распознавание первоначально несвязанных классов, которые являются фактически вариантами того же самого понятия, так что для них можно ввести общего родителя
(3) добавление утверждений, особенно постусловий и инвариантов, отражающих углубленное понимание семантики класса и его особенностей
(4) добавление документации
С чего следует начинать обучение ОО-методу?
(1) с формальных методов спецификации
(2) с конструирования и верификации программ
(3) с классов и их реализации
(4) с наследования и универсальности
В ситуации "дуэли" исключительная ситуация возникает
(1) всегда у владельца ресурса
(2) всегда у претендента на ресурс
(3) у требовательного претендента на ресурс при неуступчивом владельце
(4) у просящего претендента на ресурс при неуступчивом владельце
В основе реляционных баз данных лежат следующие свойства
(1) БД – это набор отношений (таблиц)
(2) данные в таблицах хранятся в нормализованной форме
(3) в таблицах могут храниться объекты в форме, принятой в ОО-языке
(4) для запросов используется специальный язык SQL
Отложенный класс FIGURE
(1) описывает конкретные геометрические фигуры
(2) является родителем классов, каждый из которых задает геометрические образы объектов внешнего мира
(3) задает операции над геометрическими образами – показать, скрыть, масштабировать, повернуть
(4) является классом поведения
Пакет языка Ada допускает
(1) универсальность
(2) ограниченную универсальность
(3) возможность задания типов в качестве родовых параметров
(4) процедуры в качестве родовых параметров
Производители компиляторов предпочитают использовать язык С из-за таких его свойств, как?
(1) простота переносимости
(2) возможность создания эффективного кода
(3) ясность языковых конструкций и простота отладки
(4) простота интеграции с универсальными инструментами и компонентами, основанными на С
Язык Objective-C
(1) представляет объектное расширение языка С
(2) иллюстрирует ортогональный подход в расширении языка: добавляя ОО-слой к существующему языку, сохраняя при этом обе части как можно более независимыми
(3) поддерживает универсальность и множественное наследование
(4) поддерживает полиморфизм и динамическое связывание
Удаленное выполнение
(1) результатом интерпретации оттаявших компонентов является байт-код, независимый от платформы
(2) для выполнения байт-кода на конкретной машине достаточно иметь копию исполняющей машины, свободно распространяемую через Интернет
(3) результатом компиляции замороженной системы является байт-код, независимый от платформы
(4) возможен выбор между специализированным байт-кодом и байт-кодом Java
В рассматриваемой многопанельной системе классы следует строить вокруг таких понятий как?
(1) переход (от этапа к этапу)
(2) состояние
(3) сессия
(4) приложение
Абстракциями, задающими классы в нашей системе, являются?
(1) откат
(2) повтор
(3) команда
(4) список истории
Классы можно разделить на следующие категории
(1) анализа
(2) проектирования
(3) реализации
(4) пользовательские
АТД и активная структура данных
(1) активная структура данных не может быть задана АТД
(2) абстракция означает пассивность
(3) введение состояния и операций над ним обогащает спецификацию АТД, добавляя функции и свойства
(4) состояние является чистой абстракцией, всегда непосредственно доступной благодаря командам и запросам
Типичные ошибки применения наследования
(1) таксономия
(2) множественное наследование
(3) наследование там, где имеет место клиентское отношение
(4) наследование по расчету
Отметьте истинные высказывания
(1) пытайтесь сделать классы с самого начала настолько общими, насколько это возможно
(2) используйте технику описателей для разделения абстрактного интерфейса и реализации для различных платформ
(3) бесшовность: применяйте различающиеся приемы и инструментарий на этапах анализа, проектирования, разработки и сопровождения
(4) задавайте заголовочные комментарии тщательно и согласованно; они являются частью официального интерфейса
Константы
(1) используйте главным образом манифестные константы, заданные значениями
(2) символические константы представляют собой константные атрибуты
(3) правила имен для символических констант совпадают с правилами имен для атрибутов
(4) для констант 0 и 1 используйте значения и не вводите специальные символические константы
ОО-подход представляет реальную основу системного анализа. В этом заслуга следующего инструментария
(1) проектирование по контракту представляет мощное руководство по анализу
(2) клиентские отношения охватывают такие понятия моделирования, как "быть частью (чего-либо)", агрегирования и соединения
(3) классы дают возможность организовать описания систем на основе типов объектов
(4) различия между ссылочными и развернутыми клиентами соответствуют двум основным видам моделируемых соединений
Разница между принципом и банальностью
(1) не существует
(2) существует, но не может быть обнаружена
(3) использование отрицания утверждения позволяет понять, речь идет о принципе или о банальности
Объектная технология разработки ПО позволяет
(1) поднять концепции программирования и соответствующую нотацию на достаточно высокий уровень, позволяющий использовать их в качестве средств моделирования
(2) решить все возникающие проблемы
(3) сочетать высокий уровень абстракции с пониманием проблем реализации
(4) восстановить опороченную репутацию реализации
Стратегия от потребителя к производителю позволяет научить
(1) использовать библиотечные классы, зная их абстрактные спецификации
(2) понимать внутреннее устройство выбранных классов
(3) расширять и модифицировать выбранные классы
(4) добавлять собственные классы
При параллельной работе, когда несколько клиентов могут требовать от одного и того же объекта запуска различных компонентов
(1) объект выполняет одновременно только один компонент
(2) один клиент – владелец выполняет компонент, остальные ждут
(3) прервать выполнение компонента владельца невозможно
(4) клиент, выполнивший запрос на занятый объект, всегда обязан ждать освобождения объекта
Свойства, которыми должна обладать ОО-база данных
(1) предоставлять все стандартные функции баз данных
(2) поддерживать инкапсуляцию, позволяя скрывать внутренние свойства объектов и делать их доступными через официальный интерфейс
(3) связывать с каждым объектом его уникальный для данной базы идентификатор
(4) разрешать одним объектам содержать ссылки на другие объекты
Это возможно?
(1) по событию однозначно определить команду
(2) по событию и контексту однозначно определить команду
(3) однозначно определить доступность пары контекст-событие
(4) по состоянию однозначно определить доступность пары контекст-событие
Задача языка Ada
(1) может быть универсальной
(2) может быть экземпляром типа (задач)
(3) описывает процессы
(4) допускает наследование
Дескриптор класса - это?
(1) структура данных периода выполнения, содержащая ссылки на подпрограммы
(2) может быть реализована массивом
(3) позволяет уменьшить объем занимаемой памяти
(4) позволяет реализовать динамическое связывание
Язык Java
(1) представляет расширение языка С++
(2) поддерживает множественное наследование и универсальность
(3) технология реализации во многом способствовала популярности этого языка
(4) виртуальная Java-машина определена для большинства платформ и способна выполнять байт-код – низкоуровневый переносимый интерпретируемый формат, в который транслируется текст Java-программ
Инструментальные средства разработки построены в соответствии с объектами разработки и включают?
(1) Инструмент Класса
(2) Инструмент Компонента
(3) Инструмент Системы
(4) Инструмент Мегасистемы
В введенном классе Application (приложение) атрибуты задают
(1) начальное состояние
(2) множество заключительных состояний
(3) массив, определяющий переходы между состояниями
(4) текущее состояние
Спецификация и реализация системы находятся в следующих отношениях
(1) спецификация полностью определяет реализацию
(2) реализация зависима от спецификации
(3) спецификация независима от реализации
(4) реализация может изменять спецификацию
В различных источниках идей для поиска классов следует искать
(1) готовые классы, отвечающие потребностям
(2) абстракции предметной области
(3) полезные абстракции проектирования
(4) структуры данных, поддержанные эффективными алгоритмами
Документация
(1) является частью программного текста
(2) элементы, входящие в документацию, обнаруживаются автоматически на разных уровнях абстракции
(3) предусловия, постусловия и инварианты являются важной частью документации
(4) информативное индексирование предложений программного текста способствует работе с документацией
Возможные ситуации (12), требующие наследования разделяются на следующие категории
(1) наследование модели
(2) наследование реального мира
(3) программное наследование
(4) наследование вариаций
Отметьте истинные высказывания
(1) системы создаются только из классов и глобальной информации
(2) бесшовность: применяйте согласованные приемы и инструментарий на этапах анализа, проектирования, разработки и сопровождения
(3) не усердствуйте в усилении постусловий, – оставьте возможность их усиления потомками
(4) проектируйте с учетом изменений и повторного использования
Правила форматирования текста
(1) форматированный текст следует гребенчато-подобной структуре
(2) инструкция или выражение может размещаться на одной строке вместе с предшествующими и последующими операторами
(3) инструкция или выражение может размещаться на одной строке, но не должна включать предшествующих и последующих операторов
(4) инструкция или выражение может с отступами размещаться на нескольких строках
Для экспертов в проблемной области, менеджеров, будущих пользователей спецификация, чтобы быть понятной
(1) не должна быть выражена в ОО-терминах
(2) должна быть представлена в графической форме
(3) описание должно быть на естественном языке
(4) включать разнообразный, но сочетающийся набор средств
Отметьте истинные высказывания
(1) применять метафоры – это всегда плохо
(2) опыт дает гарантию от ошибок
(3) кто не прошел все этапы пути от анализа до сопровождения вряд ли может давать методологические советы
(4) абсолютно положительные правила – это наиболее редкий вид правил
Отметьте истинные высказывания
(1) этап обобщения не подразумевает введения новых классов
(2) разрабатывайте все программное обеспечение, подразумевая его повторное использование
(3) бесшовность во многом обеспечивается тем, что основу разработки на всех этапах составляют классы
(4) нельзя начать разработку следующего кластера, пока не завершена реализация предыдущего, если один кластер зависит от другого
Отметьте истинные высказывания
(1) в ОО-тренинге основное внимание уделяйте реализации и проектированию
(2) курсы должны, насколько возможно, основываться на библиотеках повторно используемых компонентов
(3) курсы для менеджеров и программистов по ОО-технологии должны быть идентичными
(4) обращенный учебный план не позволяет обучать ОО-методу
Отметьте истинные высказывания
(1) клиент, выполнивший сепаратный запрос, иногда будет ждать его окончания, прервав выполнение (ожидание по необходимости)
(2) семантика предусловий и постусловий не меняется при параллельном выполнении
(3) чтобы не рисковать возникновением исключения, претендент должен просить, а не требовать освобождения объекта у его владельца
(4) синхронизация означает параллельное выполнение
Отметьте истинные высказывания
(1) свойствами БД являются запросы, блокировки и транзакции
(2) ОО-разработку можно применять совместно с реляционными БД, имея в виду простое соответствие: классы – отношения, объекты – кортежи
(3) при обнаружении рассогласования объекта он может быть "преобразован на лету", оставаясь неизменным в базе данных
(4) при эволюции схемы изменяются все классы системы
Отметьте истинные высказывания
(1) чем более удобным и простым приложение кажется пользователю, тем проще его создать разработчику
(2) создавать интерфейс приложения можно визуально
(3) меню, кнопки и другие элементы управления не являются абстракциями, описываемыми с помощью классов
(4) конструктор приложений предоставляет средства для повторного использования, но не допускает расширения
Отметьте истинные высказывания
(1) Ada 95 делает возможным определение нового типа, порождённого существующим типом с поддержкой переопределения подпрограмм, полиморфизма и динамического связывания
(2) пакет – это чисто синтаксический механизм
(3) задача – это чисто синтаксический механизм
(4) язык Ada – это самый сложный и самый законченный инкапсулирующий язык
Отметьте истинные высказывания
(1) язык С разумно использовать в качестве целевого языка компиляторов, а также как инструмент создания подпрограмм, осуществляющих доступ к операционной системе
(2) функциональные языки ближе к ОО-языкам, чем инкапсуляционные
(3) всегда следует использовать язык программирования, обладающий лучшими свойствами на текущий момент
(4) языки C, Fortran, Cobol – являются живыми языками прораммирования, используемыми на практике и сегодня
Отметьте истинные высказывания
(1) C++ является идеальным ОО-языком
(2) тот факт, что в языке Java есть не вдохновляющие свойства, не умаляет вклада технологии Java в разработку переносимого ПО
(3) язык Oberon – это ОО-последователь Modula-2, созданный Виртом
(4) язык Simula предлагает набор средств для решения задач моделирования
Отметьте истинные высказывания
(1) механизмы просмотра обеспечивают просмотр только для классов, определенных разработчиком
(2) автор библиотеки может запретить клиентам доступ к ее исходному тексту
(3) финальная оптимизация может требовать полного прогона системы и, следовательно, невозможна на промежуточных этапах разработки
(4) замораживание использует промежуточный код на языке C
Отметьте истинные высказывания
(1) существует единственная модель реального мира
(2) программная система должна отображать модель реального мира
(3) повторное использование и расширяемость должны быть целями разработки
(4) реализация главной функции системы – это основа проектирования
Отметьте истинные высказывания
(1) на безграничной памяти существует простое решение для системы с откатами
(2) число команд Undo всегда не меньше числа команд Redo
(3) откаты противоречат стратегии "что, если"
(4) сохранение документа позволяет любую команду считать обратимой
Отметьте истинное высказывание
(1) класс, описанный, как "выполняющий нечто", может не быть подходящей абстракцией
(2) самое важное при поиске класса – это нахождение потенциальных кандидатов
(3) "подчеркивание существительных в документе требований" – это подходящая техника для обнаружения потенциальных классов
(4) классы проектирования, обычно, требуют наибольшей изобретательности
Отметьте истинные высказывания
(1) априорная либо апостериорная схема вызова позволяет обойтись без механизма дисциплинированных исключений
(2) аргументы компонента должны быть опциями
(3) класс должен быть известен своим интерфейсом, специфицируя предлагаемые службы, независимо от их реализации
(4) каждый ОО-разработчик должен применять принцип "Разделения Команд и Запросов" без исключения
Отметьте истинные высказывания
(1) не все категории наследования известны
(2) наследование требует доказательства того, что каждый экземпляр B является также экземпляром A
(3) выбор между отношением наследования и клиентским всегда прост
(4) наследование подходит для описания отношения, воспринимаемого как "является", если для сущностей может возникнуть потребность присоединения к объектам различных типов
Отметьте истинные высказывания
(1) отложенные классы служат средством анализа и проектирования, описывая абстракции без ссылок на реализацию
(2) разработку ведите сверху-вниз: постройте главную функцию, затем применяйте к ней декомпозицию
(3) апостериорная проверка: выполните операцию, затем запросите атрибут для выяснения того, как она сработала
(4) функция не должна иметь конкретный побочный эффект
Отметьте истинные высказывания
(1) регистр в идентификаторах не значим
(2) компонентам разных классов, предназначенных для одних и тех же целей следует давать одинаковые стандартные имена
(3) не следует сопровождать класс неформальными пояснениями
(4) предложение индексирования должно появляться в начале каждого класса
Отметьте истинные высказывания
(1) этапу анализ предшествует этап обоснования осуществимости проекта
(2) умение задать правильные вопросы – важнейшая задача анализа
(3) требования заказчика важнее предложений разработчика, основанных на повторном использовании
(4) все средства объектной технологии применимы на этапе анализа