Software engineering is a discipline with a broad definition and
includes numerous competence areas. Moreover software
engineering has an application oriented focus, which incorporates
theories and methodologies from many different disciplines
within engineering, science and economics. If looking at the
Guide to the Software Engineering Body of Knowledge, it becomes clear that software engineering as a discipline is based
on more than 17 Knowledge Areas and related disciplines and that
each of these represent a discipline in itself. All in all, these areas
employ techniques of math, science, engineering and design and
cater for strong analytical and problem-solving skills as well as
communication and interpersonal skills.
The interdisciplinary and application oriented focus of software
engineering challenges the traditional teacher centred learning
methods, as hands-on experience is crucial for developing
competences within software engineering. The software
engineering industry demands that software engineers have skills
of creativity, problem solving, analytic, cooperative, and
interpersonal skills. With a tighter focus on stakeholder needs,
and agile development, the software engineer must be able to
interrelate with stakeholders and not only able to program the
software.