Avançar para o conteúdo
Read this post in: de_DEen_USes_ESfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW
Home » UML » Um Guia Completo sobre Modelagem de Casos de Uso

Um Guia Completo sobre Modelagem de Casos de Uso

O que é Modelagem de Casos de Uso?

Esta é uma técnica utilizada no desenvolvimento de software e na engenharia de sistemas para descrever os requisitos funcionais de um sistema. Ela se concentra em compreender e documentar como um sistema deveria funcionar a partir da perspectiva dos usuários finais. Em essência, ajuda a responder à pergunta: “O que o sistema deveria fazer para atender às necessidades e objetivos de seus usuários?”

What is Use Case Diagram?

Principais Conceitos da Modelagem de Casos de Uso

Requisitos Funcionais: Os requisitos funcionais são os recursos, ações e comportamentos que um sistema deve possuir para cumprir seu propósito pretendido. A modelagem de casos de uso está principalmente preocupada em definir e capturar esses requisitos de forma estruturada.

Perspectiva do Usuário Final: A modelagem de casos de uso começa analisando o sistema a partir da perspectiva das pessoas ou entidades (chamadas de “atores”) que irão interagir com o sistema. É essencial compreender como esses atores usarão o sistema para alcançar seus objetivos ou realizar suas tarefas.

Interações: A modelagem de casos de uso enfatiza a captura das interações entre esses usuários finais (atores) e o sistema. Não se trata apenas do que o sistema faz isoladamente; trata-se de como ele responde às ações ou solicitações dos usuários.

Os Fundamentos dos Casos de Uso:

  • Um caso de uso é uma descrição de como um sistema interage com uma ou mais entidades externas, chamadas de atores, para alcançar um objetivo específico.
  • Um caso de uso pode ser escrito na forma textual ou gráfica, dependendo do nível de detalhe e complexidade exigido.
  • Um caso de uso deve capturar os aspectos essenciais e relevantes da interação, como pré-condições, pós-condições, fluxo principal, fluxos alternativos e exceções.

O que é um Diagrama de Casos de Uso?

Um diagrama de casos de uso é uma representação gráfica utilizada na modelagem de casos de uso para visualizar e comunicar essas interações e relações. Em um diagrama de casos de uso, geralmente se veem atores representados por figuras de palito, e os casos de uso (funcionalidades ou características específicas) como círculos ou retângulos. Linhas e setas conectam os atores aos casos de uso, mostrando como eles interagem.

 

    • Atores: São as entidades ou usuários fora do sistema que interagem com ele. Podem ser pessoas, outros sistemas ou até dispositivos de hardware externos. Cada ator tem papéis ou responsabilidades específicas dentro do sistema.
    • Casos de Uso: Os casos de uso representam funcionalidades ou processos específicos que o sistema pode realizar para atender às necessidades dos atores. Cada caso de uso geralmente possui um nome e uma descrição, o que ajuda a compreender o que ele realiza.
    • Relações: As linhas e setas que conectam atores e casos de uso no diagrama mostram como os atores interagem com o sistema por meio desses casos de uso. Diferentes tipos de relações, como associações, relações de extensão e relações de inclusão, podem ser usados para especificar a natureza dessas interações.

Como realizar a Modelagem de Casos de Uso?

  1. Para entender um caso de uso, é necessário identificar os atores e os casos de uso envolvidos no sistema.
    Um ator é uma entidade externa que tem um papel na interação com o sistema. Um ator pode ser uma pessoa, outro sistema ou um evento de tempo.
  2. Um caso de uso é um conjunto de cenários que descrevem como o sistema e o ator colaboram para alcançar um objetivo comum1. Um cenário é uma sequência de etapas que descrevem o que acontece em uma situação específica1.
    Atores na Modelagem de Casos de Uso:
  3. Atores são representados por figuras de palito em um diagrama de casos de uso.
    Atores podem ter relações de generalização, que indicam que um ator herda as características e comportamentos de outro ator. Por exemplo, um ator Aluno pode ser uma generalização de um ator Aluno de Graduação e um ator Aluno de Pós-Graduação.
  4. Atores também podem ter relações de associação, que indicam que um ator está envolvido em um caso de uso. Por exemplo, um ator Professor pode estar associado a um caso de uso de Atribuição de Notas.

Relações entre atores e casos de uso:

