Благодарим ви, че изпратихте вашето запитване! Един от членовете на нашия екип ще се свърже с вас скоро.
Благодарим ви, че направихте своята резервация! Един от членовете на нашия екип ще се свърже с вас скоро.
Съдържание и теми, включени в курса
Основи на гъвкавото мислене
- Гъвкавият манифест и неговата приложимост отвъд софтуера
- Сравнение на гъвкавите с традиционните каскадни и планово-ориентирани модели
- Роли, събития и артефакти в Scrum, съотнесени към циклите на академичните проекти
- Kanban и управление, базирано на потока, за изследователски и преподавателски екипи
- Избор на гъвкави хибриди, подходящи за инженерна и дизайнерска среда
Гъвкаво планиране и сътрудничество
- Писане на потребителски истории и дефиниране на критерии за приемане за инженерни проблеми
- Техники за приоритизиране на backlog: MoSCoW, стойност спрямо усилие, подреждане по рискове
- Планиране на спринт и оценка с несофтуерни екипи
- Ретроспективи и непрекъснато усъвършенстване в академична среда
- Инструменти и табла за сътрудничество за мултидисциплинарни участници
Въведение в DevOps културата
- Дефиниране на DevOps: премахване на бариерите между разработка и операции
- Моделът CALMS: култура, автоматизация, Lean, измерване, споделяне
- DevOps в изследователски лаборатории, екипи по гражданско строителство и архитектурни студиа
- Изграждане на култура без обвинения и обратна връзка в образователни институции
- Етика, сигурност и съображения за съответствие при приемането на DevOps в академичните среди
Контрол на версиите и колаборативно управление на кода
- Основи на Git за възпроизводима инженерна и дизайнерска работа
- Стратегии за разклоняване (branching): trunk-based, feature branches и опростен GitFlow
- Pull заявки, партньорски преглед и собственост на кода в преподавателски екипи
- Управление на некодови активи: CAD файлове, BIM модели, симулационни набори от данни
- Организация на хранилища за учебни материали и студентски проекти
Непрекъсната интеграция и автоматизация на изграждането
- Концепции за CI и тяхното приложение към компилирани и скриптови инженерни инструменти
- Настройка на автоматизирани изграждания за софтуер, симулации и документация
- Етапи на pipeline: компилиране, пакетиране, проверка за стил (lint) и предполетни проверки
- Преглед на популярни CI платформи: GitHub Actions, GitLab CI, Jenkins
- Работа с големи артефакти, кеширане на зависимости и паралелно изпълнение
Качество на софтуера и статичен анализ
- Дефиниране на качество на софтуера: поддръжка, надеждност, използваемост, ефективност
- Метрики за код: цикломатична сложност, свързаност (coupling), кохезия и дублиране
- Инструменти за статичен анализ за Python, Java, C++ и общи инженерни скриптове
- Документацията като качество: docstrings, стандарти за README и жива документация
- Интегриране на качествени контролни точки в CI потоците, без да се блокира напредъкът на студентите
Стратегии за тестване и дизайн на тестове
- Пирамидата на тестването: модулно, интеграционно, системно и приемно тестване
- Писане на модулни тестове за инженерни изчисления, симулации и помощни програми
- Основи на разработка, ръководена от тестове (TDD), и разработка, ръководена от поведение (BDD)
- Имитиране (Mocking) на външни системи: сензори, API, солвъри за крайни елементи
- Структуриране на тестови пакети за мултидисциплинарни екипни проекти
Автоматизация на тестове и непрекъснато тестване
- Автоматизиране на изпълнението на тестове в CI/CD потоци
- Отчитане на тестове, прагове на покритие и управление на нестабилни тестове
- Тестване, базирано на свойства (Property-based), и фъзинг за инженерни алгоритми
- Стратегии за регресионно тестване за развиващи се курсови задачи
- Тестване на производителност и натоварване за симулационни и рендеринг работни натоварвания
Концепции за непрекъсната доставка и внедряване
- Основи на CD: доставка срещу внедряване, среди и промотиране
- Модели на внедряване: blue-green, canary и feature toggles
- Прилагане на CD принципи за публикуване на изследователски артефакти, курсови сайтове и приложения
- Основи на контейнеризацията с Docker за възпроизводими инженерни среди
- Въведение в инфраструктурата като код: декларативно управление на лабораторни и облачни настройки
Наблюдаемост, мониторинг и обратна връзка
- Логване, метрики и проследяване (tracing) за академичен софтуер и симулации
- Настройка на леко мониториране за студентски проекти и изследователски инструменти
- Използване на данни от обратна връзка за итерация върху учебни материали и лабораторни упражнения
- Табла за управление и известяване, подходящи за образователен контекст
- Верификация след внедряване и процедури за откат (rollback)
Най-добри практики за сигурност и качество
- Основи на сигурното кодиране: валидация на входа, удостоверяване и управление на тайни
- Сканиране на зависимости и управление на уязвимости в стекове с отворен код
- Съответствие на лицензите за софтуер, използван в преподаването и публикациите
- Съображения за поверителност на данните при работа с данни на студенти и изследвания
- Изграждане на култура, осъзната за сигурността, в инженерните и дизайнерските програми
Трансформиране на практики в учебни модули
- Проектиране на гъвкави проектни задачи за студенти по системно инженерство, гражданско строителство, дизайн и архитектура
- Създаване на рубрики, които оценяват качеството на процеса наред с качеството на продукта
- Настройка на шаблонни хранилища с предварително конфигуриран CI за студентско ползване
- Надграждане на DevOps концепциите прогресивно в рамките на семестър
- Оценяване на студентски екипи с помощта на реални метрики за качество и автоматизация
Избор на инструментална верига и академични ограничения
- Оценка на безплатни и open-source инструменти за катедри с ограничен бюджет
- Интегриране със съществуващи LMS, файлово съхранение и лабораторна инфраструктура
- Управление на техническия дълг в дългогодишни изследователски кодови бази
- Въвеждане на студенти и преподаватели с различен технически опит
- Поддържане на устойчивост, когато ключови участници завършат или се сменят
Изисквания
- Основно разбиране на концепциите за разработка на софтуер
- Запознатост с общи инженерни или дизайнерски работни процеси
- Опит в използването на компютри за академична или проектна работа
Аудитория
- Професори и лектори от програми по системно инженерство, гражданско строителство, дизайн и архитектура
- Академичен персонал, стремящ се да модернизира преподаването си с индустриално приложими практики
- Ръководители на изследователски проекти и лабораторни координатори, интегриращи технологии в учебната програма
42 Часа
Отзиви от участници (2)
Крейг беше изключително ангажиран с обучението, винаги осигурявайки, че объртаме внимание, адаптираше примерите към нашата дневна дейност и винаги даваше отговор, когато му зададем въпрос, дори ако информацията не беше включена в презентацията.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Курс - DevOps Foundation®
Машинен превод
Висок ниво на ангажираност и знания на треньора
Jacek - Softsystem
Курс - DevOps Engineering Foundation (DOEF)®
Машинен превод