Методы разработки ПО.
Лекции
- ООП и проектирование кода. Принципы SOLID.
- Шаблоны проектирования. Часть 1.
- Шаблоны проектирования. Часть 2.
- Архитектура пользовательского интерфейса.
- Микросервисная архитектура.
Лабораторные задания
-
Лабораторная работа 1. Используя принципы ООП разработать монолитное приложение управления складом (предметную область можно изменить, связав ее с курсовой работой, производственной работой, увлечением или проектом по ТППО). Срок: 15.03
- Разработать и описать проект архитектуры (высокоуровневый + модульный). Согласовать с инструктором.
- Минимум иметь следующие сущности и возможности для их управления (добавление/изменение/удаление):
-
загрузка;
-
отгрузка;
-
клиенты;
-
поставщики;
-
остаток.
-
Возможность установки связей между и загрузкой и поставщиками и отгрузкой и клиентами.
-
Возможность просмотра остатков.
-
Проверки различных пограничных случаев: невозможость загрузить на склад, если он заполнен, невозможность отгрузить клиенту, если нет нужно количества товара на складе.
-
Приложение должно быть протестировано с помощью автоматических тестов.
-
Лабораторная работа 2. Привести приложение из 1 к принципами SOLID. Срок: 01.04
-
Лабораторная работа 3. Перевести или дописать часть логики из 1 с использованием шаблонов проектирования (минимум 4). Срок: 15.04
-
Лабораторная работа 4. Применить один из шаблонов к пользовательскому интерфейсу. Срок: 01.05
-
Лабораторная работа 5. Перевести приложение из 1 на микросервисы (иметь по крайней мере 4 микросервиса). Срок: 01.06
Темы докладов
- Гибкая методология разработки (agile model).
- Разработка через тестирование (test-driven development).
- Использование контейнеров в разработке (docker, podman, K8s и др.).
- Разработка ПО для микроконтроллеров.
- Мобильная разработка под ОС linux.
- Разработка с помощью low-code платформ.
- Инструменты анализа UX ПО.
- Использование CI/CD в мобильной разработке.
- Кроссплатформенная разработка мобильных приложений.
- Инструменты проектирования ПО.
- Построение распределенных систем с помощью Apache Hadoop.
- Программные каркасы для создания приложений.
- Программные брокеры сообщений (Apache Kafka, ZeroMQ и др.).
Презентация доклада должна содержать 20-30 слайдов.
Расписание докладов
19.02.2021
- Гибкая методология разработки (agile model) — Христофоров Егор, Луценко Даниил.
- Разработка через тестирование (test-driven development) — Воеводин Павел, Кустов Дмитрий.
05.03.2021
- Использование контейнеров в разработке (docker, podman, K8s и др.) — Тельминов Александр, Абрамов Егор.
- Разработка ПО для микроконтроллеров — Басаргин Клим.
19.03.2021
- Мобильная разработка под ОС linux — Шамарин Ростислав.
- Разработка с помощью low-code платформ — Диков Евгений.
02.04.2021
- Инструменты анализа UX ПО — Михайлов Игорь.
- Использование CI/CD в мобильной разработке — Дуплий Дмитрий.
16.04.2021
- Кроссплатформенная разработка мобильных приложений — Мокерова Дарья, Трифонов Алексей.
- Инструменты проектирования ПО — Здоровеннов Максим.
30.04.2021
- Построение распределенных систем с помощью Apache Hadoop — Чернышов Александр, Логвинов Кирилл.
- Программные каркасы для создания приложений — Иванов Лев, Гальминас Никита.
14.05.2021
- Программные брокеры сообщений (Apache Kafka, ZeroMQ и др.) — Мадрахимова Дарья.