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

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

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус: Курс обязательный (Прикладная математика и информатика)
Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 3-й курс, 1, 3, 4 модуль
Формат изучения: без онлайн-курса
Преподаватели: Брыксин Тимофей Александрович, Литвинов Юрий Викторович, Шпильман Алексей Александрович
Язык: русский
Кредиты: 5

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

Аннотация

Является дисциплиной базовой профильной части профессионального цикла. Данная дисциплина направлена на овладение навыками необходимыми при создании полноценных промышленных программных систем: анализа требований, детального проектирования архитектуры приложения, обеспечения качества и служит основой для профессиональной ориентации студентов при выборе дисциплин из вариативной части Программы. Предметом изучения являются модели проектирования и разработки программного обеспечения в различных прикладных областях, а также их свойства. В рамках дисциплины изучаются 1) современные технологии и методы разработки программного обеспечения, особенности архитектуры современных программных систем на уровне операционной среды и аппаратных средств; 2) основные характеристики программных продуктов, средства стандартизации и оценивания качества программного обеспечения, рассматриваются особенности организации работ в процессе реализации программного обеспечения на различных этапах; 3) методы тестирования, снижения ошибок и рисков при разработке программного обеспечения. В результате освоения дисциплины студент должен: знать: - основные принципы построения современного программного обеспечения, - типичные формы применения шаблонов проектирования; уметь: - строить модель программного обеспечения на основе UML-диаграмм, - применять основные паттерны проектирования, - создавать эффективные сетевые и многопоточные приложения; владеть: - современными методами проектирования программного обеспечения, - современными методами оценки качества программного обеспечения.
Цель освоения дисциплины

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

  • Целями освоения дисциплины «Разработка программного обеспечения» являются формирование у студентов теоретических знаний и практических навыков, необходимых при создании полноценных промышленных программных систем: анализ требований, детального проектирования архитектуры приложения, обеспечения качества. Предметом изучения являются модели проектирования и разработки программного обеспечения в различных прикладных областях, а также их свойства. В рамках дисциплины изучаются современные технологии и методы разработки программного обеспечения, особенности архитектуры современных программных систем на уровне операционной среды и аппаратных средств. В дисциплине изучаются основные характеристики программных продуктов, средства стандартизации и оценивания качества программного обеспечения, рассматриваются особенности организации работ в процессе реализации программного обеспечения на различных этапах. Изучаются методы тестирования, снижения ошибок и рисков при разработке программного обеспечения.
Планируемые результаты обучения

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

  • Владеет понятиями классическая водопадная модель, прототипирование, инкрементная модель, спиральная модель. Знает основные шаблоны проектирования ПО. Выбирает и применяет необходимый шаблон проектирования для решения прикладных программистских задач. Проектирует ПО.
  • Знает типы рисков; управление рисками; идентификацию рисков; анализ рисков; ранжирование рисков; планирование управления риском; разрешение риска. Знает определение задачи и определение дефекта. Владеет понятием системы контроля версий, непрерывной интеграции. Знает классификацию программного обеспечения.
  • Знает основные проблемы современного состояния науки в области разработки ПО. Владеет навыками разработки, выявления и анализа требований к программному обеспечению. Знает основные этапы проектирования для разных методологий разработки ПО. Разрабатывает ПО и его компоненты, используя разные методологии проектирования. Владеет навыками объектно-ориентированного проектирования, проектирования информационных систем и распределённых приложений.
  • Знает архитектурные стили. Владеет понятиями архитектурного шаблона и стиля; Pipes and filters; интерпретатор; Blackboard;Publish-Subscribe; Событийно-ориентированные системы. Знает архитектурные элементы распределённых систем: основные сущности, виды взаимодействия, роли и обязанности, варианты размещения.
Содержание учебной дисциплины

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

  • Жизненный цикл программного обеспечения
  • Управление рисками, задачами и дефектами, системы контроля версий, лицензирование
  • Основы проектирования ПО
  • Различные архитектурные стили
Элементы контроля

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

  • неблокирующий Презентация
  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Домашнее задание 3
  • неблокирующий Домашнее задание 4
  • неблокирующий Домашнее задание 5
  • неблокирующий Домашнее задание 6
  • неблокирующий Домашнее задание 7
  • неблокирующий Домашнее задание 8
  • блокирующий Устный экзамен 1
  • неблокирующий Контрольная работа
  • блокирующий Устный экзамен 2
    Экзамен проводится в устной форме с использованием синхронного прокторинга. Экзамен проводится на платформе Zoom (https://zoom.us/), прокторинг на платформе Экзамус (hse.student.examus.net). На платформе Экзамус за сутки до экзамена доступно тестирование системы. Компьютер студента должен удовлетворять следующим требованиям: https://elearning.hse.ru/data/2020/05/07/1544135594/Технические%20требования%20к%20ПК%20студента.pdf). К конференции Zoom студенту необходимо подключиться в индивидуально назначенное преподавателем время (сообщается накануне на корпоративный электронный адрес и в LMS). Изначально студенты попадают в комнату ожидания, затем модератор приглашает их начать экзамен, после чего студент заходит на платформу прокторинга, проводит тест системы, подтверждает личность. После этого студент переадресуется на платформу moodle, где получает экзаменационный билет, после чего включается таймер. Не покидая платформу moodle, студент готовится к ответу в течение 15 минут. Во время подготовки к ответу студентам запрещено: общаться (при помощи электронных средств, с людьми в комнате), использовать любые материалы (в т.ч. конспекты, учебники, материалы в сети Интернет). Во время экзамена студентам разрешено: делать записи на черновиках. После истечения времени на подготовку, студент обязан закрыть Экзамус. Он попадает в комнату ожидания в Zoom, откуда модератор приглашает его в комнату к экзаменатору. Кратковременным нарушением связи во время экзамена считается прерывание связи до 10 минут. Долговременным нарушением связи во время экзамена считается прерывание связи 10 минут и более. При долговременном нарушении связи студент может продолжить участие в экзамене, снова авторизовавшись в системе Экзамус и получив новый экзаменационный билет. Процедура пересдачи аналогична процедуре сдачи.
Промежуточная аттестация

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

  • Промежуточная аттестация (1 модуль)
    0.5 * Презентация + 0.5 * Устный экзамен 1
  • Промежуточная аттестация (4 модуль)
    0.05 * Домашнее задание 1 + 0.05 * Домашнее задание 2 + 0.05 * Домашнее задание 3 + 0.05 * Домашнее задание 4 + 0.05 * Домашнее задание 5 + 0.05 * Домашнее задание 6 + 0.05 * Домашнее задание 7 + 0.05 * Домашнее задание 8 + 0.3 * Контрольная работа + 0.3 * Устный экзамен 2
Список литературы

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

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

  • Chonoles, M. J., & Schardt, J. A. (2003). UML 2 For Dummies. New York: For Dummies. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=100930

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

  • Dooley, J. (2017). Software Development, Design and Coding : With Patterns, Debugging, Unit Testing, and Refactoring (Vol. Second edition). [Berkeley, Californial?]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1641452