Nostradamus® Previsão em projetos de Software On Top Developers Centro de Informática Universidade Federal de Pernambuco Equipe Álvaro Alencar Barbosa Palitot Bruno José Torres Fernandes Bruno Rodrigues Diana Rúbia Rodrigues Ricardo Emílio Georges Saad Neto Felipe Guedes da Fonte Andrade Glaucia Boudoux Peres Leonardo Menezes Manoel Gilvan Calou de Araújo Sá Filho Renata de Avelar Alchorne Thiago Miranda Amorim Silva Thiago Rodrigues Cavalcanti Roteiro Introdução Motivação Desenvolvimento Conclusão O Futuro Conceitos COCOMO II Pontos de Função Pontos de Caso de Uso Wideband Delphi Uma Visão de COCOMO II Teve como precursor o COCOMO I ou 81 Aplicado ao RUP Constituído de uma hierarquia de modelos de estimativa de software Permite diferentes opções quanto a métricas de volume de software e fatores de ajuste custo, escala,capacitação das equipes Uma Visão de Pontos de Função Publicado nos anos 80 no IBM GUIDE Medido do ponto de vista funcional Independe de: Linguagem Metodologia de desenvolvimento Capacidade do Grupo Medem o tamanho do projeto São padronizados internacionalmente Uma Visão de Caso de Uso Criado em 1993 por Gustav Kernar Tese de Doutorado Pode variar entre organizações e indivíduos Inexistência de padrões universais Criado para estimar projetos Orientados à Objetos Uma Visão de Wideband Originado pela Rand Corporation e refinado por Boehm Consiste em obter consenso a partir de estimativas individuais As estimativas são geradas após reuniões entre os especialistas O consenso se da através de reuniões dos especialistas com um moderador, o qual apresenta os resultados individuais e a media deles. Introdução Métricas e estimativas Métodos de Cálculo de estimativa Busca pela qualidade de software Motivação “O número, à medida que quantifica, é o princípio da ordem e da harmonia. A realidade é absolutamente objetiva e comensurável e o uso dos números para explicá-la evita o dissenso e a controvérsia.” (Pitágoras de Samos, 572?-510? a.c.) “Não se consegue controlar o que não se consegue medir” (Tom DeMarco, Controlling Software Project , Yourdon Press 1982) Por que Medir Visão dos processos Identificação e gerenciamento de risco Identificação e resolução de problemas Avaliação do desempenho Justificativas para as decisões Proposta Nostradamus Sistema de estimativa de esforço Baseado em métodos e no histórico Pontos de Função Pontos de Caso de Uso COCOMO II Wideband delphi Público Alvo Gerentes de Projetos Engenheiros de Software Objetivos Descrever as funcionalidades do Nostradamus Apresentar o processo de desenvolvimento do projeto Mostrar os benefícios do Nostradamus Processo de desenvolvimento Feito utilizando o RUP Requisitos Arquitetura Análise Projeto Interface Implementação Testes Requisitos do Sistema 1ª Iteração Calcular o esforço de um projeto utilizando Pontos de Função Calcular o esforço de um projeto segundo COCOMO II Criar uma estimativa Abrir uma estimativa Guardar estimativa Requisitos do Sistema 2ª Iteração Calcular o esforço de um projeto utilizando Pontos de Função Calcular o esforço de um projeto segundo COCOMO II Criar uma estimativa Abrir uma estimativa Guardar estimativa Tecnologias utilizadas Feito sobre a plataforma Microsoft .NET com a linguagem C# PHP para módulo internet MySql para persistência de dados Princípios da Arquitetura Modularidade Manutenibilidade Extensibilidade Reusabilidade Visão Geral da Arquitetura Interface Gráfica Negócio Dados Arquitetura (1/2) Interface Gráfica Ambiente desktop – plugin para MS Project Módulo na internet para o método Wideband delphi – páginas php Comunicação Servidor Apache para suporte a php Arquitetura (2/2) Camada de negócios Validação lógica do sistema Atende as solicitações da interface Realiza solicitações a camada de dados Camada de dados Envia comando para a persistência dos dados Banco de dados MySql Análise Diagramas de interação: - Seqüência - Colaboração Objetivos: - Mostrar as primeiras abstrações (classes e objetos) - Capturar a semântica do fluxo de eventos dos casos de uso escolhidos, permite a visão da parte dinâmica do sistema Projeto É a visão lógica do projeto O resultado da análise é expandido em soluções técnicas Detalhamento das especificações para a fase de implementação Como vai funcionar o programa de maneira concreta: classes, métodos, atributos. Pensar feito o computador. Design Centrado no Usuário Análise de Concorrentes Análise da Tarefa Prototipação Teste de Usabilidade Satisfação, grau de conhecimento, processos ... O usuário e sua integração com o produto! Implementação e Testes Implementação Todos os casos de uso implementados Testes Teste do Banco de Dados • Testar consistência dos dados Teste de Aceitação • Testar fluxo do sistema Testes Unitários – NUnit • Testar partes isoladas do sistema Benefícios Nostradamus (1/2) GUI dinâmica Integração com o MS Project Baseada nos documentos de Análise e Projeto (Baseados em métodos científicos) Design Centrado no Usuário Software mais intuitivo Melhor interação com o usuário Telas objetivas Benefícios Nostradamus (2/2) Elaboração de cronogramas Precisão de resultados Melhoria da capacidade competitiva da empresa Maior segurança quanto aos cumprimentos dos objetivos Redução de riscos de projeto Reduzir custos extras O futuro Estimativa baseada no histórico Wideband delphi Pontos de Caso de Uso Navegação com design centrado no usuário Internacionalização do software Nostradamus® Previsão em projetos de Software On Top Developers Centro de Informática Universidade Federal de Pernambuco