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) 1. dismissed 2. dismissed 3. dismissed
Неделя №3 25/11/2024 (2 пары) Базовые методологии разработки ПО (ч.1 / продолжение) + Базовые методологии разработки ПО (ч. 2) 4. dismissed 5. dismissed 6. dismissed
Неделя №4 09/12/2024 (2 пары) Семейство гибких методологий + CI/CD 7. dismissed 8. dismissed 9. dismissed
Неделя №5 ??? (2 пары) Принципы проектирования ПО, ч.1 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.Глижинский Вячеслав Александрович
Итого 10 пар

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

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

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

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

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

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

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

Готовое эссе присылайте на почту [email protected], обязательно укажите тему письма "Отчетное эссе Методологии разработки", а в теле письма укажите свое ФИО и номер группы.

Устный опрос

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

Темы устного опроса - лекции №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