4. Estimativas - pt.1
Casos de uso
Características
-
Símples
-
Independente de tecnologias
-
Servem como unidade de medida padrão para software
-
Compreensível por técnicos e não-técnicos
- Descrições símples de interações entre atores e sistema
-
Utilizável desde o início do projeto
-
Representa a especificação de uma sequência de ações que o sistema pode executar ao interagir com atores
- Ator é qualquer entidade que interage com o sistema
Exemplos
Fonte
Obs: As imagens não estão relacionadas
Pontos de Caso de Uso
Motivação
- Com o crescimento da adoção da Orientação à Objetos, havia a ilusão de que a medição por Pontos de Função (FPA/APF) passara a não ser mais adequada para atender às demandas mais modernas
- Podem ser usados para medição e também para estimativa
- Modelo de caso de uso define o escopo funcional do sistema a ser desenvolvido
- O escopo funcional é base para estimativas top-down
Introdução sobre Pontos de Caso de Uso
- Desenvolvido por Gustav Karner (1993)
- Extensão de FPA/APF (Mais sobre FPA/APF)
Metodologia de estimativa com PCU/UPC
- Cada ator e UC são categorizados de acordo com sua complexidade e recebem determinado peso
- Pontos de UC sem ajuste são calculados a partir do somatório dos pesos de cada ator e UC
- Pontos de UC são ajustados em função dos valores de 13 fatores técnicos e 8 fatores ambientais
- UPC é multiplicado por um valor de produtividade
Classificando Atores
Símples, médio e complexo
- Símples: sistemas que se comunicam via interface bem definida (e.g. API)
- Médio: sistemas que se comunicam através de algum protocolo (e.g. TCP/IP, HTTP, ou até linha de comando)
- Complexo: pessoas interagindo através de interface gráfica
![[Use Case Points - actor weights example.webp]]
Fonte
UAW: Unadjusted Actor Weight (Peso de atores não ajustados)
Classificando UC
Símples, médio e complexo
- Símples: casos de uso com
- Médio: casos de uso com
- Complexo: casos de uso com
UUCW: Unadjusted use cases weight (Peso de casos de uso não ajustados)
UUCP: Unadjusted use case points (Pontos de casos de uso não ajustados)
Como não existe padronização para UC, a classificação não é símples. Autores propõem técnicas diferentes para classificar UCs, como número de classes ou número de entidades do banco de dados envolvidas no caso de uso
Fatores técnicos
O esforço total para desenvolver um sistema é influenciado por fatores além dos casos de uso. Um sistema distribuído exigirá mais esforço para ser desenvolvido do que um sistema não distribuído, por exemplo Da mesma forma, um sistema com objetivos de desempenho difíceis de atingir exigirá mais esforço. O impacto nos pontos de caso de uso da complexidade técnica de um projeto é capturado pela avaliação do projeto em cada um dos treze fatores
![[Use Case Points - technical complexity weights.webp]]
Fonte
Para cada um dos fatores, atribuir um valor na faixa de [0-5], sendo 5 o de maior importância. Então o peso é multiplicado pelo valor para encontrar o valor associado ao fator técnico.
Em seguida, o TFactor é usado para calcular o Fator de Complexidade Técnica (TCF)
Fatores ambientais
Fatores ambientais também afetam o tamanho de um projeto. O nível de motivação da equipe, sua experiência com o aplicativo e outros fatores afetam o cálculo dos pontos do caso de uso
Para cada um dos fatores, atribuir um valor na faixa de [0-5], sendo 5 o de maior importância. Então o peso é multiplicado pelo valor para encontrar o valor associado ao fator ambiental.
Em seguida, o EFactor é usado para calcular o Fator Ambiental (EF)
Determinando Pontos de UC
Gustav Karner sugeriu 20h por ponto de caso de uso
Então
Observações
- Falta de padronização de casos de uso pode dificultar o processo
- Requisitos não-funcionais não contribuem efetivamente no cálculo de estimativa
- Valores e fórmulas derivadas de processos empíricos. Falta de dados para projetos de tamanhos diversos