Программная инженерия
Различные словари (напр., SEVOCAB) и Википедия дают довольно сложное определение программной инженерии[1], поэтому немного упростим его.
Программная инженерия — применение научных, инженерных и других подходов и знаний ко всем аспектам создания программного обеспечения.
Области знаний программной инженерии
С моей точки зрения лучше всего для определения структуры программной инженерии подходит SWEBOK (Software Engineering Body of Knowledge) — свод знаний по программной инженерии утвержденный как международный стандарт ISO/IEC TR 19759 от 2015 г. Сейчас актуальна версия SWEBOK V3, но уже существует SWEBOK V4, который на текущий момент находиться в разработке и включает 18 областей знаний в сфере программной инженерии, каждая из которых делиться на набор специализированных дисциплин или тем.
Кроме SWEBOK существуют и другие источники, например, отдельное направление подготовки в российских вузах 09.03.04 «Программная инженерия», но я не нашел какого либо стандартного учебного плана, существует международный учебный план Computing Curriculum Software Engineering (CCSE), однако последнее обновление было в 2004 году.
Области знаний SWEBoK:
- Software Requirements — требования к программному обеспечению.
- Software Architecture — архитектура программного обеспечения.
- Software Design — проектирование программного обеспечения.
- Software Construction — конструирование программного обеспечения.
- Software Testing — тестирование программного обеспечения.
- Software Engineering Operations — развертывания, эксплуатация и поддержка программного обеспечения.
- Software Maintenance — сопровождение программного обеспечения.
- Software Configuration Management — управление конфигурацией.
- Software Engineering Management — управление IT проектом.
- Software Engineering Models and Methods — модели и методы разработки.
- Software Engineering Process — процесс программной инженерии.
- Software Quality — качество программного обеспечения.
- Software Security — безопасность программного обеспечения.
- Software Engineering Economics — экономические аспекты разработки.
- Software Engineering Professional Practice — профессиональные практики и компетентность.
- Computing Foundations — основы вычислительных технологий .
- Mathematical Foundations — базовые математические концепции и понятия .
- Engineering Foundations — основы инженерной деятельности.
Кроме того эта версия указывает на связанные, но не включенные в стандарт науки и инженерные направления:
- Computer engineering
- Computer science
- General management
- Mathematics
- Project management
- Quality management
- Systems engineering
Comments
So empty here ... leave a comment!