LETICIA MORETTI RIBEIRO
RAFAEL DA SILVA PINTO AZEVEDO
QUANTUM: ferramenta para estimativa de projeto de
software baseado em pontos por caso de uso
Orientadora: Prof.ª Ma. Cristina Correa de Oliveira
São Paulo
2013
Crise do software
Cronograma atrasado
Custos que ultrapassavam as previsões
Desempenho abaixo do esperado
Insatisfação por parte do cliente
Durante a fase inicial de um projeto de
software, valores concisos e fundamentados
em estimativas servem como subsídio para
tomada de decisões intrínsecas à construção
de um sistema.
Processos de software
Conjunto de atividades que auxiliam o
desenvolvimento de produtos de software de
qualidade, dentro do prazo e custo acordados.
Alguns exemplos: modelo cascata, modelo
iterativo incremental, modelo evolucionário etc.
Não existe o melhor processo de software!
Processos de software
Segundo Sommerville (2007) 4 atividades são
comuns aos diversos modelos de processos de
software existentes:
1) Especificação
2) Projeto e Implementação
3) Validação e Verificação
4) Evolução de software
A importância da modelagem no desenvolvimento de
sistemas de software
Princípios básicos da modelagem:
1) Abstrair a complexidade
2) Gerar um modelo gráfico simplificado
O paradigma orientado a objetos
Década de 90: diversas técnicas de modelagem
de sistemas orientados a objetos surgem;
Problema: falta de padronização na
representação dos conceitos.
A linguagem unificada de modelagem
Booch, Jacobson e Rumbaugh propuseram uma
notação gráfica orientada a objetos-padrão,
chamada UML
A UML permite que todos os seus símbolos
sejam entendidos universalmente
É composta por 13 diagramas
Casos de uso
Segundo Bezerra (2007) o modelo de casos de uso
define os seguintes componentes: casos de uso,
atores e os relacionamentos entre eles.
Métricas para estimativa de projeto de
software
“Uma estimativa de projeto inicial ajuda gestores,
desenvolvedores e testadores a planejar os recursos
que um projeto requer”. (CLEMMONS, 2006,
p.21).
A partir da estimativa de tamanho obtida é possível
definir cronograma, custo e esforço necessários.
Métricas para estimativa de projeto de
software
Técnicas para elaboração de estimativas de
tamanho de projeto de software
Contagem de linhas de código
Análise de pontos de função
Pontos por caso de uso
1993: Gustav Karner publica o artigo Resource
Estimation for Objectory Projects.
Proposta: Pontos por Caso de Uso
Cálculo do peso não ajustado dos atores (UAW)
1) Atribuição das complexidades dos atores
Complexidade Definição Peso
Simples Representa um sistema externo acessado pormeio de API.
1
Médio Representa um sistema externo acessado pormeio de protocolo de comunicação ou umainteração humana por linha de comando.
2
Complexo Representa atores que interagem com osistema por meio de uma GUI.
3
Cálculo do peso não ajustado dos casos de uso (UUCW)1) Atribuição das complexidades dos casos de uso
Complexidade Definição Peso
Simples Possui 3 transações ou menos, incluindo cenários
alternativos e sua realização acontece com menos de 5
objetos (classes de análise).
5
Médio Possui de 4 a 7 transações, incluindo cenários
alternativos e sua realização acontece com 5 a 10 objetos
(classes de análise).
10
Complexo Possui mais de 7 transações, incluindo cenários
alternativos e sua realização acontece com mais de 10
objetos (classes de análise).
15
Fatores técnicos que contribuem para a complexidade Peso
Sistema distribuído 2
Objetivos de desempenho da aplicação 1
Eficiência para o usuário final (on-line) 1
Processamento interno complexo 1
Reusabilidade do código 1
Facilidade de instalação 0.5
Facilidade operacional, usabilidade 0.5
Portabilidade 2
Facilidade para mudanças 1
Concorrência 1
Recursos especiais de segurança 1
Prover acesso direto para sistemas/componentes externos 1
É necessário algum treino especial para os usuários 1
Fatores que contribuem para a eficiência Peso
Familiaridade com o processo de desenvolvimento adotado 1.5
Colaboradores de meio período -1
Capacidade de analista 0.5
Experiência com a aplicação 0.5
Experiência com orientação a objetos 1
Motivação 1
Linguagem de programação difícil -1
Requisitos estáveis 2
Cálculo dos pontos por caso de uso (UCP)
◦ O UCP é calculado a partir da seguinte
função:
UCP = UAW * UUCW* TCF * EF
Derivando tempo
Karner (1993) concluiu que cada UCP
necessita, aproximadamente, de 20 homens/hora
para que seja realizado.
A partir do PF, o número de horas necessárias
para o projeto é calculado conforme a função:
Tempo Estimado = UCP * PF
Tecnologias utilizadas:◦ Eclipse IDE◦ Subversion◦ Assembla◦ Apache Tomcat
7.0.32◦ MySQL 5.5.30◦ Hibernate 4.1.8
◦ JDK 7.15◦ JSF 2.0◦ Raphäel◦ JavaScript◦ JQuery UI◦ JSON◦ GSON
Considerações sobre a técnica pontos por caso
de uso
Considerações sobre o desenvolvimento da
ferramenta
Considerações sobre os resultados da pesquisa
Desempenho;
Usabilidade;
Possíveis pontos de melhoria.
Pesquisas futuras