A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Metodologia de Desenvolvimento de Software

Apresentações semelhantes


Apresentação em tema: "Metodologia de Desenvolvimento de Software"— Transcrição da apresentação:

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

2 Tópicos Introdução A necessidade de controle do código fonte
Builds Controle de defeitos Gerência de mudança

3 Controle de Defeitos “Bug tracking” composto de relato análise
atualização de status

4 Como realizar o controle de Bugs
Memória não é escalável subjetivo não confiável papel caixa com bugs abertos caixa com bugs fechados

5 Como realizar o controle de Bugs
Sistema de controle de bugs relato adicionar dados, modificar, remover relato atribuir responsáveis acompanhar solução extrair informação sobre bugs e seu status

6 Sistema de controle de bugs
Principais elementos: campo de identificação do defeito (Bug ID) Produto Release Resumo (uma linha) Status Detalhes - efeito, como reproduzir, como evitar Data

7 Sistema de controle de bugs
Open Assigned Repair Unresolved Fixed Error

8 Elementos Adicionais Severidade extrema - produto não funciona
alta - funcionalidade importante não funciona, produto parcialmente utilizável média - alguma funcionalidade não está disponível, mas a maior parte está funcionando, pode haver workaround baixa - produto pode ser utilizado para a maioria de suas funções, defeito afeta funcionalidade mínima.

9 Elementos Adicionais Prioridade
extrema - crítica para o release do produto, defeito tem que ser resolvido. Release de manutenção. Alta - crítica, deve ser consertada o mais rápido possivel. Corrigida no próximo release, ou via patch. Média - importante para o sucesso do produto. Deve ser programada. Conserto no próximo release ou no seguinte. 4 meses. Baixa - deve ser consertado. 6 meses.

10 Elementos Adicionais Responsável Palavra chave Componente Attachments
Duplicação Log de mudanças

11 Multiplas plataformas
Opção de tratar como um único sistema ou como sistemas separados

12 Métricas Gráficos Detectar evolução no número de bugs abertos e fechados Detectar áreas com maior número de bugs

13 Integração modularizada
Modularizar a integração x “latest is greatest” “latest is greatest” exige que haja um mínimo de erros no repositório bem mais barato Modularizar a integração complexo grandes projetos

14 Tópicos Introdução A necessidade de controle do código fonte
Builds Controle de defeitos Gerência de mudança

15 Gerência de Mudança Define o mecanismo de aprovação de mudanças no sistema. Normalmente não é implementado completamente até o primeiro release (ou próximo dele). Pode ser mais ou menos formal, dependendo do tamanho do projeto.

16 Pedidos de mudança Tamanho da mudança Aternativas Complexidade
Cronograma Impacto Custo Relação com outras mudanças Testes

17 Grupo de Controle de Mudança
Avalia o impacto na funcionalidade do produto exemplo: segurança contra cópia Validade técnica da mudança consistência, uniformidade Cronograma

18 Pedidos de Mudança Submetidos Guardados (database) Revisados
Aprovados, rejeitados, ou postos em espera

19 Pedidos de Mudança Se aprovados, passam pelos seguintes estados:
novo, atribuído, em projeto, em implementação, em testes, em integração, em testes de sistema, completado, cancelado, com pendência.

20 Métricas Idade (Tempo) Distribuição (contabilidade)
Há quanto tempo solicitações de um determinado tipo ficam abertas? Quanto tempo cada tipo de solicitação leva para ser resolvido? Distribuição (contabilidade) Quantas solicitações existem nas várias categorias, por dono, prioridade, estado?

21 Métricas Direcionamento (tempo e contabilidade)
Qual o número acumulado de defeitos sendo encontrados e corrigidos ao longo do tempo? Qual a taxa de encontro e correção de defeitos? Qual o gap de qualidade entre defeitos abertos e fechados? Qual a média de tempo para se corrigir um defeito?

22 RUP - Conceitos Workspace ambiente privado ambiente de integração
ambiente compartilhado

23 RUP - Conceitos Baselining
snapshot dos artefatos de modelo de implementação, a partir do qual trabalhos futuros serão desenvolvidos. ponto estável dos artefatos (para criação de branches etc.) Artefatos devidamente marcados (tag) ponto para possível rollback ponto para reproduzir bugs produzido ao fim de cada fase (major milestone), ou fim de iterações (minor milestones)

24 RUP - Conceitos Método de promoção Alternativas
como atualizar artefatos do workspace individual para o workspace global (integração de (sub)sistemas, build, teste, release). Alternativas check-in private branch

25 RUP - Métodos de Promoção
Check-in pequenas mudanças (1 a 3 dias) pequenas mudanças para estabilização do sistema pequenos grupos de desenvolvedores (até 8) arquivos ficam visíveis para todos - não fazer check-in de trabalhos incompletos checkouts demorados podem levar a divergências como não se faz check-in de trabalho em andamento, há risco de perda por falta de backup

26 RUP - Métodos de Promoção
Branch Privado mudanças que desestabilizam o projeto (esquema do BD, por exemplo) mudanças que podem não ser incluídas no release atual mudanças que podem levar muito tempo trabalho de merge pode não ser trivial podem haver mudanças simultaneas em módulos

27 RUP

28 RUP - Plano de Gerência de Configuração
Definir como CM será feita para um determinado produto Objetivos Escopo Referências

29 RUP - Plano de Gerência de Configuração
Organização, responsabilidades ferramentas, ambiente e infraestrutura métodos de identificação (nomes, numeração) Baselines

30 RUP - Plano de Gerência de Configuração
Controle de Configuração e Mudanças Processo de pedido e aprovação de pedidos de mudança Grupo de aprovação de mudanças Procedimentos de backup Contabilização de Status relatórios treinamento

31 RUP

32 Sistemas de Gerência de Configuração
RCS, SCCS gratuitos desenvolvidos para o Unix não são muito utilizados atualmente CVS gratuito usado em larga escala nos projetos open source na internet: Linux, gnu, apache etc. suporte a características avançadas, como merge e desenvolvimento distribuído versão para Windows do cliente

33 Sistemas de Gerência de Mudanças
Bugzilla funcionamento via web browser roda em Unix: usa MySQL, perl muito usado em projetos open source na internet: netscape communicator 6, apache etc.

34 Sistemas Comerciais Merant PVCS Rational ClearCase/ClearQuest
várias versões, inclusive com gerência de mudanças (tracker) aprox. US$ por usuário (versão mais simples) Rational ClearCase/ClearQuest ClearQuest p/controle de mudanças aprox. R$ 8k + R$ 8k por usário StarBase StarTeam faz controle de mudanças

35 Sistemas de Gerência de Configuração
Microsoft Visual Source Safe Sistemas proprietários Visual Age for Java Oracle Designer

36 Referências Descrição do workflow de gerência de configuração e mudanças - CD do RUP Configuration Management Today - Software Release Methodology, M.E.Bays, Prentice Hall, 1999.


Carregar ppt "Metodologia de Desenvolvimento de Software"

Apresentações semelhantes


Anúncios Google