Upload
internet
View
107
Download
2
Embed Size (px)
Citation preview
Objetivos das Atividades de Implementação
• 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
Fluxo do Trabalho
Atividade: Estruturar Modelo de Implementação
Arquiteto
Integrador de sistema
Programador
Revisor de código
Estruturar Modelode Implementação
PlanejarIntegração
ImplementarComponentes
Realizar TestesUnitários
CorrigirDefeitos
RevisarCódigo
Integrar Sistemae Subsistemas
Atividade: Estruturar Modelo de Implementação
•Modelo de Implementação•Modelo de projeto gerado a partir da engenharia reversa do código fonte do sistema
Atividade: Planejar Integração
Arquiteto
Integrador de sistema
Programador
Revisor de código
Estruturar Modelode Implementação
PlanejarIntegração
ImplementarComponentes
Realizar TestesUnitários
CorrigirDefeitos
RevisarCódigo
Integrar Sistemae Subsistemas
Atividade: Planejar Integração
• Identificar quais componentes participam da iteração (colaboram para os casos de uso da iteração)
• Identificar quais pacotes participam da iteração (colaboram para os casos de uso da iteração)
• Definir os builds que serão gerados
Conceitos: Build
• Um build é uma versão operacional de um sistema ou parte de um sistema que demonstra um subconjunto das capacidades fornecidas no produto final.
• Os builds são partes integrantes do ciclo de vida iterativo. Eles representam tentativas contínuas de demonstrar a funcionalidade desenvolvida até esta data. Cada build é colocado sob o controle da configuração nos casos em que haja necessidade de voltar a uma versão mais antiga, quando a funcionalidade adicionada causar quebras ou qualquer outro efeito que comprometa a integridade do build
Atividade: Implementar Componentes
Arquiteto
Integrador de sistema
Programador
Revisor de código
Estruturar Modelode Implementação
PlanejarIntegração
ImplementarComponentes
Realizar TestesUnitários
CorrigirDefeitos
RevisarCódigo
Integrar Sistemae Subsistemas
Atividade: Implementar Componentes
• Check-out dos componentes• Implementar – Operações – Inicialização dos atributos– Estados
• Comentar o código implementado– Seguindo um padrão de codificação
Atividade: Implementar Componentes
• Avaliar o código implementado– Padrão de codificação – Fatores de qualidade de OO e Java
• Compilar o código implementado– Com a última versão estável dos componentes
auxiliares– Com a versão mais recente dos componentes
implementados• Check-in dos componentes
Atividade: Corrigir Defeitos
Arquiteto
Integrador de sistema
Programador
Revisor de código
Estruturar Modelode Implementação
PlanejarIntegração
ImplementarComponentes
Realizar TestesUnitários
CorrigirDefeitos
RevisarCódigo
Integrar Sistemae Subsistemas
Atividade: Corrigir Defeitos
• Check-out dos componentes• Estabilizar a ocorrência do defeito– Identificar casos de teste mínimos que causam o
defeito• Localizar o defeito no código– Isolado do ambiente de produção – Com ferramenta de depuração – Comentando trechos do código– Criando stubs
Atividade: Corrigir Defeitos
• Corrigir o defeito no código• Check-in dos componentes
Atividade: Realizar Testes de Unidade
Arquiteto
Integrador de sistema
Programador
Revisor de código
Estruturar Modelode Implementação
PlanejarIntegração
ImplementarComponentes
Realizar TestesUnitários
CorrigirDefeitos
RevisarCódigo
Integrar Sistemae Subsistemas
Atividade: Realizar Testes de Unidade
• Implementar componentes de teste– Separados dos componentes a serem testados– Usando ferramenta para geração dos
componentes de teste• Ex: JUnit
– Aproveitando componentes implementados anteriormente (Check-out)
• Check-in dos componentes de teste• Executar testes e avaliar resultados
Atividade: Revisar Código
Arquiteto
Integrador de sistema
Programador
Revisor de código
Estruturar Modelode Implementação
PlanejarIntegração
ImplementarComponentes
Realizar TestesUnitários
CorrigirDefeitos
RevisarCódigo
Integrar Sistemae Subsistemas
Atividade: Revisar Código
• Revisar código– Com base nos seguintes documentos:• Padrão de codificação • Fatores de qualidade de OO e Java
– Sem verificar se casos de uso foram corretamente implementados
– Função corretiva, mas também educativa• Passar mudanças para o programador
responsável
Atividade: Integrar Sistema e Subsistemas
Arquiteto
Integrador de sistema
Programador
Revisor de código
Estruturar Modelode Implementação
PlanejarIntegração
ImplementarComponentes
Realizar TestesUnitários
CorrigirDefeitos
RevisarCódigo
Integrar Sistemae Subsistemas
Atividade: Integrar Sistema e Subsistemas
• Check-out de todos os componentes do repositório principal
• Integrar componentes em um build
• Notificar responsável pelos defeitos
• Criar tag (identificador) para o build
• Divulgar o build
• Check-in dos componentes
Artefatos
Pessoas Envolvidas•Arquiteto.O papel arquiteto de software lidera e coordena as atividades e os artefatos técnicos no decorrer do projeto. O arquiteto de software estabelece a estrutura geral de cada visão de arquitetura: a decomposição da visão, o agrupamento dos elementos e as interfaces entre esses principais agrupamentos. Portanto, comparado aos outros papéis, a visão do arquiteto de software é ampla, e não detalhada.
Integrador de Sistema:Os implementadores liberam os componentes testados em um espaço de trabalho de integração, enquanto os Os implementadores liberam os componentes testados em um espaço de trabalho de integração, enquanto os integradores combinam esses componentes para criar um build. Um integrador também é responsável por integradores combinam esses componentes para criar um build. Um integrador também é responsável por planejar a integração, que ocorre no subsistema e no sistema, sendo que cada um tem um espaço de trabalho de planejar a integração, que ocorre no subsistema e no sistema, sendo que cada um tem um espaço de trabalho de integração separado. Os componentes testados são liberados do espaço de trabalho de desenvolvimento integração separado. Os componentes testados são liberados do espaço de trabalho de desenvolvimento particular de um implementador para o espaço de trabalho de integração do subsistema, enquanto os subsistemas particular de um implementador para o espaço de trabalho de integração do subsistema, enquanto os subsistemas de implementação integrados são liberados do espaço de trabalho de integração do subsistema para o espaço de de implementação integrados são liberados do espaço de trabalho de integração do subsistema para o espaço de trabalho de integração do sistema.trabalho de integração do sistema..
•Programador.O papel implementador é responsável por desenvolver e testar componentes de acordo com os padrões adotados para o projeto, para fins de integração com subsistemas maiores. Quando é necessário criar componentes de teste, como drivers ou stubs, para possibilitar a realização dos testes, o implementador também é responsável por desenvolver e testar esses componentes e os subsistemas correspondentes.
Revisor de Codigo.O papel revisor deo-fonte, além de planejar e conduzir revisões do código-fonte. O revisor de código é responsável por qualquer f código garante a qualidade do códigeedback de revisão que recomende um retrabalho necessário.
Exercícios
1- Cite os objetivos da disciplina de implementação.2- Quais atividades a serem feitas para planejar a integração?3- Como é chamado o produto final que são partes integrantes do ciclo de
vida iterativo?
Bibliografia:Fontes:http://www.wthreex.com/rup/portugues/index.htm