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
Download

Nostradamus Apresentação Metodologia®[1]