What is software engineering?

Software engineering is an engineering discipline which is concerned with all aspects of software production

Software engineers should

Adopt a systematic and organised approach to their work Use appropriate tools and techniques depending on
  • the problem to be solved,
  • the development constraints and
  • the resources available  

“A discipline that deals with the building of software systems which are so large that they are built by a team or teams of engineers.”

“Multi-person construction of multi-version software.”

-[Parnas]

“A discipline whose aim is the production of fault-free software, delivered on-time and within budget, that satisfies the user’s needs. Furthermore, the software must be easy to modify when the user’s needs change.”

-[Schach]