23

Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

Embed Size (px)

Citation preview

Page 1: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •
Page 2: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 3: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

Fluxo do Trabalho

Page 4: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 5: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 6: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 7: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 8: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 9: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 10: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 11: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 12: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 13: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 14: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

Atividade: Corrigir Defeitos

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

Page 15: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 16: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 17: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 18: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 19: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 20: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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

Page 21: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

Artefatos

Page 22: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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.

Page 23: Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •

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