Você está na página 1de 10
UML 2.0 Diagrama de casos de uso Prof. Cesar Augusto Tacla
UML 2.0 Diagrama de casos de uso Prof. Cesar Augusto Tacla
UML 2.0 Diagrama de casos de uso Prof. Cesar Augusto Tacla

UML 2.0 Diagrama de casos de uso

UML 2.0 Diagrama de casos de uso Prof. Cesar Augusto Tacla
UML 2.0 Diagrama de casos de uso Prof. Cesar Augusto Tacla
UML 2.0 Diagrama de casos de uso Prof. Cesar Augusto Tacla

Prof. Cesar Augusto Tacla

UML 2.0 Diagrama de casos de uso Prof. Cesar Augusto Tacla
Exemplo

Exemplo

Exemplo
Exemplo
Exemplo
Ator São externos ao sistema
Ator
São externos ao sistema

Representam

papéis desempenhados por usuários entidades externas ao sistema (ex. hardware, outros sistemas)

Iniciam casos de uso Fornecem e/ou recebem informações dos casos de uso

ao sistema (ex. hardware, outros sistemas) Iniciam casos de uso Fornecem e/ou recebem informações dos casos
Definição Comunicação entre clientes, usuários e desenvolvedores Funcionalidades oferecidas pelo sistema

Definição

Definição Comunicação entre clientes, usuários e desenvolvedores Funcionalidades oferecidas pelo sistema
Definição Comunicação entre clientes, usuários e desenvolvedores Funcionalidades oferecidas pelo sistema

Comunicação entre clientes, usuários e desenvolvedores

Funcionalidades oferecidas pelo sistema

Elementos do diagrama Atores Casos de uso Relações Como encontrar atores?
Elementos do diagrama
Atores
Casos de uso
Relações
Como encontrar atores?
Como encontrar atores? Iniciar pelos atores primários A quem o sistema oferece algo de valor?
Como encontrar atores? Iniciar pelos atores primários A quem o sistema oferece algo de valor?
Como encontrar atores? Iniciar pelos atores primários A quem o sistema oferece algo de valor?

Como encontrar atores?

Como encontrar atores? Iniciar pelos atores primários A quem o sistema oferece algo de valor? Sem

Iniciar pelos atores primários

A quem o sistema oferece algo de valor? Sem eles, o sistema não seria necessário! Definir os papéis destes usuários

Papéis = atores

Como encontrar atores? Identifique as fontes de informação Sistema tem as informações para tratar um
Como encontrar atores? Identifique as fontes de informação Sistema tem as informações para tratar um
Como encontrar atores? Identifique as fontes de informação Sistema tem as informações para tratar um

Como encontrar atores?

Como encontrar atores? Identifique as fontes de informação Sistema tem as informações para tratar um evento

Identifique as fontes de informação

Sistema tem as informações para tratar um evento gerado por um ator?

Não! Então quem a fornece? Outro ator?

Caso de uso Um caso de uso é um conjunto de ações realizadas pelo sistema
Caso de uso Um caso de uso é um conjunto de ações realizadas pelo sistema

Caso de uso

Caso de uso Um caso de uso é um conjunto de ações realizadas pelo sistema que

Um caso de uso é um conjunto de ações realizadas pelo sistema que produz um resultado significativo (com valor) para um ator

Nas fases iniciais (inception), pois na fase de elaboração são refinados para incluir casos auxiliares ao funcionamento do sistema

Como encontrar atores? Não esquecer dos atores auxiliares para tomar decisões realizar serviços específicos do
Como encontrar atores? Não esquecer dos atores auxiliares para tomar decisões realizar serviços específicos do
Como encontrar atores? Não esquecer dos atores auxiliares para tomar decisões realizar serviços específicos do

Como encontrar atores?

Como encontrar atores? Não esquecer dos atores auxiliares para tomar decisões realizar serviços específicos do

Não esquecer dos atores auxiliares

para tomar decisões realizar serviços específicos do sistema

Atores nem sempre são pessoas

