• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Sofware Engineering

2024/2025
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Delivered at:
Department of Business Informatics and Operations Management
Course type:
Compulsory course
When:
1 year, 1, 2 module

Instructors


Окусков Иван Сергеевич


Романцов Семен Денисович

Программа дисциплины

Аннотация

Дисциплина посвящена изучению разработки программного обеспечения, уделяя особое внимание различным аспектам, включая жизненный цикл разработки программного обеспечения (SDLC), парадигмы программирования, диаграммы UML, архитектурные принципы и лучшие практики кодирования. Студенты получат всесторонние навыки разработки, управления и сопровождения программных систем. По результатам изучения дисциплины студенты смогут проектировать, разрабатывать и внедрять программные решения для различных прикладных задач.
Цель освоения дисциплины

Цель освоения дисциплины

  • Получение знаний о жизненном цикле разработки программного обеспечения и его этапах
  • Формирование навыков программирования в различных парадигмах с акцентом на объектно-ориентированное программирование
  • Развитие навыков проектирования и внедрения UML-диаграмм для системного моделирования
  • Понимание и применение архитектурных принципов и лучших практик программирования
  • Практический опыт работы с процессами контроля версий, тестирования и непрерывной интеграции/доставки/развертывания(CI/CD/CD)
Планируемые результаты обучения

Планируемые результаты обучения

  • Понимает и документирует этапы жизненного цикла разработки программного обеспечения (SDLC) для выбранной системы
  • Анализирует и определяет приоритетность функциональных и нефункциональных требований к системе
  • Разрабатывает планы проекта высокого уровня и определяет минимальный жизнеспособный продукт (MVP)
  • Понимает и применяет различные парадигмы программирования, в частности объектно-ориентированное программирование
  • Пишет базовые программы, используя правильный синтаксис, управляющие структуры и циклы
  • Определяет и документирует варианты использования, участников и взаимодействия с помощью диаграмм вариантов использования UML
  • Создает диаграммы классов UML для представления структуры и взаимосвязей системы
  • Разрабатывает диаграммы последовательности, состояния и активности UML для моделирования динамических аспектов системы
  • Реализует основные классы и методы в Python на основе диаграмм UML
  • Применяет принципы архитектурного проектирования и выбирает соответствующие стили и шаблоны архитектуры программного обеспечения
  • Придерживается принципов SOLID и других практик программирования, таких как DRY, KISS и YAGNI
  • Использует системы контроля версий, в частности Git, для управления кодом и совместной работы
  • Проводит различные виды тестирования, включая ручное и автоматизированное, и эффективно обрабатывает ошибки и дефекты
  • Настраивает конвейеры непрерывной интеграции и непрерывной доставки (CI/CD) и управляет ими
Содержание учебной дисциплины

Содержание учебной дисциплины

  • 1. Введение в жизненный цикл разработки программного обеспечения (SDLC)
  • 2. Моделирование в UML
  • 3. Введение в программирование, часть 1, часть 2
  • 4. Системы управления версиями кода
  • 5. Непрерывная интеграция / непрерывная поставка / непрерывное развёртывание (CI/CD/CD)
  • 6. Принципы архитектуры и проектирования
  • 7. Лучшие практики программирования: SOLID, DRY, KISS, YAGNI и Закон Деметры
  • 8. Тестирование и обработка ошибок
Элементы контроля

Элементы контроля

  • неблокирующий Текущий контроль работы на семинарах
    Проводится офлайн с показом студентом экрана с выполненным заданием/работающим кодом и объяснением логики решения задачи, если оно необходимо. Объем выполненных заданий должен соответствовать объему заданий в соответствии с планом работы группы.
  • неблокирующий Контрольная работа 1
    Проводится офлайн с использованием текстового редактора Notepad и Python 3.12. Контрольная работа 1 включает в себя 5 заданий. Каждое задание оценивается максимум в 2 балла
  • неблокирующий Контрольная работа 2
    Проводится офлайн с использованием IDE Visual Studio Code и Python 3.12. Контрольная работа 2 включает в себя 5 заданий. Каждое задание оценивается максимум в 2 балла
  • неблокирующий Экзамен
    Проводится офлайн с использованием IDE Visual Studio Code и Python 3.12. Экзамен предусматривает тестовую часть, задания открытой формы и практическую часть. Тест и задания открытой формы выполняются на экзаменационном бланке, практические задания выполняются на компьютере в аудитории или на собственном компьютере студента. Число тестовых заданий, заданий открытой формы и практических заданий 4, 2 и 2 соответственно. Максимальный балл за тестовое задание равен 1, для заданий открытой формы 2, для практических заданий 3. На экзамен выделяется 80 минут.
  • неблокирующий Практические задания (для самостоятельного выполнения вне семинара)
    Описание заданий изложено в прикрепленном файле
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 2nd module
    0.1 * Контрольная работа 1 + 0.1 * Контрольная работа 2 + 0.3 * Практические задания (для самостоятельного выполнения вне семинара) + 0.2 * Текущий контроль работы на семинарах + 0.3 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Баженова, И. Ю. Введение в программирование : учебное пособие / И. Ю. Баженова, В. А. Сухомлин. — 2-е изд. — Москва : ИНТУИТ, 2016. — 411 с. — ISBN 5-94774-599-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100695 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Северенс, Ч. Введение в программирование на Python : учебное пособие / Ч. Северенс. — 2-е изд. — Москва : ИНТУИТ, 2016. — 231 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100703 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Рекомендуемая дополнительная литература

  • Head First. Git: Пер. с англ. - 978-5-9775-1777-5 - Ганди Р. - 2023 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/bookshelf/389658 - 389658 - iBOOKS
  • Мейер, Б. Объектно-ориентированное программирование и программная инженерия : учебное пособие / Б. Мейер. — 2-е изд. — Москва : ИНТУИТ, 2016. — 285 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100271 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Авторы

  • Романцов Семен Денисович
  • Будько Виктория Александровна