O documento discute modelagem de casos de uso e diagramas de sequência para especificação de requisitos de sistemas. Apresenta conceitos como requisitos funcionais e não funcionais, atores, casos de uso, relacionamentos entre casos de uso, e diagramas de sequência. Fornece exemplos para ilustrar cada conceito.
Modelagem de casos de uso e diagramas de sequência
1. Modelagem de Casos de Uso e
Diagramas de Sequência
Monitoria - Engenharia de Software
Jorge Linhares - jhcl@
Sandrine Ventura - svm2@
2. Requisitos
“Os requisitos de um sistema especificam o conjunto de funcionalidades que ele
deve prover para satisfazer as necessidades de todos os seus stakeholders.”
SAMPAIO; PRIMO; MARTINO, 2005
3. Requisitos Funcionais
● Responsáveis por descrever as
funcionalidades que o sistema
deverá oferecer.
● Descrevem como o sistema deve
reagir a entradas específicas,
saídas esperadas e como deve
ser comportar em determinadas
situações.
Exemplo:
O sistema deve permitir que o usuário
busque músicas por palavra-chave.
Requisitos Não Funcionais
● Referem-se as restrições em que o sistema deve operar
● Algumas das restrições mais importantes são de:
desempenho e segurança
● Podem ser mais críticos do que os Funcionais, pois quando
não atendidos o sistema poderá ser considerado inútil
Tipos de Requisitos Não-Funcionais
● Produto (Eficiência, Portabilidade, Segurança, etc.)
● Organizacionais (Padrões, Entrega, etc.)
● Externos (Aspectos Éticos, Legais, etc.)
Exemplo:
O sistema será desenvolvido para Android e iOS;
O sistema processará 8 transações por segundo.
6. Diagrama de Casos de Uso
"Documento narrativo que descreve a sequência de eventos de um ator que
usa um sistema para completar um processo".
Ivan Jacobson
7. Atores:
Representam as entidades que se relacionam com o sistema.
Exemplo: cliente, usuário, gerente, etc.
Atores são papeis e não pessoas!
Ex.: Se existe um cliente do sistema chamado Bira, existe
um ator chamado “cliente”, e não um ator chamado
“Bira”.
Casos de
Uso
8. Como identificar casos de uso e
atores?
Ler a descrição em linguagem natural do sistema, buscando. . .
– Casos de uso candidatos: verbos
– Atores candidatos: substantivos
Exemplo
– O cliente entra na loja para comprar produtos...
– O porteiro registra [a chegada de] encomendas...
Casos de
Uso
9. Diagrama de Casos de Uso
Ator
Participação de um ator em um caso de uso
Caso de Uso
10. Diagrama de Casos de Uso
Relacionamento entre casos de uso
e entre atores:
● Relação “é um” entre atores
● Relação “é um tipo de” entre
casos de uso
11. Diagrama de Casos de Uso
Relacionamento de inclusão
● Se um caso de uso inicia ou inclui
o comportamento de outro,
dizemos que ele usa o outro.
● A seta aponta para o caso de uso
solicitado
● Ocorre quando um caso de uso
precisa de recursos de outro
12. Diagrama de Casos de Uso
Relacionamento de extensão
● Ocorre quando um caso de uso precisa
de recursos de outro
● A seta aponta para o caso de uso
solicitante
● Relacionamento onde um caso de uso
pode usar os recursos de outro, não
sendo obrigatório esse uso.
14. Diagrama de Sequência
• Apresenta a colaboração dinâmica entre os vários objetos
de um sistema;
• Através deste diagrama é possível perceber a sequência
de mensagens enviadas entre os objetos;
• Mostra o que ocorre em pontos específicos da execução
do sistema;
• Apresenta as interações entre atores e sistema.
19. Praticando... Casos de Uso
Rojeferson aposta toda semana os mesmos números na loteria em jogos como quina, megasena,
lotomania, etc.
São vários cartões por semana. Na hora de conferir é uma loucura. Certa vez, quase que ele confere o
cartão errado.
Para resolver isso, ele quer desenvolver uma aplicação que cadastre a aposta, o tipo de jogo (quina,
megasena, lotomania), registre o resultado dos jogos e guarde esse resultado para cada tipo de jogo
(quina, megasena, lotomania).
21. Praticando... Diagrama de Sequência
Represente um sistema de login simples com inserção de um username e uma
senha, verifique se os dados estão corretos, caso esteja dê permissão de acesso a
uma página inicial.
● Desconsiderar possibilidade de inserção de username e senha incorretos