equipamentos, sensores e outros sistemas

Atores ou não? Banco de dados?
Atores ou não? Banco de dados?

Atores ou não?

Atores ou não? Banco de dados?

Banco de dados?

Atores ou não? Banco de dados?
Atores ou não? Banco de dados?

Não

Sistema operacional?

Não

Impressora?

Não

Sensor de calor num sistema de monitoramento de incêndio?

 

Sim

Como identificar casos de uso? Quais são as tarefas de cada ator?
Como identificar casos de uso? Quais são as tarefas de cada ator?
Como identificar casos de uso? Quais são as tarefas de cada ator?
Como identificar casos de uso? Quais são as tarefas de cada ator?

Como identificar casos de uso?

Quais são as tarefas de cada ator?

Como identificar casos de uso? Quais são as tarefas de cada ator?

Que informações o ator obtém do sistema?

 

Quem as fornece? Quem as captura?

Como identificar casos de uso? Algum ator precisa ser informado sobre eventos produzidos pelo sistema?
Como identificar casos de uso? Algum ator precisa ser informado sobre eventos produzidos pelo sistema?
Como identificar casos de uso? Algum ator precisa ser informado sobre eventos produzidos pelo sistema?
Como identificar casos de uso? Algum ator precisa ser informado sobre eventos produzidos pelo sistema?

Como identificar casos de uso?

Como identificar casos de uso? Algum ator precisa ser informado sobre eventos produzidos pelo sistema? Sim

Algum ator precisa ser informado sobre eventos produzidos pelo sistema?

Sim => casos de uso de registro e notificação

Há eventos externos que devem ser notificados ao sistema?

Sim => devem haver casos para que os atores possam notificar o sistema

Fluxo de eventos como sistema e atores colaboram para produzir algo de valor aos atores
Fluxo de eventos como sistema e atores colaboram para produzir algo de valor aos atores

Fluxo de eventos

Fluxo de eventos como sistema e atores colaboram para produzir algo de valor aos atores o

como sistema e atores colaboram para produzir algo de valor aos atores

o que pode impedir sua obtenção

Exemplo Para ir ao churrasco, pegue a BR116 na direção São Paulo. Logo após o

Exemplo

Exemplo Para ir ao churrasco, pegue a BR116 na direção São Paulo. Logo após o clube
Exemplo Para ir ao churrasco, pegue a BR116 na direção São Paulo. Logo após o clube

Para ir ao churrasco, pegue a BR116 na direção São Paulo. Logo após o clube Santa Mônica, tem um retorno por baixo da pista. Faça o retorno e continue reto (não retorne à BR). Continue nesta estradinha asfaltada por 1 km, no entroncamento pegue a estrada de terra à direita, ande cerca de 500m, você verá um grande eucalipto e uma araucária. A entrada da chácara é entre os dois. Não se esqueça de trazer o pinhão. // primário

Se estiver chovendo muito, os 500m na terra podem ser bem difíceis porque o barro é mole. Neste caso, siga reto no entroncamento (ao invés de virar à direita) e na próxima a direita pegue a rua de paralelepípedos. Ande cerca de 1 km e depois vire na segunda a direita que vai desembocar na frente da chácara. // alternativo 1

Se você for comprar o pinhão no caminho, logo depois de fazer o retorno da BR tem uma venda. Se estiver fechada, um pouco mais a frente, tem um senhor da chácara Pinhais que também vende. Se não encontrar pinhão, não tem problema. // alternativo 2

Descrição de um caso de uso
Descrição de um caso de uso
Descrição de um caso de uso

Descrição de um caso de uso

Descrição de um caso de uso
Descrição de um caso de uso

Nome

 

Autor

 

Descrição

 

Pré-condições

 

Pós-condições

 

Fluxo básico de eventos

Ator x sistema

Fluxo alternativo

 

de eventos

Fluxo de eventos um caminho entre muitos
Fluxo de eventos um caminho entre muitos

Fluxo de eventos

