игра брюс 2048
Главная / Менеджмент / Анализ и оценка методов разработки программного обеспечения (Agile) / Тест 4

Анализ и оценка методов разработки программного обеспечения (Agile) - тест 4

Упражнение 1:
Номер 1
Какие утверждения справедливы по отношению к понятию "принцип" в программной инженерии:

Ответ:

 (1) Принцип задает общее правило разработки ПО 

 (2) Правило, которое задает принцип, должно быть конкретным 

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

 (4) Принцип должен быть нетривиальным. Это означает, что можно привести разумные доводы против применения принципа в тех или иных ситуациях 

 (5) Правило "Создавайте качественный продукт" является принципом 


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

Ответ:

 (1) Над проектом должны работать мотивированные профессионалы 

 (2) Работающий продукт – основной показатель прогресса 

 (3) Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта 

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


Номер 3
Автор книги вводит собственную классификацию принципов Agile, отличную от официальной. Какие принципы введены автором?

Ответ:

 (1) Простота – искусство минимизации лишней работы – крайне необходима 

 (2) Разрабатывать минимально необходимое ПО 

 (3) Сохранять устойчивый темп разработки 

 (4) Наивысшим приоритетом для нас является удовлетворение потребностей клиента 


Упражнение 2:
Номер 1
"Поддерживайте устойчивый темп" - важный принцип Agile. Какие утверждения, связанные с этим принципом, считаются справедливыми в Agile:

Ответ:

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

 (2) Всем членам команды следует обеспечить "персональную безопасность" 

 (3) При планировании работ следует предусматривать Geek Week недели 

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


Номер 2
"Поставить клиента в центр" - важный принцип Agile. Как следствие этого принципа, в Agile представитель клиентов включается в команду разработчиков. Какие утверждения, связанные с этим принципом, следует считать справедливыми:

Ответ:

 (1) Взаимодействие с клиентами должно осуществляться в течение всего проекта 

 (2) Взаимодействие с клиентами заменяет требования 

 (3) Сопричастники (разные группы пользователей проекта) имеют зачастую противоположные интересы. Единственный представитель клиентов в команде не может отразить все разнообразие интересов 

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


Номер 3
"Разрешать самоорганизацию команды" - важный принцип Agile. Какие утверждения, связанные с этим принципом, считаются справедливыми в Agile:

Ответ:

 (1) Необходимо поставить менеджмент на положенное ему место. На первом месте должны быть люди, фактически делающие работу 

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

 (3) Большинство проектов нуждается в менеджере, исповедующем стиль "Командуй и контролируй" 

 (4) Успехи команды Стива Джобса связаны с тем, что команда была саморганизуемой 

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


Упражнение 3:
Номер 1
"Разрабатывайте минимальный продукт" - важный принцип Agile. Реализуя этот принцип, следует создавать продукт с минимальной функциональностью. Какие утверждения, связанные с этим принципом, считаются справедливыми в Agile:

Ответ:

 (1) Большинство программных систем страдает избыточностью 

 (2) Продукт должен содержать не более пяти различных функций 

 (3) Каждую функцию продукта должны использовать не менее 90 % пользователей 

 (4) Следуйте лозунгу YAGNI Экстремального программирования – "Тебе Это Не Понадобится" 

 (5) Если код сегодня не требуется, то помещать его в систему – расточительство 


Номер 2
"Разрабатывайте минимальный продукт" - важный принцип Agile. Реализуя этот принцип, следует создавать только запрашиваемый продукт. Какие утверждения, связанные с этим принципом, считаются справедливыми в Agile:

Ответ:

 (1) Создавайте архитектуру, поддерживающую будущие расширения 

 (2) Создавайте программные элементы настолько общими, насколько это возможно 

 (3) Делайте простейшую вещь, которая может еще выполнять работу 

 (4) Заботьтесь только о том, что нужно здесь и сейчас 


Номер 3
"Разрабатывайте минимальный продукт" - важный принцип Agile. Реализуя этот принцип, следует создавать только код и тесты. Какие утверждения, связанные с этим принципом, считаются справедливыми в Agile:

Ответ:

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

 (2) Архитекторы проекта должны построить общую архитектуру проекта, представляющую важную часть продукта 

 (3) Тесты представляют важную часть продукта 

 (4) Для финального продукта только код и тесты имеют ценность 


Упражнение 4:
Номер 1
Какие утверждения справедливы относительно "роли документов":

Ответ:

 (1) Пользователя мало волнуют расходные материалы. Поскольку документы относятся к расходным материалам, то создавать их не следует 

 (2) Важно не только то, что важно для пользователя, но и то, что важно для разработчика 

 (3) Критика "устаревания документов" справедлива, поскольку внесение изменений в код зачастую не сопровождается внесением изменений в документы 

 (4) Существуют современные инструментальные средства, позволяющие синхронизировать изменения кода и документов 

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


