Название | Программная инженерия. Теория и практика |
---|---|
Автор произведения | Олеслав Антамошкин |
Жанр | Учебная литература |
Серия | |
Издательство | Учебная литература |
Год выпуска | 2012 |
isbn | 978-5-7638-2511-4 |
Необходимость в программной инженерии как в специальной области знаний была осознана мировым сообществом в конце 60-х гг. прошлого века, более чем на 20 лет позже рождения самого программирования, если считать таковым знаменитый отчет фон Неймана «First Draft of a Report on the EDVAC», обнародованный им в 1945 г. Рождением программной инженерии является 1968 г. – конференция НАТО «Software Engineering», г. Гармиш (ФРГ), которая целиком была посвящена рассмотрению этих вопросов. В сферу программной инженерии попадают все вопросы и темы, связанные с организацией и улучшением процесса разработки ПО, управлением коллективом разработчиков, созданием и внедрением программных средств поддержки жизненного цикла ПО. Программная инженерия использует достижения информатики, тесно связана с системотехникой, часто предваряется бизнес-реинжинирингом (рис. 1). Немного подробнее об этом контексте программной инженерии.
Информатика (computer science) – это свод теоретических наук, основанных на математике и посвященных формальным основам вычислимости. Сюда относят математическую логику, теорию грамматик, методы построения компиляторов, математические формальные методы, используемые в верификации и модельном тестировании и т.д. Трудно строго отделить программную инженерию от информатики, но в целом направленность этих дисциплин различна. Программная инженерия нацелена на решение проблем производства, информатика – на разработку формальных, математизированных подходов к программированию.
Системотехника (system engineering) объединяет различные инженерные дисциплины по разработке всевозможных искусственных систем – энергоустановок, телекоммуникационных систем, встроенных систем реального времени и т.д. Очень часто ПО оказывается частью таких систем, выполняя задачу управления соответствующим оборудованием. Такие системы называются программно-аппаратными, и участвуя в их создании, программисты вынуждены глубоко разбираться