Computing">
Nothing Special   »   [go: up one dir, main page]

Modelagem de Casos de Uso

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 24

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS

Instituto de Ciências Exatas e Informática - Departamento de Ciência da Computação


Engenharia de Software I

Modelagem de Requisitos
com Casos de Uso
• Modelagem de requisitos de sistemas
• Diagrama e detalhamento de Casos de Uso

14/04/2021 Prof. Humberto Torres Marques Neto 1


Objetivos
• Apresentar os conceitos básicos sobre a técnica de modelagem com
Casos de Uso
• Apresentar o uso de uma Ferramenta CASE para modelagem de
requisitos

14/04/2021 Prof. Humberto Torres Marques Neto 2


Referências Bibliográficas
• Básica:
BOOCH, Grady, RUMBAUGH, James, JACOBSON, Ivar. UML: Guia do
Usuário. 2 ed. Rio de Janeiro: Elsevier Campus, 2006.

• Complementar:
COCKBURN, Alistair. Escrevendo casos de uso eficazes: um guia prático
para desenvolvedores de software. Porto Alegre: Bookman, 2005.
PRESSMAN, Roger S. Engenharia de Software: uma abordagem
profissional. 8 ed. Seção 8.4 e Apêndice 1. AMGH, 2016.

14/04/2021 Prof. Humberto Torres Marques Neto 3


Comportamento do Sistema
• É como o sistema age e reage, ou seja, a sua atividade externamente
observável e que pode ser validada
• É a atividade externa visível e testável de um sistema
• O comportamento do sistema pode ser estabelecido por:
 Casos de Uso (Use Case)
 Descrição do sistema, do ambiente e do relacionamento entre o
sistema

14/04/2021 Prof. Humberto Torres Marques Neto 4


O que é um Caso de Uso?
• É uma situação (um caso) de uso de um serviço do software por parte
de um usuário
• Técnica utilizada na descrição das funcionalidades de um software
• Representa a interação do sistema com o seu ambiente externo

“Um caso de uso conta uma jornada estilizada sobre como um


usuário (desempenhando um de uma série de papéis possíveis)
interage com o sistema sob um conjunto de circunstâncias
especificas.” (PRESSMAN, 2016, p. 149)
14/04/2021 Prof. Humberto Torres Marques Neto 5
Conceitos Fundamentais da Modelagem de
Caso de Uso
Representa aqueles que
interagem com o sistema
(usuários ou outros sistemas)
Ator

É uma sequência de
transações realizadas pelo
sistema para atender a uma
Caso de Uso solicitação de um ator

14/04/2021 Prof. Humberto Torres Marques Neto 6


Exemplos de Casos de Uso
• Use o seguinte template
para “ler” um caso de uso:
Atualizar vendas

O software é utilizado para


<< nome do caso de uso >> Vendedor
pelo(s) << lista de ator(es) >>
ou
O software é utilizado pelo(s) Fazer pedido
<< lista de ator(es) >> para
<< nome do caso de uso >>
Cliente

14/04/2021 Prof. Humberto Torres Marques Neto 7


Contribuições dos Casos de Uso
• O Modelo de Caso de Uso é utilizado para comunicação com o
usuário final e com especialistas domínio
 Proporciona um “aceite” nos estágios preliminares do
desenvolvimento de sistemas
 Assegura um entendimento mútuo sobre os requisitos funcionais
do sistema, ou seja, os serviços oferecidos pelo software.
• Os casos de usos podem ser utilizados para identificar quem fará
interação com o sistema, o que o sistema deverá fazer e quais
interfaces o sistema deverá ter
14/04/2021 Prof. Humberto Torres Marques Neto 8
Casos de Uso e Requisitos
• Os casos usos contribuem com a especificação dos requisitos
funcionais de sistema
• Para cada requisito funcional de sistema de um determinado
software, há pelo menos um caso de uso
• A combinação de casos de uso com protótipos, pode ser uma boa
estratégia para detalhamentos dos requisitos funcionais
• Os casos de uso só fazem menção aos requisitos não-funcionais, ou
seja, os casos de uso não contribuem com a especificação dos
requisitos não-funcionais.
14/04/2021 Prof. Humberto Torres Marques Neto 9
Comece pela identificação de Atores
• Os atores representam os papéis que pessoas (ou dispositivos)
desempenham enquanto o sistema opera
• Ator é qualquer coisa que se comunica com o software e que é
externa ao sistema em si
• Todo ator possui uma ou mais metas ao usar o sistema
• Os atores representam papéis que um usuário do sistema pode
desempenhar nos diferentes casos de uso
• Um usuário pode exercer o papel de mais de um ator

PRESSMAN, 2016, p. 149


14/04/2021 Prof. Humberto Torres Marques Neto 10
Sobre os Atores
• Os atores podem ser:
 Pessoas que executam as principais funções do sistema
 Pessoas que executam funções secundárias
 Hardware externo utilizado pelo sistema
 Outros sistemas
 Sensores
 Fornecedor e/ou receptor de informações
O sistema não é ator dele mesmo!

14/04/2021 Prof. Humberto Torres Marques Neto 11


Como encontrar os atores?
• Quem está interessado no requisito do sistema?
• Quem vai fornecer, usar, remover informações para/no sistema?
• Quais sistemas interagem com o sistema em questão?
• Quais áreas da organização irão utilizar o sistema?
• Quais recursos externo são utilizados pelo sistema?
• Existem atores que exercem papéis já exercidos por outros atores?
• Existem atores que exercem mais de um papel?

14/04/2021 Prof. Humberto Torres Marques Neto 12