Use Case Diagram - Website _ Structuring use cases with extend and ...

  • Casos de uso podem ter incluirrelações, que indicam que um caso de uso incorpora o comportamento de outro caso de uso como parte de sua execução normal. Por exemplo, um caso de uso de Login pode ser incluído por muitos outros casos de uso que exigem autenticação.
    • Uma relação de inclusão é uma dependência entre dois casos de uso, onde um caso de uso (o base) incorpora o comportamento de outro caso de uso (a inclusão) como parte de sua execução normal.
    • Uma relação de inclusão é representada por uma seta tracejada com o estereótipo «incluir» do base para a inclusão.
    • Uma relação de inclusão pode ser usada para reutilizar funcionalidades comuns, simplificar casos de uso complexos ou abstrair detalhes de baixo nível
  • Casos de uso também podem ter estenderrelações, que indicam que um caso de uso adiciona comportamento opcional ou excepcional a outro caso de uso sob certas condições. Por exemplo, um caso de uso de Cancelar Reserva pode estender um caso de uso de Fazer Reserva se o usuário decidir cancelar sua reserva.
    • Uma relação de extensão é uma dependência entre dois casos de uso, onde um caso de uso (a extensão) adiciona algum comportamento opcional ou excepcional a outro caso de uso (o base) sob certas condições.
    • Uma relação de extensão é representada por uma seta tracejada com o estereótipo «estender» da extensão para o base.
    • Uma relação de extensão pode ter um ponto de extensão, que é um local no caso de uso base onde a extensão pode ser inserida.
    • Um ponto de extensão pode ser rotulado com um nome e uma condição

Criando Casos de Uso Efetivos:

  • Identificando Fronteiras do Sistema:
    • Uma fronteira do sistema é uma caixa que envolve os casos de uso e mostra o escopo do sistema.
    • Uma fronteira do sistema ajuda a distinguir o que está dentro do sistema (os casos de uso) e o que está fora do sistema (os atores).
    • Uma fronteira do sistema deve ser claramente rotulada com o nome do sistema e sua versão1.
  • Definindo Objetivos e Cenários de Casos de Uso:
    • Um objetivo de caso de uso é uma declaração que resume o que o caso de uso realiza para o ator.
    • Um objetivo de caso de uso deve ser específico, mensurável, alcançável, relevante e testável.
    • Um cenário de caso de uso é uma sequência de etapas que descreve como o ator e o sistema interagem para alcançar o objetivo.
    • Um cenário de caso de uso deve ser completo, consistente, realista e rastreável.
  • Escrevendo Descrições Claras e Concisas de Casos de Uso:
    • Uma descrição de caso de uso é um documento textual que fornece mais detalhes sobre o caso de uso, como pré-condições, pós-condições, fluxo principal, fluxos alternativos e exceções.
    • Uma descrição de caso de uso deve ser clara e concisa, usando linguagem simples e precisa, evitando jargões e ambiguidades, e seguindo uma formatação consistente.
    • Uma descrição de caso de uso também deve ser coerente e abrangente, cobrindo todos os cenários possíveis, resultados e variações, e atendendo a todos os requisitos relevantes.
  • Modelos de Casos de Uso e Documentação:
    • Um modelo de caso de uso é um formato padronizado que ajuda a organizar e apresentar as informações do caso de uso de forma consistente e estruturada.
    • Um modelo de caso de uso pode incluir várias seções, como o nome do caso de uso, ID, objetivo, atores, prioridade, suposições, pré-condições, pós-condições, fluxo principal, fluxos alternativos, exceções, etc.
    • A documentação de casos de uso é uma coleção de casos de uso que descreve a funcionalidade do sistema de diferentes perspectivas.
    • A documentação de casos de uso pode ser usada para diversos fins, como comunicação, validação, verificação, testes, manutenção, etc.

Melhores Práticas para Modelagem de Casos de Uso:

  • Algumas melhores práticas para modelagem de casos de uso são:
    • Identifique os interessados-chave e seus objetivos, e envolva-os no processo de desenvolvimento dos casos de uso
    • Use um top-down abordagem para identificar e priorizar os casos de uso mais importantes
    • Use um convenção de nomes que seja consistente, significativa e descritiva para os casos de uso e atores
    • Use diagramas e descrições textuais para se complementarem e fornecerem diferentes níveis de detalhe
    • Use relacionamentos como extender, incluir e generalização para mostrar dependências e semelhanças entre casos de uso
    • Revise e valide os casos de uso com os interessados e certifique-se de que estão alinhados aos requisitos do sistema

Modelagem de Casos de Uso usando Modelo de Caso de Uso

Descrição do Problema: Sistema de Biblioteca Universitária

