1. Лекция 1.О предмете изучения
    1. Что такое программная инженерия?
    2. Назовите дату зарождения программной инженерии как отдельной науки.
    3. В чем отличие программной инженерии от информатики?
    4. В чем отличие программной инженерии от системотехники?
    5. Приведите примеры дисциплин информатики и программной инженерии (дисциплины не путать с учебными предметами).
    6. Что такое ПО?
    7. Перечислите характеристики ПО по Бруксу и кратко характеризуйте каждую.
    8. C какими иными видами человеческой деятельности соотносится создание ПО в данном разделе?
  2. Лекция 2. Процесс разработки программного обеспечения
    1. Что такое процесс создания ПО?
    2. Расскажите о причинах отсутствия универсального процесса разработки ПО.
    3. Почему возможно и целесообразно стандартизировать процесс на уровне компании?
    4. Что такое стандартный и конкретный процессы и как они соотносятся?
    5. Чем отличаются между собой текущий и конкретный процессы? Какие методологии разработки ПО поддерживают понятие конкретного процесса и какими средcтвами?
    6. Дайте определение деятельности по совершенствованию процесса.
    7. В чем главная трудность совершенствования процессов в компаниях?
    8. Перечислите основные направления улучшения процесса.
    9. Расскажите о стратегии organization pull к внедрению инноваций. Приведите примеры.
    10. Расскажите о стратегии technology push к внедрению инноваций. Приведите примеры.
    11. Расскажите о достоинствах, недостатках, а также возможных рисках этих стратегий.
    12. Что такое модель процесса?
    13. Что такое фаза процесса?
    14. Что такое вид деятельности?
    15. Почему нельзя отождествлять фазы и виды деятельности? Когда и по каким причинам это все таки происходит на практике?
    16. В чем достоинства водопадной модели? В чем ее историческая роль? В чем ее недостатки?
    17. Как в рамках водопадной модели предполагается работать с рисками?
    18. Почему водопадная модель до сих пор используется? Объясните, почему эту модель удобно использовать в оффшорных проектах с почасовой оплатой?
    19. Чем виток спиральной модели отличается от фазы в водопадной модели? Приведите пример последовательности витков спиральной модели. Опишите условия, при которых спираль завершается.
    20. Расскажите про второе и третье измерение спиральной модели. Опишите различные секторы витка спирали.
    21. В чем достоинства и недостатки спиральной модели? Каковы ограничения этой модели?
    22. Как в рамках этой модели предполагается работать с рисками?
  3. Лекция 3. Рабочий продукт, дисциплина обязательств, проект
    1. Дайте определение рабочего продукта. Приведите примеры.
    2. Чем отличается рабочий продукт от компоненты ПО?
    3. Расскажите, что такое нематериальный рабочий продукт.
    4. Опишите, как "работает" дисциплина обязательств.
    5. Приведите примеры других видов отношений между людьми.
    6. Расскажите о границах применения дисциплины обязательств.
    7. Что такое проект и чем он отличается от других форм организации бизнеса и производства?
  4. Лекция 4. Архитектура ПО
    1. Дайте определение архитектуре ПО. Расскажите, какие аспекты разработки задействует это понятие.
    2. Расскажите о причинах множественности точек зрения при разработке ПО.
    3. Как по вашему мнению, множественность точек зрения помогает или мешает в разработке?
    4. Перечислите и кратко прокомментируйте разные виды диаграмм UML.
  5. Лекция 5. Управление требованиями
    1. В чем трудность управления требованиями? При ответе на этот вопрос имейте в виду другие инженерные области и сферы бизнеса. Старайтесь отвечать на вопрос с наружи программной инженерии, а не изнутри.
    2. Перечислите способы формализации требований. Под формализацией имеется в виду способ не промежуточной, а финальной фиксации.
    3. Расскажите о способах и техниках "вытягивания" требований.
    4. Перечислите разные виды документов, формализующих требования.
    5. Расскажите об отличии функциональных и нефункциональных требований.
    6. Расскажите о типовом цикле работы с требованиями.
    7. Перечислите типовые ошибки при работе с требованиями.
  6. Лекция 6. Конфигурационное управление
    1. Приведите примеры проблем в проектах, где нет хорошего конфигурационного управления.
    2. Неформально объясните, какие задачи выполняет конфигурационное управление в проекте.
    3. Дайте формальное определение конфигурационному управлению.
    4. Расскажите об известном противоречии - абсолютной сохранности и удобного доступа.
    5. Приведите пример артефактов проекта, которые могут "подпадать" под конфигурационное управление.
    6. Приведите пример артефактов проекта, которые могут не "подпадать" под конфигурационное управление. подпадающих
    7. Что является главным артефактом конфигурационного управления и почему.
    8. Перечислите основные функции версионного контроля.
    9. Что такое управление сборками?
    10. Что такое непрерывная интеграция. В каких известных вам методологиях она используется и почему (на ваш взгляд).
    11. Расскажите о понятии baseline.
  7. Лекция 7. Тестирование
    1. Перечислите и кратко охарактеризуйте различные способы контроля качества ПО.
    2. Дайте определение тестирования и кратко прокомментируйте его.
    3. Что означает в контексте тестирования ожидаемое поведение программы?
    4. Что входит в искусственные, специально заданные условия воздействия на систему, которые имеются в виду в определении тестирования?
    5. В чем важность концепции теста?
    6. В чем преимущества автоматического тестирования перед "ручным"?
    7. В чем трудности автоматического тестирования?
    8. Приведите свои собственные примеры проблем с интерфейсами к тестируемым системам.
    9. Приведите примеры того, как прогон тестов может влиять на поведение системы.
    10. В чем смыл факторизации входных значений при тестировании?
    11. Расскажите о разных вариантах организации команды тестеровщиков.
    12. Перечислите и кратко охарактеризуете виды тестирования.
  8. Лекция 8. Диаграммные техники в работе со знаниями
    1. Какова роль актеров при построении диаграмм случаев использования?
    2. Что такое случай использования и чем он отличается от произвольной функции системы.
    3. Какие бывают виды актеров?
    4. Расскажите о бизнес-диаграммах случаев использования.
    5. Расскажите об основном предназначении диаграмм случаев использования. Попробуйте самостоятельно оценить их полезность.
    6. Расскажите о разных вариантах применения диаграмм случаев использования.
    7. Расскажите о применении случаев использования в управлении разработкой.
    8. Расскажите об основной идее цикла автор/рецензент.
    9. Как этот цикл можно использовать при извлечении знаний из эксперта? Расскажите о дополнительных особенностях этого процесса. Примерьте эту технику для собственного использования и поделитесь возникшими соображениями.
    10. Расскажите об истории карт памяти, а также о том, что это такое.
    11. Перечислите и кратко охарактеризуйте основные направления по практическому использованию карт памяти. Как именно вы используйте карты памяти? Собираетесь ли вы их использовать?
    12. Расскажите о продукте Comapping и его основных возможностях по работе с картами памяти.
  9. Лекция 9. MSF
    1. Расскажите об истории разработки MSF.
    2. Расскажите об основных принципах MSF.
    3. В чем главные новшества MSF?
    4. Чем отличаются версии MSF 3.х от 4.х?
    5. Что такое IT-решение?
    6. Что такое управление компромиссами? Приведите примеры.
    7. Расскажите о модели команды MSF. В чем ее свобода и где она заканчивается?
  10. Лекция 10. CMMI
    1. Что такое CMMI? Постарайтесь не описывать CMMI, а в нескольких предложениях его определить, дать компактное и точное определение.
    2. Кратко расскажите историю развития стандарта CMMI. Чем CMMI отличается от CMM?
    3. Перечислите и кратко охарактеризуйте уровни CMMI.
  11. Лекция 11. "Гибкие" (agile) методы разработки
    1. Расскажите о принципах "гибких" методов разработки.
    2. Какие, по вашему, существуют ограничения в применении гибких методов?
    3. Перечислите известные вам "гибкие" методологии разработки ПО.
    4. Расскажите о принципах XP. С чем, на ваш взгляд, могут возникнуть трудности при практическом внедрении XP?
    5. Расскажите о главных идеях Scrum. При этом не начинайте длинный рассказ про всю методологию в целом, а также не перечисляйте ее сонные артефакты. Дайте качественное описание из вне.
    6. Расскажите, как устроена самоорганизуемсоть команды в Scrum? Как методология ограждает свободу команды и какие выгоды из этого извлекаются для проекта?
    7. Расскажите об обязанностях Scum-матера.
    8. Расскажите об обязанностях Product Owner.
    9. Расскажите о задачах ежедневных встреч.
  12. Лекция 12. Обзор технологии Microsoft Visual Studio Team System (VSTS)
    1. Расскажите об основных составляющих продукта MS VSTS.
    2. Расскажите о функциональности TFS.
    3. Расскажите о различных клиентских приложениях MS VSTS.
    4. Расскажите о средствах поддержания сборки в MS VSTS.
    5. Расскажите о различных изданиях Visual Studio и их возможностях относительно MS VSTS.
    6. Расскажите о самом простом клиенте TFS и тех функциональных возможностях, которые он обеспечивает.
    7. Расскажите о возможностях пакета Team Foundation Power Tools. Это клиентская или северная компонента?
    8. Расскажите об инсталляции MS VSTS.
  13. Лекция 13. VSTS: управление элементами работ (Work Items)
    1. Что такое элемент работы? Приведите примеры различных видов элементов работы.
    2. Какие есть еще артефакты в процессе, развернутом в MS VSTS? Как они взаимосвязаны с элементами работы?
    3. Что такое тип элемента работы, что в нем определяется?
    4. Расскажите о реквизитах элемента работы.
    5. Как и где задается жизненный цикл элемента работы? Какие программные продукты при этом используются?
    6. Расскажите об импорте/экспорте элементов в MS Excel и Project: зачем это нужно, какие практические выгоды это дает.
    7. Расскажите о связи элементов работы и отчетов.
  14. Лекция 14. VSTS: конфигурационное управление
    1. Перечислите особенности системы контроля версий TFS, отсутствующие в других подобных средствах.
    2. Расскажите об Отслеживание изменений отдельных файлов.
    3. Расскажите о правилах внесения изменений.
    4. Расскажите об управлении ветками.
    5. Расскажите о сохранении без внесения.
    6. Расскажите о связи средств управления сборкой TFS и MS Build.
    7. Расскажите об описаниях сборок (build definition).
    8. Расскажите о результатах сборок (build results).
    9. Расскажите о том, как создается проект в MS Build.
    10. Расскажите о запуске процесса сборки.
    11. Расскажите об анализе результатов сборки.
    12. Расскажите об управлении процессом сборки.
    13. Расскажите об управлении политикой очистки сборок.
  15. Лекция 15. VSTS: тестирование
    1. Подробно разберите и прокомментируйте жизненный цикл ошибки в шаблоне процесса MSF for Agile.
    2. Расскажите о том, как создается описание ошибки.
    3. Опишите связь изменений исходных текстов ПО и ошибок.
    4. Расскажите о системе автоматических оповещений в TFS.
    5. Расскажите о целях и задачах модульного тестирования. Как модульные тесты, созданные разработчиками, могут использоваться в дальнейшем?
    6. Какие альтернативы MS VSTS существуют для автоматической поддержки модульного тестирования для Visual Studio?
    7. Расскажите о поддержке модульного тестирования в MS VSTS. Какая часть среды реализует эту функциональность?
    8. Расскажите о поддержке работы с пакетами тестов в MS VSTS.
    9. Расскажите о подходе тестирования пользовательского интерфейса Capture & Playback. В чем его трудности?
    10. Расскажите о том, как эти трудности решаются в случае тестирования интерфейсов Web-приложений.
    11. Расскажите о поддержке Capture & Playback тестирования интерфейсов Web-приложений в MS VSTS.
  16. Лекция 16. VSTS: поддержка различных моделей процесса
    1. Зачем нужны разные шаблоны процессов в MS VSTS?
    2. Что они определяют, что задают, и как ограничивают разработчиков. И как им помогают?
    3. Какова на ваш взгляд, трудоемкость создания собственного шаблона процесса "с нуля"?
    4. С какой темой курса связана шаблоны процессов в MS VSTS? Найдите термин из курса, который в точности может заменить термин "шаблон процесса".
    5. Перечислите и охарактеризуйте разделы описания шаблона процесса.
    6. Сделайте краткий обзор известных вам шаблонов процесса MS VSTS.
    7. Опишите шаблон MSF for Agile Software Development.
    8. Опишите шаблон Scrum.
    9. Чем они отличаются?