Skip to content

About

НИС "Методологии разработки ПО", ФКН ВШЭ, Старичков Н.Ю.

Topics

Resources

Stars

34 stars

Watchers

3 watching

Forks

Latest commit

 

History

713 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

year status progress

НИС "Методологии разработки ПО"

ФКН ВШЭ, 2026/2027

План занятий

План теоретической части курса

✅ Введение

  • Общая идея курса
  • Информация о курсе

✅ Лекция 1

Общие понятия о методологиях разработки ПО

  • Что такое методология разработки ПО
    • Общее понятие
    • Основные элементы
  • Факторы, влияющие на выбор методологии
    • Внешние факторы
    • Внутренние факторы

✅ Лекция 2

Жизненный цикл проектирования, разработки и внедрения ПО

  • Этапы жизненного цикла проектирования, реализации и внедрения ПО
    • Формирование требований
    • Разработка концепции
    • Техническое задание
    • Эскизный проект
      • Понятие о MVP и примеры MVP
    • Технический проект
    • Рабочая документация
    • Поставка / ввод в действие
      • Варианты поставки и развертывания
    • Сопровождение

🔥 Лекция 3

Базовые методологии разработки ПО (ч.1)

  • Каскадная модель
    • Общее описание
    • Хорошие примеры
    • Плохие примеры
  • V-модель
    • Общее описание
    • Хорошие примеры
    • Плохие примеры

Лекция 4

Базовые методологии разработки ПО (ч.2)

  • Инкрементная модель
    • Общее описание
  • Итерационная модель
    • Общее описание
    • "Тонкие" примеры
    • Плохие примеры
    • Хорошие примеры

Лекция 5

Базовые методологии разработки ПО (ч. 3)

  • Спиральная модель
    • Общее описание
    • Плохие примеры
    • Хорошие примеры
  • RAD-модель
    • Общее описание

Лекция 6

Семейство гибких методологий

  • Общее понятие о семействе гибких методологий
  • Agile-манифест
    • Что означает и как использовать
    • Роль agile-манифеста в не-agile методологиях
  • SCRUM
    • Общая схема методологии
    • Плохой пример
    • Общие соображения, когда работает плохо
    • Хороший пример
    • Общие соображение, когда работает хорошо
  • KANBAN
    • Общая схема методологии
    • Плохой пример
    • Общие соображения, когда работает плохо
    • Хороший пример
    • Общие соображения, когда работает хорошо

Лекция 7

CI/CD

  • Понятие о CI/CD/CD
  • Зачем это вообще нужно?
  • Как это устроено?
  • Роль CI/CD/CD в процессе разработки ПО
  • Пример "как это работает у нас"

Лекция 8

Принципы проектирования ПО, ч.1

  • Что такое архитектура ПО?
  • Что такое проектирование ПО?
  • По каким критериям можно оценить архитектуру?
    • Критерии хорошей архитектуры
      • Эффективность
      • Гибкость
      • Расширяемость
      • Масштабируемость, тестируемость, возможность повторного использования, сопровождаемость
    • Критерии неудачной архитектуры
      • Жесткость
      • Хрупкость
      • Неподвижность
  • Принцип High Cohesion / Low Coupling

Лекция 9

Принципы проектирования ПО, ч.2

  • Принципы SOLID
  • Закон Деметры
  • YAGNI
  • DRY / DIE
  • KISS

Лекция 10

Инструменты моделирования и проектирования - UML

  • Что такое UML?
  • Базовое понятие о нотации UML
  • Диаграмма вариантов использования
  • Диаграмма классов
  • Диаграмма размещения
  • Диаграмма последовательности
  • Диаграмма деятельности
  • Диаграмма состояний

Лекция 11

Антипаттерны

  • Понятие о паттернах и антипаттернах
  • Разные группы антипаттернов
    • Антипаттерны в ООП
    • Антипаттерны в кодировании
    • Методологические антипаттерны
    • Антипаттерны управления конфигурацией
    • Другие

Правила оценивания

Отчетные мероприятия

Научный доклад

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

Основные требования к докладу:

  • Требуется подготовить презентацию
    • В презентации обязательны ссылки на источники
  • Доклад может содержать информацию по одному или нескольким пунктам (лучше всего) из списка ниже:
    • Обзор научной статьи / доклада на научной конференции на тему "методологии разработки ПО"
      • Нужно не просто пересказать статью / доклад, а провести его анализ: выделить сильные и слабые стороны, сомнительные тезисы и т.д.
    • Обзор публикации / доклада / выступления на конференции средней / крупной IT-компании с рассказом о том, как у них в компании устроены процессы разработки
      • Опять же, не просто пересказ, нужно провести анализ
      • В идеале рассматривать материалы из серии "как было" - "что сделали" - "как стало", и провести анализ, что и почему стало лучше
    • Обзор инструментов автоматизации процессов разработки / управления проектами
      • Опять же, важно провести анализ
      • Приоритет малоизвестным или сложным для освоения решениям (не нужно рассказывать про trello или рассказывать, как настроить простейший CI/CD в github actions)
        • Например, можно подготовить подробный доклад про возможности и настройку Jenkins
    • Обзор статей / докладов на тему IaaC и других современных трендов в организации процессов управления инфраструктурой
  • Презентацию + краткое описание доклада + ссылки на все источники нужно залить в этот файл README.md через pull-request

