quinta-feira, 12 de setembro de 2013

Introdução a Diagrama de Caso de Uso



Diagrama de Caso de Uso
O ponto de partida é saber quem ou o que interage dentro da aplicação a ser construída. Não deve considerar o comportamento interno do sistema. Deve prever todas as operações que vier a disponibilizar.
Caso de Uso é utilizado para identificar as regras de negócio e servem para entender o ponto de vista do usuário. São aplicados para capturar os requisitos solicitados pelo cliente.
Um Diagrama de Caso de Uso não deve ter todos os detalhes de implementação. Representa uma função, manipulada por uma entidade do sistema: o Ator. Não devem ser utilizados para realizar a decomposição funcional do sistema. O importante é o objetivo do ator.
Passos:
·        Definir o sistema e entendimento macro de seus objetivos;
·        Identificar os atores: identificar quais as fontes de informações a serem processadas e quais são os destinos das informações geradas pelo sistema.
·        Identificar ações das quais o ator participaria, ou seja, identificar os Casos de Uso. Representam os objetivos dos atores.
·        Agrupar tais ações, de forma que tenha um nome em comum representativo.
·        Detalhar várias situações de funcionalidade para os casos de uso.
·        Checar o modelo com usuários e clientes.
Quando mais de um ator participa de uma parte do Caso de Uso, então deve-se desmembrá-lo.
Cada Caso de Uso deve ser definido através da descrição narrativa das interações entre os atores e o sistema. Pode ser descrição contínua, descrição numerada e descrição particionada. Pode ou não mencionar a tecnologia a ser utilizada.
Atores podem dar origem a classes, sendo assim, podem ter os mesmos relacionamentos existentes entre elas. Nos diagramas de casos de uso, usa-se apenas a generalização para descrever um comportamento comum entre os atores.
Um caso de uso deve ser analisado sob a ótica de vários cenários, o que permitirá avaliar sua completude de funcionalidade. As atividades realizadas pelas pessoas são o foco dos cenários a serem criados, possibilitando uma perspectiva ampla quanto aos problemas atuais.
Um caso de uso é uma atividade composta por uma sequência de ações que o sistema executa, revela um padrão de comportamento, acionado por um ator ou outro caso de uso e produz um resultado que contribui para os objetivos do sistema.
·        Um caso de uso modela a interação entre os atores e o sistema, ou mesmo entre casos de uso.
·        Um caso de uso é ativado por um ator ou por um outro caso de uso para acionar uma certa função do sistema.
·        Um caso de uso é um fluxo de eventos completo e consistente.
·        Todos os casos de uso juntos representam todas as situações possíveis de utilização do sistema e mostram a funcionalidade existente disponível neste.
Para identificá-los, pode-se seguir o seguinte roteiro:
·        O software precisa ter quais funções para satisfazer as necessidades de um ator? O que o ator precisa fazer?
·        Um ator precisará ter acesso  ou informar dados ao software? O ator precisa ser notificado sobre os eventos no sistema ou é o ator quem precisa notificar o sistema sobre algo?
·        É possível simplificar ou melhorar o trabalho do ator mediante a inclusão de novas funções ao sistema, principalmente funções não automatizadas?
Para identificar atores ainda não conhecidos, pode-se utilizar as seguintes questões:
·        De que entradas ou saídas o sistema precisa? De onde elas vêm e para onde vão?
·        Quais são os principais problemas com a implementação já existente do sistema?
Para que um diagrama de caso de uso seja rigorosamente avaliado, emprega-se o conceito de cenário. As atividades realizadas pelas pessoas são o foco dos cenários a serem criados, uma vez que tal procedimento possibilita uma perspectiva ampla quanto a visualização dos problemas atuais do domínio descrito.
Identificando os casos de uso:
Casos de Uso Primários: São aqueles que representam os objetivos dos atores. Para identificá-los deve-se responder às seguintes questões:
·        Quais são as necessidades e objetivos de cada ator em relação ao sistema?
·        Que informações o sistema deve produzir?
·        O sistema deve realizar alguma ação que ocorre regularmente no tempo?
·        Para cada requisito funcional, existe pelo menos um caso de uso para atendê-lo?
Outras técnicas de identificação possíveis:
·        Caso de uso oposto : é aquele que desfaz o resultado da realização de um outro caso de uso. Exemplo: Cancelar Reserva.
·        Caso de uso que precede outro caso de uso: responde a pergunta “O que pode ocorrer antes da realização deste caso de uso?” Exemplo: Só pode ser feito o registro do pagamento, depois que for feito o registro de saída (Hotel).
·        Caso de uso que sucede a outro caso de uso: estratégia de identificação é pensar nas conseqüências da realização de um caso de uso. Ex.: Registrada a saída do hotel, deve ser feito o registro do pagamento.
·        Caso de uso temporal: pode haver funcionalidades realizadas pelo sistema que não são iniciadas por um ator.  Responde a pergunta:” Há alguma tarefa que o sistema deva realizar automaticamente?” Ex.: O sistema deve gerar um relatório mensal de ocupação dos quartos.
·        Caso de uso relacionado a alguma condição interna: também não tem um ator diretamente ligado a ela. Nesta situação, o sistema deve realizar alguma funcionalidade de acordo com a ocorrência de algum evento interno. Ex.: O sistema deve notificar o usuário quando tiver promoção para o período da reserva.
Casos de uso secundários: Não trazem benefícios diretos para os atores, mas são necessários para o funcionamento adequado do sistema.
·        Manutenção de cadastros: Ex.: cadastro de clientes.
·        Manutenção de usuário: adição de novos usuários, atribuição de direitos de acesso, configuração de perfis de usuário, etc.
·        Manutenção de informações provenientes de outros sistemas: no caso de comunicação entre sistemas. Ex.: Para registrar o consumo do cliente no hotel, comunica-se com o sistema do restaurante.
Extensões e Mecanismos
São complementos utilizados em diagramas de UML para dar mais clareza ao modelo.
Estereótipos: Podem ser utilizados para indicar um comportamento que se espera de um determinado componente. Ex.: <<uses>>, <<extends>>,<<abstracts>>. Os estereótipos definidos pela equipe devem ser documentados de maneira que a semântica seja bem entendida e possa ser utilizado em toda a modelagem.
Uma exceção ou situação inesperada indica um tipo de relação <<extends>>.
Uma obrigatoriedade indica um tipo de relação <<uses>>.
Relacionamentos
Relacionamento de Comunicação:
Representa a associação de um ator a um Caso de Uso, a interação do ator com o sistema.
Relacionamento de Inclusão: A interação entre vários Casos de Uso e um Caso de Uso que seja comum a todos eles pode ser feita através de um relacionamento de inclusão.
Relacionamento de extensão: É utilizado para modelar um Caso de Uso que representa um comportamento opcional, que só ocorre sob certas condições ou que depende da escolha de um ator.
Relacionamento de generalizações:
·        Generalização entre Casos de Uso
Usado quando se identifica dois Caso de Uso com comportamento semelhantes e um deles for uma forma especial de outro.
·        Generalização entre atores
Usado quando se precisa definir um ator que possui o mesmo comportamento de um ator preexistente, só que com algumas características especiais.
Relacionamentos entre os elementos do modelo de Caso de Uso 
Comunicação
Extensão
Inclusão
Herança
Caso de Uso e Caso de Uso
X
X
X
Ator e Ator
X
Caso de Uso e Ator
X
Construção do Modelo de Caso de Uso
O modelo de Caso de Uso é composto  do diagrama de Caso de Uso, da documentação dos atores e da documentação dos Casos de Uso.
Construção do Diagrama
Procedimentos a serem seguidos na construção de Casos de Uso em um processo de desenvolvimento incremental:
1.     Identifique os atores e Caso de Uso na fase de concepção.
2.     Na fase de elaboração:
§  Desenhe os diagramas de Caso de Uso;
§  Escreva os Casos de Uso em um formato de alto nível e essencial;
§  Ordene a lista de Casos de Uso de acordo com prioridade e risco.
3.     Associe cada grupo de Casos de Uso a uma Interação da fase de construção.
4.     Em cada Interação, detalhe os Casos de Uso do grupo associado a ela, e os implemente.

0 comentários:

Postar um comentário