A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Copyright 2003 Rafael Marques. Todos os direitos reservados. Estimando Projetos de Software Usando Pontos de Caso de Uso Disciplina : Tópicos.

Apresentações semelhantes


Apresentação em tema: "Copyright 2003 Rafael Marques. Todos os direitos reservados. Estimando Projetos de Software Usando Pontos de Caso de Uso Disciplina : Tópicos."— Transcrição da apresentação:

1 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Disciplina : Tópicos Avançados em Engenharia de Software III Aluno: Rafael Marques - rm2@cin.ufpe.br Universidade Federal de Pernambuco - Mestrado Data: 10/12/2003

2 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Visão Geral Motivação Introdução Modelagem de Caso de Uso Estimativas usando Pontos de Caso de Uso Exercício Referências

3 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Motivação Medidas de tamanho de software SLOC - Source Lines of Code Pontos de Função - FP Pontos de Caso de Uso - UCP  Gustav Karmer 1993

4 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Introdução Para processos de desenvolvimento dirigidos a Caso de Uso, logo no início do projeto já é disponibilizado um modelo de Caso de Uso. Problema na variação de estilos, o que gera caos na comparação entre produtos de diferentes empresas. Deve haver uma padronização de estilos.

5 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Caso de Uso [UML]  Um caso de uso (UC) representa a especificação de uma sequência de ações, que um sistema desempenha para produzir um resultado. Algumas Características: - É sempre iniciado por um ator - É completo - Provê valor a um ator

6 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso UCs são:  Independente de tecnologia;  Unidade de medida padrão para o software;  Simples;  Compreensível por não-técnicos;  Utilizável desde o início do sistema. Só podem ser utilizadas por empresas que adotem os casos de uso como forma de expressão de requisitos. Introdução

7 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Caso de Uso A identificação de Caso de Uso é feita através da colecta e análise dos requisitos. Exemplos: “dar informação sobre produto”, “fazer encomenda”, “cancelar encomenda” Questões p/ identificar use cases:  Que funções um ator vai querer do sistema?  O sistema armazena informação?

8 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Atores Definição Um ator é um agente que interage com o sistema, um tipo de usuário ou categoria com papel definido, podendo ser seres humanos, máquinas, dispositivos ou outros sistemas. Exemplos de atores: Cliente, usuário, gerente, computador, impressora, etc

9 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Atores Cada ator deve se comunicar com pelo menos 1 Caso de Uso; São humanos, não humanos, ativos, passivos Questões p/ identificar actores  Quem utiliza o sistema?  Quem está interessado nos resultados do sistema?  Quem é responsável pela administração do sistema?  Com que outros sistemas o sistema deve se comunicar?  Quem fornece informação ao sistema?  Quem necessita do sistema para poder realizar suas atividades diárias?

10 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Modelagem de Casos de Uso Definição  A modelagem de caso de uso é um técnica utilizada para descrever a funcionalidade de um sistema através de atores externos interagindo em casos de uso.  Modelo de Caso de Uso define o escopo funcional do sistema a ser desenvolvido.

11 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Modelagem de Casos de Uso Um modelo de Caso de Uso descreve as funções do sistema e seu ambiente. É formada por duas partes: 1. Um diagrama que fornece uma visão geral dos atores e os UCs bem como suas interações. 2. A descrição dos UCs detalhando os requisitos e documentando o fluxo de eventos entre os atores e o sistema. Um cenário representa uma sequência específica de ação ilustrando um comportamento.

12 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Modelagem de Casos de Uso Um cenário é uma sequência de ações que ilustra um comportamento do sistema No cenário descreve-se quando o use case interage com os atores Tipo de cenário:  Principal: descreve a situação quando tudo corre bem (happy day scenario)  Alternativo ou secundário: permite uma sequência diferente de eventos em relação ao cenário principal (e.g. Exceções ou outras acções possíveis)

13 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Ex. Diagrama de UC

