Engenharia de Software Alexandre Vasconcelos Andr Santos Augusto

  • Slides: 31
Download presentation
Engenharia de Software Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba ©

Engenharia de Software Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro de Informática Universidade Federal de Pernambuco

Atividades de Implementação Paulo Borba (com figuras do RUP e material da Qualiti Software

Atividades de Implementação Paulo Borba (com figuras do RUP e material da Qualiti Software Processes) Objetivo Depois desta aula você será capaz de realizar atividades típicas de implementação seguindo uma adaptação do fluxo de atividades de implementação do RUP.

Atividades de Implementação Paulo Borba Leitura prévia essencial • Seção Core Workflows—Implementation da documentação

Atividades de Implementação Paulo Borba Leitura prévia essencial • Seção Core Workflows—Implementation da documentação do RUP

Contexto das Atividades de Implementação

Contexto das Atividades de Implementação

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, arquivo de documentação, 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

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

Atividades de Implementação do RUP

Atividades de Implementação do RUP

Adaptação das Atividades de Implementação do RUP

Adaptação das Atividades de Implementação do RUP

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

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

Planejar Integração n Identificar quais componentes participam da iteração

Planejar Integração n Identificar quais componentes participam da iteração

Planejar Integração n Definir os builds que serão gerados

Planejar Integração n Definir os builds que serão gerados

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

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?

Adaptação das Atividades de Implementação do RUP

Adaptação das Atividades de Implementação do RUP

Criar Modelo de Implementação n Criar modelo de implementação u Modelo de Implementação F

Criar Modelo de Implementação n Criar modelo de implementação u Modelo de Implementação F Como em UML F Modelo de projeto gerado a partir da engenharia reversa do código fonte do sistema

Adaptação das Atividades de Implementação do RUP

Adaptação das Atividades de Implementação do RUP

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

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 Padrão de codificação

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

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 auxiliares n Check-in dos componentes

Adaptação das Atividades de Implementação do RUP

Adaptação das Atividades de Implementação do RUP

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

Corrigir Defeitos n Check-out dos componentes n Estabilizar a ocorrência do defeito u Identificar casos de teste mínimos que causam o defeito n 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

Corrigir Defeitos n Corrigir o defeito no código n Check-in dos componentes

Corrigir Defeitos n Corrigir o defeito no código n Check-in dos componentes

Adaptação das Atividades de Implementação do RUP

Adaptação das Atividades de Implementação do RUP

Realizar Testes de Unidade n Identificar os tipos de teste necessários u Com base

Realizar Testes de Unidade n Identificar os tipos de teste necessários u Com base nos casos de uso e nos requisitos não funcionais u Tipos de teste F Corretude F Robustez F Desempenho

Realizar Testes de Unidade n Descrever os casos de teste u Com base nos

Realizar Testes de Unidade n Descrever os casos de teste u Com base nos cenários de utilização do sistema u Tipos de casos de teste F Caixa-preta F Caixa-branca u Aproveitando anteriormente casos de testes descritos

Realizar Testes de Unidade n Implementar componentes de teste u Separados componentes a serem

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 u JUnit u Aproveitando componentes implementados anteriormente (Check-out) n n Check-in dos componentes de teste Executar testes e avaliar resultados

Adaptação das Atividades de Implementação do RUP

Adaptação das Atividades de Implementação do RUP

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

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

Adaptação das Atividades de Implementação do RUP

Adaptação das Atividades de Implementação do RUP

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

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 para o build n Divulgar o build n Check-in dos componentes

Atividades de Implementação Paulo Borba Resumo • Contexto e objetivos das atividades de implementação

Atividades de Implementação Paulo Borba Resumo • Contexto e objetivos das atividades de implementação • Fluxo de atividades adaptado

Atividades de Implementação Paulo Borba Leitura adicional • Capítulo 10 do livro The Unified

Atividades de Implementação Paulo Borba Leitura adicional • Capítulo 10 do livro The Unified Software Development Process (de Ivar Jacobson, Grady Booch e James Rumbaugh)

Engenharia de Software Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba ©

Engenharia de Software Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro de Informática Universidade Federal de Pernambuco