Fluxo de eventos um caminho entre muitos

um caminho entre muitos

Fluxo de eventos um caminho entre muitos
Fluxo de eventos um caminho entre muitos

Tipos

Fluxo básico Fluxo alternativo

 

Subfluxo

Fluxo básico
Fluxo básico

Fluxo básico

Fluxo básico
Fluxo básico
Fluxo básico

O que ocorre normalmente

Início do caso

interação normal

 

sem tratamento de exceções

descrição de como o caso termina.

 
Fluxo básico: exemplo Caso de uso: cabeçalho Nome: Buscar produtos e fazer pedido Um cliente
Fluxo básico: exemplo
Caso de uso: cabeçalho
Nome: Buscar produtos e fazer pedido
Um cliente realiza compras on-line num site
utilizando um carrinho de compras virtual.
O projetista do sistema previu um caso
chamado buscar produtos e fazer pedido
especificado pelo fluxo básico seguinte –
Descrição: Este caso descreve como um cliente usa o sistema
para visualizar e comprar produtos disponíveis.
Para encontrar um produto, o cliente pode pesquisar o catálogo
por tipo de produto,
fabricante ou por palavras-chaves.
extraído de (Bittner e Spencer, 2003)
Pré-condições: o cliente está logado no sistema.
Pós-condições: o cliente realiza uma compra ou não.
Fluxos básico
Subfluxos
Fluxos alternativos
Caso de uso: fluxo básico
Exercícios
1. O caso de uso inicia quando o ator cliente escolhe a opção de consultar o catálogo de produtos.
2. {Mostrar catálogo de produtos}
3. O sistema mostra os produtos oferecidos, ressaltando os produtos cujas categorias constam no perfil do cliente.
4. {Escolher produto}
Fazer 1, 2 e 3 da apostila página 32
5. O cliente escolhe um produto a ser comprado e define a quantidade desejada.
6. Para cada produto selecionado disponível em estoque, o sistema registra o código do produto e a quantidade
solicitada reservando-a no estoque e adiciona-o ao carrinho de compras.
7. {Produto esgotado}
8. Os passos 4-7 se repetem até que o cliente decida efetuar a compra dos produtos.
9. {Processar pedido}
Pontos de extensão
Subfluxos
Req. não funcionais
10. O sistema pergunta ao cliente se deseja fornecer informações sobre o pagamento.
11. O sistema utiliza um protocolo seguro para obter as informações de pagamento do cliente.
12. Executar subfluxo validar informações de pagamento (S1)
13. {Informações de pagamento não válidas}
14. O sistema pergunta ao cliente se deseja fornecer informações sobre o envio das mercadorias.
15. O sistema utiliza um protocolo seguro para obter as informações de envio.
16. Executar subfluxo validar informações de envio.
17. {Informações de envio não válidas}
18. Executar subfluxo efetuar transação financeira.
19. O sistema pergunta ao cliente se deseja comprar mais produtos.
20. Se o cliente desejar comprar mais produtos, retomar o caso no ponto {Mostrar catálogo de produtos}, se não o caso
termina.
Subfluxo
Exemplo de subfluxo
Decomposição de um fluxo de eventos
Objetivo: melhorar a legibilidade
Cuidado!!! excesso de fragmentação
Subfluxo é atômico
No exemplo da apostila
S1
S2
S3
Validar informações de pagamento;
Validar informações de envio;
Efetuar transação financeira.
Ex. de subfluxo S1 validar informações de pagamento 1. Sistema verifica o dígito verificador e
Ex. de subfluxo S1 validar informações de pagamento 1. Sistema verifica o dígito verificador e

Ex. de subfluxo

Ex. de subfluxo S1 validar informações de pagamento 1. Sistema verifica o dígito verificador e a

S1 validar informações de pagamento

1. Sistema verifica o dígito verificador e a data de expiração do cartão de crédito

2. Sistema solicita confirmação dos dados a administradora do cartão (nome, país)

3. Sistema sinaliza se informações foram validadas ou não

