Лекции (Архив, 2014)
Доклады
№ | Тема | Докладчик |
---|---|---|
1 | Лаптева Юлия Сергеевна | |
2 |
Гибкие методологии разработки. Методология экстремального программирования. Scrum. |
Лыжин Иван Александрович |
3 |
Системы управления версиями (VCS) ПО: история, виды VCS, современные VCS: SVN, GIT, Mercurial. |
Горвиц Евгений Львович |
4 | Валькевич Николай Васильевич | |
5 | Шульга Елизавета Вячеславовна |
Дополнительные материалы
Программная инженерия
- IEEE Standard 610-90 (Standard Glossary of Software Engineering Terminology) - стандартный глоссарий терминов по программной инженерии. Последняя инстанция разрешения споров по терминологии в программной инженерии.
- Ivan Marsic. Software Engineering - textbook. Учебник по программной инженерии от профессора Ратгерского университета Ивана Марсика. В книге рассматриваются темы объектно-ориентированного проектирования, метрик ПО, разработки программных компонентов, веб-сервисов и др.
- IBM Developer Works: Пять уровней зрелости требований. 70–85% от общего числа всех исправлений в ходе разработки ПО связанно именно с ошибками, допущенными на этапе сбора, анализа и документирования требований. В статье рассказывается о модели уровней зрелости для управления требованиями и даются рекомендации по постепенному улучшению процесса управления требованиями к ПО.
- SWEBOK на русском. Software Engineering Body of Knowledge- документ, разрабатывающийся под руководством Institute of Electrical and Electronics Engineers (IEEE), и объединяющий знания по инженерии программного обеспечения, включая такие аспекты как определение требований, проектирование, конструирование, тестирование, сопровождение ПО и др.
- University of California, Berkeley: Software Engineering for Software as a Service. Курс в рамках проекта Сoursera, посвященный разработке программных систем в соответствии с концепцией SaaS (программное обеспечение как сервис). К сожалению, курс закрыт, но:
- видео лекций можно посмотреть на канале OpenCourseOnline на Youtube;
- материалы курса доступны в книге "Engineering Long-Lasting Software: An Agile Approach Using SaaS and Cloud Computing".
-
The Rise And Fall Of Waterfall. Оказывается "водопадная модель разработки" изначально задумывалась итерационной. Но об этом все забыли.
Гибкие методологии разработки и управление командой
- Илья Бирман. Псевдокемп: Приоткрытые вопросы. Илья Бирман рассказывает нам о том, что такое открытые, приоткрытые и закрытые вопросы, а также как их задавать заказчику при выявлении требований так, чтобы он не решил, что вы издеваетесь.
- Хэнриг Книберг. Scrum и XP: заметки с передовой. Короткая (всего 90 страниц) но очень емкая и понятная книга, рассказывающая о внедрении методологий экстремального программирования на практике.
-
Борис Вольфсон. Гибкие методологии разработки. В книге рассматриваются методы гибкой разработки и методология Scrum. Кроме теории в книги содержится множество конкретных приемов и лучших методов, которые можно применять на практике. Рассматриваются такие вопросы как анализ требований; практики управления командой в Scrum; контроль и обеспечение качества ПО.
- Мы сделаем этот велосипед за месяц. Краткий экскурс в планирование работ для управления группой разработчиков.
- Чеклист вопросов к проекту: старт, реализация, финал. Держим руку на пульсе проекта.
Архитектура и проектирование ПО
- Блог Александра Бындю. Принципы проектирования классов (S.O.L.I.D.) Cерия постов, в которых раскрываются принципы проектирования классов: Принцип единственности ответственности, Принцип открытости/закрытости, Принцип замещения Лисков, Принцип разделения интерфейса, Принцип инверсии зависимости.
- Microsoft Application Architecture Guide, 2nd Edition. (+ версия на русском языке) Книга посвящена проектированию ПО, включая такие аспекты, как: проектирование мобильных и веб-приложений, веб-сервисов, организация и разработка уровней ПО. Рассматриваются аспекты многослойной архитектуры, многозвенных приложений, архитектурных паттернов.
Системы контроля версий
- Learn Git Branching. Интерактивный учебный курс по механизмам ветвления в рамках системы управления версиями Git.
- Думай как Git, руководство по Git. Перевод на русский язык руководства "Think Like a Git", где простыми словами объясняются концепции управления версиями посредством Git.
- Git Extensions. Удобный клиент системы контроля версий GIT для Windows. Отличается удобным пользовательским интерфейсом, интеграцией с Visual Studio и другими приятными особенностями.
- Pro Git (на русском языке) - обширная обучающая книга о системе контроля версий Git от Скотта Шакона — активного участника разработки проектов Git и GitHub. Полностью переведена на русский язык. Также, доступна в онлайн-версии, и в формате ebup.
Тестирование
-
Роберт Мартин (aka Uncle Bob). TDD: The Bowling Game Kata (Ката - это формальные упражнения в боевых искусствах, имитирующие бой с одним или несколькими противниками - wikipeda). Роберт Мартин по шагам описывает процесс «разработки через тестирование» (test-driven development) для решения одной задачи – подсчет очков при игре в боулинг. В презентации очень наглядно представлен весь процесс создания тестов и разработки кода, начиная с пустого проекта и заканчивая готовой программой.
-
Модульное тестирование и непрерывная интеграция при помощи Jenkins для C++ проектов. Очень подробный тьюториал об использовании системы Jenkins для подготовки и прогона модульного тестирования.
-
Как начать писать тесты за 10 шагов по 10 минут. Тьюториал о том, как побороть себя и начать разрабатывать в соответствии с методологией Test-Driven Development.
-
Быстрый старт с Google Test. Google Test — это фреймворк от Google для юнит-тестирования кода на С++. В статье приводятся первые шаги по установке, настройке и созданию первого проекта с поддержкой Google Test в среде Visual Studio.