Курс Software Engineering
- Online
- Для початківців, Для досвідчених
- Other
![]() |
|
Навчальний центр: | IT-Столиця |
---|---|
Формат: | Курс |
Мова викладання: | Ukrainian |
Тривалість навчання: | 10 занять |
Початок курсу: | Будь-який момент |
Вартість навчання: | 6 100 UAH за курс |
Подробиці та реєстрація
Курс Software Engineering побудований таким чином, що студенти розглядають п'ять складових процесу роботи, щоб отримати повне уявлення про процес розробки ПО. Continuous Integration, Testing, Delivery, Deployment і Operation.
Програма курсу
Підготовчий етап
Визначається рівень учнів, вибудовується комунікація з ними. Ознайомлення з планом занять і робота з теорією і методичними матеріалами.
Continuous Integration
- Основні поняття у галузі розробки програмного забезпечення
- Взаємодія розробника з членами команди
- Застосування Git для командної роботи над кодом
- Веб-додаток для управління завданнями Github
- Складання робочого графіка і менеджмент ресурсів
- За допомогою яких інструментів реалізують перевірку якості коду
- Автоматизація та управління завданнями за допомогою Jenkins
- Бранчінг версій для релізу і стабілізація коду
Continuous Testing
- Принципи розробки TDD (test-driven development)
- Як відбувається тестування якості коду із застосуванням SonarQube
- Юніт-тести й покриття коду
- Налаштування профілів воріт якості Quality Gates
- User Story Isolation
- Як визначити уразливості коду
- Відправлення коду в репозиторій
- Мануальне тестування
- Автоматизоване тестування
- E2E - тестування функції в реальних сервісах
- UI - тестування інтерфейсу шляхом імітації дій користувача
Архітектура програмного забезпечення (Software Architecture)
- Зовнішні чинники якості - robustness (стійкість), correctness (коректність), reusability (повторне використання), extendibility (розширюваність)
- Який буває архітектура ПО - Serverless, SOA, Web-Queue-Worker
- Типи архітектури: Standalone, N-tier, SOA, Microservices, Big Data / Big Compute, Serverless, Web-Queue-Worker, Event-driven architecture
- Моделі хмарних сервісів. XaaS, SaaS, IaaS, PaaS
- Збір вимог, постановка задачі estimates, pre-sales, RFI/RFP - запит інформації й запит пропозиції
- Робота з зовнішніми факторами якості
Проєктування програмного забезпечення (Software Design)
- Архітектура ПО і проєктування
- Архітектурне рішення і дизайн інтерфейсу
- Графічне представлення програмного коду
- Розподілене обчислення - теорія та алгоритми
- Polyglot Persistence
- Polyglot Programming
- Що таке парадигми програмування
- Функціональне та логічне програмування
- Процедурне програмування й ООП
- Структура даних
- Компілятор і інтерпретатор
- Відносини між класами в ООП: композиція і декомпозиція, асоціація, успадкування, агрегація
- Загальна структура організації проєкту
- Компонентна модель
- Дизайн-шаблони GRASP, T-diagrams, UML, MVC (MVVM)
- Документація
- CAP-теорема
- RDBMS
- NoSQL
- Graph DB, DB Migration
- Написання мікросервісу для API на мові Java
- Створення мікросервісу для аутентифікації за допомогою Node.js
- Багатопотокове програмування C++
- Алгоритми lock-free
- Angular/Typescript (front-end складова сервісу)
- Groovy для Jenkins DSL
- Підключення Postgresql, MongoDB і Neo4j
- Аутентифікація й авторизація. Контроль доступу RBAC/ABAC
- Message brokering
- Чим відрізняються принципи mobile-first і mobile-only
- Waterfall, RUP, Agile
- Багатопотокове програмування, клієнт-серверні системи, P2P
- Технічний борг, legacy-продукти, рефакторинг
- Кешування
- Multitenancy, аудит, брендинг, GDPR
Програмний інтерфейс додатку API
- Як створюється інтерфейс взаємодії
- Принципи об'єктно-орієнтованого програмування SOLID
- Контрактне програмування - специфікації інтерфейсів
- Що таке ортогональний API
- Стандарти API - GraphQL, RESTful API, OpenAPI
- Впровадження системи API-менеджменту
- Як організувати пагінацію (pagination)
- Rate Limits - обмеження частоти запитів до API для оптимізації роботи додатка
- Огляд ML
Continuous Delivery
- Внутрішня структура розробки ПО
- Сховище артефактів в репозиторії
- Що таке змінні середовища
- NoOps, Opsless
- Технологія Docker. Як використовувати Docker compose, щоб запустити додаток-контейнер
- Swarm
- Kubernetes
- Service Mesh (Istio)
Continuous Deployment
- Середовище розробки: Preview Env, Development Env, Test Env, Production Env
- Ефективність моделі follow-the-sun
- Швидкість розгортання версії ПЗ і вартість розробки
- A/B, Canary, 0-downtime, Blue-Green Deployment - шаблони розгортання
- Rolling updates - плаваючий метод оновлення ПЗ
Continuous Operation
- Технічна підтримка як частина розробки програмного забезпечення
- Обслуговування клієнтів і доопрацювання програми
- Планування розробки з урахуванням завдань SRE
- Лінії підтримки L1, L2, L3 і розв'язання клієнтських проблем
- Угода про рівень обслуговування SRE, SRE, SLI, SLA, SLO
- Відновлення даних і data backup strategy
- Системи моніторингу прогнозування
- Налаштування сповіщень про збої
Хмарні технології
- Хмарні технології як інструмент розробки
- Ключові технології хмарних сервісів
- Огляд основних хмарних платформ, їх архітектура
- Гібридна хмара - що таке і як з ним працювати
- Створення кластера для розгортання програми
- Робота з географічними зонами
- Апаратна і призначена для користувача віртуалізація
- Технології віртуалізації Docker і Kubernetes
Що вміють випускники курсу:
- Використовувати гілки та працювати в Git, знають стандарти зберігання програмного коду
- Ефективно проводити Release Management, керуючи процесом виходу програмного продукту
- Налаштовувати Quality Gates для SonarQube для оцінки якості коду, створювати користувальницькі ворота якості
- Проводити Code Review для підвищення якості коду програмних продуктів
- Формулювати бізнес-вимоги й перетворювати їх в технічне завдання
- Знають всі етапи життєвого циклу ПО і контролюють якість проходження кожного, починаючи з планування системи, закінчуючи її технічною підтримкою
- Уміють відправляти Pull Request, що є необхідною частиною процесу Code Review, і вносити зміни в код
- Знають принципи TDD (test-driven development) і застосовують їх у своїх проєктах
- Проводять налаштування систем (CI/CD), поєднуючи SonarQube, Jenkins, SonarQube, Github і Nexus для безперервної інтеграції
- Створюють фреймворки тестування і знають відмінності між end-to-end і юніт-тестуванням
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Читайте нас в Telegram, щоб не пропустити анонси нових курсів.
Схожі курси
Навчальний центр
Robot Dreams
Формат
Online
Початок навчання
08.09.2025
Тривалість
19 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Навчальний центр
Web Market It
Формат
Online
Початок навчання
Дата формується
Тривалість
12 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
300 USD за курс
Навчальний центр
SkillsUp
Формат
Online
Початок навчання
Дата формується
Тривалість
5 тижнів
Рівень
Для початківців, Для досвідчених
Мова навчання
Ukrainian
Вартість
12 700 UAH за курс
Навчальний центр
SEDICOMM University - Академія Cisco
Формат
Online
Початок навчання
Дата формується
Тривалість
3 тижнів
Рівень
Для початківців, Для досвідчених
Мова навчання
Ukrainian, English
Вартість
24 USD за курс