Globalcode open4education 2 Instrutor Globalcode open4education 3 Conceitos Gerais Casos de Uso Diagrama de Casos de Uso Documentos de Casos de Uso Diagrama de Atividades Requisitos e processos de desenvolvimento Pontos de Caso de Uso Estudo de Caso Agenda Globalcode open4education 4 Conceitos Gerais Casos de Uso Diagrama de Casos de Uso Documentos de Casos de Uso Diagrama de Atividades Requisitos e processos de desenvolvimento Pontos de Caso de Uso Estudo de Caso Agenda Globalcode open4education 5 Requisito: condio ou capacidade que um sistema deve atender. Requisito funcional: descreve uma funcionalidade que deve ser fornecida pelo sistema. Ex: cadastrar novos produtos, gerar relatrio de vendas,etc. Requisito no funcional: descreve caractersticas do sistema no relacionadas a funcionalidades. Ex: performance, escalabilidade, etc. Conceitos gerais Globalcode open4education 6 Disciplina da engenharia de software voltada as atividades relativas a tentar minimizar os riscos relativos a requisitos Erros nos requisitos so responsveis por 70% a 85% do custo de retrabalho Atividades da engenharia de requisitos: Captura de requisitos Documentaao e anlise de requisitos Validao de requisitos Gerenciamento de mudanas Engenharia de requisitos Globalcode open4education 7 Tcnicas para captura/descoberta de requisitos: Entrevista Workshop Brainstorming Prototipagem Captura de requisitos Globalcode open4education 8 Conceitos Gerais Casos de Uso Diagrama de Casos de Uso Documentos de Casos de Uso Diagrama de Atividades Requisitos e processos de desenvolvimento Pontos de Caso de Uso Estudo de Caso Agenda Globalcode open4education 9 Representam uma unidade funcional fornecida pelo sistema. Conceito criado por Ivar Jacobson. Cada caso de uso captura um ou mais cenrios que descrevem como o sistema deve interagir com os usurios para atingir determinada meta ou funcionalidade. Importncia dos casos de uso: Modelagem de requisitos funcionais Estimativa de esforo Planejamento de testes Casos de uso Globalcode open4education 10 Conceitos Gerais Casos de Uso Diagrama de Casos de Uso Documentos de Casos de Uso Diagrama de Atividades Requisitos e processos de desenvolvimento Pontos de Caso de Uso Estudo de Caso Agenda Globalcode open4education 11 Diagrama da UML utilizado para representao grfica dos casos de uso. Seus principais elementos so: Caso de uso Ator Associao Relacionamento de incluso Relacionamento de extenso Generalizao Diagrama de casos de uso Globalcode open4education 12 Caso de uso: representado graficamente por uma elipse com o nome do caso de uso. Diagrama de casos de uso Globalcode open4education 13 Ator: representa um papel representado por uma pessoa, sistema ou dispositivo que interage com o sistema. Diagrama de casos de uso Globalcode open4education 14 Associao: representa a interao entre um ator e um caso de uso. Diagrama de casos de uso Globalcode open4education 15 Relacionamento de incluso: relacionamento entre casos de uso no qual um caso de uso inclui incondicionalmente outro caso de uso. Diagrama de casos de uso Globalcode open4education 16 Relacionamento de extenso: relacionamento entre casos de uso no qual um caso de uso pode estender a funcionalidade de outro caso de uso. Diagrama de casos de uso Globalcode open4education 17 Generalizao: relacionamento no qual um ator ou caso de uso possui as mesmas caractersticas de um elemento base, mais suas caractersticas especficas. Diagrama de casos de uso Globalcode open4education 18 Os diagramas de casos de uso visam dois objetivos principais: Definio de escopo: permitem que sejam visualizadas as funcionalidades presentes no sistema. Identificao de papis: permitem identificar quem interage com o sistema e a que funcionalidades tem acesso. No permitem detalhar os passos necessrios para implementao da funcionalidade. Diagrama de casos de uso Globalcode open4education 19 Conceitos Gerais Casos de Uso Diagrama de Casos de Uso Documentos de Casos de Uso Diagrama de Atividades Requisitos e processos de desenvolvimento Pontos de Caso de Uso Estudo de Caso Agenda Globalcode open4education 20 Texto que descreve as caractersticas relevantes do caso de uso. Apresenta informaes que no podem ser representadas no diagrama de casos de uso. Existem diversos modelos de documentos. Documentos de casos de uso Globalcode open4education 21 Algumas informaes importantes que devem fazer parte do documento de caso de uso: Nome Contexto: uma breve descrio do caso de uso. Ator primrio: qual o principal usurio do caso de uso. Pr-condies: o que se espera que j tenha sido. realizado antes da execuo do caso de uso. Documentos de casos de uso Globalcode open4education 22 Outras informaes importantes: Ps-condies: condies esperadas no sistema aps a execuo do caso de uso. Cenrio principal de sucesso: lista de passos que devem ser seguidos na situao normal para completar o caso de uso. Cenrios alternativos: lista de passos que devem ser seguidos em situaes anormais ou alternativas. Documentos de casos de uso Globalcode open4education 23 Conceitos Gerais Casos de Uso Diagrama de Casos de Uso Documentos de Casos de Uso Diagrama de Atividades Requisitos e processos de desenvolvimento Pontos de Caso de Uso Estudo de Caso Agenda Globalcode open4education 24 Diagrama da UML utilizado para representar o fluxo de atividades dentro de um processo. No contexto da anlise de requisitos, pode ser utilizado para detalhamento dos passos de um caso de uso. Semelhantes a fluxogramas. Diagrama de atividades Globalcode open4education 25 Atividade: representa uma etapa em um processo. Diagrama de atividades Globalcode open4education 26 Transio: fluxo de uma atividade para outra. Diagrama de atividades Globalcode open4education 27 Condio de guarda:condio necessria para a realizao da transio. Diagrama de atividades Globalcode open4education 28 Deciso: dependendo de uma condio, mostra as diferentes transies. Diagrama de atividades Globalcode open4education 29 Ponto de juno: mostra a unio de atividades em um nico fluxo. Diagrama de atividades Globalcode open4education 30 Incio e fim: indicam o incio e o trmino do fluxo de atividades. Diagrama de atividades Globalcode open4education 31 Concorrncia: indica atividades executando em paralelo. Diagrama de atividades Globalcode open4education 32 Raia: separa as atividades de acordo com o ator que as executa. Diagrama de atividades Globalcode open4education 33 Conceitos Gerais Casos de Uso Diagrama de Casos de Uso Documentos de Casos de Uso Diagrama de Atividades Requisitos e processos de desenvolvimento Pontos de Caso de Uso Estudo de Caso Agenda Globalcode open4education 34 Estabelecem um conjunto de tarefas para transformar os requisitos do cliente em um software. Alguns exemplos: Modelo cascata Processo Unificado (UP) Modelos geis Processos de desenvolvimento Globalcode open4education 35 Modelo Cascata Requisitos Anlise Projeto Implementao Testes Globalcode open4education 36 Processo Unificado (UP) Globalcode open4education 37 Modelos geis Iterativos e incrementais Diversas abordagens para requisitos: Casos de uso (Crystal) User stories (XP) Indivduos e interaes Processos e ferramentas Software funcionando Documentao completa Colaborao com o cliente Negociao de contratos Resposta a mudanas Seguir um plano Globalcode open4education 38 Conceitos Gerais Casos de Uso Diagrama de Casos de Uso Documentos de Casos de Uso Diagrama de Atividades Requisitos e processos de desenvolvimento Pontos de Caso de Uso Estudo de Caso Agenda Globalcode open4education 39 Metodologia para estimativa de esforo de desenvolvimento de sistemas de software. Criada por Gustav Karner em 1993. Baseada no princpio de que o tamanho do software est relacionado as funcionalidades que o usurio enxerga no sistema (casos de uso). Semelhante ao mtodo de pontos de funo. Pontos de caso de uso Globalcode open4education 40 A metodologia envolve os seguintes passos: 1. Contagem do nmero de atores (UAW): somam-se os atores envolvidos em todos os casos de uso aplicando- se um peso de acordo com sua complexidade. Classificao Peso Descrio simples 1 Sistema com API bem definida mdio 2 Sistema atravs de protocolo de comunicao complexo 3 Usurio via interface grfica Contagem de atores Globalcode open4education 41 Para um sistema com 1 ator mdio e 4 complexos: UAW = 1 * 2 + 4 * 3 = 14 Contagem de atores Globalcode open4education 42 2. Contagem dos casos de uso (UUCW) : somam-se os os casos de uso aplicando-se um peso de acordo com sua complexidade. Classificao Peso Descrio simples 5 3 ou menos transaes mdio 10 4 a 7 transaes complexo 15 Mais de 7 transaes Contagem de casos de uso Globalcode open4education 43 Para um sistema com 3 casos de uso simples, 6 mdios e 1 complexos: UUCW = 3 * 5 + 6 * 10 + 1 * 15 = 90 Contagem de casos de uso Globalcode open4education 44 3. Estabelecer o fator de complexidade tcnica (TCF): calculado aplicando-se um valor de 0 a 5 a cada um dos fatores tcnicos e multiplicando pelo respectivo peso. O valor encontrado (Tfactor) aplicado na frmula. TCF = 0,6 + (0,01*Tfactor) Fator Peso Sistema distribudo 2 Tempo de resposta 1 Eficincia do usurio final 1 Processamento complexo 1 Complexidade tcnica Globalcode open4education 45 Fator Peso Cdigo reutilizvel 1 Facilidade de instalao 0,5 Facilidade de uso 0,5 Portabilidade 2 Facilidade de mudanas 1 Concorrente 1 Segurana 1 Acesso a sistemas de terceiros 1 Treinamento especial necessrio 1 Complexidade tcnica Globalcode open4education 46 4. Estabelecer o fator de ambiente (EF): calculado aplicando-se um valor de 0 a 5 a cada um dos fatores de ambiente e multiplicando pelo respectivo peso. O valor encontrado (Efactor) aplicado na frmula. EF = 1,4 + (-0,03*Efactor) Fator Peso Familiaridade com processo 1,5 Experincia em desenvolvimento 0,5 Experincia em OO 1 Capacitao do analista lder 0,5 Fator de ambiente Globalcode open4education 47 Fator Peso Motivao 1 Estabilidade dos requisitos 2 Trabalhadores em tempo parcial -1 Linguagem de programao -1 Fator de ambiente Globalcode open4education 48 5. Aplicar a frmula para o clculo do nmero de pontos de caso de uso. UCP = (UAW + UUCW) * TCF * EF 6. Transformar o nmero de pontos calculados em nmero de horas. O mtodo original recomenda atribuir 20 horas a cada ponto. Experincias de mercado tem mostrado que este valor fica entre 15 e 30 horas. Clculo final Globalcode open4education 49 Conceitos Gerais Casos de Uso Diagrama de Casos de Uso Documentos de Casos de Uso Diagrama de Atividades Requisitos e processos de desenvolvimento Pontos de Caso de Uso Estudo de Caso Agenda Globalcode open4education 50 Apresentamos a seguir um exemplo de utilizao de casos de uso para um sistema de vendas online. Sistema de vendas online Globalcode open4education 51 Diagrama de casos de uso Globalcode open4education 52 Nome Comprar Produtos (VO-03) Contexto O ator primrio deseja comprar produtos oferecidos pelo catlogo da loja online. Ator primrio Cliente Pr-condies O cliente est logado no sistema. Ps- condies criado um pedido de compras para o cliente. Exemplo de documento para o caso de uso Comprar Produtos: Documento de casos de uso Globalcode open4education 53 Cenrio principal de sucesso 1 cliente solicita compra de produtos 2 cliente visualiza catalogo de produtos (caso de uso VO-02) 3 cliente seleciona produto para compra. 4 sistema adiciona o produto no carrinho de compras do cliente. cliente repete passos 3 e 4 at indicar que terminou 5 cliente efetua pagamento (caso de uso VO-06). 6 sistema cria um pedido. 7 sistema confirma criao de pedido para cliente. Documento de casos de uso Globalcode open4education 54 Cenrios alternativos 3a cliente remove um produto da lista de compras: .1 sistema remove o produto do carrinho de compras 4a carrinho de compras inexistente: .1 sistema cria um carrinho de compras para o cliente. volta ao passo 4 Documento de casos de uso Globalcode open4education 55 1. Contagem de atores: 1 ator complexo UAW = 1*3 = 3 2. Contagem de casos de uso: 4 casos de uso simples e 4 mdios UUCW = 4 * 5 + 4 * 10 = 60 Pontos de caso de uso Globalcode open4education 56 3. Fator de complexidade tcnica : Fator Peso Valor Valor ajustado Sistema distribudo 2 3 6 Tempo de resposta 1 2 2 Eficincia do usurio final 1 1 1 Processamento complexo 1 3 3 Cdigo reutilizvel 1 3 3 Facilidade de instalao 0,5 0 0 Facilidade de uso 0,5 0 0 Pontos de caso de uso Globalcode open4education 57 Fator Peso Valor Valor ajustado Portabilidade 2 1 2 Facilidade de mudanas 1 3 3 Concorrente 1 1 1 Segurana 1 1 1 Acesso a sistemas de terceiros 1 1 1 Treinamento especial necessrio 1 0 0 TCF = 0,6 + (0,01 * 23) = 0,83 Pontos de caso de uso Globalcode open4education 58 4. Fator de ambiente : Fator Peso Valor Valor ajustado Familiaridade com processo 1,5 3 4,5 Experincia em desenvolvimento 0,5 5 2,5 Experincia em OO 1 5 5 Capacitao do analista lder 0,5 5 2,5 Motivao 1 4 4 Estabilidade dos requisitos 2 4 8 Pontos de caso de uso Globalcode open4education 59 Fator Peso Valor Valor ajustado Trabalhadores em tempo parcial -1 0 0 Linguagem de programao -1 1 -1 EF = 1,4 + (-0,03 * 25,5) = 0,635 Pontos de caso de uso Globalcode open4education 60 5. Clculo do nmero de pontos de caso de uso: UCP = (3 + 60) * 0,83 * 0,635 = 33,20 6. Nmero de horas: estimativa = 33,20 * 20 = 664 horas Clculo final Globalcode open4education 61 Alistair Cockburn Escrevendo Casos de Uso Eficazes Pontos de Casos de Uso Kirsten Ribu http://www.bfpug.com.br/Artigos/UCP/ Ribu-Estimating_O-O_SW_Projects_with_Use_Cases.pdf Referncias