DEFINITION:

Software engineering is an engineering discipline, which is concerned with all aspects of software production.
It covers theories, methods and tools for professional software development.
Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available. Software engineering is therefore concerned with the practicalities of developing and delivering useful software.

(Source: ACARE Domain 621)

SUBDOMAINS:

  1. Requirements capture
  2. Object-oriented analysis & design
  3. Software implementation
  4. Software testing: Integration testing, White/Black box test, Code coverage
  5. Software verification & validation
  6. Software certification: software safety, redundancy, built-in test
  7. Software maintenance