Основы разработки программного обеспечения

ТРУДОЕМКОСТЬ ДИСЦИПЛИНЫ
Общая трудоемкость дисциплины составляет 4 ЗЕТ (144 час.).

ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ
Целью дисциплины является изучение современных технологий разработки программных средств, включая вопросы проектирования, реализации и сопровождения программных продуктов.

МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП
Дисциплина «Основы разработки программного обеспечения» относится к профессиональному циклу дисциплин вариативной части, для ее освоения необходимо знание курсов «Информатики», «Дискретной математики», в дальнейшем знания, полученные при изучении дисциплины, используются при выполнении выпускной квалификационной работы, при изучении «Баз данных», «Экспертных систем», «Операционных систем», «Сетей и телекоммуникаций».

ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ ДИСЦИПЛИНЫ
Процесс изучения дисциплины направлен на формирование следующих общекультурных (ОК), профессиональных (ПК) и профессионально-специализированных компетенций (ПСК):

  1. готов к кооперации с коллегами, работе в коллективе (ОК-3);
  2. стремится к саморазвитию, повышению своей квалификации и мастерства (ОК-6);
  3. осознает социальную значимость своей будущей профессии, обладает высокой мотивацией к выполнению профессиональной деятельности (ОК-8);
  4. осваивать методики использования программных средств для решения практических задач (ПК-2);
  5. разрабатывать модели компонентов информационных систем, включая модели баз данных (ПК-4);
  6. разрабатывать компоненты программных комплексов и баз данных, использовать современные инструментальные средства и технологии программирования (ПК-5);
  7. обосновывать принимаемые проектные решения, осуществлять постановку и выполнять эксперименты по проверке их корректности и эффективности (ПК-6);
  8. владеть основными методами процессов разработки программного обеспечения (ПСК-5);
  9. вырабатывать и анализировать требования к программному обеспечению (ПСК-6);
  10. использовать средства и методы разработки требований и спецификаций (ПСК-7);
  11. разрабатывать проектную документацию, используя графические языки спецификаций (ПСК-8);
  12. проектировать программное обеспечение с использованием специализированных программных пакетов (ПСК-9);
  13. осуществлять объектно-ориентированное проектирование (ПСК-13);
  14. использовать методы и средства разработки тестовых сценариев и тестового кода (ПСК-14);
  15. использовать методы и технологии тестирования и ревьюирования кода и проектной документации для контроля достижения заданной функциональности и качества в программном проекте (ПСК-15);
  16. оценивать производительность разработки (ПСК-16).
В результате изучения дисциплины студент должен:
Знать: основные технологические процессы разработки программного обеспечения.
Уметь: разрабатывать техническую документацию на программный проект.
Владеть: навыками разработки программного обеспечения с использованием инструментальных сред; методикой отладки, тестирования, оценки качества и сопровождения программного обеспечения.

СОДЕРЖАНИЕ ДИСЦИПЛИНЫ. ОСНОВНЫЕ РАЗДЕЛЫ
Задача и организация процесса проектирования программного обеспечения (ПО). Жизненный цикл ПО: проектирование, реализация, внедрение, эксплуатация. Цели проектирования ПО. Методы проектирования структуры ПО. Нисходящее проектирование. Восходящее проектирование. Метод расширения ядра. Модульное программирование. Компонентное программирование. Использование декомпозиции и абстракции при проектировании ПО. Процедурная абстракция. Абстракция данных. Специфики процедур и данных. Декомпозиция системы. Технологические средства разработки программного обеспечения: инструментальная среда разработки; отладчики; средства поддержки проекта; методы отладки и тестирования программ. Назначение, возможности, состав инструментальной среды. Проектирование интерфейса с пользователем. Структуры диалога. Поддержка пользователя. Библиотеки визуальных компонентов. События. Потоки. Динамически связываемые библиотеки. Проектирование интерфейса с пользователем. Методы отладки программ. Инструментальные средства отладки. Статическая, комплексная отладка. Этапы тестирования. Восходящее, нисходящее тестирование. Автоматизация тестирования. Испытания и сопровождение ПО. Оценка качества программных продуктов. Надежность ПО. Методы повышения надежности. Верификация ПО. Сопровождение ПО. Методы защиты программ и данных. Документирование и оценка качества программных продуктов. Состав документации на программный продукт. Государственные стандарты документации на программный продукт.

ВИДЫ УЧЕБНОЙ РАБОТЫ
Лекции, лабораторные работы.

ФОРМА АТТЕСТАЦИИ ПО ДИСЦИПЛИНЕ
Изучение дисциплины заканчивается экзаменом.