Software engineering principles

shape