‼️ 🛑 ОБРАТИТЕ ВНИМАНИЕ: на НИС записано 30 человек. Слотов на доклады в расписании - 33. Этого хватает с запасом на всех. Возможно, на крайней неделе курса будут добавлены еще несколько слотов, но это не гарантируется. Если вы не запишетесь вовремя, слоты пройдут "впустую", а потом вам не хватит слота на доклад - то выступить уже не получится, можно будет только сдать материалы по докладу со штрафом в 40% оценки. Дополнительных слотов для "опоздавших" не предусмотрено.

Можно занимать слоты уже сейчас - вписывая свое ФИО. К дате доклада должно быть указано не только ФИО, но и тема доклада + загружены все материалы и добавлена ссылка на них..

План-график

Неделя Даты Лекция Докладчик(и) Тема доклада Ссылка на материалы
Неделя №1 15.09 (1 пара) Знакомство + Введение + Общие понятия о методологиях разработки ПО нет докладов
Неделя №2 29.09 (1 пара) Лекция №2: Жизненный цикл проектирования, разработки и внедрения ПО 1. слот сгорел 2. слот сгорел 3. слот сгорел :---: :---:
Неделя №3 :---: :---: 4. 5. Елфимов Аскар Артурович 6. :---: :---:
Неделя №4 :---: :---: 7. 8. Данилов Даниил Дмитриевич 9. Тменов Георгий Анатольевич :---: :---:
Неделя №5 :---: :---: 10. Кармокова Динара Зауровна 11. Зуев Альберт Марселевич 12. Кругляк Алина Михайловна 10. Предварительно: "Автоматизированное тестирование как способ повышения надежности разработки ПО" 11. Особенности разработки систем с высокими требованиями к надежности
Неделя №6 :---: :---: 13. Шарыгин Святослав Владимирович 14. Михаил Разаков 15. Ерехинский Александр Анатольевич 14. Предварительно: «Расширяемая архитектура компиляторов: когда модульность и повторное использование окупают свою сложность» :---:
Неделя №7 :---: :---: 16. Назаров Андрей Юрьевич 17. Ляльков Андрей Алексеевич 18. Клименко Иван Сергеевич :---: :---:
Неделя №8 :---: :---: 19. Островский Андрей Владимирович 20. Сахненко Андрей Дмитриевич 21. Князев Тимур Константинович 22. Гредягин Дмитрий Владимирович 23. Убушаев Никита Александрович :---: :---:
Неделя №9 :---: :---: 24. Касаткин Александр Денисович 25. Ляпин Дмитрий Андреевич 26. Садиков Руслан Айратович 27. Есаулов Александр Владимирович 28. Федоров Павел :---: :---:
Неделя №10 :---: :---: 29. Мамутов Александр 30. Абдулнасыров Раиль 31. Алтухов Максим 32. Ложечко Мария 33. :---: :---:

Подготовленные, но не рассказанные доклады

Если вы не успели рассказать доклад, но при этом хотите заработать какие-то баллы за него - вы можете подготовить презентацию (подробную) для выбранной вами темы и выложить ее в список ниже.

Если доклад подготовлен, но не рассказан, то вы получите оценку за него со штрафом в 40% (т.е. оценка за доклад будет умножена на 0.6)

В формате ФИО - Тема - Ссылка на материалы

Отчетное эссе

3-4 страничное эссе с обзором докладов, обсуждавшихся на семинарской части

‼️ За пару недель до конца модуля №3

Готовое эссе присылайте на почту nikita.starichkov@gmail.com, обязательно укажите тему письма "Отчетное эссе Методологии разработки", а в теле письма укажите свое ФИО и номер группы.

Планируется, что эссе будут проверены к устному опросу

Устный опрос

На знание базовых методологий разработки, их сильных и слабых сторон

Темы устного опроса - лекции №3, №4, №5, №6 (Базовые методологии разработки ПО (ч.1, ч.2) + Семейство гибких методологий)

‼️ Крайняя неделя модуля №3

Запись на слот для устного опроса по TODO.

После выбора слота вам на указанную при бронировании почту придет письмо с ссылкой на Google Meet. Не опаздывайте, слоты стоят впритык -- лучше подключаться по ссылке за 1-2 мин до вашего времени. Если преподаватель еще не подключился -- "пинговать" не нужно, просто ждите "во встрече".

Формула оценки

Итоговая оценка = Математическое округление (0.4 * Научный доклад + 0.3 * Отчетное эссе + 0.3 * Устный опрос)

Сроки выставления оценок:

  • Оценка за доклады - TODO
  • Оценка за эссе - TODO
  • Оценка за устный опрос - TODO

About

НИС "Методологии разработки ПО", ФКН ВШЭ, Старичков Н.Ю.

Topics

Resources

Stars

34 stars

Watchers

3 watching

Forks

Contributors