MDS II Aula 04 Concepção Requisitos Diagrama de Casos de Uso (Use Cases) 55
DIAGRAMA DE CASOS DE USO BENEFÍCIOS DOS CASOS DE USO ILUSTRAR POR QUE O SISTEMA É NECESSÁRIO OS REQUISITOS DO SISTEMA SÃO COLOCADOS EM UM CONTEXTO FÁCEIS DE ENTENDER FACILITA A CONCORDÂNCIA COM OS CLIENTES COMO INTERPRETAR OS CASOS DE USO? EQUIPE CLIENTES APROVAM O QUE O SISTEMA DEVERÁ FAZER ENTENDEM O QUE O SISTEMA DEVERÁ FAZER EQUIPE DE DESENVOLVEDORES ESPECIFICADORES: REFINAR REQUISITOS DE SOFTWARE DESIGNER: ENCONTRAR CLASSES TESTADORES: USA COMO BASE PARA CASOS DE TESTE MODELO DE CASOS DE USO CONTÉM DIAGRAMAS E TEXTOS A PARTE MAIS IMPORTANTE DO MODELO DE CASO DE USO É O TEXTO. CONTRARIANDO A IDÉIA! 75% DO ESFORÇO ESTÁ NA DESCRIÇÃO TEXTUAL DO QUE ACONTECE EM CADA CASO DE USO. DESCRIÇÃO É CHAMADA DE FLUXO DE EVENTOS UM MODELO MOSTRA: O QUE O SISTEMA SUPOSTAMENTE FARÁ: CASOS DE USO O QUE CERCA O SISTEMA: ATORES E O RELACIONAMENTO ENTRE USE CASES E ATORES 56
O MODELO DE CASOS DE USO REPRESENTA OS REQUISITOS FUNCIONAIS DAS APLICAÇÕES O MODELO DE CASOS DE USO É CONCLUÍDO QUANDO DESCREVE, DE FORMA CLARA E CORRETA, TODOS OS REQUISITOS FUNCIONAIS DO SISTEMA CLIENTES E USUÁRIOS DEVEM ENTENDER O MODELO E USÁ-LO PARA PARA COMUNICAR SUAS NECESSIDADES DE FORMA CONSISTENTE E NÃO REDUNDANTE DESENVOLVEDORES PODEM ALOCAR O TRABALHO DOS REQUISITOS LEVANTADOS ENTRE A EQUIPE DE DESENVOLVIMENTO E UTILIZAR O MODELO DE CASO DE USOS COMO PONTO DE PARTIDA PARA AS DISCIPLINAS DE ANÁLISE, PROJETO, IMPLEMENTAÇÃO E TESTES DO SISTEMA ATORES E CASOS DE USO ATOR- REPRESENTA UM CONJUNTO COERENTE DE PAPÉIS QUE OS USUÁRIOS DE CASOS DESEMPENHAM QUANDO INTERAGEM COM O SISTEMA CASO DE USO O QUE UM ATOR QUER QUE O SISTEMA FAÇA ATORES SERVEM PARA DEFINIR O AMBIENTE DO SISTEMA PODEM REPRESENTAR UM PAPEL EXERCIDO POR UMA PESSOA OU POR UM SISTEMA EXTERNO QUE INTERAGE COM O SISTEMA DESENVOLVIDO SE COMUNICAM ENVIANDO MENSAGENS E/OU RECEBENDO MENSAGENS DO SISTEMA, CONFORME O CASO DE USO É EXECUTADO QUANDO DEFINIMOS O QUE OS ATORES FAZEM E O QUE OS CASOS DE USO FAZEM, DELIMITAMOS, DE FORMA CLARA, O ESCOPO DO SISTEMA CASO DE USO DEFINE UM CONJUNTO DE INSTANCIAS DE CASO DE USO, ONDE CADA INSTÂNCIA É UMA SEQÜÊNCIA DE AÇÕES QUE O SISTEMA REALIZA PARA PRODUZIR UM RESULTADO OBSERVÁVEL POR UM ATOR. 57
DURANTE A DISCIPLINA DE CAPTURA DE REQUISITOS, OS DESENVOLVEDORES IDENTIFICAM AS NECESSIDADES DOS CLIENTES E USUÁRIOS OS REQUISITOS FUNCIONAIS SÃO REPRESENTADOS COMO CASOS DE USO NO MODELO DE CASOS DE USO OS REQUISITOS NÃO FUNCIONAIS PODEM SER ADICIONADOS À DESCRIÇÃO DOS CASOS DE USO OU AO DOCUMENTO DE ESPECIFICAÇÕES SUPLEMENTARES OS CASOS DE USO SÃO ENCONTRADOS BUSCANDO ENTENDER COMO OS USUÁRIOS PRECISAM USAR O SISTEMA PARA REALIZAREM O SEU TRABALHO CADA UMA DAS FORMAS DE UTILIZAR O SISTEMA, QUE ADICIONA UM VALOR PARA OS USUÁRIOS, É UM CASO DE USO CANDIDATO SERVE PARA ESTABELECER UM CONTRATO ENTRE USUÁRIOS, CLIENTES E DESENVOLVEDORES SOBRE OS POSSÍVEIS CENÁRIOS DE UTILIZAÇÃO ASSOCIAÇÃO-COMUNICAÇÃO É UMA INTERAÇÃO ENTRE UM ATOR E UM CASO DE USO, OU SEJA, O RELACIONAMENTO ENTRE ATORES E CASOS DE USO. É REPRESENTADO NA UML POR UMA LINHA OU UMA LINHA COM UMA SETA A SETA INDICA QUEM INICIOU A COMUNICAÇÃO, É OPCIONAL, SERVE PARA CLAREAR O MODELO UM CENÁRIO É UMA INSTANCIA DE CASO DE USO CADA INSTANCIA É SIMPLESMENTE UM CASO DE USO PARTICULAR DE FLUXO DE EVENTOS DO SISTEMA, UMA SEQÜÊNCIA DE AÇÕES QUE ILUSTRAM O COMPORTAMENTO DO SISTEMA. UM CASO DE USO DEFINE UM CONJUNTO DE CENÁRIOS RELACIONADOS.UM CASO DE USO REPRESENTA TODAS AS POSSIBILIDADES DE SEQUENCIA. 58
ENCONTRAR ATORES E CASOS DE USO IDENTIFICAR ATORES DESCREVER ATORES IDENTIFICAR CASOS DE USO DESCREVER CASOS DE USO BREVEMENTE IDENTIFICAR RELACIONAMENTOS ENTRE ATORES E CASOS DE USO CONSTRUIR DIAGRAMAS DE CASOS DE USO ESBOÇAR OS CASOS DE USO ALGUMAS PERGUNTAS QUE AUXILIAM ENCONTRAR ATORES QUEM INTERAGE COM O SISTEMA? QUEM OBTÉM INFORMAÇÃO DO SISTEMA? QUEM PROVÊ INFORMAÇÕES PARA O SISTEMA? ONDE NA COMPANHIA O SISTEMA SERÁ USADO? QUE OUTROS SISTEMAS O SISTEMA UTILIZARÁ? DESCRIÇÃO DE UM ATOR TEXTO NOME BREVE DESCRIÇÃO RELACIONAMENTOS COM CASOS DE USO EXEMPLO: ESTUDANTE o É A PESSOA QUE SE FAZ UM CURSO DENTRO DA UNIVERSIDADE 59
ALGUMAS PERGUNTAS QUE AJUDAM ENCONTRAR CASOS DE USO QUAIS SÃO OS OBJETIVOS DE CADA ATOR? PARA QUE O ATOR USARÁ O SISTEMA? O ATOR CRIA, ARMAZENA, ALTERA, REMOVE OU LÊ DADOS DO SISTEMA? O ATOR PRECISA DE INFORMAÇÕES DO SISTEMA SOBRE EVENTOS EXTERNOS E MUDANÇAS? O ATOR PRECISA DE INFORMAÇÕES SOBRE ACONTECIMENTOS NO SISTEMA? DESCRIÇÃO DO CASO DE USO TEXTO DESCREVENDO UM CASO DE USO NOME DO CASO DE USO BREVE DESCRIÇÃO DO PAPEL E PROPÓSITO DO CASO DE USO RELACIONAMENTO COM ATORES EXEMPLO REGISTRAR EM UM CURSO O ESTUDANTE SE REGISTRA COMO NOMEAR UM CASO DE USO? INDICA VALOR OU OBJETIVO USAR VERBO NA FORMA INFINITIVA: INICIAR COM VERBO EXEMPLOS: REGISTRAR CURSO MANTER CLIENTE SACAR DINHEIRO 60
ESBOÇO DE UM DETALHAMENTO DE UM CASO DE USO NOME DO CASO DE USO BREVE DESCRIÇÃO FLUXO BÁSICO 1 - PRIMEIRO PASSO 2 - SEGUNDO PASSO 3 - TERCEIRO PASSO FLUXO ALTERNATIVO 1 FLUXO ALTERNATIVO 2 EXEMPLO: DETALHAMENTO DO CASO DE USO EFETUAR SAQUE 61
RELACIONAMENTOS ENTRE CASOS DE USO INCLUDE UM RELACIONAMENTO DE CASO DE USO BASE PARA UM CASO DE USO INCLUÍDO O COMPORTAMENTO DEFINIDO NA INCLUSÃO DE CASO DE USO É INSERIDO EXPLICITAMENTE NO CASO DE USO BASE ENCAPSULA POR QUE UM RELACIONAMENTO DE INCLUDE? FATORA O COMPORTAMENTO DE DOIS OU MAIS CASOS DE USO EVITA A DESCRIÇÃO DO MESMO COMPORTAMENTO VÁRIAS VEZES ASSEGURA COMPORTAMENTO COMUM FATORA E ENCAPSULA DE UM CASO DE USO BASE DIMINUI A COMPLEXIDADE DO FLUXO DE EVENTOS RETIRA O COMPORTAMENTO QUE NÃO FAZ PARTE DO PROPÓSITO PRINCIPAL EXTEND CONECTA DE UMA EXTENSÃO DE CASO DE USO PARA UM CASO DE USO BASE INSERE EXTENSÃO DE COMPORTAMENTO NO CASO DE USO BASE INSERE SOMENTE SE UMA CONDIÇÃO DE EXTENSÃO É VERDADEIRA POR QUE UM RELACIONAMENTO DE EXTEND? RETIRAR OPÇÕES E COMPORTAMENTOS EXCEPCIONAIS EXECUTADO SOMENTE FACE A CERTAS CONDIÇÕES SIMPLIFICA O FLUXO DE EVENTOS DO CASO DE USO BASE 62
GENERALIZATION UM RELACIONAMENTO DE UM CASO DE USO FILHO PARA UM CASO DE USO DESCREVE GERALMENTE COMPORTAMENTO COMPARTILHADO NO PAI DESCREVE COMPORTAMENTO COMPARTILHADO NO FILHO POR QUE A GENERALIZAÇÃO? MOSTRA O COMPORTAMENTO COMUM, ESTRUTURA E O PROPÓSITO EM DOIS OU MAIS CASOS DE USO EVITA O MESMO COMPORTAMENTO VÁRIAS VEZES EXERCÍCIO A ESCOLA DE LÍNGUAS XPTO ESTÁ PLANEJANDO DESENVOLVER UM NOVO SISTEMA DE REGISTRO DE CURSOS ON-LINE. A NOVA APLICAÇÃO SUBSTITUIRÁ UMA APLICAÇÃO ANTIGA DESENVOLVIDA COM TECNOLOGIA DE MAINFRAME. O NOVO SISTEMA DEVE PERMITIR AOS ALUNOS REGISTRAREM-SE NOS CURSOS, SOLICITAR CATÁLOGO DE CURSOS, ALTERAR INFORMAÇÕES PESSOAIS, VER NOTAS ATRAVÉS DE QUALQUER BROWSER. PROFESSORES USARÃO O SISTEMA PARA REGISTRAR OS CURSOS QUE DESEJA REALIZAR, INFORMAR AS NOTAS DOS ALUNOS E VER QUEM SERÃO OS SEUS FUTUROS ALUNOS. 63