Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Metodologia de Desneov

michaelss
July 05, 2012
55

Metodologia de Desneov

michaelss

July 05, 2012
Tweet

Transcript

  1. Metodologia de Desenvolvimento de Software/TRE-TO: Experiências & Boas Práticas Michael

    Schuenck dos Santos @michaelss Palmas-TO, 11 de junho de 2012 segunda-feira, 11 de junho de 12
  2. Quem sou eu? MSc. em Sistemas e Computação Engenharia de

    Software Analista de Sistemas no TRE-TO Ex-professor @michaelss zeropontoum.wordpress.com segunda-feira, 11 de junho de 12
  3. Roteiro Lições aprendidas na aplicação da MDS Especificação de novos

    sistemas Procedimentos de apoio Acompanhamento da implementação segunda-feira, 11 de junho de 12
  4. Elementos no DS Pessoas Tecnologias Comunicação Procedimentos LP’s IDE’s BD’s

    SO’s... Desenvolvimento de Sistemas segunda-feira, 11 de junho de 12
  5. Elementos no DS Pessoas Tecnologias Comunicação Procedimentos LP’s IDE’s BD’s

    SO’s... Desenvolvimento de Sistemas Equipe Cliente Direção segunda-feira, 11 de junho de 12
  6. Elementos no DS Pessoas Tecnologias Comunicação Procedimentos LP’s IDE’s BD’s

    SO’s... Desenvolvimento de Sistemas Equipe Cliente Direção Cultura Mudanças Individualidade segunda-feira, 11 de junho de 12
  7. Elementos no DS Pessoas Tecnologias Comunicação Procedimentos LP’s IDE’s BD’s

    SO’s... Desenvolvimento de Sistemas Equipe Cliente Direção Estabelecidos Conhecidos Aperfeiçoados Cobrados Cultura Mudanças Individualidade segunda-feira, 11 de junho de 12
  8. Elementos no DS Pessoas Tecnologias Comunicação Procedimentos LP’s IDE’s BD’s

    SO’s... Desenvolvimento de Sistemas Equipe Cliente Direção Estabelecidos Conhecidos Aperfeiçoados Cobrados Verbal e Documentada Cultura Mudanças Individualidade segunda-feira, 11 de junho de 12
  9. Metodologias Ágeis Baseadas em UP X Codificação Especificação Menor risco

    de retrabalho Valor para o cliente segunda-feira, 11 de junho de 12
  10. Metodologias Ágeis Baseadas em UP X Codificação Especificação Menor risco

    de retrabalho Valor para o cliente Uso do Scrum: projetos com mais de 2 pessoas segunda-feira, 11 de junho de 12
  11. Requisitos Sequência Básica Diagrama de Casos de Uso Casos de

    Uso Wireframes Diagrama de Entidades Prova de Conceito segunda-feira, 11 de junho de 12
  12. Requisitos Funcionais ID Nome Dono Prioridade 1 Visualizar pedidos Depto.

    X Alta 2 Emitir relatórios Depto. Y Média 3 Cadastrar pedidos Depto. Z Baixa segunda-feira, 11 de junho de 12
  13. Requisitos Não Funcionais ID Nome Requisito 1 Só é possível

    cadastrar pedidos para a filial do usuário 3 A maioria se torna Regra de Negócio segunda-feira, 11 de junho de 12
  14. Diagrama de Casos de Uso Numeração Nomes informativos Reuso Permissões

    Extends: regras de negócio Gerenciar: CRUD segunda-feira, 11 de junho de 12
  15. Wireframes (protótipos de telas) A numeração dos Casos de Uso

    é útil Ferramentas: Axure (paga, Windows) Pencil (gratuita, extensão para o Firefox) Cacoo e Mockingbird (gratuitas, on-line) Abstração Validação do Cliente Erros nos UC segunda-feira, 11 de junho de 12
  16. Wireframes (protótipos de telas) A numeração dos Casos de Uso

    é útil Ferramentas: Axure (paga, Windows) Pencil (gratuita, extensão para o Firefox) Cacoo e Mockingbird (gratuitas, on-line) Abstração Validação do Cliente Erros nos UC segunda-feira, 11 de junho de 12
  17. 4. Fluxo Principal 1. O ator acessa o menu Mesários

    e Auxiliares/Equipes. 2. O sistema exibe a tela de listagem de equipes {301- Gerenciar equipes/Listar}. 3. O ator escolhe a opção cadastrar nova equipe. {O usuário escolhe opção editar equipe} 4. O sistema exibe o formulário de cadastro de equipe: {301- Gerenciar equipes/Cadastrar}. 5. O ator preenche os dados da equipe [RN01] e [RN02] e aciona a opção para gravar. 6. O sistema efetua o cadastro da equipe e exibe a mensagem MSGI03 do documento de mensagens geral do sistema. {Campo obrigatório não informado} 7. Retorna para a tela de listagem de equipes {301-Gerenciar equipes/Listar}. Casos de Uso segunda-feira, 11 de junho de 12
  18. 4. Fluxo Principal 1. O ator acessa o menu Mesários

    e Auxiliares/Equipes. 2. O sistema exibe a tela de listagem de equipes {301- Gerenciar equipes/Listar}. 3. O ator escolhe a opção cadastrar nova equipe. {O usuário escolhe opção editar equipe} 4. O sistema exibe o formulário de cadastro de equipe: {301- Gerenciar equipes/Cadastrar}. 5. O ator preenche os dados da equipe [RN01] e [RN02] e aciona a opção para gravar. 6. O sistema efetua o cadastro da equipe e exibe a mensagem MSGI03 do documento de mensagens geral do sistema. {Campo obrigatório não informado} 7. Retorna para a tela de listagem de equipes {301-Gerenciar equipes/Listar}. “Diálogo” entre ator e sistema. Casos de Uso segunda-feira, 11 de junho de 12
  19. 4. Fluxo Principal 1. O ator acessa o menu Mesários

    e Auxiliares/Equipes. 2. O sistema exibe a tela de listagem de equipes {301- Gerenciar equipes/Listar}. 3. O ator escolhe a opção cadastrar nova equipe. {O usuário escolhe opção editar equipe} 4. O sistema exibe o formulário de cadastro de equipe: {301- Gerenciar equipes/Cadastrar}. 5. O ator preenche os dados da equipe [RN01] e [RN02] e aciona a opção para gravar. 6. O sistema efetua o cadastro da equipe e exibe a mensagem MSGI03 do documento de mensagens geral do sistema. {Campo obrigatório não informado} 7. Retorna para a tela de listagem de equipes {301-Gerenciar equipes/Listar}. Como chegar ao UC Casos de Uso segunda-feira, 11 de junho de 12
  20. 4. Fluxo Principal 1. O ator acessa o menu Mesários

    e Auxiliares/Equipes. 2. O sistema exibe a tela de listagem de equipes {301- Gerenciar equipes/Listar}. 3. O ator escolhe a opção cadastrar nova equipe. {O usuário escolhe opção editar equipe} 4. O sistema exibe o formulário de cadastro de equipe: {301- Gerenciar equipes/Cadastrar}. 5. O ator preenche os dados da equipe [RN01] e [RN02] e aciona a opção para gravar. 6. O sistema efetua o cadastro da equipe e exibe a mensagem MSGI03 do documento de mensagens geral do sistema. {Campo obrigatório não informado} 7. Retorna para a tela de listagem de equipes {301-Gerenciar equipes/Listar}. Indicação da tela Casos de Uso segunda-feira, 11 de junho de 12
  21. 4. Fluxo Principal 1. O ator acessa o menu Mesários

    e Auxiliares/Equipes. 2. O sistema exibe a tela de listagem de equipes {301- Gerenciar equipes/Listar}. 3. O ator escolhe a opção cadastrar nova equipe. {O usuário escolhe opção editar equipe} 4. O sistema exibe o formulário de cadastro de equipe: {301- Gerenciar equipes/Cadastrar}. 5. O ator preenche os dados da equipe [RN01] e [RN02] e aciona a opção para gravar. 6. O sistema efetua o cadastro da equipe e exibe a mensagem MSGI03 do documento de mensagens geral do sistema. {Campo obrigatório não informado} 7. Retorna para a tela de listagem de equipes {301-Gerenciar equipes/Listar}. Fluxo Alternativo Casos de Uso segunda-feira, 11 de junho de 12
  22. 4. Fluxo Principal 1. O ator acessa o menu Mesários

    e Auxiliares/Equipes. 2. O sistema exibe a tela de listagem de equipes {301- Gerenciar equipes/Listar}. 3. O ator escolhe a opção cadastrar nova equipe. {O usuário escolhe opção editar equipe} 4. O sistema exibe o formulário de cadastro de equipe: {301- Gerenciar equipes/Cadastrar}. 5. O ator preenche os dados da equipe [RN01] e [RN02] e aciona a opção para gravar. 6. O sistema efetua o cadastro da equipe e exibe a mensagem MSGI03 do documento de mensagens geral do sistema. {Campo obrigatório não informado} 7. Retorna para a tela de listagem de equipes {301-Gerenciar equipes/Listar}. Indicação de Regra de Negócio Casos de Uso segunda-feira, 11 de junho de 12
  23. 4. Fluxo Principal 1. O ator acessa o menu Mesários

    e Auxiliares/Equipes. 2. O sistema exibe a tela de listagem de equipes {301- Gerenciar equipes/Listar}. 3. O ator escolhe a opção cadastrar nova equipe. {O usuário escolhe opção editar equipe} 4. O sistema exibe o formulário de cadastro de equipe: {301- Gerenciar equipes/Cadastrar}. 5. O ator preenche os dados da equipe [RN01] e [RN02] e aciona a opção para gravar. 6. O sistema efetua o cadastro da equipe e exibe a mensagem MSGI03 do documento de mensagens geral do sistema. {Campo obrigatório não informado} 7. Retorna para a tela de listagem de equipes {301-Gerenciar equipes/Listar}. Fluxo de Exceção Casos de Uso segunda-feira, 11 de junho de 12
  24. 4. Fluxo Principal 1. O ator acessa o menu Mesários

    e Auxiliares/Equipes. 2. O sistema exibe a tela de listagem de equipes {301- Gerenciar equipes/Listar}. 3. O ator escolhe a opção cadastrar nova equipe. {O usuário escolhe opção editar equipe} 4. O sistema exibe o formulário de cadastro de equipe: {301- Gerenciar equipes/Cadastrar}. 5. O ator preenche os dados da equipe [RN01] e [RN02] e aciona a opção para gravar. 6. O sistema efetua o cadastro da equipe e exibe a mensagem MSGI03 do documento de mensagens geral do sistema. {Campo obrigatório não informado} 7. Retorna para a tela de listagem de equipes {301-Gerenciar equipes/Listar}. Mensagem ao usuário Casos de Uso segunda-feira, 11 de junho de 12
  25. 4. Fluxo Principal 1. O ator acessa o menu Mesários

    e Auxiliares/Equipes. 2. O sistema exibe a tela de listagem de equipes {301- Gerenciar equipes/Listar}. 3. O ator escolhe a opção cadastrar nova equipe. {O usuário escolhe opção editar equipe} 4. O sistema exibe o formulário de cadastro de equipe: {301- Gerenciar equipes/Cadastrar}. 5. O ator preenche os dados da equipe [RN01] e [RN02] e aciona a opção para gravar. 6. O sistema efetua o cadastro da equipe e exibe a mensagem MSGI03 do documento de mensagens geral do sistema. {Campo obrigatório não informado} 7. Retorna para a tela de listagem de equipes {301-Gerenciar equipes/Listar}. Casos de Uso segunda-feira, 11 de junho de 12
  26. Outros Artefatos Prova de conceito Glossário Especificação suplementar Pendências LP,

    frameworks, servidores, layout, outros sistemas, documentação segunda-feira, 11 de junho de 12
  27. Dificuldades Necessidade de abstração Estamos acostumados a começar programando Programar

    é divertido Consistência entre os artefatos e suas versões Comunicação Liberação tardia segunda-feira, 11 de junho de 12
  28. Registro das Funcionalidades/Bugs Uso do Bugzilla Funcionalidades/bugs não atendidos, atendidos,

    resolvidos, homologados, em produção Usado apenas na codificação Objetivos: maior controle sobre as tarefas, rastreamento, lista de afazeres segunda-feira, 11 de junho de 12
  29. Homologação Funcionalidade/bug concluído Feita por outra pessoa, diferente do desenvolvedor

    Atualmente: ad hoc Objetivo: evitar sistemas em produção com erros ou que não atendam a funcionalidade/bug segunda-feira, 11 de junho de 12
  30. Implantação Quartas-feiras, às 19:30 Uma só pessoa Uma implantação: uma

    versão Funcionalidades/bugs atendidos Tag no Git Aplicações Java e Grails Objetivo: evitar que o ambiente de produção fique instável segunda-feira, 11 de junho de 12
  31. Fluxo dos bugs NEW ASSIGNED Bug identificado Funcionalidade definida Atendimento

    autorizado pelo gerente. Nova versão definida segunda-feira, 11 de junho de 12
  32. Fluxo dos bugs NEW ASSIGNED RESOLVED Bug identificado Funcionalidade definida

    Atendimento autorizado pelo gerente. Nova versão definida Tarefa concluída pelo desenvolvedor. Pronto para homologação segunda-feira, 11 de junho de 12
  33. Geralmente o desenvolvedor completará outros bugs para então solicitar a

    homologação. Fluxo dos bugs NEW ASSIGNED RESOLVED Bug identificado Funcionalidade definida Atendimento autorizado pelo gerente. Nova versão definida Tarefa concluída pelo desenvolvedor. Pronto para homologação segunda-feira, 11 de junho de 12
  34. Fluxo dos bugs NEW ASSIGNED RESOLVED REOPENED Bug identificado Funcionalidade

    definida Atendimento autorizado pelo gerente. Nova versão definida Tarefa concluída pelo desenvolvedor. Pronto para homologação Solução não passou na homologação segunda-feira, 11 de junho de 12
  35. Fluxo dos bugs NEW ASSIGNED RESOLVED REOPENED Bug identificado Funcionalidade

    definida Atendimento autorizado pelo gerente. Nova versão definida Tarefa concluída pelo desenvolvedor. Pronto para homologação Solução não passou na homologação segunda-feira, 11 de junho de 12
  36. Fluxo dos bugs NEW ASSIGNED RESOLVED VERIFIED REOPENED Bug identificado

    Funcionalidade definida Atendimento autorizado pelo gerente. Nova versão definida Tarefa concluída pelo desenvolvedor. Pronto para homologação Solução não passou na homologação Solução passou na homologação. Pronto para implantação segunda-feira, 11 de junho de 12
  37. Fluxo dos bugs NEW ASSIGNED RESOLVED VERIFIED REOPENED CLOSED Bug

    identificado Funcionalidade definida Atendimento autorizado pelo gerente. Nova versão definida Tarefa concluída pelo desenvolvedor. Pronto para homologação Solução não passou na homologação Solução passou na homologação. Pronto para implantação Nova versão implantada segunda-feira, 11 de junho de 12
  38. Papéis NEW ASSIGNED RESOLVED VERIFIED REOPENED CLOSED Consulta com bugs

    ASSIGNED: quem tá fazendo o que? segunda-feira, 11 de junho de 12
  39. Papéis NEW ASSIGNED RESOLVED VERIFIED REOPENED CLOSED Consulta com bugs

    ASSIGNED: quem tá fazendo o que? Consulta com bugs REOPENED: quem está “errando” mais? segunda-feira, 11 de junho de 12
  40. Papéis NEW ASSIGNED RESOLVED VERIFIED REOPENED CLOSED Consulta com bugs

    ASSIGNED: quem tá fazendo o que? Consulta com bugs REOPENED: quem está “errando” mais? Depois que todos os bugs foram verificados, o desenvolvedor gera o pacote e pede a implantação segunda-feira, 11 de junho de 12
  41. Mensagem Final É comum deixar de usar metodologias ou procedimentos

    devido à dificuldade de uso por parte da equipe como um todo. Contra isto, deve-se encontrar formas de melhorá-los paulatinamente, envolvendo a equipe e obtendo feedback. segunda-feira, 11 de junho de 12
  42. Metodologia de Desenvolvimento de Software/TRE-TO: Experiências & Boas Práticas Michael

    Schuenck dos Santos @michaelss zeropontoum.wordpress.com Palmas-TO, 11 de junho de 2012 segunda-feira, 11 de junho de 12