Prévia do material em texto
Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 1 São Paulo, 2013 Universidade Paulista (UNIP) Diagrama de Casos de uso http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 2 Existem duas variações que são: Os diagramas de casos de uso mostram as interações que se efetuam no sistema. Os casos de usos descritivos que compõem uma narrativa das funcionalidades do sistema. Formalmente, são descrições narrativas de processos do domínio da aplicação. Documentam a seqüência de eventos de um ator (um agente externo) usando o sistema para completar, do início ao fim, um determinado processo Diagramas de Caso de Uso http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 3 Em diagrama de casos de uso uma interação se inicia a partir de um evento externo ao sistema, gerado por um ator; A seguir podem ocorrer outras interações: entre o ator e o sistema, entre o sistema e outros sistemas, entre o sistema e outros atores. Uma interação tem início, meio e fim. Diagramas de Caso de Uso http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 4 Diagramas de Caso de Uso Os objetivos de um caso de uso são: Ser compreensíveis para os usuários não especialistas em informática; Auxiliar a tarefa de análise, especificando funcionalidades e comportamentos do sistema; Delimitar o sistema; Servir de base para derivar casos de teste. http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 5 Usando-se UML, os casos de uso modelam os comportamentos adotados no sistema, sem nenhuma preocupação quanto à forma como tais comportamentos serão implementados ou mesmo independente de qual linguagem de programação será utilizada. Exemplo: Um cliente do banco vai ao caixa automática para retirar dinheiro. Ele indica a quantia desejada e a caixa lhe fornece o dinheiro, através da saída conveniente. Um caso de uso pode incluir variantes em relação ao comportamento principal do sistema. Diagramas de Caso de Uso http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) Por exemplo: O cliente do banco especifica uma quantia de dinheiro que a caixa automática não possui; o caso de uso adota uma variante, emitindo uma mensagem, sugerindo que o cliente retire uma quantidade menor, disponível na caixa automática neste momento. Diagramas de Caso de Uso http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 7 Variantes Casos de uso que são: versões especializadas de outros casos de uso (especialização); extensões de comportamento de casos base (“extend”); partes de casos de uso, partilhadas entre vários casos de uso (“include”) http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 8 Tratar pe- dido set priority Acompanhar pedido Validar usuário Varrer retina Verificar password Tratar pedi- do urgente extends (set priority) include include generalização Pontos de extensão Relacionamento estendido Relacionamentos de inclusão Exemplo Pedidos de Compra http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) Um caso de uso pode ser imaginado como um conjunto de cenários, onde cada cenário é uma seqüência de passos a qual descreve uma interação entre um usuário e o sistema. Os cenários podem ser imaginados como caminhos diferentes utilizados para realizar alguma tarefa, algum requisito. Isso são os Cenários, várias possibilidades de atividades, certas ou erradas. Dentre outra situações, o importante é prever todas as que realmente são importantes, que possam ocorrer no Cenário Básico. Diagramas de Caso de Uso (Cenários) http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 10 Diagramas de Caso de Uso (Atores) Entidades externas ao sistema que de algum modo participam da estória do caso de uso e estimulam o sistema com eventos de entrada, ou recebem alguma coisa dele e são designados pelo papel que exercem no caso de uso; Ex.: Cliente, Operador, etc. Representação em UML: http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 11 Diagramas de Caso de Uso (Atores e casos de uso) Um caso de uso possui um ator que o inicia, que gera o estímulo inicial, e possivelmente vários atores participantes. O ator iniciador deve ser indicado explicitamente na descrição do caso de uso. Algumas categorias típicas de atores incluem: papeis exercidos por pessoas; sistemas de computação, outros softwares; dispositivos elétricos e mecânicos; Hardware. http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 12 A descrição do Caso de Uso deverá conter as seguintes informações: Identificador do Caso de Uso: Identificador numérico do Caso de Uso, caso seja usada uma ferramenta automatizada para sua descrição, este identificador facilitará a busca no dicionário de dados. Nome: identifica a atividade realizada pelo Caso de Uso. Descrição: breve descrição do Caso de Uso, identificando seu objetivo. Evento Iniciador: nome do evento que inicia sua execução. Atores: identificação dos atores participantes do Caso de Uso. Diagramas de Caso de Uso (Cenários) http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 13 A descrição do Caso de Uso deverá conter as seguintes informações: Pré-condição: condições que iniciam o Caso de Uso. Seqüência de Eventos: Descrição dos passos principais da seqüência do cenário principal do Caso de Uso. Pós-Condição: condições após a execução do Caso de Uso. Extensões: caminhos alternativos do caso de uso, incluindo as exceções de um curso normal de eventos; Exemplo: o usuário entra com a senha errada, o sistema deve enviar uma mensagem de erro. Inclusões: lista de Casos de Uso usados pelo Caso de Uso corrente. Diagramas de Caso de Uso (Cenários) http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) Regras para criação de casos de usos: O detalhamento do caso de uso, depende do risco que o mesmo corre, quanto maior o risco, mais detalhes terá o caso de uso. Trate apenas dos casos de usos mais críticos para o sistema, os casos de uso que são tarefas rotineiras não precisam ser desenvolvidos. Geralmente são tratados apenas de 30% à 40% dos casos de uso mais críticos do sistema (podem variar dependendo do sistema). O nome dos casos de uso devem sempre usar verbos. Diagramas de Caso de Uso (Cenários) http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 15 Diagramas de Caso de Uso (Relacionamentos) Os relacionamentos em um caos de uso podem ocorrer entre: Atores; Atores e casos de uso; Casos de uso. http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 16 Diagramas de Caso de Uso (Relacionamentos) Relacionamento de Associação Relacionamento de Generalização Funcionario Cliente Caixa Cliente _________ _________ http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 17 Diagramas de Caso de Uso (Relacionamentos) Herança entre atores Gerente de Compras Gerente de Vendas Gerente http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 18 Relacionamento entre atores e casos de uso: A seta pode indicar duas alternativas a escolher: ator que inicia o caso de uso ou simplesmente a direção dos dados Cliente Diagramas de Caso de Uso (Relacionamentos) Cliente Itens Itens http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/201819 Diagramas de Caso de Uso (Relacionamentos) <<uses>> ou << include>> ValidarCliente Cliente RealizarPedido <<uses>> <<extends>> CadastrarCliente Cliente RealizarPedido ________ <<extends>> ______ http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 20 Diagramas de Caso de Uso (Relacionamentos) Relacionamento de uso ou include Utilizar quando se tem um bloco de comportamento que é o mesmo para vários casos de uso. Representar o fluxo comum como um outro caso de uso B a ser chamado pelo caso de uso A complexo: A <<uses>>B Validar Cliente pode ser um caso de uso utilizado por outro caso tal como Abrir Conta além de Realizar Pedido http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 21 Diagramas de Caso de Uso (Relacionamentos) Relacionamento de extensão (extends) Utilizar quando se tem dois casos de usos que fazem algo parecido, só que o caso de uso B faz alguma coisa a mais que A. B estende A B representa alguma situação não muito comum que ocorre em A mediante a satisfação de uma pré-condição http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 22 Diagramas de Caso de Uso (Relacionamentos) Relacionamento de herança (generalização) relação estrutural entre um caso de uso mais geral e um caso de uso mais específico. O caso de uso mais geral é uma generalização (abstração) do ou dos casos de uso mais específicos. O caso de uso geral, representa as partes comuns de casos de uso especializados. http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 23 Identificar Usuário Verificar Senha Diagramas de Caso de Uso (Relacionamentos) Relacionamento de herança (generalização) Cliente ______ http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 24 Diagramas de Caso de Uso (Interfaces) Relacionamento de herança (generalização) Identificam quais operações o ator (ou o caso de uso) realizam Auxiliam a especificar as interações e a reutilizar casos de uso Cliente Realizar Pedido Interface Cliente -------------- ________ http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 25 Primário: Representam os processos principais ou mais comuns (ex.: Comprar Itens) Secundário: Representam processos menos importantes ou mais raros (ex.: Cadastrar Operadores) Opcional: Representam processos que podem ser ignorados ou incluídos em futuras versões do sistema (ex.: Solicitar Estoque para um Novo Produto) Tipos de Caso de Uso (Importância) http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 26 Alto-nível Breve descrição de um processo, normalmente em duas ou três frases, e deliberadamente vago em decisões de projeto Criados na fase inicial de requisitos Expandido Descrição passo a passo dos fluxos de eventos de um processo Durante a fase de requisitos, apenas os casos de uso mais importantes são geralmente escritos nesse formato Tipos de Caso de Uso (Descrição textual) http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 27 Essencial Descrição de um processo em termos de sua motivação e atividades essenciais Expressos relativamente livres de detalhes de implementação, decisões de projeto, e uso de tecnologias Real Descrição de um processo em termos de seu projeto real, comprometido com tecnologias de desenvolvimento, interfaces de entrada e saída, etc. Tipos de Caso de Uso (Implementação) http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 28 Pode-se dividir sistemas complexos em sub-sistemas e para cada um deles um diagrama de Casos de Uso; Para mostrar o relacionamento entre esses sub-sistemas, os Casos de Uso são agrupados em Pacotes. Decomposição de Caso de Uso http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 29 Casos de uso Gerais Casos de uso Administrativos Casos de uso Mercadológicos Decomposição de Caso de Uso http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 30 Normalmente não são eventos ou passos individuais, mas um processo completo; Método baseado em atores: Identificar os atores relacionados com o sistema ou organização; Para cada ator, identificar os processo que eles iniciam ou participam. Identificação de Casos de Uso http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 31 Método baseado em eventos: Identificar os eventos externos aos quais o sistema deve responder; Relacionar os eventos a atores e casos de uso Exemplos do sistema Posto Comercial: Operador: Login, Retirar Dinheiro Cliente: Comprar Itens, Devolver Itens Digitar Senha? Imprimir Recibo? Identificação de Casos de Uso http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 32 Diagramas UML – Exemplo de um diagrama de caso de uso http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 33 Caso de uso descritivo Identificador 003 Prioridade de execução Alta Nome do caso de uso Emitir relatório Objetivo (Responsabilidade) Emitir relatórios sobre as atividades relacionadas ao projeto Descrição Devem ser informados os dados necessários para que o relatório seja impresso. Estes dados podem ser a data de inicio e fim do projeto ou qualquer informação que possibilite esta geração Ator principal Usuário / gerente Ator secundário Inclusões Extensões Exceções Se os dados informados forem incorretos o relatório pode não ser apresentado de forma consistente ou mesmo nem ser apresentado devendo ser informado ao usuário o problema ocorrido Pré-Condições Dados para geração do relatório Fluxo principal 1. Informar dados necessários 2. Conectar com o banco de dados 3. Passar dados para consulta 4. Formatar saída 5. Apresentar relatório Fluxo alternativo 1. Dados incorretos (Emitir mensagem de erro) 2. Conexão falhou (Retornar mensagem para que o usuário tente novamente ou contate o administrador do sistema) Pós-condição Regras de negócio Freqüência de execução 1. Diária Saída 1. Relatório formatado e apresentado http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) São Paulo, 2011 Universidade Paulista (UNIP) Exercício sobre Diagrama de Casos de Uso e Casos de Uso descritivos http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) Vendedor Externo Usuário Local <<extends>> <<Iinclude>> <<Iinclude>> Sistema Remoto Sistema Local http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) Cadastrar Clientes Cadastrar Pedidos Cadastrar Fornecedores Manter Clientes Emitir Pedidos Manter Fornecedores Emitir Relatório http://www3.unip.br/ Modelagem de Sistemas Orientada a Objetos (MSOO) Sistema para Faculdade ou Escola Visão do Professor Para o professor acessar o sistema deve informar o login e senha. Ao logar no sistema o professor tem acesso ao menu administrativo para escolher a opção desejada, sendo estas: inserir nota aluno, falta, plano de aula, cadastrar prova, etc. O professor pode visualizar uma turma (todos os alunos desta turma), um curso. Visão do Aluno O aluno tem acesso apenas a visualização de notas e impressão destas notas. O aluno pode solicitar rematricula pelo sistema. Visão do Administrador Cria um login e senha para um Professor. Cria um login e senha para o Aluno. Pode bloquear o Aluno ou Professor no sistema. Pode cadastrar um curso e uma turma. http://www3.unip.br/Modelagem de Sistemas Orientada a Objetos (MSOO) 21/03/2018 39 http://www3.unip.br/