Software engineering is a specialized discipline combining computer science and engineering principles to systematically design, develop, test, and maintain robust software applications that effectively meet user needs. It emerged as a distinct field in the 1960s to address a "software crisis" characterized by budget overruns, delays, and unreliable software. The term gained prominence with the first NATO software engineering conference in 1968, which established crucial guidelines, and was notably used by Margaret Hamilton during the Apollo missions to legitimize their work. In 1984, the Software Engineering Institute (SEI) was established, developing frameworks like CMMI-DEV to evaluate software development capabilities, while the Software Engineering Body of Knowledge (SWEBOK) compiles modern best practices. Today, software engineering remains vital for integrating complex components in modern systems such as IoT and Cyber-physical Systems, being intimately intertwined with Systems Engineering.