Рассматриваются основные понятия и определения, классификация программного обеспечения, этапы создания программного продукта в рамках жизненного цикла, освещается современное состояние технологий разработки программных продуктов. Изложены существующие подходы к оценке качества процессов создания программного обеспечения, произведены анализ требований и определение спецификаций программного обеспечения. Большое внимание уделено вопросам проектирования ПО, его надежности, коллективной разработки с помощью современных систем контроля версий.Теоретический материал сопровождается практикумом в виде лабораторных работ по изложенной тематике.Предназначено для студентов учреждений среднего профессионального образования, высших учебных заведений технического профиля, а также для специалистов любой предметной области, проявивших интерес к современному состоянию методов и средств программирования.