14 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Descrição de UC Nome do UC: Fazer pedido Descrição: O cliente fornece o endereço e os códigos do produtos desejados. O sistema confirma a ordem. Fluxo Básico de Eventos: 1.O cliente fornece nome e endereço 2.O cliente fornece os códigos dos itens que deseja comprar 3.O sistema fornece uma descrição e o preço de cada item 4. O sistema calcula o total do pedido 5.O cliente fornece as informações de seu cartão de crédito 6.O sistema valida as informações 7.O sistema confirma ao cliente o pedido

15 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Descrição do UC (Cont.) Fluxos Alternativos: 1.1 O produto está fora de estoque 1.1.1 O sistema informa ao cliente que o respectivo produto está fora de estoque 2.1 Cartão de crédito inválido 2.1.1 O sistema informa ao cliente que o cartão é inválido 2.1.2 O cliente informa novamente as informações do cartão de crédito ou cancela o pedido. Pre-Condições: O cliente está logado no sistema Post-Condições: O pedido foi realizado

16 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Pontos de Caso de Uso Histórico  Desenvolvido por Gustav Karner [1993] Foi desenvolvido baseado em Pontos de Função.  Vantagem: Não precisa de tanto detalhes das informações. Esse método tem sido avaliado através de estudos de casos por empresas como:  Mogul.com, Cap Gemini Ernst & Young, IBM, Ericsson e Sun

17 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Pontos de Caso de Uso Atribuir peso aos atores Atribuir peso aos Casos de Uso Calcular o valor não ajustado dos UCP Atribuir peso aos fatores técnicos Atribuir peso aos fatores ambentais Calcular o valor ajustado dos UCP Estimar o esforço do Projeto

18 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Pontos de Caso de Uso Definições  Fatores ambientais - Fatores referentes ao nível de experiência da equipe de desenvolvimento.  Fatores técnicos - Fatores técnicos do projeto, referentes a arquitetura do sistema.

19 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Método de Estimativas 1. Cada ator e UC são categorizados de acordo com sua complexidade e atribuído um determinado peso 2. Pontos de UC sem ajustes são calculados a partir do somatório dos pesos para cada ator e UC do sistema 3. Pontos de UC são ajustados em função dos valores de 13 fatores técnicos e 8 fatores ambientais 4. Finalmente o UCP é multiplicado por um valor de produtividade

20 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Classificando Atores Simples, médio e complexo SIMPLES: sistemas que se comunicam via interface bem definida, por exemplo, API. MÉDIO: sistemas que se comunicam através de algum tipo de protocolo, por exemplo, TCP/IP ou HTTP COMPLEXO: pessoas interagindo através de interface gráfica ou Web Page Obs: Fácil, Moderado, Difícil

21 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Classificando Atores UAW =  Atores * Pesos Tipo de Ator Descrição Peso QT. Atores Total UAW - Unadjusted Actors Weight Simples Interface (API) 1 2 2 Médio Protocolo 2 2 4 Complexo Interface Gráfica 3 4 12 18

22 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Classificando UC Simples, médio e complexo SIMPLES: casos de uso com <= 3 de transações MÉDIO: casos de uso com >=4 e <7 transações COMPLEXO: casos de uso com >=7 transações Uma transação é um conjunto atômico de atividades. O número de transações pode ser determinado contando o número de passos do caso de uso, incluindo os fluxos alternativos.

23 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Classificando UC UUCW = UC* Peso Tipo UC Descrição Peso QT. UC Total UUCW - Unadjusted Use Case Weight Simples 1 - 3 Transações 5 8 40 Médio 4 - 6 Transações 10 12 120 Complexo 7 - Transações 15 4 60 220

24 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Classificando UC UUCW = UC* Peso Tipo UC Descrição Peso QT. UC Total UUCW - Unadjusted Use Case Weight Simples 1 - 4 Classes 5 8 40 Médio 5 - 10 Classes 10 12 120 Complexo > 10 Classes 15 4 60 220