Номер 2
Какие утверждения, связанные со сложностью проекта, справедливы:

Ответ:

 (1) Последовательное добавление новой функциональности в проект возможно для проектов с аддитивной сложностью 

 (2) Последовательное добавление новой функциональности в проект возможно для проектов с мультипликативной сложностью 

 (3) Любой проект с мультипликативной сложностью можно преобразовать в проект с аддитивной сложностью 

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

 (5) Для систем с мультипликативной сложностью необходимо "дальнее предвидение" 


Номер 3
"Простота" - один из принципов Agile. Но понимание этого принципа в Agile не всегда совпадает с пониманием "простоты" в классической программной инженерии. Какие высказывания о простоте согласуются с Agile видением:

Ответ:

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

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

 (3) Избегайте работы, которая не является необходимой 

 (4) Откладывайте решения настолько, насколько это возможно 

 (5) Совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять 

 (6) Достижение простоты – это добавление работы и иногда существенное 


Упражнение 5:
Номер 1
Практика Agile предполагает итеративную разработку с короткими временными сроками для итераций. Какие утверждения являются справедливыми:

Ответ:

 (1) Срок итерации не должен превышать 2 – 4 недели 

 (2) Если функциональность, запланированная на итерации, не достигнута, то срок итерации расширяется 

 (3) Если функциональность, запланированная на итерации, не достигнута, то срок итерации не изменяется, а функциональность либо отклоняется, либо переносится на следующую итерацию 


Номер 2
Разработка программного продукта в Agile является итеративной. Какие утверждения справедливы по отношению к характеру этой разработки:

Ответ:

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

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

 (3) Итеративный стиль разработки Agile хорошо подходит для систем с аддитивной сложностью 

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


Номер 3
Манифест Agile приветствует возможность внесения изменений в системе, идя навстречу пожеланиям пользователей. Однако не все принципы и практики Agile способствуют реализации этой цели. Укажите, какие из утверждений, принимаемых в Agile, затрудняют расширяемость системы:

Ответ:

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

 (2) Следование принципу YAGNI – "Это Тебе Не Понадобится" 

 (3) Применение практики "Закрытого окна", когда внесение изменений запрещается в ходе выполнения очередной итерации 

 (4) Если код сегодня не требуется, то помещать его в систему – расточительство 


Упражнение 6:
Номер 1
В инженерии ПО тестирование является основным способом обеспечения качества проекта. Какие утверждения справедливы по отношению тестирования:

Ответ:

 (1) Тестирование позволяет доказать наличие ошибки, но не может доказать их отсутствия 

 (2) Для Agile тесты представляют основной ресурс проекта 

 (3) Регрессионное тестирование отвергается в Agile как затратное 

 (4) Современный инструментарий позволяет автоматизировать систему прохождения тестов 


Номер 2
Какие стратегии разработки проекта приносят успех в большинстве ситуаций по мнению автора книги:

Ответ:

 (1) Поставлять на каждой итерации работающую систему 

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

 (3) Применять стратегию "дуальной разработки" 

 (4) На ранних стадиях проекта следует заниматься трудными базисными проблемами 

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


Номер 3
Одна из практик, применяемых при реализации проекта, связана с выбором задач. Какая стратегия выбора критикуется в Agile:

Ответ:

 (1) Важнейшую по Значимости – Первой 

 (2) Простейшую – Первой, Самую Трудную – Второй 

 (3) Самую Трудную – Первой 

 (4) Простейшую – Первой 


Упражнение 7:
Номер 1
Одна из главных целей, провозглашаемых Agile – создание продукта, отвечающего потребностям пользователя. Какие практики применяются в Agile для достижения этой цели:

Ответ:

 (1) Задается документ требований 

 (2) Задаются сценарии – варианты использования, описывающие варианты прохода по системе 

 (3) Задаются сценарии – пользовательские истории, описывающие некоторые ситуации в процессе работы системы 

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


Номер 2
В Agile тестирование является основным способом обеспечения качества проекта. Какие утверждения справедливы по отношению тестирования в Agile:

Ответ:

 (1) Нет кода без теста 

 (2) Вначале тест, затем код 

 (3) Вначале код, затем тест 

 (4) Код и тест создаются параллельно 


Номер 3
Что представляет собой набор регрессионных тестов в Agile:

Ответ:

 (1) В этот набор включаются тесты, на которых система успешно завершает выполнение 

 (2) В этот набор включаются тесты, при выполнении которых система ломается 

 (3) Согласно стратегии Agile "вначале тест, затем код" в набор регрессионных тестов попадают все создаваемые тесты 

 (4) В набор попадают тщательно отобранные тесты, соответствующие значимым сценариям работы системы 




Главная / Менеджмент / Анализ и оценка методов разработки программного обеспечения (Agile) / Тест 4