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