Describir: Object-Oriented and Classical Software Engineering