FLUXO ALTERNATIVO Fluxos alternativos sempre são dependentes da existência de uma condição que ocorre em
FLUXO ALTERNATIVO Fluxos alternativos sempre são dependentes da existência de uma condição que ocorre em
FLUXO ALTERNATIVO Fluxos alternativos sempre são dependentes da existência de uma condição que ocorre em

FLUXO ALTERNATIVO

FLUXO ALTERNATIVO Fluxos alternativos sempre são dependentes da existência de uma condição que ocorre em um

Fluxos alternativos sempre são dependentes da existência de uma condição que ocorre em um ponto de extensão de outro fluxo de eventos

Representam

comportamento alternativo ou opcional complexos Exemplos

Tratamento de exceções

Ex. fluxo alternativo específico A2 - Tratar produto esgotado Em {Produto esgotado} quando não há
Ex. fluxo alternativo específico A2 - Tratar produto esgotado Em {Produto esgotado} quando não há
Ex. fluxo alternativo específico A2 - Tratar produto esgotado Em {Produto esgotado} quando não há
Ex. fluxo alternativo específico A2 - Tratar produto esgotado Em {Produto esgotado} quando não há

Ex. fluxo alternativo específico

Ex. fluxo alternativo específico A2 - Tratar produto esgotado Em {Produto esgotado} quando não há a

A2 - Tratar produto esgotado

Em {Produto esgotado} quando não há a quantidade requisitada do produto em estoque.

O sistema informa que o pedido não pode ser completamente satisfeito.

// a descrição deste fluxo continua com oferta de quantidades e produtos alternativos ao cliente

O fluxo de eventos básico é retomado no ponto onde foi interrompido.

Pontos de extensão Identificam locais num fluxo de eventos {ponto de extensão} Privados: visível somente
Pontos de extensão Identificam locais num fluxo de eventos {ponto de extensão} Privados: visível somente

Pontos de extensão

Pontos de extensão Identificam locais num fluxo de eventos {ponto de extensão} Privados: visível somente no

Identificam locais num fluxo de eventos {ponto de extensão}

Privados: visível somente no CdU Públicos: visíveis nos CdUs que estendem

Tipos de fluxos alternativos Específico : iniciam num ponto de extensão. Regional : podem ocorrer
Tipos de fluxos alternativos Específico : iniciam num ponto de extensão. Regional : podem ocorrer
Tipos de fluxos alternativos Específico : iniciam num ponto de extensão. Regional : podem ocorrer

Tipos de fluxos alternativos

Tipos de fluxos alternativos Específico : iniciam num ponto de extensão. Regional : podem ocorrer pontos
Tipos de fluxos alternativos Específico : iniciam num ponto de extensão. Regional : podem ocorrer pontos

Específico: iniciam num ponto de

extensão. Regional: podem ocorrer

pontos de extensão. Geral: podem ocorrer em qualquer ponto do caso de uso.

entre dois

