Upload
marcia-rodrigues
View
3.311
Download
2
Embed Size (px)
Citation preview
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Base para Diagrama de Casos de Uso
Conceitos básicos
• Técnicas para elicitação (Observação e Entrevista)
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de Uso
• Um caso de uso (use case)
– é uma interação entre um usuário e um sistema.
– captura funções do sistema visíveis ao usuário
• e, em especial, busca atingir uma meta do usuário.
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Diagramas de Casos de Uso
• Ferramenta valiosa para ajudar no entendimento dos requisitos funcionais de um sistema.
– A primeira versão do caso de uso deve ser produzida na fase inicial do projeto.
– Versões mais detalhadas dos casos de uso devem ser trabalhadas antes do desenvolvimento deste caso de uso.
• Casos de uso representam uma versão externa do sistema
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Diagramas de Casos de Uso
• Captura de casos de uso– Tarefas básicas na fase de elaboração
– Um dos primeiros passos, após a definição dos requisitos
• Maioria dos casos é gerada durante a fase de projeto– Novos serão descobertos a medida que o sistema evolui
– Ficar alerta a eles sempre
• Um caso de uso é um requisito em potencial– Se ele não é capturado, não há como planejar lidar com ele
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Envolvidos
• Um caso de uso
– seqüência de ações
que um sistema realiza a fim de gerar um resultado de interesse para um ator.
• Um ator
– papel (ou conjunto de papéis)
que um usuário desempenha quando participa de um caso de uso.
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso
1. Requisitos do sistema
– Exemplo: reserva de passagens aéreas
• Checar vôos
• Efetuar reservas
• Comprar passagem
• Efetuar pagamento
• Especificar vôos
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso
2. Atores do sistema
• Usuário
• Agente de turismo
• Funcionário empresa aérea
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Diagrama de Casos de Uso
• Atores:
• Casos de uso:Nome do
caso de uso
Aqui descrevemos o nome do ator
Elipse – Representa a notação do caso de uso
Um caso de uso é uma atividade.
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Resumo RepresentaçõesDependências
Cadastrar
Cliente
Cadastrar
Beneficiário
Relação de Dependência
•Cadastrar beneficiário depende diretamente da conclusão do
caso de uso Cadastrar Cliente.
•A seta tracejada sempre aponta do caso de uso dependente para
o caso de uso que fornece a necessidade desejada.
•Isso vale para Inclusão e Extensão
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Include
Calcular
Fidelidade
Calcular
Pontos
Incluir cenário principal de cálculo de pontos fidelidade
<<include>>
•Calcular pontos utilizará integralmente a forma de cálculo de
pontos de fidelidade que se encontra no caso de uso calcular
fidelidade.
•Uma inclusão de um caso de uso, ou parte dele em outro caso de
uso.
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Extend
Calcular
Fidelidade
Calcular
Bonificação
<<Extend>>
•Calcula Bonificação, estende a fórmula de cálculo de fidelidade,
ampliando a fórmula de já existente no caso de uso calcular
fidelidade.
•Sempre tera um atributo a mais (função, atributo)
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Diagrama de Casos de Uso
ChecarVôos
usuário EspecificarVôos
funcionário
EfetuarReservas
agente
EfetuarPagto
ComprarPassagem
É possível adicionar n casos de uso
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Diagrama de Casos de Uso
ChecarVôos
usuário EspecificarVôos
funcionário
EfetuarReservas
agente
EfetuarPagto
ComprarPassagem
CancelarReserva
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Exercício 1
• Considere um sistema de compras pela Internet e defina para ele:
– Os requisitos através de casos de uso
– Atores
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Associações entre os casos de uso
• É possível associar os casos de uso no diagrama:
– Inclusão
– Generalização
– Extensão
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Inclusão
• Estereótipo «include»
– indica que um caso inclui o outro.
• Permite fatorar comportamento comum a vários casos.
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Inclusão
ChecarVôos
usuárioEspecificar
Vôos funcionário
EfetuarReservas
agente
EfetuarPagto
ComprarPassagem
<<include>>
CadastrarCliente
<<include>>
DefinirFormas depagamento
<<include>>
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Exercício 2
• Defina as associações para o diagrama de casos de uso do sistema de compra pela internet
– Você pode criar novos casos de uso para responder o exercício
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Generalização
• Quando existem, para um mesmo caso de uso, formas variadas de execução
– Similar a Generalização/Especialização do modelo ER em Banco de Dados
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Generalização
ChecarVôos
usuário
EspecificarVôos
funcionário
EfetuarReservas
agente
EfetuarPagto
ComprarPassagem
Boleto
C.Crédito
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Exercício 3
• Defina, no mínimo, duas situações de generalização, no diagrama de casos de uso que você está criando
– Não vale criar tipos diferentes de pagamento!
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Extensão
• Estereótipo «extend»– Indicar que um caso estende o outro.
• Útil para fatorar comportamento incomum/não-padrão.
• Devemos indicar pontos de extensão
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Extensão
ChecarVôos
usuário
EspecificarVôos
funcionário
EfetuarReservas
agente
EfetuarPagto
ComprarPassagem Reserva por
Cliente fidelidade
Efetuar Reservas
Pontos de extensãoCód Cli fidelidade
Qtd Milhas<<extend>>
(código cliente fidelidade,Qtd Milhas)
Boleto
C.Crédito
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Exercício 4
Home page: http://usuarios.upf.br/~dornelesEmail para contato: [email protected]
• Defina, no mínimo, duas situações de extensão, no diagrama de casos de uso que você está criando
– Não vale criar extensões para clientes!
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Generalização vs. Extensão
Home page: http://usuarios.upf.br/~dornelesEmail para contato: [email protected]
• Generalização– Mostra que um caso de uso é um tipo especial de outro.
• Extensão– Indica que um caso de uso é uma variação de outro.
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Generalização vs. Extensão
usuário
agente
EfetuarPagto
Reserva deCliente
fidelidade
Efetuar Reservas
Pontos de extensãoCód Cli fidelidade
Qtd milhas
<<extend>>(código cliente fidelidade, qtd milhas)
Boleto
C.Crédito
Efetuar Pagamento éOU por boleto
OU por C. Crédito
Efetuar Reserva podeser executada, em alguns
casos, para cliente fidelidade
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso baseado em texto
• Detalhamento textual de casos de uso
• São opcionais, mas fornecem uma ferramenta poderosíssima para compreensão de todo funcionamento dos casos de uso de um sistema
• Cada caso de uso deve ser descrito em detalhes
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso baseado em texto
• Exemplo usando efetuar reservaEfetuar reservaAtor: Agente
1. Especifica etinerário para o cliente
2. Sistema busca vôos apropriados e retorna ao agente
3. Escolhe vôo
4. Verifica lugares disponíveis e reserva um assento
5. Finaliza reserva marcando forma de pagamento
6. Sistema finaliza a reserva e emite o ticket
Alternativas4a. Assento não disponível naquela categoria de preço
4a1. Sistema verifica que não há assentos disponíveis naquela categoria e avisa o agente
4a2. Agente especifica outra categoria
4b. Assento não disponível no vôo, em qualquer categoria
4b1. Sistema verifica que não há assento disponível
4b2. Agente especifica outro vôo
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso baseado em texto
• Exemplo usando efetuar reservaEfetuar reservaAtor: Agente
1. Especifica etinerário para o cliente
2. Sistema busca vôos apropriados e retorna ao agente
3. Escolhe vôo
4. Verifica lugares disponíveis e reserva um assento
5. Finaliza reserva marcando forma de pagamento
6. Sistema finaliza a reserva e emite o ticket
Alternativas4a. Assento não disponível naquela categoria de preço
4a1. Sistema verifica que não há assentos disponíveis naquela categoria e avisa o agente
4a2. Agente especifica outra categoria
4b. Assento não disponível no vôo, em qualquer categoria
4b1. Sistema verifica que não há assento disponível
4b2. Agente especifica outro vôo
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso baseado em texto
• Exemplo usando efetuar reservaEfetuar reservaAtor: Agente
1. Especifica etinerário para o cliente
2. Sistema busca vôos apropriados e retorna ao agente
3. Escolhe vôo
4. Verifica lugares disponíveis e reserva um assento
5. Finaliza reserva marcando forma de pagamento
6. Sistema finaliza a reserva e emite o ticket
Alternativas4a. Assento não disponível naquela categoria de preço
4a1. Sistema verifica que não há assentos disponíveis naquela categoria e avisa o agente
4a2. Agente especifica outra categoria
4b. Assento não disponível no vôo, em qualquer categoria
4b1. Sistema verifica que não há assento disponível
4b2. Agente especifica outro vôo
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso baseado em texto
• Exemplo usando efetuar reservaEfetuar reservaAtor: Agente
1. Especifica etinerário para o cliente
2. Sistema busca vôos apropriados e retorna ao agente
3. Escolhe vôo
4. Verifica lugares disponíveis e reserva um assento
5. Finaliza reserva marcando forma de pagamento
6. Sistema finaliza a reserva e emite o ticket
Alternativas4a. Assento não disponível naquela categoria de preço
4a1. Sistema verifica que não há assentos disponíveis naquela categoria e avisa o agente
4a2. Agente especifica outra categoria
4b. Assento não disponível no vôo, em qualquer categoria
4b1. Sistema verifica que não há assento disponível
4b2. Agente especifica outro vôo
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso baseado em texto
• Exemplo usando efetuar reservaEfetuar reservaAtor: Agente
1. Especifica etinerário para o cliente
2. Sistema busca vôos apropriados e retorna ao agente
3. Escolhe vôo
4. Verifica lugares disponíveis e reserva um assento
5. Finaliza reserva marcando forma de pagamento
6. Sistema finaliza a reserva e emite o ticket
Alternativas4a. Assento não disponível naquela categoria de preço
4a1. Sistema verifica que não há assentos disponíveis naquela categoria e avisa o agente
4a2. Agente especifica outra categoria
4b. Assento não disponível no vôo, em qualquer categoria
4b1. Sistema verifica que não há assento disponível
4b2. Agente especifica outro vôo
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso baseado em texto
• Exemplo usando efetuar reservaEfetuar reservaAtor: Agente
1. Especifica etinerário para o cliente
2. Sistema busca vôos apropriados e retorna ao agente
3. Escolhe vôo
4. Verifica lugares disponíveis e reserva um assento
5. Finaliza reserva marcando forma de pagamento
6. Sistema finaliza a reserva e emite o ticket
Alternativas4a. Assento não disponível naquela categoria de preço
4a1. Sistema verifica que não há assentos disponíveis naquela categoria e avisa o agente
4a2. Agente especifica outra categoria
4b. Assento não disponível no vôo, em qualquer categoria
4b1. Sistema verifica que não há assento disponível
4b2. Agente especifica outro vôo
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso baseado em texto
• Exemplo usando efetuar reservaEfetuar reservaAtor: Agente
1. Especifica etinerário para o cliente
2. Sistema busca vôos apropriados e retorna ao agente
3. Escolhe vôo
4. Verifica lugares disponíveis e reserva um assento
5. Finaliza reserva marcando forma de pagamento
6. Sistema finaliza a reserva e emite o ticket
Alternativas4a. Assento não disponível naquela categoria de preço
4a1. Sistema verifica que não há assentos disponíveis naquela categoria e avisa o agente
4a2. Agente especifica outra categoria
4b. Assento não disponível no vôo, em qualquer categoria
4b1. Sistema verifica que não há assento disponível
4b2. Agente especifica outro vôo
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso baseado em texto
• Exemplo usando efetuar reservaEfetuar reservaAtor: Agente
1. Especifica etinerário para o cliente
2. Sistema busca vôos apropriados e retorna ao agente
3. Escolhe vôo
4. Verifica lugares disponíveis e reserva um assento
5. Finaliza reserva marcando forma de pagamento
6. Sistema finaliza a reserva e emite o ticket
Alternativas4a. Assento não disponível naquela categoria de preço
4a1. Sistema verifica que não há assentos disponíveis naquela categoria e avisa o agente
4a2. Agente especifica outra categoria
4b. Assento não disponível no vôo, em qualquer categoria
4b1. Sistema verifica que não há assento disponível
4b2. Agente especifica outro vôo
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso baseado em texto
• Exemplo usando efetuar reservaEfetuar reservaAtor: Agente
1. Especifica etinerário para o cliente
2. Sistema busca vôos apropriados e retorna ao agente
3. Escolhe vôo
4. Verifica lugares disponíveis e reserva um assento
5. Finaliza reserva marcando forma de pagamento
6. Sistema finaliza a reserva e emite o ticket
Alternativas4a. Assento não disponível naquela categoria de preço
4a1. Sistema verifica que não há assentos disponíveis naquela categoria e avisa o agente
4a2. Agente especifica outra categoria
4b. Assento não disponível no vôo, em qualquer categoria
4b1. Sistema verifica que não há assento disponível e avisa o agente
4b2. Agente especifica outro vôo
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Casos de uso baseado em texto
• Exemplo usando efetuar reservaEfetuar reservaAtor: Agente
1. Especifica etinerário para o cliente
2. Sistema busca vôos apropriados e retorna ao agente
3. Escolhe vôo
4. Verifica lugares disponíveis e reserva um assento
5. Finaliza reserva marcando forma de pagamento
6. Sistema finaliza a reserva e emite o ticket
Alternativas4a. Assento não disponível naquela categoria de preço
4a1. Sistema verifica que não há assentos disponíveis naquela categoria e avisa o agente
4a2. Agente especifica outra categoria
4b. Assento não disponível no vôo, em qualquer categoria
4b1. Sistema verifica que não há assento disponível e avisa o agente
4b2. Agente especifica outro vôo
Disciplina: Análise e Projeto de Sistemas IEmail para contato: [email protected]
Exercício 5
• Escolha um dos casos de uso definidos para o sistemade compra pela Internet, e faça a descrição textualdele.