Agora precisa desenvolver os casos de uso
• Modela o diálogo entre atores e o sistema através de fluxo de eventos
completo e significativo
• Os casos de uso devem representar todas as possíveis formas de
utilizar o software
• Descreve o conjunto de sequências de ações, incluindo suas
variantes, executadas pelo sistema e que produzem um resultado
observável de valor para um ator
É iniciado por um ator para invocar certa re(ação) do sistema,
representada por um verbo no infinitivo
14/04/2021 Prof. Humberto Torres Marques Neto 13
Perguntas para os casos de uso (1/2)
1. Quem é o ator primário e quem é (são) o(s) ator(es) secundário(s)?
2. Quais são as metas do ator?
3. Que precondições devem existir antes de uma jornada começar?
4. Que tarefas ou funções principais são realizadas pelo ator?
5. Que exceções poderiam ser consideradas à medida que uma
jornada é descrita?

Caso de Uso
14/04/2021 Prof. Humberto Torres Marques Neto 14
Perguntas para os casos de uso (2/2)
6. Quais são as variações possíveis na interação do ator?
7. Que informações de sistema o ator adquire, produz ou modifica?
8. O ator terá́ de informar o sistema sobre mudanças no ambiente
externo?
9. Que informações o ator deseja do sistema?
10. O ator gostaria de ser informado sobre mudanças inesperadas?

14/04/2021 Prof. Humberto Torres Marques Neto 15


Detalhamento de Casos de Uso
• Descrição dos fluxos primário e alternativo de eventos que ocorrem
quanto do Caso de Uso é iniciado
• Deve espelhar o diálogo entre o Ator e o Caso de Uso
• Deve ser utilizada uma linguagem de alcance do usuário (quando
necessário se pode usar um glossário)

14/04/2021 Prof. Humberto Torres Marques Neto 16


Fluxo de Eventos do Caso de Uso
• Descreve apenas os eventos pertinentes ao Caso de Uso, e não o que
acontece em outros Casos de Uso
• Deve evitar termos vagos, como por exemplo: “etc.” e “outros”
• O fluxo de eventos deve descrever:
 Como e quando o Caso de Uso começa e termina
 Quando o Caso de Uso interage com os Atores
 Qual informação é trocada entre o Ator e o Caso de Uso

14/04/2021 Prof. Humberto Torres Marques Neto 17


Uma estrutura para detalhamento de
Casos de Uso

• ID e Nome do caso de uso • Exceções/Cursos alternativos


• Sumário • Interface
• Atores • Requisitos não funcionais
• Pré-condições • Use Cases relacionados (include
• Descrição Detalhada e extend)

• Pós-condições

14/04/2021 Prof. Humberto Torres Marques Neto 18


Tabela de Ação e Reação (um exemplo)
• Ação • Reação
• usuário informa qual a medição • O sistema procura um nome único
desejada, os elementos da rede e para o pedido, valores default para
os objetos de medição aos quais o quando e quantas vezes a medição
pedido se refere. Opcionalmente deve ser efetuada
um comentário pode ser incluído • Novo pedido é criado e inicializado
no pedido com os atributos definidos, o
• Valores são editados pelo usuário. nome do criador, a data de criação
Usuário determina criação de e o status “Pendente”. A interface
pedido com o usuário é notificada que um
novo pedido foi criado, exibindo-o
na tela

14/04/2021 Prof. Humberto Torres Marques Neto 19


Cenários
• Cada Caso de Uso descreve um conjunto de sequências, em que cada
sequência no conjunto representa um possível fluxo nessas variações

CADA SEQUÊNCIA É CHAMADA DE CENÁRIO

• Um cenário é uma “instância” de um Caso de Uso

14/04/2021 Prof. Humberto Torres Marques Neto 20


Tipos especiais de associações entre
Casos de Uso (1/3)
• Generalização significa que o Caso de Uso ou ator herda o
comportamento e o significado do uso do pai.
• É usado quando tem um que é semelhante a outro, mas faz um
pouco mais. Isso nos dá uma outra maneira de capturar cenários
alternativos.
• É um relacionamento de “é um tipo de”.

14/04/2021 Prof. Humberto Torres Marques Neto 21


Tipos especiais de associações entre
Casos de Uso (2/3)
• Um relacionamento de inclusão (<<include>>) entre casos de uso
significa que o caso de uso base incorpora explicitamente o
comportamento de um outro caso de uso.
• Pode ser usado quando parte do comportamento que é
semelhante em mais de um caso de uso e você não quer ficar
copiando a descrição deste comportamento.
• É um relacionamento de “uso”.

14/04/2021 Prof. Humberto Torres Marques Neto 22


Tipos especiais de associações entre
Casos de Uso (3/3)
• Um relacionamento estendido (<<extend>>) significa que o Caso de
Uso base incorpora implicitamente o comportamento de um outro
Caso de Uso.
• É semelhante a generalização. O Caso de Uso estendido pode
acrescentar comportamentos para o caso de uso base
• Os pontos que estão sendo estendidos devem ser relacionados na
linha que liga os dois Casos de Uso
• Também é um relacionamento de “uso”.

14/04/2021 Prof. Humberto Torres Marques Neto 23


Quando usar cada um?
• Use inclusão quando estiver se repetindo em dois ou mais Casos de
Uso separados e você deseja evitar a repetição
• Use generalização quando você estiver descrevendo uma variação em
comportamento normal e você deseja descrevê-la sem muito rigor
• Use extensão quando você estiver uma variação em comportamento
normal e deseja utilizar a forma mais controlada, explicando os
pontos de extensão no uso-base

14/04/2021 Prof. Humberto Torres Marques Neto 24

Você também pode gostar