Ex. fluxo alternativo regional A1 Pesquisar por palavras-chaves Entre {Mostrar catálogo de produtos} e {Escolher
Ex. fluxo alternativo regional A1 Pesquisar por palavras-chaves Entre {Mostrar catálogo de produtos} e {Escolher
Ex. fluxo alternativo regional A1 Pesquisar por palavras-chaves Entre {Mostrar catálogo de produtos} e {Escolher

Ex. fluxo alternativo regional

Ex. fluxo alternativo regional A1 Pesquisar por palavras-chaves Entre {Mostrar catálogo de produtos} e {Escolher
Ex. fluxo alternativo regional A1 Pesquisar por palavras-chaves Entre {Mostrar catálogo de produtos} e {Escolher

A1 Pesquisar por palavras-chaves

Entre {Mostrar catálogo de produtos} e {Escolher produto} quando o cliente escolhe realizar uma pesquisa por palavras-chaves.

O sistema pergunta ao cliente pelos critérios de busca do produto.

O cliente fornece os critérios de busca de produto.

// a descrição deste fluxo continua

O fluxo de eventos básico é retomado em {Escolher produto}.

Por que utilizar fluxos alternativos? São comportamentos opcionais Não são necessariamente essenciais Podem ser caros
Por que utilizar fluxos alternativos? São comportamentos opcionais Não são necessariamente essenciais Podem ser caros
Por que utilizar fluxos alternativos? São comportamentos opcionais Não são necessariamente essenciais Podem ser caros
Por que utilizar fluxos alternativos? São comportamentos opcionais Não são necessariamente essenciais Podem ser caros

Por que utilizar fluxos alternativos?

Por que utilizar fluxos alternativos? São comportamentos opcionais Não são necessariamente essenciais Podem ser caros

São

comportamentos opcionais

Não são necessariamente essenciais

Podem ser caros Permitem adicionar funcionalidades incrementalmente

Cenários Fluxo cenário alternativo Fluxo básico
Cenários
Fluxo
cenário
alternativo
Fluxo básico
Relações Associação Inclusão Extensão Generalização/especialização NÃO representam a ordem de

Relações

Relações Associação Inclusão Extensão Generalização/especialização NÃO representam a ordem de
Relações Associação Inclusão Extensão Generalização/especialização NÃO representam a ordem de

Associação Inclusão Extensão Generalização/especialização

NÃO representam a ordem de execução dos casos; devem melhorar a compreensão do que o sistema deve fazer (e não como projetá-lo).

Representação gráfica de fluxos Diagrama de atividades: representação simplificada da descrição textual
Representação gráfica de fluxos Diagrama de atividades: representação simplificada da descrição textual
Representação gráfica de fluxos Diagrama de atividades: representação simplificada da descrição textual
Representação gráfica de fluxos Diagrama de atividades: representação simplificada da descrição textual

Representação gráfica de fluxos

Representação gráfica de fluxos Diagrama de atividades: representação simplificada da descrição textual
Representação gráfica de fluxos Diagrama de atividades: representação simplificada da descrição textual

Diagrama de atividades:

representação simplificada da descrição textual

Realização de casos de uso Modelo de casos de uso Modelo de projeto
Realização de casos de uso Modelo de casos de uso Modelo de projeto
Realização de casos de uso Modelo de casos de uso Modelo de projeto

Realização de casos de uso

Realização de casos de uso Modelo de casos de uso Modelo de projeto
Realização de casos de uso Modelo de casos de uso Modelo de projeto
Realização de casos de uso Modelo de casos de uso Modelo de projeto

Modelo de casos de uso

Modelo de projeto

Associação ator x ator Não é recomendável colocar este tipo de relação no diagrama de
Associação ator x ator Não é recomendável colocar este tipo de relação no diagrama de

Associação ator x ator

Associação ator x ator Não é recomendável colocar este tipo de relação no diagrama de casos
Associação ator x ator Não é recomendável colocar este tipo de relação no diagrama de casos
Associação ator x ator Não é recomendável colocar este tipo de relação no diagrama de casos

Não é recomendável colocar este tipo de relação no diagrama de casos de uso

Associação ator x caso de uso indica quem inicia a comunicação indica o fluxo de
Associação ator x caso de uso indica quem inicia a comunicação indica o fluxo de
Associação ator x caso de uso indica quem inicia a comunicação indica o fluxo de
Associação ator x caso de uso indica quem inicia a comunicação indica o fluxo de

Associação ator x caso de uso

Associação ator x caso de uso indica quem inicia a comunicação indica o fluxo de informações

indica quem inicia a comunicação

indica o fluxo de informações

bidirecional
bidirecional
Inclusão: caso x caso Um caso de uso é reutilizável, não sabe que o incluiu!
Inclusão: caso x caso Um caso de uso é reutilizável, não sabe que o incluiu!

Inclusão: caso x caso

Inclusão: caso x caso Um caso de uso é reutilizável, não sabe que o incluiu! Emitir
Inclusão: caso x caso Um caso de uso é reutilizável, não sabe que o incluiu! Emitir

Um caso de uso é reutilizável, não sabe que o incluiu!

Emitir histórico escolar Subfluxos na descrição textual não implicam <<include>>
Emitir histórico escolar
Subfluxos na descrição textual
não implicam <<include>>
sabe que o incluiu! Emitir histórico escolar Subfluxos na descrição textual não implicam <<include>>
Extensão: caso x caso Uso Opções ao comportamento normal Tratamento de erros e exceções complexos
Extensão: caso x caso Uso Opções ao comportamento normal Tratamento de erros e exceções complexos

Extensão: caso x caso

Extensão: caso x caso Uso Opções ao comportamento normal Tratamento de erros e exceções complexos Customização

Uso

Extensão: caso x caso Uso Opções ao comportamento normal Tratamento de erros e exceções complexos Customização

Opções ao comportamento normal

Tratamento de erros e exceções complexos

Customização: diferentes clientes, diferentes comportamentos

Administração de escopo e de release:

comportamentos incluídos futuramente

Associação ator x caso de uso No diagrama superior, pode-se deduzir que o emissor inicia
Associação ator x caso de uso No diagrama superior, pode-se deduzir que o emissor inicia
Associação ator x caso de uso No diagrama superior, pode-se deduzir que o emissor inicia
Associação ator x caso de uso No diagrama superior, pode-se deduzir que o emissor inicia

Associação ator x caso de uso

Associação ator x caso de uso No diagrama superior, pode-se deduzir que o emissor inicia a
No diagrama superior, pode-se deduzir que o emissor inicia a chamada telefônica e, no inferior,
No diagrama superior, pode-se
deduzir que o emissor inicia a
chamada telefônica e, no inferior,
esta informação está explícita
unidirecional
Inclusão Não use <<include>> para decomposição funcional Se o subfluxo não é compartilhado, não o

Inclusão

Inclusão Não use <<include>> para decomposição funcional Se o subfluxo não é compartilhado, não o

Não use <<include>> para decomposição funcional

Se o subfluxo não é compartilhado, não o represente como um caso de uso, deixe-o fora

Não use <<include>> para representar opções de menu

Extensão Extensão não requer mudança no estendido Extensão conhece o caso base ≠ da inclusão

Extensão

Extensão Extensão não requer mudança no estendido Extensão conhece o caso base ≠ da inclusão Extensão
Extensão Extensão não requer mudança no estendido Extensão conhece o caso base ≠ da inclusão Extensão

Extensão não requer mudança no estendido Extensão conhece o caso base

da inclusão

Extensão nasce como fluxo alternativo Nem todo fluxo alternativo vira extensão

Extensão x fluxos alternativos Extensão só conhece o ponto de extensão Fluxos alternativos são parte
Extensão x fluxos alternativos Extensão só conhece o ponto de extensão Fluxos alternativos são parte
Extensão x fluxos alternativos Extensão só conhece o ponto de extensão Fluxos alternativos são parte

Extensão x fluxos alternativos

Extensão x fluxos alternativos Extensão só conhece o ponto de extensão Fluxos alternativos são parte do
Extensão x fluxos alternativos Extensão só conhece o ponto de extensão Fluxos alternativos são parte do

Extensão só conhece o ponto de extensão Fluxos alternativos são parte do caso

Quando um fluxo alternativo é candidato à extensão?

Sim, se o sistema puder ser entregue sem o mesmo.

Extensão: ponto de extensão público
Extensão: ponto de extensão público
Extensão: ponto de extensão público
Extensão: ponto de extensão público
Extensão: ponto de extensão público

Extensão: ponto de extensão público

Extensão: ponto de extensão público
Generalização: exemplo Ver 4.4 da apostila
Generalização: exemplo Ver 4.4 da apostila
Generalização: exemplo Ver 4.4 da apostila

Generalização: exemplo

Generalização: exemplo Ver 4.4 da apostila
Generalização: exemplo Ver 4.4 da apostila

Ver 4.4 da apostila

Extensão: Caso x caso Pode ser excluído sem prejuízo da funcionalidade principal?
Extensão: Caso x caso Pode ser excluído sem prejuízo da funcionalidade principal?

Extensão: Caso x caso

Extensão: Caso x caso Pode ser excluído sem prejuízo da funcionalidade principal?
Extensão: Caso x caso Pode ser excluído sem prejuízo da funcionalidade principal?
Extensão: Caso x caso Pode ser excluído sem prejuízo da funcionalidade principal?

Pode ser excluído sem prejuízo da funcionalidade principal?

Generalização: caso x caso Especialização de comportamentos genéricos Os casos específicos são executados Os
Generalização: caso x caso Especialização de comportamentos genéricos Os casos específicos são executados Os
Generalização: caso x caso Especialização de comportamentos genéricos Os casos específicos são executados Os

Generalização: caso x caso

Generalização: caso x caso Especialização de comportamentos genéricos Os casos específicos são executados Os
Generalização: caso x caso Especialização de comportamentos genéricos Os casos específicos são executados Os

Especialização de comportamentos genéricos Os casos específicos são executados Os genéricos são abstratos

Uso

Família de produtos

Generalização/Especialização x Extensão
Generalização/Especialização x Extensão
Generalização/Especialização x Extensão
Generalização/Especialização x Extensão
Generalização/Especialização x Extensão

Generalização/Especialização x Extensão

 

Especialização

Extensão

     

O

caso de uso

O

caso de uso base é

 

especializado é

executado

 

executado

 

O

caso de uso base não

O

caso de uso base deve

 

precisa ser completo e com sentido. Há várias lacunas preenchidas somente nas especializações.

ser completo e com sentido.

O

comportamento de

O

comportamento de

 

uma execução depende unicamente do caso específico.

uma execução depende do caso de uso base e de todas as extensões que são executadas.

Generalização de atores Conjunto de atores com responsabilidades ou características comuns
Generalização de atores Conjunto de atores com responsabilidades ou características comuns
Generalização de atores Conjunto de atores com responsabilidades ou características comuns

Generalização de atores

Generalização de atores Conjunto de atores com responsabilidades ou características comuns

Conjunto de atores

com responsabilidades

ou características comuns

Generalização: ator x ator Não utilizar atores para representar permissões de acesso representar organogramas
Generalização: ator x ator Não utilizar atores para representar permissões de acesso representar organogramas
Generalização: ator x ator Não utilizar atores para representar permissões de acesso representar organogramas

Generalização: ator x ator

Generalização: ator x ator Não utilizar atores para representar permissões de acesso representar organogramas

Não utilizar atores para

representar permissões de acesso representar organogramas (hierarquias) de cargos de uma empresa.

Utilizar atores somente para definir papéis em relação ao sistema

Passos de modelagem (1/4) Recapitular a visão do sistema (estudo de viabilidade) aos envolvidos. Elaborar
Passos de modelagem (1/4) Recapitular a visão do sistema (estudo de viabilidade) aos envolvidos. Elaborar
Passos de modelagem (1/4) Recapitular a visão do sistema (estudo de viabilidade) aos envolvidos. Elaborar

Passos de modelagem (1/4)

Passos de modelagem (1/4) Recapitular a visão do sistema (estudo de viabilidade) aos envolvidos. Elaborar diagrama
Passos de modelagem (1/4) Recapitular a visão do sistema (estudo de viabilidade) aos envolvidos. Elaborar diagrama

Recapitular a visão do sistema (estudo de viabilidade) aos envolvidos.

Elaborar diagrama de contexto (se necessário)

Generalização Administrador Acervista Herdam os casos de uso dos quais bibliotecário participa
Generalização Administrador Acervista Herdam os casos de uso dos quais bibliotecário participa

Generalização

Generalização Administrador Acervista Herdam os casos de uso dos quais bibliotecário participa
Administrador Acervista
Administrador
Acervista

Herdam os casos de uso dos quais bibliotecário participa

Dicas de modelagem Não esqueça dos casos de uso auxiliares Ex. Configurar, registrar usuários
Dicas de modelagem Não esqueça dos casos de uso auxiliares Ex. Configurar, registrar usuários

Dicas de modelagem

Dicas de modelagem Não esqueça dos casos de uso auxiliares Ex. Configurar, registrar usuários
Dicas de modelagem Não esqueça dos casos de uso auxiliares Ex. Configurar, registrar usuários

Não esqueça dos casos de uso auxiliares Ex. Configurar, registrar usuários

Dicas de modelagem Não esqueça dos casos de uso auxiliares Ex. Configurar, registrar usuários

Não faça decomposição funcional

SÍNTESE

Não estruture e detalhe em demasia

EVITE excesso de relações

O modelo de casos de uso é mais que o diagrama de casos de uso

Diagrama é apenas um panorama

Passos de modelagem (2/4) Identificar os atores do sistema.
Passos de modelagem (2/4) Identificar os atores do sistema.
Passos de modelagem (2/4) Identificar os atores do sistema.

Passos de modelagem (2/4)

Passos de modelagem (2/4) Identificar os atores do sistema.

Identificar os atores do sistema.

Passos de modelagem (2/4) Identificar os atores do sistema.

Identificar

os casos de uso

descrevê-los e rascunhar o fluxo de eventos. não se preocupe com fluxos alternativos. 10 minutos para descrever cada caso de uso.

Esboçar o diagrama

Passos de modelagem (3/4) Verificar os casos de uso: Há casos de uso sem conexão
Passos de modelagem (3/4) Verificar os casos de uso: Há casos de uso sem conexão
Passos de modelagem (3/4) Verificar os casos de uso: Há casos de uso sem conexão

Passos de modelagem (3/4)

Passos de modelagem (3/4) Verificar os casos de uso: Há casos de uso sem conexão com

Verificar os casos de uso:

Passos de modelagem (3/4) Verificar os casos de uso: Há casos de uso sem conexão com

Há casos de uso sem conexão com requisitos funcionais? Caso haja, pode haver casos em excesso ou requisitos que não foram identificados! Há requisitos funcionais sem casos? Alguns casos podem ter sido esquecidos. Todos os requisitos não-funcionais foram tratados (associados aos casos de uso quando são específicos)? Todos os papéis de usuários foram mapeados para um ator ao menos?

Pacotes de casos de uso Sistemas grandes = número elevado de casos Agrupá-los por similaridade
Pacotes de casos de uso Sistemas grandes = número elevado de casos Agrupá-los por similaridade
Pacotes de casos de uso Sistemas grandes = número elevado de casos Agrupá-los por similaridade

Pacotes de casos de uso

Pacotes de casos de uso Sistemas grandes = número elevado de casos Agrupá-los por similaridade Representação:

Sistemas grandes = número elevado de casos Agrupá-los por similaridade Representação: pacotes

Passos de modelagem (4/4) Descrever os casos detalhadamente Representar os subfluxos (<<include>> ) e
Passos de modelagem (4/4) Descrever os casos detalhadamente Representar os subfluxos (<<include>> ) e
Passos de modelagem (4/4) Descrever os casos detalhadamente Representar os subfluxos (<<include>> ) e

Passos de modelagem (4/4)

Passos de modelagem (4/4) Descrever os casos detalhadamente Representar os subfluxos (<<include>> ) e
Passos de modelagem (4/4) Descrever os casos detalhadamente Representar os subfluxos (<<include>> ) e

Descrever os casos detalhadamente Representar os subfluxos (<<include>>) e fluxos alternativos (<<extend>>) considerados importantes no diagrama Verificá-los:

É possível eliminar os casos incluídos ou as extensões e ainda ser capaz de entender o que o sistema faz para as partes interessadas?

Casos de uso agrupados
Casos de uso agrupados
Casos de uso agrupados

Casos de uso agrupados

Casos de uso agrupados
Casos de uso agrupados