Видеозаписи лекционных занятий со студентами НИУ МГТУ им. Н.Э. Баумана по курсу «Углубленное программирование на C / C++» в рамках проекта «Технопарк @ MailRu» уже набрали несколько тысяч просмотров. Завершаем публикацию прямых ссылок на наши материалы. Сегодня в центре внимания — лекции 8-часового архитектурно-методологического модуля №4 «Шаблоны объектно-ориентированного проектирования. Основы промышленной разработки ПО».
GoF
«Как измерить архитектуру ПО?»: список литературы
Прошедший 24 апреля 2014 г. в «Академии информационных систем» семинар собрал представителей архитектурного сообщества в лице бизнес-заказчика со стороны одного из ведущих российских банков и компании-лидера рынка телекоммуникаций, а материалы мероприятия были тепло встречены его непосредственными участниками. Пришло время немного приоткрыть тайну… Начнем со списка литературы, рекомендованной аудитории для дальнейшего погружения в проблематику.
Ключевые направления тренингов — программная инженерия, февраль – март 2014
- Обзор методологий производства (разработки) ПО;
- инженерия требований к ПО;
- основы архитектурного проектирования ПО: практики, подходы и стили;
- шаблоны объектно-ориентированного проектирования (базовые, Gang of Four / GoF, GRASP);
- шаблоны проектирования ИС уровня предприятия (PoEAA);
- проектирование пользовательских интерфейсов массовых продуктов и корпоративных систем;
- промышленное программирование на языках C / C++ с элементами STL, Boost и низкоуровневой оптимизации кода для повышения производительности приложений;
- управление качеством исходного программного кода (C / C++ / C++1y, Java) и архитектуры ПО;
- основы инструментального анализа объектного программного кода (C / C++ / C++1y);
- основы составления технической документации;
- основы рефакторинга исходного программного кода (C / C++ / C++1y, Java) и архитектуры ПО;
- применение UML и OCL в разработке ПО.
Скрытый потенциал шаблона «команда»
Многим известно, что основной целью внедрения входящего в каталог GoF шаблона «команда» (англ. command) служит инкапсуляция действий над элементами системы в объекты, наделенные состоянием и имеющие жизненный цикл. Те, кому довелось получить опыт его промышленного использования, знают, что объектное представление команд позволяет ставить их в очередь, синхронно и асинхронно выполнять, осуществлять откат или повторное выполнение и т.д. Но далеко не всем приходилось слышать, какие мечты связывают с этим шаблоном пользователи и специалисты по инженерии взаимодействия.
Контракты в программной архитектуре
Доводилось ли вам встречать тех, кто занимает радикальную позицию и утверждает: «Мы программируем без контрактов»? Возможно ли это вообще? Попробуем разобраться.
Самоподобие в программной архитектуре
Чтение лекций — как чтение хорошей книги. Каждое обсуждение материала с аудиторией дает шанс прийти к новым, более глубоким выводам. Скажем, в отношении архитектуры программной системы уровня классов.
Экспресс-курс «Управление качеством архитектуры и исходного кода»
Успешно проведенный почти год назад пятидневный тренинг по управлению качеством исходного программного кода заставил задуматься о создании его «краткой версии». При этом цель курса — введение в проблематику статического качества программных систем — остается без изменений.
Слово на ARCH Labs 2013
Осень — время года, которое традиционно начинается со Дня знаний. Неудивительно, что именно осенью проходит целый ряд конференций для специалистов. Одно из подобных мероприятий — организуемая Luxoft Training конференция для архитекторов ПО ARCH Labs 2013, в программу которой войдет доклад Алексея Петрова на тему: «Конфликты в программной архитектуре и их связь с шаблонами объектно-ориентированного проектирования».
Ключевые направления тренингов — программная инженерия, июль – август 2013
- Обзор методологий производства (разработки) ПО;
- инженерия требований к ПО;
- основы архитектурного проектирования ПО;
- шаблоны объектно-ориентированного проектирования (Gang of Four / GoF, GRASP);
- шаблоны проектирования ИС уровня предприятия (PoEAA);
- проектирование пользовательских интерфейсов массовых продуктов и корпоративных систем;
- промышленное программирование на языках C / C++ с элементами STL, Boost и низкоуровневой оптимизации кода;
- управление качеством исходного программного кода (C / C++ / C++11, Java);
- основы инструментального анализа объектного программного кода (C / C++ / C++11);
- основы составления технической документации;
- основы рефакторинга объектно-ориентированного исходного программного кода (C++ / C++11, Java) и архитектуры ПО;
- применение языка UML в разработке ПО.
C++ в МГТУ им. Н.Э. Баумана: итоги сезона 2012/2013
Подготовка начинающих программистов, как и восток, — дело тонкое. Всему и сразу научить невозможно, но и на «Hello, World!» останавливаться как-то не comme il faut. Накопленный за два прошедших семестра опыт оказался вполне успешен: программу подготовки осваивала добрая сотня студентов МГТУ им. Н.Э. Баумана. Чему же удалось научить два потока «бауманцев» и при каких начальных условиях?