Является дисциплиной базовой профильной части профессионального цикла. Данная дисциплина направлена на формирование у студентов практических навыков и теоретических знаний, необходимых для участия в полном цикле разработки промышленного ПО с использованием современных методологий и инструментов. В рамках дисциплины изучаются жизненный цикл ПО (Agile, SCRUM, Kanban, DevOps), управление требованиями и техническим долгом, системы контроля версий (Git), сборка проектов (Maven/Gradle/CMake), непрерывная интеграция, архитектурные стили и шаблоны проектирования, основы проектирования распределённых систем (REST, gRPC, микросервисы), а также методы обеспечения качества (CMMI). Дисциплина служит основой для профессиональной ориентации студентов и подготовки к выбору дисциплин вариативной части программы. Для освоения дисциплины студентам необходимо иметь знания, полученные в результате изучения дисциплин «Основы и методология программирования», «Язык программирования С++», «Язык программирования Java».
Цель освоения дисциплины
Формирование у студентов теоретических знаний и практических навыков, необходимых для участия в полном цикле разработки промышленных программных систем: от анализа требований и планирования до проектирования архитектуры, реализации, сборки, контроля версий, непрерывной интеграции и оценки качества. Особое внимание уделяется работе в команде с использованием современных Agile-методологий, инструментов управления проектами и систем контроля версий.
Планируемые результаты обучения
Знает основные принципы построения современного программного обеспечения, типичные формы применения шаблонов проектирования.
Умеет строить модель программного обеспечения на основе UML-диаграмм, применять
основные паттерны проектирования, создавать эффективные сетевые и многопоточные
приложения.
Имеет навыки применения современных методов проектирования программного обеспечения; современных методов оценки качества программного обеспечения.
Содержание учебной дисциплины
Раздел 1. Жизненный цикл программного обеспечения
Раздел 2. Управление рисками, задачами и дефектами, системы контроля версий, лицензирование
Раздел 3. Основы проектирования ПО
Раздел 4. Различные архитектурные стили
Элементы контроля
Презентация
Темы презентаций выдаются студентам в 39 вариантах. Срок подготовки презентации - 5 недель.
Контрольная работа
Контрольная работа по практической составляющей курса ставится по результатам работы в семестре. Для получения положительной оценки необходимо, чтобы были сданы на положительную оценку все домашние задания. В случае, если к моменту проведения контрольной работы часть домашних заданий не сдана, студенту предоставляется возможность в электронной или письменной форме доделать и сдать невыполненные ранее задания. На проведение контрольной работы отводится 2 часа.
Домашнее задание
Домашнее задание выдается студентам в одном варианте и состоит из 9 задач. Срок выполнения домашнего задания указан для каждого задания. Решения необходимо представить в электронном виде либо в виде ссылки на набор изменений в открытой системе контроля версий, либо в виде файла с решением. Если задача предполагает программную реализацию, для решения допускается использовать язык и технологию программирования на выбор студента.
Экзамен №1
Устный экзамен №1 проводится в форме ответов на вопросы экзаменационного билета. Экзаменационный билет содержит два вопроса из перечня вопросов к экзамену. На подготовку ответа выделяется 2,5 часа.
Экзамен №2
Устный экзамен №2 проводится в форме ответов на вопросы экзаменационного билета. Экзаменационный билет содержит два вопроса из перечня вопросов к экзамену. На подготовку ответа выделяется 2,5 часа.
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
Lasater, C. G. (2007). Design Patterns. Plano, Tex: Jones & Bartlett Learning. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=186036
Instructors
Gorikhovskii, Vyacheslav I.
Семенов Константин Константинович
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Рекомендуемая дополнительная литература
Авторы