Программное обеспечение (ПО) — это совокупность компьютерных программ и связанных с ними данных, которая содержит инструкции для компьютера, что и как делать. Это «невидимая» часть системы, в отличие от «железа» (аппаратного обеспечения).
Программный продукт — это комплекс взаимосвязанных программ, подготовленный к реализации как промышленная продукция. Включает:
Ключевое отличие: ПО — это техническая сущность, а программный продукт — это готовый к продаже товар на рынке.
К современным принципам относятся:
Контроль версий и работа в команде через системы типа Git.
Итеративность и инкрементальность (разработка малыми шагами).
Гибкость (Agile-подход) — быстрая адаптация к изменениям требований.
Компонентный подход — использование готовых модулей и библиотек.
Управление рисками на ранних этапах.
Непрерывная интеграция и тестирование (CI/CD).
Ориентир на пользователя (UX/UI-дизайн).
Это последовательность этапов от зарождения идеи до вывода продукта из эксплуатации:
Требования — это то, что должно быть реализовано в системе.
Классификация:
ТЗ — это официальный документ, фиксирующий договорённость между заказчиком и исполнителем.
Структура (по ГОСТ 19.201-78):
Порядок разработки и согласования:
Архитектура ПО — это высокоуровневая структура системы, определяющая:
Программный модуль — это логически завершённый фрагмент кода (класс, функция, сервис), выполняющий отдельную задачу.
Включает:
Документация сопровождает продукт на всех этапах:
Цель: убедиться, что ПО соответствует требованиям и не содержит критических ошибок.
Основные виды:
Отладка (Debugging) — это процесс поиска, локализации и исправления ошибок (багов).
Инструменты:
Этапы:
Это этап после запуска, который часто занимает больше времени и ресурсов, чем сама разработка.
Включает:
Цель: продлить жизненный цикл продукта и сохранить его актуальность.