25 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Classificando UC UUCP = UUCW + UAW UUCW - Unadjusted Use Case Weight 220 UUCP - Unadjusted Use Case Points 238 UAW - Unadjusted Actors Weight 18

26 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Determinando Fatores Técnicos FatorDescriçãoPesoValorFator T1Sistema distribuído200 T2Tempo de resposta133 T3Eficiência p/ usuário155 T4Complexidade de processamento 111 T5Reuso100 T6Fácil de instalar0.552.5 T7Fácil de usar0.552.5 T8Portável200 T9Fácil de mudar144 T10Concorrência100 T11Segurança133 T12Acesso direto155 T13Treinamento especial111 Faixa de 0 a 5 Id.Fator Descrição Peso Valor Fator

27 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Determinando Fatores Técnicos Technical Complexity Factor (TCF) = 0.6 + (0.01*TFactor) TFactor = (Valor atribuído T)x(Peso T) TFactor = 27 TCF = 0.6 + (0.01*27) TCF = 0.87

28 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Determinando Fatores Ambientais FatorDescriçãoPesoValorFator E1Familiaridade com o modelo usado1.51 E2Experiência na aplicação0.542 E3Experiência OO111 E4Capacidade do analista0.552.5 E5Motivação155 E6Requisitos estáveis224 E7Equipe em tempo parcial3-3 E8Linguagem de programação1 Id.Fator Descrição Peso Valor Fator

29 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Determinando Fatores Ambientais Environment Factor (EF) = 1.4 + (-0.03*EFactor) EFactor = (Valor F1..F8)*Peso F EFactor = 12 EF = 1.4 + (-0.03*12) EF = 0.755

30 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Determinando Pontos de UC UCP = UUCP*TCF*EF UCP = 237*0.87*0.755 UCP = 155.637 Karner sugeriu 20 man-hours por ponto de UC Man-hours = 155.637*20 Man-hours = 3113.469

31 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Variação para Determinar o Esforço Experiência na área de desenvolvimento tem demonstrado que o esforço estimado para realização de UC está na faixa de 15-30 Homem-hora por UCP Schneider e Winters  Verificar os fatores de E1-E6 > 3  Verificar os fatores de E7-E8 < 3  Se o total for <=2, um UCP equivale a 20 Homem-horas  Se for >2 e <4, um UCP equivale a 28 Homem-horas  Se for >4, reaviliar o projeto  Outra possibilidade é ajustar um UCP para 36 Homem-horas Planilha de Estimativas Planilha de Estimativas

32 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Problemas Associados aos UCP Variedade de estilo na especificação do UC  Não existe padrão para especificar UC Alguns especialistas da área desaconselham a derivação do esforço a partir dos UCP Os requisitos não-funcionais não contribuem efetivamente no cálculo das estimativas UCP não foi testado efitivamente em projetos de grande e médio porte  Muito ajustes e pesquisas devem ser realizados para comprovar efetivamente a eficácia do processo

33 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Exercício

34 Copyright 2003 Rafael Marques. Todos os direitos reservados. rm2@cin.ufpe.br Estimando Projetos de Software Usando Pontos de Caso de Uso Referências  Karner, Gustav. Resource Estimation for Objectory Projects  Banerjee, Gautam. Use Case Points, An Estimation Approach. August, 2001. Url:  Smith, Jonh. The Estimation of Effort Based on Use Case, Rational Software white paper  Aguiar, Murício. Pontos de Função ou Pontos de Caso de Uso?  Galen, Robert. A Survey of Software Estimating & Planing Techniques, 2001.  Furlan, Jose. Modelagem de Obketos atraves da UML, Makron Books,1998  Anda, Bente, Comparing Efforc Estimates Based on Use Cases - Experience from Industry, In: 4Th International Conference on the Unified Modeling Language (UML2001).


Carregar ppt "Copyright 2003 Rafael Marques. Todos os direitos reservados. Estimando Projetos de Software Usando Pontos de Caso de Uso Disciplina : Tópicos."

Apresentações semelhantes


Anúncios Google