This is an old revision of the document!


Курс Проектирование программных систем (осень 2020)

Перейти в раздел Библиотека по методам проектирования

Лекционный курс, состав тем:

  • Анализ и проверка требований в гибких и предписывающих моделях разработки ПО
  • Моделирование программного обеспечения с применением UML 2, потоков данных, структурных схем и др.
  • Методы структурного проектирования архитектуры ПО
  • Объектно-ориентированные методы и паттерны в проектировании
  • Микросервисная архитектура и технологии облачных приложений
  • Специальные вопросы проектирования: проектирование UI, баз данных, применение MDSD и Low-code подходов

Реализация учебного проекта, дополнительно освещаемые темы:

  • Процессы и практики реализации проектов
  • Инструменты разработки и ведения работ
  • Реализация CI/CD и элементы DevOps

Спецсеминары, проводимые в рамках курса

  • Спецсеминар по моделированию на UML 2
  • Спецсеминар по повторно-используемому дизайну и паттернам. SOLID. GRASP
  • Спецсеминар по разработке cloud-native приложений. Docker + kubernetes

Дата проведения коллоквиума: ТОДО

Коллоквиум включает:

  • Подготовку реферата и представление доклада по выбору по темам курса
  • Ответы на вопросы по билетам

Примерный план доклада выложен здесь

Для выбора темы нужно ТОДО

В проекте нужно применить изученные методы проектирования на практике. Выполняется в команде из 1-2 чел. по одному из направлений:

  • приложения класса предприятия на языке Java
  • микросервисы и облачные приложения на Python
  • приложения с открытым кодов на C++

Увеличение размера команды возможно по согласованию с преподавателем.

Выбрать тему, провести анализ требований, определить заинтересованные стороны, договориться о кросс-проверке проекта.

Реализовать версию системы в соответствии с принятым процессом разработки.

Провести рецензирование полученного от другой команды проекта.

Получить рецензию на свой проект и внести доработки.

  • рабочая версия ПО в соответствии с постановкой задачи
  • репозиторий с кодом, документацией и историей выполнения согласно принятым процессам
  • результаты кросс-тестирования
  • выступление с докладом и защита проекта

ТОДО Темы будут уточнены позднее. Можно предложить свою тему. Требования: можно сделать за 2-3 недели, есть заитересованные пользователи.

Итоговая оценка по курсу формируется на основе успеваемости в семестре. Решение о выставлении итоговой оценки без ответа на экзамене остается за преподавателем.

При выставлении итоговой оценки учитываются результаты коллоквиума, выполнение заданий по проектам и участвие в спецсеминарах.

Для тех, у кого разработка ПО не является профильным предметом.

Условия. Посещение всех кроме одной лекций с обязательной сдачей коллоквиума и спецсеминаров. По ним формируется итоговый балл.

Посещать семинары и выполнять проекты нет необходимости.

Условия. Сдача коллоквиума и выполнение заданий по проекту. По ним формируется итоговый балл.

Участие в спецсеминарах не обязательно, по поможет повысить итоговый балл.

ТОДО

  1. Книга по разработке ПО
  2. Книга по ОО проектированию и паттернам
  3. По микросервисной архитектуре
  4. По UML 2

Интернет источники

  1. разработка облачных приложений
  2. расширенные вопросы применения UML
  3. по MDSD и Low-code
  4. по проектированию UI

Хританков Антон Сергеевич, автор курса

Межуев Игорь Юрьевич

Андрианов Андрей Иванович