Бакалавриат
2024/2025
Конструирование программного обеспечения
Статус:
Курс обязательный (Программная инженерия (очно-заочное обучение))
Направление:
09.03.04. Программная инженерия
Когда читается:
2-й курс, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
5
Программа дисциплины
Аннотация
Дисциплина “Конструирование программного обеспечения” является одной из ключевых дисциплин из цикла курсов подготовки современного специалиста в области информационных технологий, т.к. дает полную картину всего цикла промышленной разработки программного обеспечения с использованием современных методологий, технологий и инструментария разработки. В рамках данного курса рассматриваются все этапы разработки и закладываются основы теоретического и практического подходов к самому процессу разработки, как к четкой последовательности фаз, приводящей к гарантированному результату в заданных временных рамках и с заданным качеством.
Цель освоения дисциплины
- Изучение основных понятий разработки программного обеспечения, понятия качества и критериев качества
- Изучение жизненного цикла разработки программного обеспечения, а также наиболее распространенных идеологий и методологий построения жизненного цикла
- Изучение требований к разрабатываемому программному обеспечению, их виды и роль в жизненном цикле
- Изучение основных принципов и стратегий при разработке программного обеспечения, а также наиболее часто встречающиеся ошибки управления и развития программного проекта
- Изучение проектирования программного обеспечения, архитектуры и дизайна программного обеспечения
- Изучение объектно-ориентированного проектирования, применяемых приемов и методов
- Моделирование программных проектов с использованием UML
- Изучение инструментальных средств разработки программного обеспечения
- Изучение метрик процесса разработки и мировых стандартов качества О
Планируемые результаты обучения
- Владеть методами и инструментальными средствами разработки программ
- Знает жизненный цикл программного продукта
- Знает классические принципы проектирования
- Знает методы проектирования: Абстракция, Инкапсуляция, Декомпозиция (модульность), Иерархическая организация, Типизация, Повторное использование
- Знает понятия каскадная модель: классическая; с повторениями; прототипирования; Итерационная (инкрементная) модель
- Знает предметную область курса «Программная инженерия»
- Знает способы выражения результатов проектирования
- Знает требования системные/разработчика (Dтребования)
- Знает факторы и критерии качества программного обеспечения
- Знать основные факты, концепции, принципы и теории, связанные с промышленным процессом разработки ПО
- Уметь подбирать наиболее подходящие методы и техники и применять их при разработке программ, с учетом различных аспектов поставленной задачи, таких как ограничение по времени, человеческим ресурсам, качеству
Содержание учебной дисциплины
- Введение в программную инженерию
- Понятие качества ПО. Критерии качества
- Жизненный цикл программного продукта и его этапы
- Модели жизненного цикла и их применимость
- Требования заказчика/разработчика. Классификация требований.
- Введение в Проектирование ПО. Архитектура. Дизайн.
- Объектно-ориентированное проектирование. Ортогональность
- Методы проектирования
- Объекты. Отношения между объектами
- Классы. Интерфейс. Тип объекта
- Отношения между классами
- Полиморфизм. Множественное наследование. Мультиметоды.
- Операции приведения типа. Инстанцирование (шаблона).
- Объектно-ориентированный анализ
- Основные приемы защиты от ошибок
- Регулярное тестирование. Автоматизация тестирования
- Системы контроля версий (Version Control System)
- Системы отслеживания запросов (Bug-tracking System)
- Моделирование с использованием UML.
- Метрики процесса разработки ПО
- Менеджмент качества
- Мировые стандарты качества
Промежуточная аттестация
- 2024/2025 2nd module0.4 * Практические домашние задания - модуль 2 + 0.6 * Экзамен - модуль 2
Список литературы
Рекомендуемая основная литература
- Котляров, В. П. Основы тестирования программного обеспечения : учебное пособие / В. П. Котляров. — 2-е изд. — Москва : ИНТУИТ, 2016. — 248 с. — ISBN 5-9556-0027-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100352 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Black, R. (2011). Pragmatic Software Testing : Becoming an Effective and Efficient Test Professional. Chichester: Wiley. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=364274