1. Чем программа отличается от ПО

<aside> 💡 Определение формально

Основные отличия ПО от программы

  1. Брукс: Программа отличается от ПО с той же функциональности по трудозатратам более чем в 3 раза
  2. Время жизни ПО значительно больше, чем у программы, ПО поддерживают и развивают
  3. ПО используется интенсивнее программы
  4. ПО, в отличие от программы, пишется соответственно требованиям компании или команды, в которой оно разрабатывается. К таким требованиям относятся архитектура, нейминг, использование конкретных библиотек и фреймворков и так далее
  5. В отличие от программы, уровень тестирования и документации ПО значительно выше

2. Дайте определение ПО

<aside> 💡 Формально:

По Харлану Миллсу:

3. Назовите главные отличия программной инженерии от программирования.

  1. Программная инженерия подразумевает работу в команде, в программировании это не обязательно
  2. Основная цель программной инженерии — удовлетворение требований заказчика
  3. Много внешних коммуникаций (с заказчиком, например)
  4. В процессе разработки ПО, помимо кода появляется много других артефактов работы
  5. Много много много документации ко всему к чему только можно
  6. Много компромиссов
  7. Много денег в индустрии