• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2019/2020

Технологии программирования

Статус: Дисциплина общефакультетского пула
Когда читается: 1, 2 модуль
Язык: русский
Кредиты: 2
Контактные часы: 58

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

Аннотация

Курс состоит из лекций и семинарских занятий. Лекционный материал включает краткий обзор важных с точки зрения процесса разработки понятий: методы отладки и этапы исправления дефектов ПО, критерии хорошей и неудачной архитектуры, этапы проектирования и разработки, антипаттерны, методологии разработки. Семинарский материал состоит из детального обзора паттернов проектирования, а также рассказа о важных инструментах программиста: системы контроля версий, системы сборки, gdb, valgrid, развертывание и настройка систем непрерывной интеграции. Цель курса — дать слушателям, которые параллельно изучают языки программирования, алгоритмы и т. п., информацию и дополнительные знания, какими инструментами можно пользоваться и на что обращать внимание при создании рыночного программного продукта.
Цель освоения дисциплины

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

  • Рассматриваются общие подходы к созданию программных продуктов. Кратко охватываются вопросы архитектуры ПО, проектирования ПО, паттернов проектирования, devops
Планируемые результаты обучения

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

  • Знать основы проектирования ПО
  • Знать основы и инструменты разработки ПО
Содержание учебной дисциплины

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

  • Паттерны проектирования
    a) порождающие b) структурные c) поведенческие
  • Антипаттерны
    a) в ООП b) в кодировании c) методологические d) управления конфигурацией e) прочие
  • Инструменты разработки ПО
    a) основы bash, простейшие скрипты b) системы контроля версий, примеры c) системы сборки, рассказ о cmake d) gdb, valgrind e) инструменты для кросс-компиляции f) инструменты Сontinious Integration / Delivery / Deployment
  • Критерии хорошей архитектуры
    a) эффективность i. надежность ii. безопасность iii. производительность iv. масштабируемость b) гибкость c) расширяемость d) другие
  • Критерии неудачной архитектуры
    a) жесткость b) хрупкость c) неподвижность
  • Принципы проектирования
    a) high cohesion + low coupling b) SOLID c) закон Деметры
  • Этапы проектирования и разработки
    a) формирование требований b) разработка концепции c) техническое задание d) эскизный проект e) технический проект f) рабочая документация g) поставка / ввод в действие h) сопровождение
  • Методологии разработки
    a) каскадная модель b) V-модель c) инкрементная модель d) итерационная модель e) спиральная модель f) RAD-модель g) гибкие методологии
  • Этапы исправления дефектов ПО
    a) воспроизведение b) анализ c) дизайн исправления d) исправление e) валидация исправления f) интеграция исправления g) дополнительные валидации
Элементы контроля

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

  • неблокирующий Работа не семинарах
  • неблокирующий Экзамен
Промежуточная аттестация

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

  • Промежуточная аттестация (2 модуль)
    0.3 * Работа не семинарах + 0.7 * Экзамен
Список литературы

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

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

  • Лаврищева Е. М. - ПРОГРАММНАЯ ИНЖЕНЕРИЯ И ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ СЛОЖНЫХ СИСТЕМ 2-е изд., испр. и доп. Учебник для вузов - М.:Издательство Юрайт - 2019 - 432с. - ISBN: 978-5-534-07604-2 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmnaya-inzheneriya-i-tehnologii-programmirovaniya-slozhnyh-sistem-436514

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

  • Барков И.А. - Объектно-ориентированное программирование: учебник - Издательство "Лань" - 2019 - 700с. - ISBN: 978-5-8114-3586-9 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/119661
  • Зыков С.В. - Введение в теорию программирования. Объектно-ориентированный подход - Национальный Открытый Университет "ИНТУИТ" - 2016 - 188с. - ISBN: 5-9556-0009-4 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100717
  • Сысоев А.В., Козинов Е.А., Мееров И.Б. - Технологии программирования на базе Microsoft Solutions Framework - Национальный Открытый Университет "ИНТУИТ" - 2016 - 154с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100518