Code Monkey home page Code Monkey logo

methodologies_hse_2022's Introduction

year status progress

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

ФКН ВШЭ, 2022/2023

План занятий

✅ Введение

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

✅ Лекция 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
  • Диаграмма вариантов использования
  • Диаграмма классов
  • Диаграмма размещения
  • Диаграмма последовательности
  • Диаграмма деятельности
  • Диаграмма состояний

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

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

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

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

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

  • Требуется подготовить презентацию
    • В презентации обязательны ссылки на источники
  • Доклад может содержать информацию по одному или нескольким пунктам (лучше всего) из списка ниже:
    • Обзор научной статьи / доклада на научной конференции на тему "методологии разработки ПО"
      • Нужно не просто пересказать статью / доклад, а провести его анализ: выделить сильные и слабые стороны, сомнительные тезисы и т.д.
    • Обзор публикации / доклада / выступления на конференции средней / крупной IT-компании с рассказом о том, как у них в компании устроены процессы разработки
      • Опять же, не просто пересказ, нужно провести анализ
      • В идеале рассматривать материалы из серии "как было" - "что сделали" - "как стало", и провести анализ, что и почему стало лучше
    • Обзор инструментов автоматизации процессов разработки / управления проектами
      • Опять же, важно провести анализ
      • Приоритет малоизвестным или сложным для освоения решениям (не нужно рассказывать про trello или рассказывать, как настроить простейший CI/CD в github actions)
        • Например, можно подготовить подробный доклад про возможности и настройку Jenkins
    • Обзор статей / докладов на тему IaaC и других современных трендов в организации процессов управления инфраструктурой
  • Презентацию + краткое описание доклада + ссылки на все источники нужно залить в этот файл README.md через pull-request
Неделя Даты Лекция Докладчик(и) Тема доклада Ссылка на материалы
Неделя 1 13.09.2022 (1 пара) Введение + Общие понятия о методологиях разработки ПО Нет докладов
Неделя 2 04.10.2022 (2 пары) Жизненный цикл проектирования, разработки и внедрения ПО + Базовые методологии разработки ПО (ч.1) Нет докладов
Неделя 3 11.10.2022 (2 пары) Базовые методологии разработки ПО (ч.1 / продолжение) + Базовые методологии разработки ПО (ч. 2) Нет докладов
Неделя 4 08.11.2022 (2 пары) Семейство гибких методологий Битюгов Алексей GRASP паттерны Презентация в Google Slides, материалы
Неделя 5 17.01.2023 (2 пары) CI/CD + Принципы проектирования ПО, ч.1 Нет докладов
Неделя 6 24.01.2023 (2 пары) Лекция №9 (Докладчик №1) (Докладчик №2)
Неделя 7 31.01.2023 (2 пары) Лекция №10 (Докладчик №3) (Докладчик №4)
Неделя 8 14.02.2023 (2 пары) Нет лекции (Докладчик №5) (Докладчик №6) (Докладчик №7)
Неделя 9 28.02.2023 (2 пары) Нет лекции (Докладчик №8) (Докладчик №9) (Докладчик №10)
Неделя Х 07.03.2023 (2 пары*) Нет лекции (Докладчик №14) (Докладчик №15) (Докладчик №16)
Неделя 10 14.03.2023 (2 пары) Нет лекции (Докладчик №11) (Докладчик №12) (Докладчик №13)
Неделя 11 21.03.2023 (3 пары) Устный опрос
Итого 22 пары

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

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

Устный опрос

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

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

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

methodologies_hse_2022's People

Contributors

demist avatar axhse avatar robi2810 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.