• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Конструирование программного обеспечения

2021/2022
Учебный год
RUS
Обучение ведется на русском языке
5
Кредиты
Статус:
Курс обязательный
Когда читается:
2-й курс, 2 модуль

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

Аннотация

Дисциплина “Конструирование программного обеспечения” является одной из ключевых дисциплин из цикла курсов подготовки современного специалиста в области информационных технологий, т.к. дает полную картину всего цикла промышленной разработки программного обеспечения с использованием современных методологий, технологий и инструментария разработки. В рамках данного курса рассматриваются все этапы разработки и закладываются основы теоретического и практического подходов к самому процессу разработки, как к четкой последовательности фаз, приводящей к гарантированному результату в заданных временных рамках и с заданным качеством.
Цель освоения дисциплины

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

  • Изучение основных понятий разработки программного обеспечения, понятия качества и критериев качества
  • Изучение жизненного цикла разработки программного обеспечения, а также наиболее распространенных идеологий и методологий построения жизненного цикла
  • Изучение требований к разрабатываемому программному обеспечению, их виды и роль в жизненном цикле
  • Изучение основных принципов и стратегий при разработке программного обеспечения, а также наиболее часто встречающиеся ошибки управления и развития программного проекта
  • Изучение проектирования программного обеспечения, архитектуры и дизайна программного обеспечения
  • Изучение объектно-ориентированного проектирования, применяемых приемов и методов
  • Моделирование программных проектов с использованием UML
  • Изучение инструментальных средств разработки программного обеспечения
  • Изучение метрик процесса разработки и мировых стандартов качества О
Планируемые результаты обучения

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

  • Владеть методами и инструментальными средствами разработки программ
  • Знает жизненный цикл программного продукта
  • Знает классические принципы проектирования
  • Знает методы проектирования: Абстракция, Инкапсуляция, Декомпозиция (модульность), Иерархическая организация, Типизация, Повторное использование
  • Знает понятия каскадная модель: классическая; с повторениями; прототипирования; Итерационная (инкрементная) модель
  • Знает предметную область курса «Программная инженерия»
  • Знает способы выражения результатов проектирования
  • Знает требования системные/разработчика (Dтребования)
  • Знает факторы и критерии качества программного обеспечения
  • Знать основные факты, концепции, принципы и теории, связанные с промышленным процессом разработки ПО
  • Уметь подбирать наиболее подходящие методы и техники и применять их при разработке программ, с учетом различных аспектов поставленной задачи, таких как ограничение по времени, человеческим ресурсам, качеству
Содержание учебной дисциплины

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

  • Введение в программную инженерию
  • Понятие качества ПО. Критерии качества
  • Жизненный цикл программного продукта и его этапы
  • Модели жизненного цикла и их применимость
  • Требования заказчика/разработчика. Классификация требований.
  • Введение в Проектирование ПО. Архитектура. Дизайн.
  • Объектно-ориентированное проектирование. Ортогональность
  • Методы проектирования
  • Объекты. Отношения между объектами
  • Классы. Интерфейс. Тип объекта
  • Отношения между классами
  • Полиморфизм. Множественное наследование. Мультиметоды.
  • Операции приведения типа. Инстанцирование (шаблона).
  • Объектно-ориентированный анализ
  • Основные приемы защиты от ошибок
  • Регулярное тестирование. Автоматизация тестирования
  • Системы контроля версий (Version Control System)
  • Системы отслеживания запросов (Bug-tracking System)
  • Моделирование с использованием UML.
  • Метрики процесса разработки ПО
  • Менеджмент качества
  • Мировые стандарты качества
Элементы контроля

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

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

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

  • 2021/2022 учебный год 2 модуль
    0.6 * Коллоквиум + 0.4 * Экзамен
Список литературы

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

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

  • Котляров В.П. - Основы тестирования программного обеспечения - Национальный Открытый Университет "ИНТУИТ" - 2016 - ISBN: 5-9556-0027-2 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100352

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

  • 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