Mapeamento do Projeto
para Código

- Com os artefatos já produzidos, estamos prontos para
implementar (codificar e testar)
- A codificação é feita a partir dos artefatos de
projeto
- Diagramas de colaboração e diagrama de classes
- Deve-se codificar depois de
um esforço suficiente de análise e projeto
- Porque explorar alternativas é mais barato em
fases anteriores
- No entanto, alguma atividade de prototipagem pode ser
feita em fases anteriores
- Em termos de maturidade de processo de desenvolvimento,
codificar cedo demais não leva a um processo que possa
ser repetido
- Os riscos são muito maiores
- A atividade de codificação em si é uma tradução
bastante mecânica dos modelos produzidos
- A criatividade não ocorre durante a
codificação mas antes dela
- Porém, a codificação frequentemente leva a
modificações em decisões anteriores
- Portanto, depois da codificação, os artefatos
já produzidos devem ser sincronizados
com o código
- Uma ferramenta CASE
que faz Engenharia Reversa
pode ajudar aqui
- Ela lê o código e produz diagramas de
modelos
Mapeamento do projeto para código
- Deve-se escrever:
- Código para interfaces e classes
- Código para os métodos
Criação de definições de interfaces e classes
- Feita a partir de diagramas de classes
- Os passos são simples, lembrando que tipos suportados
pela linguagem devem ser escolhidos
- A navegabilidade indica que atributos referenciando
outros objetos devem ser incluídos na classe
- É desejável chamar o atributo pelo papel
assumido pelo destino da associação
Criação de métodos
- Feita a partir dos diagramas de colaboração, examinando
as mensagens enviadas entre os objetos
Atualização das definições de classes
- Após a codificação (e testes), as definições de
classes são alteradas para incluir novos métodos
introduzidos, etc.
Tratamento de erros
- Embora tenhamos nos concentrado na atribuição de
responsabilidades, a atividade de projeto deve também
considerar como será feito o tratamento de erros
- Normalmente usa o mecanismo de exceções
- Uma parte significativa do código diz respeito ao
tratamento de erros
Ordem de implementação
- Classes individuais devem ser codificadas e sujeitas a
testes de unidade na ordem da menos acoplada à mais
acoplada
- Para minimizar scaffolding
- Uma ordem sugerida no estudo de caso seria como mostrado
abaixo

impl-1 programa próxima