Capítulo 10 Implementação Disciplina: Estudo do RUP Autor: Vander Alves Orientação: Augusto Sampaio Paulo Borba Implementação: Objetivos Gerar e organizar o código em subsistemas e camadas; implementar classes como componentes (fontes, executáveis); testar os componentes como unidades; integrar resultados de implementadores em um sistema. RUP - DI / UFPE 1999 Implementação RUP - DI / UFPE 1999 Atividade: estruturar modelo de implementação Worker: Arquiteto Objetivos: definir estrutura da implementação; designar responsabilidade aos subsistemas. RUP - DI / UFPE 1999 Atividade: estruturar modelo de implementação Passos Criar estrutura inicial do modelo de implementação; ajustar subsistemas; definir localização dos executáveis; definir imports para cada subsistema; definir localização dos subsistemas e componentes de teste; atualizar a visão da implementação; avaliar a visão da implementação (checkpoints) RUP - DI / UFPE 1999 Atividade: estruturar modelo de implementação Checkpoints modelo de implementação interfaces definidas entre componentes? balanceamento da carga de trabalho na equipe de implementação? Gargalos? Planos de contingência? dependência entre subsistemas: corretas? Essenciais? Só cruzam um fronteira? É possível reduzi-la à fronteira imediatamente inferior? número excessivo de camadas (mais do que 7) equilíbrio na razão subsistema/componente e componente/linha de código feedback para planejamento (custo e cronograma). RUP - DI / UFPE 1999 Atividade: estruturar modelo de implementação Saídas: visão de implementação no documento da arquitetura do sistema; subsistemas de implementação. RUP - DI / UFPE 1999 Implementação RUP - DI / UFPE 1999 Planejar integração de sistema Worker: integrador de sistema Objetivo: planejar integração Passos: Identificar subsitemas definir conjunto de builds definir série de builds avaliar plano de integração de build (minimizar stubs, fácil localização de erros, coordenação com desenvolvimento de componentes) Saída: plano de integração de build RUP - DI / UFPE 1999 Planejar integração de sistema Integração em 3 builds RUP - DI / UFPE 1999 Implementação RUP - DI / UFPE 1999 Planejar integração de subsistema Worker: implementador; Objetivo: definir ordem de integração do componentes de um subsistema; Passos: Definir os builds identificar as classes; atualizar o modelo de imports Saída: plano de integração de build subsistema de implementação RUP - DI / UFPE 1999 Planejar integração de subsistema RUP - DI / UFPE 1999 Implementação RUP - DI / UFPE 1999 Atividade: implementar componente Worker: implementador; Objetivo: codificar as classes de projeto. Saída: componentes; código fonte. RUP - DI / UFPE 1999 Atividade: implementar componente Passos: (seguir diretrizes de programação) implementar operações; implementar estados; usar delegação para reusar implementação; implementar associações; implementar atributos; fornecer feedback para projeto; avaliar código (warning, mentalmente, ferramenta - static code rule checker) RUP - DI / UFPE 1999 Implementação RUP - DI / UFPE 1999 Consertar um defeito Worker: implementador; Objetivo: consertar um defeito Passos: estabilizar o defeito; localizar a falha; consertar a falha. Saída: componentes; código fonte. RUP - DI / UFPE 1999 Implementação RUP - DI / UFPE 1999 Realizar testes de unidade Worker: implementador; Objetivos: verificar especificação da unidade; verificar estrutura interna da unidade. Passos: Saída: componentes de teste; código fonte testado a nível de unidades. RUP - DI / UFPE 1999 Realizar testes de unidade Passos: identificar tipos requeridos de teste; identificar e descrever casos de teste; estruturar procedimentos de teste; revisar e avaliar cobertura do teste; implementar teste de unidade; executar teste de unidade; avaliar teste. RUP - DI / UFPE 1999 Implementação RUP - DI / UFPE 1999 Revisar código Worker: revisor de código; Objetivo: verificar o código fonte. Passos: checkpoints do código fonte. Saída: código fonte rejeitado ou aprovado. RUP - DI / UFPE 1999 Revisar código: checkpoints Geral: segue diretrizes? bem documentado? Comentário: correto? claro? atualizado? declarativo? explica objetivo da operação? RUP - DI / UFPE 1999 Revisar código: checkpoints Código fonte: operações, parâmetros, variáveis com nomes sugestivos? separação clara entre fluxos normal e excepcional? operação longa decomposta em operações privadas? redução do número de decisões em operações? aninhamento dos laços minimizado? RUP - DI / UFPE 1999 Implementação RUP - DI / UFPE 1999 Integrar subsitema Worker: implementador; Objetivo: integrar componentes em subsistema e tornar o subsistema disponível para integração de sistema. Passos: integrar os componentes; lançar o subsistema. Saída: subsistema de implementação, um build RUP - DI / UFPE 1999 Implementação RUP - DI / UFPE 1999 Integrar sistema Worker: integrador de sistema; Objetivo: integrar incrementalmente subsistemas em um build. Passos: adicionar subsistemas incrementalmente; lançar um build internamente. Saída: modelo de implementação, um build RUP - DI / UFPE 1999 Integrar sistema RUP - DI / UFPE 1999 Implementação RUP - DI / UFPE 1999 Resumo RUP - DI / UFPE 1999