Atividade:
|
Finalidade
|
|
Função: Implementador | |
Freqüência: Repetido do começo ao fim de cada iteração (com a possível exceção das iterações de início, quando nenhum protótipo é necessário) | |
Etapas | |
Artefatos de Entrada: | Artefatos Resultantes: |
Mentores de Ferramentas: | |
More Information: |
Detalhes de Workflow: |
Antes de iniciar uma atividade de implementação, o implementador deve ser claro no escopo, conforme especificado nas designações de trabalho e nos planos de iteração. Uma tarefa de implementação pode visar a obtenção de uma funcionalidade específica (como implementar uma realização de caso de uso de design ou corrigir um defeito) que envolve a implementação de vários elementos de design que contribuem para essa funcionalidade. Alternativamente, uma tarefa de implementação pode focalizar um determinado elemento de design, como um Subsistema de Design ou uma Classe de Design, implementando-o para a extensão requerida para a iteração atual.
Esta atividade resulta na criação ou atualização de um ou mais arquivos (Elementos de Implementação). Como parte da preparação para implementação, o implementador deve assegurar-se de que seu ambiente de desenvolvimento esteja configurado corretamente para que as versões de elemento corretas estejam disponíveis. Isso deve ser feito para que ambos os elementos sejam atualizados e quaisquer outros elementos requeridos para compilação e teste da unidade. O implementador deve estar ciente de e seguir a configuração do projeto e alterar os procedimentos de gerenciamento. Esses procedimentos descrevem como as mudanças são controladas e transformadas em versão e como são entregues para integração.
Antes de implementar uma classe, pense se há código existente que possa ser reutilizado ou adaptado. Entender a posição da implementação na arquitetura e design do restante do sistema pode ajudar o implementador a identificar essas oportunidades de reutilização. Também pode assegurar a adaptação da implementação no restante do sistema.
Recomenda-se implementar incrementalmente pela compilação, link e execução de alguns testes de regressão algumas vezes ao dia. É importante saber que nem todas as operações públicas, atributos e associações são definidos durante o design.
Ao lidar com defeitos, assegure-se de que tenha corrigido o problema, não o sintoma. O foco deve estar na correção do problema de base no código. Faça uma alteração de cada vez porque a correção de erros é por si só, uma atividade propensa a erros. É importante implementar as correções incrementalmente para facilitar a localização da origem de novos erros.
O implementador deve estar ciente de e seguir as diretrizes de implementação específicas do projeto, incluindo diretrizes de programação para as linguagens de programação específicas.
Há várias técnicas para transformação de design em implementação. A seguir são apresentados alguns exemplos:
Em todos os casos, no entanto, alguma abstração de design é detalhada para tornar-se a implementação, seja manualmente ou por meio da aplicação de alguma transformação automatizada.
Conforme descrito na etapa anterior, a transformação de design em implementação pode resultar em graus variados de abrangência de implementação. Ela pode ser uma implementação completa e aceitável. Normalmente, no entanto, há a exigência de uma tentativa substancial para concluir a implementação. Por exemplo:
É aqui que você verifica se a implementação se adequa à finalidade. Além do teste (descrito em outras atividades), algumas verificações adicionais são sempre úteis:
Conforme os designs são implementados e testados, é inevitável a descoberta de erros que os afetam. Se uma abstração de design for mantida para tentativas de manutenção futuras ou por motivos contratuais ou de comunicação, o design terá então que ser atualizado.
Como isso é feito depende da configuração do projeto e do processo de gerenciamento de mudanças. Em geral, se a mudança exigida for pequena e a mesma pessoa estiver projetando e implementando a classe, não haverá necessidade de um controle de mudança formal. A pessoa poderá efetuar a mudança no design.
Se a alteração requerida tiver um impacto amplo, por exemplo, uma alteração em uma operação pública, então talvez seja necessário submeter um controle de mudanças formal.
Rational Unified Process
|