Software engineering is an engineering discipline focused on all aspects of software production. It intersects with system engineering, which deals with the broader scope of computer-based systems development, including hardware and process engineering.