![Page 1: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/1.jpg)
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
![Page 2: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/2.jpg)
Crise do software
Cronograma atrasado
Custos que ultrapassavam as previsões
Desempenho abaixo do esperado
Insatisfação por parte do cliente
![Page 3: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/3.jpg)
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.
![Page 4: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/4.jpg)
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!
![Page 5: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/5.jpg)
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
![Page 6: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/6.jpg)
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
![Page 7: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/7.jpg)
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.
![Page 8: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/8.jpg)
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
![Page 9: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/9.jpg)
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.
![Page 10: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/10.jpg)
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.
![Page 11: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/11.jpg)
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
![Page 12: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/12.jpg)
1993: Gustav Karner publica o artigo Resource
Estimation for Objectory Projects.
Proposta: Pontos por Caso de Uso
![Page 13: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/13.jpg)
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
![Page 14: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/14.jpg)
![Page 15: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/15.jpg)
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
![Page 16: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/16.jpg)
![Page 17: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/17.jpg)
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
![Page 18: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/18.jpg)
![Page 19: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/19.jpg)
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
![Page 20: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/20.jpg)
![Page 21: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/21.jpg)
Cálculo dos pontos por caso de uso (UCP)
◦ O UCP é calculado a partir da seguinte
função:
UCP = UAW * UUCW* TCF * EF
![Page 22: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/22.jpg)
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
![Page 23: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/23.jpg)
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
![Page 24: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/24.jpg)
![Page 25: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/25.jpg)
![Page 26: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/26.jpg)
![Page 27: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/27.jpg)
![Page 28: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/28.jpg)
![Page 29: Apresentação tcc - Leticia Moretti e Rafael Azevedo](https://reader033.vdocuments.mx/reader033/viewer/2022052413/55ad9fd71a28abe72d8b47b2/html5/thumbnails/29.jpg)
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