O Sistema de Biblioteca Universitária está enfrentando uma série de desafios operacionais que afetam sua eficiência e a qualidade do serviço prestado aos estudantes, professores e funcionários. Esses desafios incluem:

  1. Processos Manuais de Empréstimo e Devolução: A biblioteca depende de processos baseados em papel para empréstimos de livros, devoluções e acompanhamento de datas de vencimento. Essa abordagem manual é propensa a erros, resultando em discrepâncias no controle de registros e disputas ocasionais entre o pessoal da biblioteca e os usuários.
  2. Gestão de Estoque: O sistema atual para gerenciar a extensa coleção de livros e materiais da biblioteca está desatualizado. A ausência de um sistema eficiente de gestão de estoque torna difícil localizar itens específicos, gerando frustração entre os usuários da biblioteca e atrasos desnecessários.
  3. Rastreamento de Multas por Atraso: O rastreamento e a cobrança de multas por livros em atraso são tarefas desafiadoras. O pessoal da biblioteca não possui um sistema automatizado para monitorar datas de vencimento e calcular multas com precisão. Isso resulta em perda de receita e inconveniência para os usuários.
  4. Gestão de Contas de Usuários: As contas de usuários, incluindo a emissão e gestão de cartões da biblioteca, dependem de processos manuais. Isso resulta em atrasos na concessão de acesso aos recursos da biblioteca para novos estudantes e dificuldades na atualização das informações dos membros existentes.
  5. Acesso Limitado: O sistema atual da biblioteca não oferece acesso online para os usuários pesquisarem livros, reservarem itens ou renovarem empréstimos remotamente. Essa limitação prejudica a conveniência e acessibilidade que estudantes e professores modernos esperam.
  6. Alocação Ineficiente de Recursos: O pessoal da biblioteca frequentemente enfrenta desafios para otimizar a alocação de recursos, como livros, periódicos e espaços de estudo. A ausência de dados e análises em tempo real torna difícil tomar decisões informadas sobre a distribuição de recursos.
  7. Falhas de Comunicação: Há uma falha de comunicação entre o pessoal da biblioteca e os usuários. Os usuários muitas vezes não estão cientes das políticas da biblioteca, novos acréscimos ou mudanças nos horários de funcionamento, o que leva a mal-entendidos e frustrações.
  8. Preocupações de Segurança: O sistema da biblioteca carece de medidas de segurança adequadas para proteger os dados dos usuários e prevenir o roubo ou acesso não autorizado aos recursos da biblioteca.

Esses desafios contribuem coletivamente para uma experiência subótima na biblioteca, tanto para o pessoal da biblioteca quanto para os usuários. Resolver esses problemas e modernizar o Sistema de Biblioteca Universitária é essencial para oferecer serviços eficientes, aumentar a satisfação do usuário e melhorar a experiência acadêmica geral na comunidade universitária.

Aqui está uma lista de casos de uso candidatos para o Sistema de Biblioteca Universitária com base na descrição do problema fornecida:

  1. Registro de Usuários e Gestão de Contas:
    • Criar Conta de Usuário
    • Atualizar Informações do Usuário
    • Excluir Conta de Usuário
    • Emitir Cartões da Biblioteca
  2. Gestão de Livros:
    • Adicionar Novos Livros ao Estoque
    • Atualizar Informações do Livro
    • Remover Livros do Estoque
    • Pesquisar por Livros
    • Verificar Disponibilidade de Livros
    • Reservar Livros
    • Renovar Livros Emprestados
    • Processar Devoluções de Livros
  3. Gestão de Estoque:
    • Catalogar e Categorizar Livros
    • Gerenciar Cópias de Livros
    • Rastrear Localização de Livros
    • Reconciliação de Estoque
  4. Gestão de Multas por Atraso:
    • Calcular Multas por Atraso
    • Notificar Usuários sobre Livros em Atraso
    • Aceitar Pagamentos de Multas por Atraso
  5. Acesso Online e Busca:
    • Pesquisar Livros Online
    • Fazer Reservas em Livros
    • Solicitar Entrega de Livros
    • Renovar Livros Online
  6. Alocação de Recursos e Reserva:
    • Reservar Espaços de Estudo
    • Alocar Materiais de Estudo (por exemplo, Livros Reservados)
    • Gerenciar Reservas de Espaços de Estudo
  7. Comunicação:
    • Notificar Usuários sobre Políticas da Biblioteca
    • Anunciar Chegadas Novas
    • Fornecer Informações sobre os Horários de Funcionamento
  8. Segurança:
    • Autenticação e Autorização de Usuários
    • Segurança e Privacidade de Dados
  9. Relatórios e Análise:
    • Gerar Relatórios de Uso
    • Analisar Tendências de Empréstimos
    • Prever a Demanda por Materiais Específicos
  10. Serviços de Empréstimo entre Bibliotecas:
    • Solicitar Materiais de Outras Bibliotecas
    • Gerenciar Solicitações de Empréstimo entre Bibliotecas
  11. Gestão de Funcionários da Biblioteca:
    • Autenticação e Autorização de Funcionários
    • Treinamento e Adoção
    • Planejamento de Escalas de Funcionários
  12. Serviços de Acessibilidade:
    • Fornecer Serviços para Usuários com Necessidades Especiais (por exemplo, Materiais em Braille)
    • Suporte a Tecnologias de Apoio
  13. Reserva e Retirada de Recursos:
    • Reservar Equipamentos de Áudio/Vídeo
    • Retirar Equipamentos
  14. Recomendações de Recursos da Biblioteca:
    • Sugerir Livros e Recursos com Base nas Preferências do Usuário
  15. Extensão da Biblioteca e Oficinas:
    • Organizar e Promover Oficinas e Eventos da Biblioteca

