Software Engineering is a multifaceted and expanding topic. It aims to provide theories, methods and tools to tackle the complexity …