Бакалавриат
2026/2027





Эксплуатация и надежность программных систем
ID 1139388
Статус:
Курс по выбору (Программная инженерия)
Кто читает:
Базовая кафедра Т-Банка
Где читается:
Факультет компьютерных наук
Когда читается:
4-й курс, 1-3 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
10
Контактные часы:
96
Программа дисциплины
Цель освоения дисциплины
- Сформировать у студентов системное понимание ключевых парадигм программирования и умение осознанно выбирать подходящий подход при решении практических задач разработки.
- Развить способность проектировать программные системы с применением принципов дизайна программного обеспечения, шаблонов проектирования и методов моделирования предметной области.
- Обеспечить освоение профессиональных стандартов написания кода, включая практики чистого кода, обработки исключений и организации тестирования программных систем.
- Сформировать базовые компетенции в области многопоточного программирования, необходимые для разработки надёжных и производительных программных решений.
- Познакомить студентов с процессами жизненного цикла разработки программного обеспечения и методами работы с требованиями, обеспечив готовность к профессиональной деятельности в команде разработчиков.
Планируемые результаты обучения
- Студент умеет применять принципы объектно-ориентированного и функционального программирования при проектировании программных систем, выбирая подходящую парадигму в зависимости от решаемой задачи.
- Студент знает ключевые принципы дизайна программного обеспечения (SOLID, DRY, KISS и др.) и умеет обосновывать архитектурные решения на их основе.
- Студент умеет применять современные шаблоны проектирования (порождающие, структурные, поведенческие) для решения типовых задач разработки, а также распознавать и устранять антипаттерны в существующем коде.
- Студент умеет проектировать модель предметной области, выделять сущности, их атрибуты и связи, используя подходы дата-ориентированного программирования и принципы моделирования предметной области.
- Студент умеет организовывать корректную обработку исключений в программных системах, обеспечивая надёжность и предсказуемость поведения приложения в нештатных ситуациях.
- Студент умеет писать чистый, читаемый и поддерживаемый код, следуя профессиональным стандартам именования, структурирования и документирования программного обеспечения.
- Студент знает основные способы тестирования программного обеспечения (модульное, интеграционное, нагрузочное и др.) и умеет разрабатывать тест-кейсы для верификации корректности программных решений.
- Студент знает основы многопоточного программирования, умеет выявлять типовые проблемы параллельного исполнения (состояние гонки, дедлоки, голодание) и применять высокоуровневые шаблоны многопоточного программирования для их предотвращения.
- Студент знает этапы жизненного цикла разработки программного обеспечения, понимает роли участников процесса разработки и умеет ориентироваться в основных методологиях (Agile, Waterfall, Scrum и др.).
- Студент умеет анализировать и формализовывать требования к программному продукту, работать с техническим заданием, выявлять противоречия и неполноту требований, а также документировать их в структурированном виде.
Содержание учебной дисциплины
- Модуль 1. Парадигмы программирования
- Модуль 2. Принципы и шаблоны проектирования
- Модуль 3. Качество и тестирование программного обеспечения
- Модуль 4. Многопоточность и асинхронность
- Модуль 5. Командная разработка программного обеспечения
Элементы контроля
- Домашние задания 1-2 модулейСредняя оценка по всем ДЗ 1-2 модулей
- Домашние задания 3 модуляСредняя оценка по всем ДЗ 3 модуля
- Экзамен 3 модуляЭкзамен блокирующий
- Экзамен за 1-2 модули
Промежуточная аттестация
- 2026/2027 2nd moduleОценка за первый семестр = 0,6 * дз + 0,4 * экз ДЗ - средний балл по дз 1-2 модулей блокирующий экзамен
- 2026/2027 3rd moduleОценка за третий модуль = 0,6 * дз + 0,4 * экз ДЗ - средний балл по дз 3 модуля блокирующий экзамен
Список литературы
Рекомендуемая основная литература
- Применение UML 2.0 и шаблонов проектирования : введение в объектно - ориентированный анализ, проектирование и итеративную разработку : пер. с англ., Ларман, К., 2018
- Разработка требований к программному обеспечению : пер. с англ., Вигерс, К., 2019
- Чистый код. Создание, анализ и рефакторинг : пер. с англ., Мартин Р., 2012
- Шаблоны корпоративных приложений : пер. с англ., , 2019
Рекомендуемая дополнительная литература
- Экстремальное программирование : разработка через тестирование, пер. с англ. П. Анджан, 224 с., Бек, К., 2003