Problemas no módulo `usuario`: Interface: Implementação: * O método `__init__` deve definir atributos `id` e `atrs` com valor `None` * Não se deve usar nomes de módulos ou de classes como nomes de variáveis. A variável `usuario` deveria ser `usr`ou `u` ou algo assim. * O efeito de uma função (ou método) definida na interface deve ser documentado apenas na interface, não na implementação. * As funções `muda_atributos`, `obtem_atributos`, `obtem_id` devem ser métodos da classe. * A função `cria` deve construir um novo objeto da classe `Usuario_IMP`, definir seu campo `atrs` com uma *cópia* do dicionário dado como parâmetro, e chamar `base_usuario.acrescenta` para definir o campo `id`. * O método `muda_atributos` deve chamar `base_produtos.altera` para alterar também na base de dados. * Elementos de um dicionário são referenciados como `atrs['nome']` e não `atrs.nome`. * O atributo `sobrenome` nao deve existir -- é parte de `nome`. * Tanto `cria` quanto `muda_atributos` devem chamar `base_usuarios.busca_email` e `base_usuario.busca_cpf`, se necessario, para garantir que não há outro usuário com mesmo email ou mesmo CPF na base.