Modelagem de Sistemas Prof. Marcos Roberto e Silva
Diagrama de Casos de Uso Demonstra o comportamento externo do sistema, através de uma linguagem simples. Apresentando o sistema sobre a perspectiva do usuário, demonstrando as funcionalidades e os serviços fornecidos pelo sistema e quais usuários farão uso destas funcionalidades e serviços.
Componentes do Diagrama de Caso de Uso O diagrama de Casos de Uso é composto basicamente por: Atores Casos de Uso Relacionamentos
Ator Um ator representa os pápeis desempenhados pelos diversos usuários que interagem com as funcionalidades ou serviços oferecidos pelo sistema. Um ator pode ser: uma pessoa ou um grupo de pessoas; um hardware; um outro sistema; um temporizador
Ator Um ator é representado em um diagrama de Caso de Uso pela figura de um homem-palito (stickman) com o seu nome.
Caso de Uso Um caso de uso representa o comportamento que o sistema pode executar em colaboração com um ou mais atores. Desta forma podemos dizer que um caso de uso diz respeito a tarefas, funções e serviços oferecidos pelo sistema.
Caso de Uso Um caso de uso é representado em um diagrama por uma elipse contendo o seu nome
Relacionamento Os casos de uso necessitam se relacionar com outros casos de uso e com atores os quais podem enviar ou receber mensagens destes. Para o relacionamento entre um ator e um caso de uso temos a associação (association). Para o relacionamento entre casos de uso temos a extensão (extend), a inclusão (include) e as generalização (generalization) Para o relacionamentos entre atores temos também a generalização (generalization).
Associação É o relacionamento que representa a interação entre os atores e os casos de uso. Este tipo de relacionamento demonstra que o sistema é utilizado de alguma forma pelos atores. Este tipo de relacionamento é representado graficamente por uma linha reta, podendo ou não ter uma seta indicando a direção do relacionamento.
Generalização entre Casos de Uso Ocorre quando dois ou mais casos de uso com características semelhantes, e que apresentam pequenas diferenças entre si, tem suas características em comum, descritas em um caso de uso geral.
Generalização entre Atores Ocorre para indicar que um ator desempenha os mesmos papéis de um outro ator.
Extensão (Extend) Indica que um dos casos de uso poderá incorporar o comportamento de outro caso de uso em um determinado ponto específico, se determinadas condições forem atendidas. Graficamente é representado pelo estereótipo <<extend>> e por uma seta tracejada que parte do caso de uso estendido para o caso de uso que o estende.
Inclusão (Include) Indica que um dos casos de uso poderá incorporar o comportamento de outro caso de uso em um determinado ponto específico, sendo executado como parte do caso de uso que o inclui. Graficamente é representado pelo estereótipo <<include>> e por uma seta tracejada que parte do caso de uso que inclui para o caso de uso incluído.
Fronteira do Sistema Um diagrama de caso de uso pode ainda mostrar a fronteira da aplicação, representada por um retângulo envolvendo os casos de uso.
Estudo de Caso Somos uma pequena loja que vende cartuchos de impressora: o cliente solicita o produto desejado; um vendedor não comissionado verifica se o cliente faz parte de nosso cadastro em caso negativo, cadastra-o solicitando nome, endereço completo (logradouro, número, complemento, bairro, cidade, estado e CEP), telefone, endereço eletrônico, CPF e RG (se pessoa física) ou CNPJ e Inscrição Estadual (se pessoa jurídica). Em seguida, o vendedor registra o pedido, emite a nota fiscal, recebe o pagamento do cliente e entrega os produtos. Os pedidos também podem ser feitos via telefone, quando, na entrega do produto, o cliente recebe junto a nota fiscal, cujo canhoto assina e devolve para o entregador e efetua o pagamento. Para validar e garantir o pagamento de vendas realizadas com cartão, utilizamos o sistema de Transferência Eletrônica - o sistema TEF. No caso de vendas realizadas com cheque, o sistema Telecheque permite consultar e validar o pagamento.
Estudo de Caso Quando o vendedor emite o pedido, este é enviado para um segundo funcionário, o almoxarife, que separa o produto e registra a quantidade vendida. Um detalhe importante é que, a cada saída, o saldo em estoque é verificado e comparado com uma quantidade mínima permitida para cada produto: se o saldo for inferior, ele preenche uma ordem de compra especificando o produto e a quantidade necessária, enviando-a para nosso comprador. O comprador realiza a cotação dos produtos solicitados e emite um pedido de compra ao fornecedor, o qual, se for novo, é devidamente cadastrado em uma ficha em que constam nome, endereço completo, CNPJ, Inscrição Estadual e produtos fomecidos. O fornecedor também informa seu código de produto para facilitar a emissão de pedidos de compras, além de outros dados, como quantidade mínima para pedido, prazo de entrega, preço do produto e condições de pagamento.
Estudo de Caso Por ocasião da entrega, o almoxarife confere o produto com a nota fiscal de fornecedor e armazena-o, registrando a entrada e atualizando o saldo de estoque. O almoxarife também é responsável pela inclusão e atualização dos dados dos produtos (código, descrição, modelo e marca de impressora, fornecedores e código do produto em cada fornecedor, cor e data da última atualização da ficha, preço de venda e a quantidade mínima em estoque). Semanalmente, o almoxarife efetua a contagem de todos os produtos do estoque e compara com as quantidades esperadas - eventuais diferenças devem ser lançadas nas fichas dos produtos.
Identificar os atores Construindo o diagrama de caso de uso 1o passo Para identificar os atores deve-se tentar encontrar as fontes de informações a serem processadas e quais são os destinos das informações geradas no sistema. Caso o sistema seja desenvolvido por uma empresa, deve-se identificar as áreas dessa empresa que serão afetadas ou utilizarão o sistema.
Construindo o diagrama de caso de uso 1o passo Uma forma de identificar os atores de um sistema é através dos seguintes questionamentos: Que grupo de usuários utiliza o sistema para realizar uma tarefa? Que grupo de usuários são necessários para o sistema executar suas funções? Quais são os sistemas externos que utilizam o sistema para realizar suas tarefas? Quais são os sistemas externos que são gerenciados ou utilizados pelo sistema para executar suas tarefas? Quais são os sistemas externos ou grupos de usuários que enviam informação para o sistema, ou que recebem informação do sistema?
Construindo o diagrama de caso de uso 1o passo Para o estudo de caso em questão podemos identificar os seguintes atores: Cliente Vendedor Almoxarife Fornecedor Comprador Sistema de Transferência Eletrônica TEF Sistema de Consulta de Cheques (Telecheque)
Construindo o diagrama de caso de uso 2o passo Identificar os Casos de Uso Identificar os casos de uso primários, que são aqueles que representam os objetivos dos atores, ou seja, expressam os processos da empresa que estão sendo automatizados pelo sistema de software. Identificar os casos de uso secundários, que são aqueles que não trazem benefício direto para os atores, mas que são necessários para que o sistema funcione adequadamente, tais como: manutenção de cadastros, manutenção de usuários, manutenção de informações de outros sistemas.
Construindo o diagrama de caso de uso 2o passo Uma forma de identificar os casos de uso do sistema é focalizar cada ator encontrado, respondendo as seguintes perguntas: Quais são os processos de que o ator participa nos quais atinge algum objetivo de negócio? Como o ator utiliza os serviços do sistema em cada processo?
Construindo o diagrama de caso de uso 2o passo Como o VENDEDOR utiliza os serviços do sistema em cada processo? Vender produto no balcão - o vendedor atende o cliente, seleciona o produto desejado, valida e, se for o caso, cadastra o cliente; em seguida emite o pedido e a nota fiscal, recebe o pagamento e entrega o produto. Vender produto por telefone - o vendedor atende o cliente, seleciona o produto desejado, valida e, se for o caso, cadastra o cliente; em seguida emite o pedido e a nota fiscal e providencia a entrega; depois, recebe o pagamento do cliente. Manter cadastro de cliente - o vendedor informa os seguintes dados do cliente para o sistema: nome, endereço completo (logradouro, número, complemento, bairro, cidade, estado e CEP), telefone, endereço eletrônico, CPF e RG (se pessoa física) ou CNPJ e Inscrição Estadual (se pessoa jurídica).
Construindo o diagrama de caso de uso 2o passo Como o ALMOXARIFE utiliza os serviços do sistema em cada processo? Retirar produto do estoque - o almoxarife recebe o pedido, separa o produto e anota a quantidade saída, atualizando o saldo de estoque. Entrar produto no estoque - o almoxarife recebe o produto, confere com a nota fiscal do fornecedor e coloca o produto no depósito. Em seguida anota a entrada, atualizando o saldo de estoque. Inventariar estoque - o almoxarife efetua a contagem de todos os produtos do estoque e compara com as quantidades esperadas, eventuais diferenças apuradas são devidamente justificadas e ajustadas. Manter cadastro de produto - o almoxarife é responsável pela inclusão e atualização dos dados do produto, quais sejam: código, descrição, modelo e marca de impressora, fornecedores e código do produto em cada fornecedor, cor e data da última atualização da ficha.
Construindo o diagrama de caso de uso 2o passo Como o COMPRADOR utiliza os serviços do sistema em cada processo? Comprar produto - o comprador realiza a cotação do produto solicitado e realiza a compra no fornecedor por meio de um pedido de compra. Manter cadastro de fornecedor - o comprador cadastra o fornecedor informando nome, endereço completo, CNPJ, Inscrição Estadual e produtos fornecidos.
Construindo o diagrama de caso de uso 2o passo Como o CLIENTE utiliza os serviços do sistema em cada processo? Vender produto no balcão o cliente chega à loja, solicita o produto desejado, efetua o pagamento em dinheiro, cheque ou cartão e retira o produto junto com a nota fiscal. Vender produto por telefone - o cliente telefona para a loja e solicita o produto desejado. Na entrega do produto, ele recebe junto a nota fiscal, cujo canhoto assina e devolve para o entregador, efetua o pagamento em dinheiro ou cheque. Manter cadastro de cliente - o cliente informa seu nome, endereço completo (logradouro, número, complemento, bairro, cidade, estado e CEP). Telefone, endereço eletrônico. CPF e RG (se pessoa física) ou CNPJ e Inscrição Estadual (se pessoa jurídica). Validar pagamento com cartão - o cartão do cliente é validado e habilita-o no processo de venda. Validar pagamento com cheque - o cheque do cliente é validado e habilita-o noprocesso de venda.
Construindo o diagrama de caso de uso 2o passo Como o FORNECEDOR utiliza os serviços do sistema em cada processo? Comprar produto - o fornecedor informa dados para cotação de produto e atende o pedido de compra da loja. Manter cadastro de fornecedor - o fornecedor informa seus dados: nome. Endereço completo, CNPJ, Inscrição Estadual e produtos que vende. Manter cadastro de produto - o fornecedor informa seu código de produto para facilitar a emissão de pedidos de compras, além de outros dados. como quantidade mínima para pedido, prazo de entrega, preço do produto e condições de pagamento.
Construindo o diagrama de caso de uso 2o passo Como o SISTEMA TEF utiliza os serviços do sistema em cada processo? Validar pagamento com cartão - o sistema TEF valida e garante o pagamento de venda realizada com cartão. Como o SISTEMA TELECHEQUE utiliza os serviços do sistema em cada processo? Validar pagamento com cheque - o sistema Telecheque valida o pagamento de venda realizada com cheque.
Construindo o diagrama de caso de uso 3o passo Elaborar o(s) diagrama(s) Para este estudo de caso podemos dividir o diagrama em três partes, de acordo com a sua natureza funcional: Venda Estoque Compra Esta divisão pode ser representada por um diagrama de pacotes
Construindo o diagrama de caso de uso 3o passo Fonte: LIMA
Construindo o diagrama de caso de uso 3o passo Fonte: LIMA
Construindo o diagrama de caso de uso 3o passo Fonte: LIMA
Construindo o diagrama de caso de uso 3o passo Fonte: LIMA
Exercicio 1 Elaborar o diagrama de caso de uso para o seguinte estudo de caso: Uma locadora de veículos deseja um sistema para facilitar o atendimento a seus clientes. O processo de aluguel de carros atual é confuso e está gerando insatisfação entre os clientes. A locadora é formada basicamente pelos seus clientes e carros para aluguel. Os carros estão divididos em diversos tipos: popular, luxo e utilitário. As informações importantes sobre os carros a serem armazenadas são: código (placa do carro), tipo, modelo, ano, cor, chassis, quilo-metragem e valor do aluguel (diária). Os funcionários serão responsáveis pelo cadastro dos clientes e dos carros adquiridos pela locadora, por efetuar o aluguel de um carro para o cliente e dar baixa no aluguel. Existem clientes especiais e clientes comuns. Os especiais possuem uma taxa de desconto e um valor de quilometragem extra para seus aluguéis. Qualquer cliente é identificado por RG, nome, CPF, telefone, endereço e contato.
Bibliografia GUEDES, Gilleans T.A. UML 2 guia prático. São Paulo: Novatec Editora, 2007. LIMA, Adilson da Silva. UML 2.0 do requisito à solução 2a Edição. São Paulo: Erica, 2007. MELO, Ana Cristina. Desenvolvendo Aplicações com UML 2.0 do conceitual à implementação 2a. Edição. Rio de Janeiro: Brasport, 2004. Nota de Aula 02 03