Computer-based system engineering is concerned with all aspects of development and evolution of complex systems where software plays a major role.