Esses casos de uso candidatos abrangem uma ampla gama de funcionalidades que abordam os problemas identificados na descrição do problema. Eles servem como base para uma análise, design e desenvolvimento posteriores do Sistema de Biblioteca Universitária, com o objetivo de aumentar sua eficiência e satisfação do usuário. Os casos de uso específicos a serem priorizados e implementados dependerão dos requisitos do sistema e das necessidades dos interessados.

Modelo de Caso de Uso:

Aqui está o modelo de caso de uso e um exemplo para pegar emprestado um livro de uma biblioteca universitária em formato tabular:

Nome do Caso de Uso Pegar um Livro em Empréstimo
ID do Caso de Uso UC001
Ator Principal Aluno
Atores Secundários Bibliotecário, Sistema de Inventário de Livros
Pré-condições – O aluno possui um cartão de biblioteca válido.
– O livro está disponível no inventário da biblioteca.
Pós-condições – O livro é marcado como emprestado no sistema.
– O aluno possui o livro em sua posse.
Fluxo Principal 1. Descrição: O aluno deseja pegar emprestado um
livro da biblioteca universitária.
2. Ações do Ator:
– O aluno apresenta seu cartão de biblioteca ao
bibliotecário.
– O bibliotecário escaneia o cartão da biblioteca para
verificar sua validade.
– O aluno fornece o título ou o ISBN do
livro que deseja emprestar.
– O bibliotecário pesquisa no catálogo da biblioteca
pelo livro.
– O bibliotecário confirma a disponibilidade do livro.
– O bibliotecário empresta o livro ao
aluno.
– O aluno pega o livro e sai da
biblioteca.
3. Ações do sistema:
– O sistema valida o cartão da biblioteca.
– O sistema atualiza o status do livro para
“emprestado.”
– O sistema registra a data de vencimento do empréstimo do livro
empréstimo.
– O sistema gera um comprovante para a
transação.
4. Fluxos alternativos:
– Se o cartão da biblioteca do aluno for inválido, o
bibliotecário informa o aluno, e o caso de uso termina.
– Se o livro solicitado não estiver disponível, o
bibliotecário informa o aluno, e o caso de uso termina.
Extensões – Se o aluno tiver livros em atraso, uma notificação
é enviado ao aluno.
– Se o aluno quiser renovar o livro, ele pode
solicitar uma renovação através do site da biblioteca.
Requisitos Especiais – O sistema deve ter um banco de dados seguro de
titulares de cartões da biblioteca.
– As datas de vencimento e multas por atraso devem ser calculadas e
aplicadas pelo sistema.

Exemplo de Caso de Uso: Pegar emprestado um Livro da Biblioteca Universitária

