complexidade e programação orientada a objetos e Design Patterns;Experiencia com modelagem e integração de banco