Программная инженерия — это применение принципов, используемых в области инженерии, которая обычно имеет дело с физическими системами, для проектирования, разработки, тестирования, развертывания и управления программными системами.
Определить → Дизайн → Разработка → Отладка → Развертывание
В области разработки программного обеспечения применяется дисциплинированный, структурированный подход к программированию, который используется в инженерии для разработки программного обеспечения с заявленной целью повышения качества, эффективности времени и бюджета, а также обеспечения структурированного тестирования и сертификации инженеров.
Разработка программного обеспечения обычно используется для больших и сложных программных систем, а не для отдельных приложений или программ. Однако развитие — это всего лишь одна фаза процесса. В то время как инженер-программист обычно отвечает за проектирование систем, программисты часто несут ответственность за кодирование их реализации.
Программная инженерия включает в себя ряд областей, которые охватывают процесс разработки программного обеспечения и сертификации, в том числе: сбор требований, проектирование программного обеспечения, создание программного обеспечения, обслуживание программного обеспечения, управление конфигурацией программного обеспечения, управление программной инженерией, управление и создание процесса разработки программного обеспечения, модели и методы разработки программного обеспечения. , качество программного обеспечения, профессиональные практики разработки программного обеспечения, а также фундаментальные вычислительные и математические и инженерные исследования.
Хотя первоначальное использование этого термина неизвестно, первая конференция по разработке программного обеспечения была проведена и спонсирована НАТО в 1968 году. На конференции обсуждались непоследовательность и ненадежность в разработке программного обеспечения, а также необходимость повышения качества и надежности. Конференция собрала международных экспертов, которые согласились с тем, что системный подход инженерии физического мира должен применяться к разработке программного обеспечения, поскольку он уже был разработан с учетом этих целей.