Apresentação tcc - Leticia Moretti e Rafael Azevedo

Post on 21-Jul-2015

251 views 4 download

Transcript of Apresentação tcc - Leticia Moretti e Rafael Azevedo

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