Nome do Caso de Uso Pegar emprestado um Livro
ID do Caso de Uso UC001
Ator Principal Aluno
Atores Secundários Bibliotecário, Sistema de Inventário de Livros
Pré-condições – O aluno possui um cartão de biblioteca válido.
– O livro está disponível no inventário da biblioteca.
Pós-condições – O livro é marcado como emprestado no sistema.
– O aluno tem o livro em sua posse.
Fluxo Principal 1. Descrição: O aluno deseja pegar emprestado um
livro da biblioteca universitária.
2. Ações do Ator:
– O aluno apresenta seu cartão de biblioteca ao
o bibliotecário.
– O bibliotecário escaneia o cartão de biblioteca para
verificar sua validade.
– O aluno fornece o título ou o ISBN do
livro que deseja emprestar.
– O bibliotecário pesquisa o catálogo da biblioteca
em busca do livro.
– O bibliotecário confirma a disponibilidade do livro.
– O bibliotecário empresta o livro ao
aluno.
– O aluno pega o livro e sai da
biblioteca.
3. Ações do sistema:
– O sistema valida o cartão de biblioteca.
– O sistema atualiza o status do livro para
“emprestado.”
– O sistema registra a data de vencimento para o empréstimo do livro
empréstimo.
– O sistema gera um comprovante para a
transação.
4. Fluxos alternativos:
– Se o cartão de biblioteca do aluno for inválido, o
bibliotecário informa o aluno, e o caso de uso termina.
– Se o livro solicitado não estiver disponível, o
bibliotecário informa o aluno, e o caso de uso termina.
Extensões – Se o aluno tiver livros em atraso, uma notificação
é enviada ao aluno.
– Se o aluno quiser renovar o livro, ele pode
solicitar uma renovação através do site da biblioteca.
Requisitos Especiais – O sistema deve ter um banco de dados seguro de
titulares de cartão da biblioteca.
– As datas de vencimento e multas por atraso devem ser calculadas e
aplicadas pelo sistema.

As tabelas acima apresentam o modelo de caso de uso e exemplo de forma estruturada e organizada, facilitando a leitura e compreensão dos elementos principais do caso de uso.

Granularidade dos Casos de Uso

Definição de Granularidade de Casos de Uso: A granularidade de caso de uso refere-se ao grau de detalhe e organização dentro das especificações de casos de uso. Ela descreve essencialmente com que precisão você divide a funcionalidade de um sistema ao documentar casos de uso. Em termos simples, trata-se de quão detalhado ou simplificado você divide um caso de uso em partes ou etapas menores.

Importância da Granularidade de Casos de Uso:

  1. Melhoria na Comunicação: A granularidade de casos de uso desempenha um papel fundamental na melhoria da comunicação entre os diferentes stakeholders envolvidos em um projeto de software, como analistas de negócios, desenvolvedores, testadores e usuários finais. Quando os casos de uso são bem definidos e adequadamente granulados, todos conseguem compreender melhor a funcionalidade e os requisitos do sistema.
  2. Planejamento do Projeto: O nível de granularidade nos casos de uso afeta o planejamento do projeto. Casos de uso menores e mais granulados tornam mais fácil estimar o tempo e o esforço necessários para as tarefas de desenvolvimento. Isso ajuda os gerentes de projeto a criar cronogramas de projeto mais precisos e alocação de recursos.
  3. Clareza e Precisão: Alcançar o nível adequado de granularidade garante que os casos de uso sejam claros e precisos. Se os casos de uso forem muito abstratos e de alto nível, podem carecer dos detalhes necessários para um desenvolvimento eficaz. Por outro lado, casos de uso excessivamente detalhados podem se tornar difíceis de gerenciar e desorganizados.

Exemplo: Vamos ilustrar a granularidade de casos de uso com um exemplo relacionado à funcionalidade de “Registro de Usuário” em um aplicativo de comércio eletrônico:

  • Alta Granularidade: Um único caso de uso intitulado “Registro de Usuário” cobre todo o processo de registro do início ao fim. Ele inclui todas as etapas, como inserir informações pessoais, criar uma senha, confirmar a senha e enviar o formulário de registro.
  • Granularidade Média: Os casos de uso são divididos em partes menores e mais focadas. Por exemplo, “Inserir Informações Pessoais”, “Criar Senha” e “Enviar Registro” poderiam ser casos de uso separados. Cada um deles se concentra em um aspecto específico do registro de usuário.
  • Baixa Granularidade: O nível mais baixo de granularidade pode envolver a divisão de ações dentro de uma única etapa. Por exemplo, “Inserir Informações Pessoais” poderia ser ainda mais decomposto em “Inserir Nome”, “Inserir Sobrenome”, “Inserir Endereço de E-mail”, e assim por diante.

O nível adequado de granularidade depende dos requisitos do projeto e das necessidades específicas dos interessados. Encontrar o equilíbrio certo é essencial para garantir que os casos de uso sejam compreensíveis, gerenciáveis e eficazes na transmissão da funcionalidade do sistema para todas as partes envolvidas.

No seu livro ‘Escrevendo Casos de Uso Efetivos’, Alastair Cockburn oferece uma analogia simples para nos ajudar a visualizar os diferentes níveis de atingimento de objetivos. Ele sugere pensar nesses níveis usando a analogia do mar

Different levels of details of use case

Referências:

  1. O que é Diagrama de Caso de Uso? (visual-paradigm.com)
  2. O que é Especificação de Caso de Uso?

 

Deixe um comentário