Лекция №2Дисциплины программной инженерии
Во второй лекции по программной инженерии делается попытка выделить ее основные аспекты в виде пяти дисциплин: научной, инженерной, производственной, управленческой и экономической.
- Научная дисциплина — применение фундаментальных наук для разработки ПО;
- инженерная дисциплина — собственно разработка ПО;
- производственная дисциплина — использование для разработки компонентов повторного использования;
- дисциплина управления — организация разработки;
- экономическая дисциплина — оценка затрат на разработку и рисков, которые могут повлиять на архитектуру ПО.
Пятью обозначенными направлениями можно охватить практически всю область знаний программной инженерии. Как видно, ПИ объединяет в себе теорию (научная дисциплина) и практику (инженерная и производственная дисциплины), а также управление разработкой (оставшееся две).
Все дисциплины по-своему влияют на процессы жизненного цикла разработки программ. Например, проектирование и программирование может проводиться с помощью определенных математических (то есть, теоретически обоснованных) моделей, и они же могут описывать требования к продукту. С другой стороны, для этих же целей можно использовать прикладные методы. В любом случае, необходимо составить график реализации отдельных составляющих программной системы (управление) и определить оптимальные по затратам пути реализации (экономика).
Для систематизации дисциплин программной инженерии используются два основных стандарта: SWEBOK (software engineering body of knowledge) и PMBOK (project management body of knowledge).