In practically all areas of modern life, software plays a pivotal role: it controls devices like smartphones, navigation systems, computers, robots, etc. Software engineering comprises the systematic creation of software as well as development of concepts for large-scale software projects. It provides methods for software development itself from analysis to design to implementation. But it also offers models for defining or testing software quality.