Software Engineering 3MIT осень 2017 — различия между версиями
(→Лекции) |
(→Лекции) |
||
(не показано 13 промежуточных версий 2 участников) | |||
Строка 31: | Строка 31: | ||
[https://docs.google.com/presentation/d/1EElgLn-sr3gjHalNq4eqghM6STqsW_Vih4r5ez9Mldo Презентация] | [https://docs.google.com/presentation/d/1EElgLn-sr3gjHalNq4eqghM6STqsW_Vih4r5ez9Mldo Презентация] | ||
− | [https:// | + | [https://docs.google.com/document/d/16YgKdQp9ykfoSwKnceAQdYPtdekGgHJa52aQ3T8y42c Конспект] |
+ | |||
+ | 7. Построение графика работ: матрица зависимостей, сетевой график, диаграмма Гантта. Оценка задач и графика в целом. Типичные ошибки при оценке проектов. Треугольник равновесия проекта. | ||
+ | |||
+ | [https://docs.google.com/presentation/d/1Apxb7TMyYN7nGaob_neP8W1AEF1teMiaoYPwxz-qtBY Презентация] | ||
+ | [https://docs.google.com/document/d/1IqWNmSpLP2shZ7LfTMs5Lf7cuOK7ax6V8dEJ7LnU1vg Конспект] | ||
+ | |||
+ | 8. Балансирование равновесия проекта: основные подходы и практики. Отслеживание прогресса хода проекта и реагирование на отклонения от плана. | ||
+ | |||
+ | [https://docs.google.com/presentation/d/1OQ853ZI-tUTOninDlNoG15UCKAnHRfPm0XLIz8SK6pY Презентация] | ||
+ | [https://docs.google.com/document/d/10PXP91XdbrhxziNYeZ0YFZavW6UgoF1_SWntMT9xpkw Конспект] | ||
+ | |||
+ | 9. Понятие команды. Составляющие эффективной команды. Практики формирования позитивной экосистемы и формирования навыков совместного решения задач. Особенности формирования команды. Командная разработка ПО. Системы контроля версий. Разработка с использованием веток в git. | ||
+ | |||
+ | [https://docs.google.com/presentation/d/1vVboAP2qwsfYnb3edLVvbfilskV-SnZ9cILKFey4i38 Презентация] | ||
+ | [https://docs.google.com/document/d/1VhqdiGMRelBNbtF2HzVWQH-exdFfEEkHYJYdE2Phb0M Конспект] | ||
+ | |||
+ | 10. Рефакторинг: что, когда и зачем. Понятие и основные code smells. Примеры рефакторингов. | ||
+ | |||
+ | [https://docs.google.com/presentation/d/1aUDOwqzxNAzVQ8dOTOA6BFdkATKp0h6LvXEZvGpv1Hk Презентация] | ||
+ | [https://docs.google.com/document/d/14BA54jWFKSALN6C7iA7xDjXay-tVBvwodUfbNf8Z_d4 Конспект] | ||
+ | |||
+ | 11. Понятие дефекта. Методы и системы управления дефектами в программных проектах. Характеристики дефектов. Отладка: виды, подходы. Защитное программирование. | ||
+ | |||
+ | [https://docs.google.com/presentation/d/1rQJL1o0fSlcf1Aql7LlW2s9XAycQe8uWgHeM1mLd9_Q Презентация] | ||
+ | [https://docs.google.com/document/d/1OG2Mek-ayghrgJnU8rpcgDRZoEWS8xilUXUWkd26kn0 Конспект] | ||
+ | |||
+ | 12. Качество ПО. Характеристики и атрибуты качества. Классификация метрик, основные группы метрик объектно-ориентированного кода. Модель CMMI. Назначение и виды тестирования. | ||
+ | |||
+ | [https://docs.google.com/presentation/d/1DX-zwa8_oWDylf27Uzk73T0EOVt7gE8cjNloHrMZLNk Презентация] | ||
+ | [https://docs.google.com/document/d/1KZjRlg3A5JUXsVtfzac6P2UF2PpY44zpDG4g_FGDrmg Конспект] | ||
+ | |||
+ | 13. Антипаттерны управления релизами. Основные принципы Continuous Delivery. Конфигурационное управление, Continuous Integration. Полезные практики при внедрении Continuous Delivery. Структура и шаги построения конвейера развёртывания. Модель зрелости процесса управления релизами. | ||
+ | |||
+ | [https://docs.google.com/presentation/d/1qXHGwSRhHob63rS_fvq3XJ2PYS9KmIaElIIco58uZRk Презентация] | ||
+ | [https://docs.google.com/document/d/1gnAA0pb1NteI7DgA24qXDoXbkNe0HFpiEc3NcgvVwgs Конспект] | ||
+ | |||
+ | 14. Динамика развития программных проектов, "законы Лемана". Legacy-системы. Сопровождение и поддержка, эволюция систем, реинжиниринг. | ||
+ | |||
+ | [https://docs.google.com/presentation/d/19BBYOWDjcQ7EleJc9DbjgmjGHxb2vqs07W9yPFaR458 Презентация] | ||
+ | [https://docs.google.com/document/d/1hW_xDVqDKKGjC2E0m7GJQDRGMIZEcLCNIvAf_zy2mQ0 Конспект] | ||
+ | |||
+ | 15. Особенности проектов Fixed price, Cost Reimbursable и Time and Material. Стартапы: идея, продукт, команда, реализация. Основные источники финансирования. Формат презентации проекта потенциальному инвестору. Бизнес-модель проекта. | ||
+ | |||
+ | [https://docs.google.com/presentation/d/1619RZ87TxYc0WW_gdvwtCer4C-0RobIeOqDVJOi2Je0 Презентация] | ||
+ | |||
+ | |||
+ | [https://docs.google.com/document/d/1ifWLeAzVTx3eDpBOg9t56wr3IHZgRKn8K0-NuHRCWlc Список литературы] | ||
+ | |||
+ | [https://docs.google.com/document/d/1NmX2quHUS-cb-8fwW9nEUFs4eql33UTkR1HHNXIm5YQ Вопросы к экзамену] | ||
== Практика Литвинов == | == Практика Литвинов == | ||
+ | Презентация про изменения в проектах: https://drive.google.com/file/d/0B0YEMCLGZLEnRURMRlVwMVJGdEE |
Текущая версия на 14:58, 13 декабря 2017
Лекции
Преподаватель: Брыксин Тимофей Александрович
1. Программа и программный продукт, понятие программной инженерии, состав команды, виды деятельности разработчика ПО.
2. Виды и характеристики требований. Инженерия требований: выявление, анализ, проверка, спецификация, управление требованиями.
3. Жизненный цикл ПО, модели ЖЦ. RUP и XP как примеры методологий разработки.
4. Процессный фреймворк Scrum: роли, артефакты, мероприятия
5. Проектирование GUI. Понятие User Experience, User-centered design, Activity-centred design. Персонажи и сценарии. Подходы к прототипированию пользовательских интерфейсов: storytelling, бумажные прототипы, bodystorming, макеты, дизайн-макеты, интерактивные прототипы. Подходы к исследованию удобства использования продукта, юзабилити-исследования.
6. Функции менеджера проекта: определение проекта, планирование, управление и контроль. Матрица ответственностей, план коммуникаций. Управление рисками. Декомпозиция проекта.
7. Построение графика работ: матрица зависимостей, сетевой график, диаграмма Гантта. Оценка задач и графика в целом. Типичные ошибки при оценке проектов. Треугольник равновесия проекта.
8. Балансирование равновесия проекта: основные подходы и практики. Отслеживание прогресса хода проекта и реагирование на отклонения от плана.
9. Понятие команды. Составляющие эффективной команды. Практики формирования позитивной экосистемы и формирования навыков совместного решения задач. Особенности формирования команды. Командная разработка ПО. Системы контроля версий. Разработка с использованием веток в git.
10. Рефакторинг: что, когда и зачем. Понятие и основные code smells. Примеры рефакторингов.
11. Понятие дефекта. Методы и системы управления дефектами в программных проектах. Характеристики дефектов. Отладка: виды, подходы. Защитное программирование.
12. Качество ПО. Характеристики и атрибуты качества. Классификация метрик, основные группы метрик объектно-ориентированного кода. Модель CMMI. Назначение и виды тестирования.
13. Антипаттерны управления релизами. Основные принципы Continuous Delivery. Конфигурационное управление, Continuous Integration. Полезные практики при внедрении Continuous Delivery. Структура и шаги построения конвейера развёртывания. Модель зрелости процесса управления релизами.
14. Динамика развития программных проектов, "законы Лемана". Legacy-системы. Сопровождение и поддержка, эволюция систем, реинжиниринг.
15. Особенности проектов Fixed price, Cost Reimbursable и Time and Material. Стартапы: идея, продукт, команда, реализация. Основные источники финансирования. Формат презентации проекта потенциальному инвестору. Бизнес-модель проекта.
Практика Литвинов
Презентация про изменения в проектах: https://drive.google.com/file/d/0B0YEMCLGZLEnRURMRlVwMVJGdEE