Software engineering is an essential discipline when designing and implementing high performance data enterprises. Although software engineers are not certified or sanctioned by any standards body, use of software engineers with experience in the Intelligence Community increases chances of success.
Software Engineering Defined:
Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software. (Source Wikipedia)
Knowledge of programming is the main pre-requisite to becoming a software engineer, but it is not sufficient. Many software engineers have degrees in Computer Science or mathematics and physics due to the lack of software engineering programs in higher education. An organized mind and an interest in problem solving are also prerequisites.
However, as data networks become more complex and indispensable in large organizations higher education has started to change with the introduction of new software engineering degrees, especially in post-graduate education.
Software Engineering as a Discipline
Software engineering contains a number of separate yet interrelated disciplines.
- Software requirements
- Software design
- Software development
- Software testing
- Software maintenance
- Software configuration management
- Software engineering management see also project management
- Software development process
- Software engineering tools and Computer Aided Software Engineering
- Software quality
- Social Software Engineering