O Fluxo de Implementao Alexandre Vasconcelos amlvcin ufpe

  • Slides: 27
Download presentation
O Fluxo de Implementação © Alexandre Vasconcelos amlv@cin. ufpe. br alexandre@qualiti. com. br Centro

O Fluxo de Implementação © Alexandre Vasconcelos amlv@cin. ufpe. br alexandre@qualiti. com. br Centro de Informática da UFPE/ Qualiti Software Processes 1/27

Objetivo n Depois desta aula você será capaz de entender as atividades típicas de

Objetivo n Depois desta aula você será capaz de entender as atividades típicas de implementação, seguindo uma adaptação do fluxo de atividades de implementação do RUP. 2/27

Contexto das Atividades de Implementação 3/27

Contexto das Atividades de Implementação 3/27

Objetivos das Atividades de Implementação n n Implementar as classes do modelo de projeto

Objetivos das Atividades de Implementação n n Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc. ) Definir a organização do código através de subsistemas de implementação Testar os componentes como unidades Integrar os componentes desenvolvidos em uma versão executável do sistema 4/27

Visão Geral das Atividades de Implementação Modelo de projeto Modelo de implementação Implementação Componentes

Visão Geral das Atividades de Implementação Modelo de projeto Modelo de implementação Implementação Componentes Documento da arquitetura Plano de Integração Modelo de dados Documento da arquitetura 5/27

O Fluxo de Atividades Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração

O Fluxo de Atividades Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar Sistema e Subsistemas Corrigir Defeitos Programador Revisor de código Implementar Componentes Realizar Testes Unitários Revisar Código 6/27

Atividade: Estruturar Modelo de Implementação Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar

Atividade: Estruturar Modelo de Implementação Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar Sistema e Subsistemas Corrigir Defeitos Programador Revisor de código Implementar Componentes Realizar Testes Unitários Revisar Código 7/27

Atividade: Estruturar Modelo de Implementação n Modelo de Implementação u Modelo de projeto gerado

Atividade: Estruturar Modelo de Implementação n Modelo de Implementação u Modelo de projeto gerado a partir da engenharia reversa do código fonte do sistema 8/27

Atividade: Planejar Integração Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar

Atividade: Planejar Integração Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar Sistema e Subsistemas Corrigir Defeitos Programador Revisor de código Implementar Componentes Realizar Testes Unitários Revisar Código 9/27

Atividade: Planejar Integração n Identificar quais componentes participam da iteração (colaboram para os casos

Atividade: Planejar Integração n Identificar quais componentes participam da iteração (colaboram para os casos de uso da iteração) 10/27

Atividade: Planejar Integração n Identificar quais pacotes participam da iteração (colaboram para os casos

Atividade: Planejar Integração n Identificar quais pacotes participam da iteração (colaboram para os casos de uso da iteração) 11/27

Atividade: Planejar Integração n Definir os builds que serão gerados 3 a b c

Atividade: Planejar Integração n Definir os builds que serão gerados 3 a b c d Aplicação 2 Comunicação g e 2 1 Negócio i h Dados f 1 Stubs j 12/27

Atividade: Planejar Integração n Avaliar resultados u. A ordem de integração reduz a necessidade

Atividade: Planejar Integração n Avaliar resultados u. A ordem de integração reduz a necessidade de criação de stubs? u A ordem de integração facilita a detecção de erros? 13/27

Atividade: Implementar Componentes Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar

Atividade: Implementar Componentes Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar Sistema e Subsistemas Corrigir Defeitos Programador Revisor de código Implementar Componentes Realizar Testes Unitários Revisar Código 14/27

Atividade: Implementar Componentes n n Check-out dos componentes Implementar u Operações u Inicialização dos

Atividade: Implementar Componentes n n Check-out dos componentes Implementar u Operações u Inicialização dos atributos u Estados n Comentar o código implementado u Seguindo um padrão de codificação 15/27

Atividade: Implementar Componentes n Avaliar o código implementado u Padrão de codificação u Fatores

Atividade: Implementar Componentes n Avaliar o código implementado u Padrão de codificação u Fatores de qualidade de OO e Java n Compilar o código implementado u Com a última versão estável dos componentes auxiliares u Com a versão mais recente dos componentes implementados n Check-in dos componentes 16/27

Atividade: Corrigir Defeitos Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar

Atividade: Corrigir Defeitos Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar Sistema e Subsistemas Corrigir Defeitos Programador Revisor de código Implementar Componentes Realizar Testes Unitários Revisar Código 17/27

Atividade: Corrigir Defeitos n n Check-out dos componentes Estabilizar a ocorrência do defeito u

Atividade: Corrigir Defeitos n n Check-out dos componentes Estabilizar a ocorrência do defeito u Identificar o defeito n casos de teste mínimos que causam Localizar o defeito no código u Isolado do ambiente de produção u Com ferramenta de depuração u Comentando trechos do código u Criando stubs 18/27

Atividade: Corrigir Defeitos n Corrigir o defeito no código n Check-in dos componentes 19/27

Atividade: Corrigir Defeitos n Corrigir o defeito no código n Check-in dos componentes 19/27

Atividade: Realizar Testes de Unidade Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar

Atividade: Realizar Testes de Unidade Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar Sistema e Subsistemas Corrigir Defeitos Programador Revisor de código Implementar Componentes Realizar Testes Unitários Revisar Código 20/27

Atividade: Realizar Testes de Unidade n Implementar componentes de teste u Separados componentes a

Atividade: Realizar Testes de Unidade n Implementar componentes de teste u Separados componentes a serem testados u Usando ferramenta para geração dos componentes de teste F Ex: JUnit u Aproveitando componentes implementados anteriormente (Check-out) n n Check-in dos componentes de teste Executar testes e avaliar resultados 21/27

Atividade: Revisar Código Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar

Atividade: Revisar Código Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar Sistema e Subsistemas Corrigir Defeitos Programador Revisor de código Implementar Componentes Realizar Testes Unitários Revisar Código 22/27

Atividade: Revisar Código n Revisar código u Com base nos seguintes documentos: F Padrão

Atividade: Revisar Código n Revisar código u Com base nos seguintes documentos: F Padrão de codificação F Fatores de qualidade de OO e Java u Sem verificar se casos de uso foram corretamente implementados u Função corretiva, mas também educativa n Passar mudanças para o programador responsável 23/27

Atividade: Integrar Sistema e Subsistemas Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar

Atividade: Integrar Sistema e Subsistemas Arquiteto Integrador de sistema Estruturar Modelo de Implementação Planejar Integração Integrar Sistema e Subsistemas Corrigir Defeitos Programador Revisor de código Implementar Componentes Realizar Testes Unitários Revisar Código 24/27

Atividade: Integrar Sistema e Subsistemas n Check-out de todos os componentes do repositório principal

Atividade: Integrar Sistema e Subsistemas n Check-out de todos os componentes do repositório principal n Integrar componentes em um build n Notificar responsável pelos defeitos n Criar tag (identificador) para o build n Divulgar o build n Check-in dos componentes 25/27

Leitura adicional n Capítulo 10 do livro The Unified Software Development Process (de Ivar

Leitura adicional n Capítulo 10 do livro The Unified Software Development Process (de Ivar Jacobson, Grady Booch e James Rumbaugh) 26/27

O Fluxo de Implementação © Alexandre Vasconcelos amlv@cin. ufpe. br alexandre@qualiti. com. br Centro

O Fluxo de Implementação © Alexandre Vasconcelos amlv@cin. ufpe. br alexandre@qualiti. com. br Centro de Informática da UFPE/ Qualiti Software Processes 27/27