Software engineering aims to build software systems that are delivered on time, on budget, with acceptable performance and correct operation. It is concerned with developing theories, methods and tools for professional software development, which is important for developed economies that rely on software-controlled systems. The software process involves structured activities like specification, design, validation and evolution, and the process must be explicitly modeled to manage it.