Задание 1 00:00:42
Вы — менеджер IT проекта, который планирует ресурсы, графики и обязательства по проекту на основании разрабатываемых в настоящий момент требований к программному продукту, который планируется реализовать. Как вы знаете, способы управления проектом разработки ПО тесно связаны с работой над требованиями к нему.
Ситуация 1.
Для работы над проектом вы собираете команду разработчиков. У вас уже есть некоторые наработки, которые вы выполнили с частью команды и созданы базовые объекты для последующей работы. К вашей команде присоединяется еще 4 человека. Вы используете репозиторий git. Как вы поступите?
Отметьте верные утверждения.
Выполните локальное клонирование для каждого нового разработчика
Создадите новый репозиторий и скопируете файлы и код для всех разработчиков
Произведете клонирование существующего репозитория
Ситуация 2.
На начальных стадиях проекта требования могут меняться, дописываться и, скорее всего, изменения в некоторые части проекта придется вносить часто. Какие правила вы дадите разработчикам, для того чтобы проект был в порядке, а команда знала на каком этапе сейчас находится работа, для чего были сделаны изменения.
Ревизии должны создаваться регулярно, ориентируясь на характер выполняемых работ
Всегда давать ревизиям осмысленные сообщения
Каждую ревизию должно сопровождать сообщение, кратко описывающее характер произведенных в ней работ
Ревизии должны создаваться только для важных и глобальных изменений
Мелким изменениям можно не давать пояснительных сообщений, это упрощает поиск важных изменений в истории
Только важные и глобальные изменения следует
Задание 2 00:00:34
В процессе работы нескольких человек над пользовательскими требованиями к разрабатываемому программному продукту в вашем репозитории git появились разные версии одного и того же файла. Каким образом вы можете сравнивать эти файлы между собой и найти изменения?
С помощью поиска ревизий по их автору
Используя инструмент git diff
Используя инструмент git show
С помощью команды git log
Задание 3 00:00:10
Команда разработчиков получила предварительные бизнес-требования, собранные из многих источников. Но некоторые из них оказались противоречивыми. Какие действия следует предпринять в этом случае Вам, как менеджеру проекта?
Уточнить базовые требования, отменить и убрать из проекта конфликтующие
Нанять бизнес-аналитика, который выявит области возможных конфликтов и различий в предположениях, отметит противоречивые бизнес-цели
Предоставить команде разработчиков ПО разрешить конфликт между разными требованиями, для того чтобы корректно реализовать работу системы
Лица, ответственные за принятие решений, должны разрешить эти конфликты
Задание 4 00:00:06
Можно менять границы будущей итерации или целого проекта, если это делается осознанно, «правильными» людьми, по правильными бизнес-основаниям и с пониманием и принятием всех последствий. Обычный результат изменения границ заключается в том, что завершенные действия приходится переделывать. Если при добавлении новой функциональности не увеличиваются выделенные на проект время или ресурсы, часто страдает качество. Как узнать, когда можно завершить реализацию функциональности?
Обращение к бизнес требованиям при определении границ каждой последующей итерации анализ и пересмотр их, помогут добавить новые требования безболезненно для проекта
Если работа над проектом начинается с четкой концепции и если границы каждого выпуска или итерации включают лишь часть общей функциональности, тогда работу можно считать выполненной по завершении запланированных итераций. В результате завершения всех итераций должен получиться полностью реализованный продукт, удовлетворяющий бизнес-целям.
Каждый раз, когда кто-то выдвигает новое требование, следует ответить на вопрос: «Попадает ли оно в рамки проекта?»
Если требование явно выходит за границы проекта, но оно может быть интересным, его следует попробовать вписать в ближайшие к выполнению требования
Задание 5 00:00:45
Как вы знаете, разработка требований состоит из выявления, анализа, документирования и проверки. На практике эти действия выполняются попеременно, поэтапно и повторяются И далеко не всегда все действия удастся выполнить последовательно и за один проход. Многие первоначальные требования нуждаются в дополнительном анализе и последующем уточнении.
Вам необходимо задавать клиентам вопросы, слушать их ответы и наблюдать, что они делают (этап выявления требований). Вы обработаете эту информацию и разберетесь в ней, классифицируете ее на разные категории и свяжете потребности клиента с возможными программными требованиями (этап анализа).
Ниже приведено несколько требований и варианты уточняющих вопросов. Выберите те вопросы, которые действительно помогут сформировать понимание предложенного требования.
Подсказка: Проверьте вопросы таким образом, вопросы, что бы они не провоцировали на бездумные ответы, не содержащие полезной информации.
Опционально должен поддерживаться экспорт документов в формат PDF.
Насколько возможность экспорта в PDF важна? Как часто, кем и с какой целью она будет использоваться?
В PDF какой версии должен производиться экспорт?
Зачем?
Любых документов?
Допускается ли использование внешних утилит (например, виртуальных PDF- принтеров) для экспорта документов в PDF?»
Является ли PDF единственным допустимым форматом для этих целей или есть альтернативы?
Если дата события не указана, она выбирается автоматически.
Из какого набора выбирается дата и как генерируется этот набор? Возможно, стоит использовать текущую дату?
А если указана?
Возможно, имелось в виду, что дата генерируется автоматически, а не выбирается? Если да, то по какому алгоритму она генерируется?
А если у события нет даты?
А если дату невозможно выбрать автоматически?
Приложение должно быстро запускаться
Всегда?
Каково максимально допустимое время запуска приложения, на каком оборудовании и при какой загруженности этого оборудования операционной системой и другими приложениями?
На достижение каких целей влияет скорость запуска приложения? Допускается ли фоновая загрузка отдельных компонентов приложения?
Насколько быстро?
Что является критерием того, что приложение закончило запуск?»
А если не получится быстро?
Задание 6 00:07:33
Дан код, в котором описаны некоторые функции, касающиеся действий пользователей. Укажите верную последовательность сообщений в консоли.
function userOne() {
console.log('Пользователь 1 набирает сообщение');
userTwo();
console.log('Пользователь 1 отправил сообщение');
}
function userTwo() {
console.log('Пользователь 2 набирает сообщение');
userThree();
console.log('Пользователь 2 отправил сообщение');
}
function userThree() {
console.log('Пользователь 3 набирает сообщение');
console.log('Пользователь 3 отправил сообщение');
}
userOne();
Пользователь 1 набирает сообщение
Пользователь 2 набирает сообщение
Пользователь 3 набирает сообщение
Пользователь 3 отправил сообщение
Пользователь 1 отправил сообщение
Пользователь 2 отправил сообщение
Задание 7 00:00:42
Как обойти все перечислимые свойства объекта project, включая унаследованные от прототипов?
project.forEach(function(key) { ... })
for (var key in project) { ... }
Object.keys(project).forEach(function(key) { ... })
Задание 8 00:00:00
var user = {
name: 'Alex',
regdate: new Date(2016, 1, 7)
};
Как задать динамическое (вычисляемое) свойство regdate для объекта user, при обращении к которому будет возвращаться время, со дня регистрации пользователя в вашей системе?
user.defineProperty('regdate', { get: function() { ... } })
user.regdate = { get: function() { ... } }
Object.defineProperty(user, 'regdate', { get: function() { ... } })
user.regdate = { ... }