Skip to content

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

Notifications You must be signed in to change notification settings

demist/methodologies_hse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

year status progress

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

ФКН ВШЭ, 2024/2025

[Рабочая ведомость по курсу /// TODO]

План занятий

🔥 Введение

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

🔥 Лекция 1

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

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

🔥 Лекция 2

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

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

Лекция 3

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

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

Лекция 4

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

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

Лекция 5

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

  • Спиральная модель
    • Общее описание
    • Плохие примеры
    • Хорошие примеры
  • 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 человек. Слотов на доклады в расписании - 34. Этого хватает с запасом на всех. Если вы не запишетесь вовремя, слоты пройдут "впустую", а потом вам не хватит слота на доклад - то выступить уже не получится, можно будет только сдать материалы по докладу со штрафом в 40% оценки. Дополнительных слотов для "опоздавших" не предусмотрено.

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

Понедельный план-график

Неделя Даты Лекция Докладчик(и) Тема доклада Ссылка на материалы
Неделя №1 07/10/2024 (2 пары) Знакомство + Введение + Общие понятия о методологиях разработки ПО + Жизненный цикл проектирования, разработки и внедрения ПО Нет докладов
Неделя №2 21/10/2024 (2 пары) 1. 2. 3.
Неделя №3 4. 5. 6.
Неделя №4 7. 8. 9.
Неделя №5 10. 11. 12.
Неделя №6 13. 14. 15.
Неделя №7 16. 17. 18.
Неделя №8 19.Комкова Полина Дмитриевна 20. 21.
Неделя №9 22. 23. Быков Дмитрий Александрович 24.
Неделя №10 25. 26. 27. 28. 29.
Неделя №11 30. 31. 32. 33. 34.
Итого 4 пары

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

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

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

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

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

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

‼️ Дедлайн по эссе будет в конце февраля - начале марта. Точная дата будет объявлена в начале 3 модуля

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

Устный опрос

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

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

‼️ Устный опрос будет в конце курса: в конце 3 модуля

Вы можете сдавать в любой день по вашему желанию, но рекомендую лучше сдавать 11.03 (пока есть слоты), чтобы в сессию нам не пришлось сидеть до ночи, пока все не сдадут.

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

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

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

  • Оценка за доклады - ориентировочно XX
  • Оценка за эссе - ориентировочно XX
  • Оценка за устный опрос - XX
  • Итоговая оценка за курс: XX (оптимистично), XX (пессимистично)

About

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

Topics

Resources

Stars

Watchers

Forks