[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: Dúvidas sobre o enunciado do EP



Oi Leandro,

> - Na primeira linha do enunciado, "fazes" (sic) se escreve com "s".
> Espero que você tenha trocado um "s" por um "z", e não um "e' por um
> "a". Tenha certeza que as próximas observações serão mais pertinentes.

Que horror.

> - No enunciado, o Nucleo (ou Webmail, na versao nova) tem a mensagem
> "novoUsuarioComLogin". No diagrama de classes, a mensagem é
> "usuarioComLogin". Acho que uma definição precisa é importante para a
> correção automatizada.

usuarioComLogin é o correto, porque pode ser que o usuário já exista.

> - Mais uma diferença entre o enunciado e o UML: num o Usuario conhece
> a mensagem "contasPOP3", e no outro "contasPOP".

Hum... contasPOP3 é melhor.

> - Outra diferença entre o enunciado e o UML. O método pastaComNome: da
> classe Pasta não está definido no enunciado, só no UML. Dá pra supor o
> que ele faz, mas é melhor garantir. Essa não é a única mensagem
> definida só na UML (outro exemplo é a mensagem "cc" da classe
> Mensagem).

De fato, eu adicionei pastaComNome: depois. 'cc' foi adicionado na
aula. Se eu tivesse uma ferramenta prá sincronizar essas coisas... :-)

> Os testes serão conforme o UML ou conforme o enunciado?

Conforme os dois. Os dois devem estar em acordo. Se há uma
discrepância, é porque cometi um erro.

> - Esse é um erro bobo: no enunciado, classe Atributo, está "umAtributo
> novoComChave: umaChave eValor: umaChave". Suponho que o segundo
> "umaChave" deve ser "umValor", certo? :o)

Certo. :-)

> - No enunciado, a mensagem "atributosComChave:" está definida na
> classe Mensagem, mas no UML está em conteúdo. O mesmo acontece com
> "corpo" e "asString". Se for feita herança não vai ter grandes
> problemas, mas como eu já disse, é melhor garantir ;-).

Entenda essa herança como uma herança de interface. Como Smalltalk não
tem tipos, você não é obrigado a implementar isso como herança de
classes, mas a flechinha na UML implica que todos os métodos de
conteúdo se aplicam a Mensagem. Eu aponto prá isso também no
enunciado:

"A classe Conteudo pode ser implementada como uma superclasse de
Mensagem, ou não. A interface de conteúdo inclui os métodos
atributosComChave:, conteudos, corpo e asString de Mensagem (com
semântica idêntica), além dos seguintes métodos:"

> Ah, e "conteudos" (da classe Mensagem) está no enunciado e não está no UML.

Isso recai no que eu disse logo acima.

Obrigado pelas correções! Se você encontrar mais alguma coisa, por
favor me avise.

Abraços,

--
Giuliano Mega <giuliano*ime:usp:br>