Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelagem de Sistemas Orientados a Objetos Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 1 / 44 Prof. Dr. Rodrigo Duarte Seabra Universidade Federal de Itajubá Bacharelado em Ciência da Computação Diagrama de Casos de Uso Aula 03 Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 2 / 44 Prof. Dr. Rodrigo Duarte Seabra Universidade Federal de Itajubá Bacharelado em Ciência da Computação Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 3/ 44 Diagrama de Casos de Uso Possibilita a compreensão do comportamento externo do sistema (em termos de funcionalidades oferecidas por ele) por qualquer pessoa Apresenta o sistema por intermédio de uma perspectiva do usuário Costuma ser utilizado, sobretudo no início da modelagem do sistema, principalmente nas etapas de levantamento e análise de requisitos, embora venha a ser consultado e possivelmente modificado durante todo o processo de engenharia Não foca como as funcionalidades serão implementadas Auxilia a identificação e compreensão dos requisitos do sistema, além dos tipos de usuários que irão interagir com o sistema, quais papéis esses usuários irão assumir e quais funções um usuário específico poderá requisitar Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 4/ 44 Diagrama de Casos de Uso Pode e deve ser apresentado durante as reuniões iniciais com os clientes Recomendável: apresentar o diagrama de casos de uso aos clientes junto com um protótipo Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 5/ 44 Atores Representam os papéis desempenhados pelos diversos usuários que poderão utilizar os serviços e funções do sistema Um ator pode representar algum hardware especial ou mesmo outro software que interaja com o sistema Exemplos de atores Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 6/ 44 Casos de Uso Utilizados para capturar os requisitos do sistema Referem-se aos serviços, tarefas ou funcionalidades identificados como necessários ao software e que podem ser utilizados de alguma maneira pelos atores que interagem com o sistema Classificados em: primários: refere-se a um processo importante, que enfoca um dos requisitos funcionais do software. Ex: realizar um saque ou emitir um extrato secundários: refere-se a um processo periférico. Ex: manutenção de um cadastro Exemplo de Caso de Uso Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 7/ 44 Documentação de Casos de Uso Descreve basicamente: função em linhas gerais do caso de uso atores que interagem com ele etapas que devem ser executadas pelo ator e pelo sistema para que o caso de uso execute sua função parâmetros que devem ser fornecidos restrições e validações Evitar utilização de pseudocódigo na documentação de casos de uso Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 8/ 44 Documentação de Casos de Uso Documentação do Caso de Uso Abertura de Conta Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 9/ 44 Associações Linha que representa as interações ou relacionamentos entre: os atores que fazem parte do diagrama os atores e os casos de uso os relacionamentos (inclusão, extensão e generalização) entre os casos de uso e outros casos de uso Pode ter uma descrição própria quando há necessidade de esclarecer a natureza da informação que está sendo transmitida As linhas podem conter ou não setas em suas extremidades para indicar o sentido em que as informações trafegam Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 10/ 44 Associações Associação entre um Ator e um Caso de Uso Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 11/ 44 Generalização/Especialização Forma de associação entre casos de uso na qual existem dois ou mais casos de uso com características semelhantes, apresentando pequenas diferenças entre si Define-se um caso de uso geral que descreve as características compartilhadas por todos os casos de uso em questão e então relacioná-lo com os outros casos de uso envolvidos A estrutura de um caso de uso generalizado é herdada pelos casos de uso especializados (desnecessário colocar a mesma documentação) A associação de generalização/especialização é representada por uma linha com uma seta mais grossa, que indica qual o caso de uso geral Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 12/ 44 Generalização/Especialização Generalização/Especialização Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 13/ 44 Generalização/Especialização A generalização/especialização também pode ser aplicada sobre atores Generalização/Especialização com Atores Usuário Júnior Usuário Sênior Administrador Ler Arquivo Gravar Arquivo Excluir Arquivo Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 14/ 44 Inclusão Costuma ser utilizada quando existe um cenário, situação ou rotina comum a mais de um caso de uso Documentação dessa rotina é colocada em um caso de uso específico para que outros casos de uso utilizem esse serviço Quando um caso de uso tem um relacionamento de inclusão com outro, a execução do primeiro obriga também a execução do segundo Representada por uma linha tracejada contendo uma seta em uma de suas extremidades, a qual aponta para o caso de uso incluído Estereótipo <<include>> Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 15/ 44 Inclusão Inclusão Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 16/ 44 Inclusão Inclusão Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 17/ 44 Extensão Descreve cenários opcionais de um caso de uso Os casos de uso estendidos descrevem cenários que apenas ocorrerão em uma situação específica se determinada condição for satisfeita Representam eventos que não ocorrem sempre, o que não significa que eles sejam incomuns Representada também por uma linha tracejada, diferenciando-se pelo fato de a seta apontar para o caso de uso que utiliza o caso de uso estendido Estereótipo <<extend>> Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 18/ 44 Extensão Extensão Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 19/ 44 Restrições em Associações de Extensão Restrições são compostas por um texto entre chaves e utilizadas para definir validações, consistências, condições etc. Acrescenta-se uma restrição à associação de extensão por meio de uma nota explicativa indicando a condição para que o caso de uso seja executado Associação de Extensão com Restrição – Realizar Login Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 20/ 44 Pontos de Extensão Identificam um ponto no comportamento de um caso de uso a partir do qual esse comportamento poderá ser estendido pelo comportamento de outro caso de uso, se a condição para que isso ocorra for satisfeita Exemplo de Ponto de Extensão Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 21/ 44 Pontos de Extensão Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 22/ 44 Multiplicidade no Diagrama de Casos de Uso Especifica o número de vezes que um ator pode utilizar um determinado caso de uso Exemplos de Multiplicidade em Associações entre Atores e Casos de Uso Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 23/ 44 Estereótipos e Fronteiras de Sistema Estereótipos Possibilitamcerto grau de extensibilidade aos componentes ou associações da UML Proporcionam maior destaque de características que os diferenciem Fronteiras de Sistema Classificador que contém um conjunto de casos de uso Representada por um retângulo envolvendo os casos de uso por ela contidos, além de um título que a descreve <<process>> Abrir Conta Estereótipo de Texto Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 24/ 44 Exemplo – Sistema de Controle Bancário O sistema: Permite que seus clientes abram e encerrem contas, bem como depositem ou saquem valores e emitam saldos ou extratos. Essas últimas quatro funcionalidades o cliente pode utilizar diretamente por meio de um caixa eletrônico, porém, para abrir ou encerrar uma conta ele necessitará interagir com um funcionário do banco, que poderá ainda realizar alguma manutenção em seu cadastro, ou seja, registrá-lo ou alterar seus dados. Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 25/ 44 Exemplo – Sistema de Controle Bancário Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 26/ 44 Documentação – Atores Atores que interagem com o sistema Cliente: representa as pessoas físicas ou jurídicas que mantêm ou mantiveram contas na instituição bancária, com direito a utilizar serviços como saque, depósito, saldo ou extrato enquanto mantinham contas ativas. Funcionário: representa os funcionários contratados para atender presencialmente os clientes da instituição. São basicamente os caixas do banco. Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 27/ 44 Documentação – Caso de Uso Abrir Conta Especial Nome do Caso de Uso Abrir Conta Especial Caso de Uso Geral Abrir Conta Comum Ator Principal Cliente Atores Secundários Funcionário Resumo Este caso de uso descreve as etapas percorridas por um cliente para abrir uma conta corrente especial Pré-condições O pedido de abertura precisa ser aprovado Pós-condições É necessário realizar um depósito inicial Fluxo Principal Ações do Ator Ações do Sistema Idênticas às do caso de uso Abrir Conta Comum, exceto por fornecer comprovante de estar empregado e de que seu salário é superior a R$500,00 Idênticas às do caso de uso Abrir Conta Comum, exceto por definir o limite do cheque especial após a aprovação do pedido de abertura Restrições/Validações 1. Para abrir uma conta corrente é preciso ser maior de idade 2. É necessário comprovar estar empregado e o salário tem que ser superior a R$500,00 3. O valor mínimo de depósito inicial é R$25,00 Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 28/ 44 Documentação – Caso de Uso Abrir Conta Poupança Nome do Caso de Uso Abrir Conta Poupança Caso de Uso Geral Abrir Conta Comum Ator Principal Cliente Atores Secundários Funcionário Resumo Este caso de uso descreve as etapas percorridas por um cliente para abrir uma conta poupança Pré-condições Pós-condições Fluxo Principal Ações do Ator Ações do Sistema Idênticas às do caso de uso Abrir Conta Comum Idênticas às do caso de uso Abrir Conta Comum, exceto por definir a data de aniversário da conta, que não necessariamente será a data de abertura da conta, uma vez que a abertura de uma conta poupança não obriga um depósito Restrições/Validações Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 29/ 44 Documentação – Caso de Uso Manter Clientes Nome do Caso de Uso Manter Clientes Caso de Uso Geral Ator Principal Funcionário Atores Secundários Resumo Este caso de uso descreve as possíveis atividades de manutenção do cadastro de clientes, ou seja, permite incluir, alterar ou consultar clientes. Um cliente não pode ser excluído apenas tornado inativo Pré-condições Pós-condições Fluxo Principal Ações do Ator Ações do Sistema 1. Informar o CPF ou CNPJ do cliente 2. Consultar o cliente por seu CPF ou CNPJ 3. Se já houver um cliente cadastrado com o CPF ou CNPJ informado, apresentar seus dados 4. Se necessário, alterar ou inserir os dados do cliente 5. Se necessário, gravar as atualizações Restrições/Validações 1. O CPF ou CNPJ precisam ser validados 2. Os campos nome, endereço e data de nascimento são obrigatórios Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 30/ 44 Documentação – Caso de Uso Emitir Saldo Nome do Caso de Uso Emitir Saldo Caso de Uso Geral Ator Principal Cliente Atores Secundários Resumo Descreve os passos necessários para um cliente obter o saldo referente a uma determinada conta Pré-condições Pós-condições Fluxo Principal Ações do Ator Ações do Sistema 1. Informar o número da conta 2. Verificar a existência da conta 3. Solicitar a senha da conta 4. Informar a senha 5. Verificar se a senha está correta 6. Emitir o saldo Restrições/Validações 1. A conta precisa existir e estar ativa 2. A senha precisa estar correta Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 31/ 44 Documentação – Caso de Uso Emitir Saldo Fluxo de Exceção 1 – Conta não encontrada Ações do Ator Ações do Sistema 1. Comunicar ao cliente que o número da conta informada não foi encontrado Fluxo de Exceção 2 – Senha inválida Ações do Ator Ações do Sistema 1. Comunicar ao cliente que a senha fornecida não combina com a senha da conta Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 32/ 44 Documentação – Caso de Uso Emitir Extrato Nome do Caso de Uso Emitir Extrato Caso de Uso Geral Ator Principal Cliente Atores Secundários Resumo Descreve os passos necessários para um cliente obter o extrato referente a uma determinada conta em um determinado período Pré-condições Pós-condições Fluxo Principal Ações do Ator Ações do Sistema 1. Informar o número da conta 2. Verificar se a conta existe e está ativa 3. Solicitar a senha 4. Informar a senha 5. Verificar se a senha está correta 6. Solicitar períodos 7. Informar o período inicial e final do extrato 8. Listar os movimentos da conta dentro do período informado Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 33/ 44 Documentação – Caso de Uso Emitir Extrato Nome do Caso de Uso Emitir Extrato Restrições/Validações 1. A conta precisa existir e estar ativa 2. A senha precisa estar correta 3. Os períodos precisam estar corretos e o período inicial não pode ser maior que o final Fluxo de Exceção – Períodos inválidos Ações do Ator Ações do Sistema 1. Informar ao cliente que as datas fornecidas são inválidas Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 34/ 44 Documentação – Caso de Uso Realizar Depósito Nome do Caso de Uso Realizar Depósito Caso de Uso Geral Ator Principal Cliente Atores Secundários Funcionário Resumo Descreve os passos necessários para um cliente depositar algum valor em uma determinada conta Pré-condições Pós-condições Fluxo Principal Ações do Ator Ações do Sistema 1. Informar o número da conta 2. Verificar se a conta existe 3. Fornecer o valor a ser depositado 4. Executar o caso de uso Registrar Movimento Restrições/Validações 1. A conta precisa existir e estar ativa Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 35/ 44 Documentação – Caso de Uso Realizar Saque Nome do Caso de Uso Realizar Saque Caso de Uso Geral Ator Principal Cliente Atores Secundários Resumo Descreve os passos necessários para um cliente sacar algum valor de uma determinada conta Pré-condições Pós-condições Fluxo Principal Ações do Ator Ações do Sistema 1. Informar o número da conta 2.Verificar se a conta existe 3. Solicitar a senha 4. Informar a senha 5. Verificar se a senha está correta 6. Informar o valor a ser retirado 7. Se o valor solicitado for válido, entregar a importância ao cliente 8. Executar caso de uso Registrar Movimento Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 36/ 44 Documentação – Caso de Uso Emitir Extrato Nome do Caso de Uso Realizar Saque Restrições/Validações 1. A conta precisa existir e estar ativa 2. A senha precisa estar correta Fluxo Alternativo 1 – Conta Comum/Poupança Ações do Ator Ações do Sistema 1. Se o valor solicitado for igual ou menor que o saldo da conta, sacar valor Restrições/Validações 1. O valor a ser retirado precisa ser igual ou menor que o saldo da conta Fluxo Alternativo 2 – Conta Especial Ações do Ator Ações do Sistema 1. Se o valor solicitado for igual ou menor que o saldo da conta somado ao limite, sacar valor Restrições/Validações 1. O valor a ser retirado precisa ser igual ou menor que o saldo somado ao limite da conta Fluxo de Exceção – Saldo insuficiente Ações do Ator Ações do Sistema 1. Se o valor solicitado for superior ao que o cliente pode sacar, emitir uma mensagem informando que o saldo é insuficiente e recusar o pedido Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 37/ 44 Documentação – Caso de Uso Registrar Movimento Nome do Caso de Uso Registrar Movimento Caso de Uso Geral Ator Principal Cliente Atores Secundários Resumo Descreve os passos necessários para registrar um movimento referente a um saque ou a um depósito Pré-condições Pós-condições Fluxo Principal Ações do Ator Ações do Sistema 1. Receber o número da conta movimentada, o tipo do movimento (se é depósito ou saque), a data e o valor movimentado 2. Registrar o movimento Restrições/Validações Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 38/ 44 Exercícios (grupos de até 5 alunos, entrega na próxima aula) Elabore o diagrama de casos de uso dos sistemas a seguir levando em consideração os requisitos explicitados. 1 – Sistema de Telefone Celular • O celular oferece o serviço de realizar chamadas, no qual o usuário deve informar um telefone para que o celular ligue. O celular deve registrar as últimas chamadas. • Semelhante ao serviço de chamadas, o telefone oferece o serviço de mensagens, onde o usuário deve informar o número de telefone para o qual deseja enviar a mensagem. O celular deve igualmente registrar as últimas mensagens. • O aparelho oferece o serviço de agenda, a partir do qual é possível cadastrar os diversos contatos do usuário. Cada contato armazena o nome do contato e seu telefone. Caso o usuário consulte um telefone já existente, ele poderá ligar para esse contato ou enviar uma mensagem. O sistema deve guardar as últimas ligações feitas, bem como as últimas mensagens enviadas. Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 39/ 44 Exercícios (grupos de até 5 alunos, entrega na próxima aula) • O celular oferece também o serviço de recebimento de chamadas. O sistema deve avisar o recebimento de uma chamada por meio do toque de uma música, e o usuário pode aceitar a chamada ou não. As últimas ligações também devem ser gravadas. • Da mesma forma, o sistema deve oferecer o serviço de recebimento de mensagens, devendo também registrar as últimas mensagens recebidas. • O celular oferece ainda o serviço de despertador, no qual o usuário pode cadastrar e/ou ativar um ou mais horários para despertar. • Finalmente, o sistema oferece o serviço de tons, no qual o usuário pode selecionar, entre muitas músicas possíveis, a que mais lhe agrada para avisar- lhe do recebimento de uma chamada ou mensagem, ou para despertá-lo. Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 40/ 44 Exercícios (grupos de até 5 alunos, entrega na próxima aula) 2 – Sistema de Clínica Veterinária • Os clientes primeiramente marcam consultas com a secretária, fornecendo suas informações pessoais e as dos animais que desejam tratar. Se o cliente ou o animal ainda não estiver cadastrado no sistema ou existir algum dado que precise ser atualizado, a secretária deverá atualizar o cadastro. • Em cada sessão de tratamento (uma sessão equivale a uma consulta), o cliente deve informar os sintomas aparentes do animal, os quais devem ser registrados. Um tratamento pode ser encerrado em apenas uma consulta, quando se tratar de algo simples, ou pode arrastar-se por muitas sessões, dependendo do diagnóstico do médico-veterinário. • Durante uma consulta, o veterinário pode marcar exames para o animal, a serem trazidos na sessão seguinte. O pedido dos exames e seus resultados devem ser registrados no histórico de tratamentos do animal. Após cada sessão, o histórico da consulta deve ser atualizado. Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 41/ 44 Exercícios (grupos de até 5 alunos, entrega na próxima aula) 2 – Sistema de Clínica Veterinária • É responsabilidade da secretária manter atualizados os cadastros de clientes, animais, médicos e espécies. Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 42/ 44 Exercícios (grupos de até 5 alunos, entrega na próxima aula) 3 – Sistema de Controle de Advocacia • Um cliente, pessoa física ou jurídica, que paga um advogado para defendê-lo ou para processar outra pessoa, procura este profissional. Se o cliente ainda não estiver cadastrado, o advogado deverá registrar seus dados pessoais. • Em seguida, o cliente deve fornecer informações a respeito do processo que deseja que o advogado mova contra alguém ou que o defenda de outra pessoa. Obviamente, o processo precisa ser registrado e receberá diversas adições enquanto estiver em andamento. O cliente deve fornecer também informações sobre a parte contrária (pessoa física ou jurídica que está processando ou sendo processada pelo cliente), que deverá também ser registrada, caso ainda não esteja. Observe que uma mesma pessoa física ou jurídica pode ser tanto um cliente como uma parte contrária em períodos diferentes, obviamente. Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 43/ 44 Exercícios (grupos de até 5 alunos, entrega na próxima aula) 3 – Sistema de Controle de Advocacia • Um processo deve tramitar em um determinado tribunal e em uma determinada vara. No entanto, um tribunal pode julgar muitos processos, e uma vara pode ter diversos processos tramitando nela. Um tribunal pode ter inúmeras varas, porém, um processo julgado por um determinado tribunal só pode tramitar em uma das varas pertencentes ao mesmo. O advogado pode achar necessário emitir relatórios de todos os processos em andamento em um determinado tribunal e tramitando em uma determinada vara. • Cada processo tem no mínimo uma audiência, e cada audiência relativa a um determinado processo deve conter sua data e a recomendação do tribunal. Para fins de histórico do processo, cada audiência deve ser registrada. • Um processo pode gerar custos (despesas com fotocópias, viagens etc.). Cada custo deve ser armazenado de forma a ser cobrado da parte contrária, caso o processo seja ganho. Prof. Dr. Rodrigo Duarte Seabra Diagrama de Casos de Uso 44/ 44 Exercícios (grupos de até 5 alunos, entrega na próxima aula) 3 – Sistema de Controle de Advocacia • Esse sistema deve estar integrado a um sistema de contas a pagar e receber; cada custo gera uma conta a pagar. Caso o processo seja ganho, ele irá gerar uma ou mais contas a receber, dependendo da negociação com a parte contrária.
Compartilhar