SlideShare uma empresa Scribd logo
UML – Aula I
Diagramas de Caso de Uso,
Sequência e Colaboração
Ricardo Argenton Ramos
Conteúdo
• Diagramas de Caso de Uso,
• Classes,
• Sequência,
• Colaboração
UML – Linguagem de Modelagem
BOOCH OMT
OOSE
UML
Diagrama de Estados
Diagrama de Objetos
(colaboração)
Diagramas de Processo
(desenvolvimento)
Diagramas de Módulos
(componentes)
Casos de Uso
Subsistemas (Pacotes)
Diagramas de Interações
Diagrama de Estados
UML
• Visualização,
• Especificação,
• Construção,
• Documentação e
• Comunicação.
• Estados,
• Atividades,
• Componentes e
• Aplicação.
É uma linguagem de modelagem para:
Diagramas de Caso de Uso
• Um diagrama de casos de uso descreve a
relação entre atores (usuários de um
sistema, pode ser também outros
sistemas) e casos de uso
(funcionalidades) de um dado sistema.
• Este é um diagrama que permite dar uma
visão global e de alto nível do sistema,
sendo fundamental a definição correta da
sua fronteira.
Exemplo
Casos de Uso e Cenários
• Um cenário é uma determinada seqüência de
ações que ilustra um comportamento do
sistema.
• Numa definição mais abstrata, deve-se entender
um cenário como uma instância de um caso de
uso, sendo normal que um caso de uso possa
ser descrito por dezenas de possíveis cenários.
• Uma designação alternativa para cenário, por
vezes utilizada, é “fluxo de ações”.
Casos de Uso e Cenários
• Deve-se especificar o comportamento de um
caso de uso descrevendo textualmente um ou
mais fluxos de ações, de modo que um usuário
não técnico o possa entender sem dificuldade.
Tal especificação deve incluir:
– Como e quando o caso de uso começa e termina;
– Quando é que o caso de uso interage com os atores;
– Que objetos são trocados;
– Cenário principal, e
– Cenários alternativos (e.g., situações de exceção).
Exemplo 1
Validar Usuário
usuário
Exemplo 1: Especificação textual
do caso de uso “Validar Usuário”.
Nome: Validar Usuário
Cenário Principal
O caso de uso inicia-se quando o sistema apresenta uma tela que pede ao
cliente o seu cartão eletrônico. O cliente introduz o seu cartão magnético
e, através de um pequeno teclado, a sua senha. Note-se que o cliente
pode limpar a introdução da sua senha inúmeras vezes e re-introduzir um
novo número antes de pressionar o botão “Entrar”. O cliente ativa o botão
“Entrar” para confirmar. O sistema lê a senha e a respectiva identificação
do cartão, e verifica se é válido. Se a senha for válida o sistema aceita a
entrada e o caso de uso termina.
Cenário Alternativo 1 (Cliente cancela operação)
O cliente pode cancelar a transação em qualquer momento ativando o botão
“Cancelar”, implicando a re-inicialização do caso de uso. Não é realizada
qualquer alteração à conta do cliente.
Cenário Alternativo 2 (senha inválida)
Se o cliente introduz uma senha inválida o cartão MB é ejetado e o caso de
uso reinicializado. Se tal ocorrer 3 vezes consecutivas, o sistema aciona
medidas de segurança e “recolhe” o cartão e cancela a transação; não
permitindo qualquer interação nos 2 minutos seguintes.
Casos de Uso e Cenários
• Outras formas alternativas ou
complementares, podem ainda incluir:
– A especificação de pré e pós-condições,
– Os atores que iniciam o caso de uso,
– Os atores que beneficiam com o caso de uso,
– Um ou mais diagramas de interação.
Outro exemplo
Informação itens
Valor a ser pago
Comprar Itens
Comprar Itens
1.Cliente chega a um Caixa com vários itens que deseja
comprar.
2. O Caixa começa a nova venda.
3.O Caixa registra o identificador de cada item.
4.Sistema registra o item vendido. Preço do item e sua
descrição são exibidos. Os passos 3 e 4 são repetidos,
até que o Caixa
indique o seu fim.
5.Sistema apresenta o total da venda.
6.Caixa informa Cliente do total e solicita pagamento.
7.Cliente realiza o pagamento.
8.Caixa registra o valor recebido no caixa.
9.Um recibo é gerado.
10.Caixa entrega o troco para o cliente.
11.Cliente sai com os itens comprados e recibo
Erro comum em Casos de Uso
• É representar como casos de uso passos
individuais, operações ou transações.
Exemplo:
Imprimir recibo – não é um caso de uso e
sim uma operação de impressão, um
passo no processo mais amplo de
Comprar Itens
Como identificar um Caso de Uso
• 1º método:
– Identificar os atores relacionados a um sistema ou
organização.
– Para cada ator, identificar os processos que eles
iniciam ou dos quais eles participam.
• 2º método:
– Identificar os eventos externos aos quais um sistema
deve responder
– Relacionar os eventos a atores e a casos de uso.
Classificação de Casos de Uso
• Primários
– Processos comuns, principais. (ex: comprar
itens)
• Secundários
– Processos menos importantes ou raros (ex:
solicitar estocagem de novo produto)
• Opcionais
– Processos que podem não ser considerados.
Relações entre Casos de Uso
• Os casos de uso podem encontrar-se
relacionados através de três tipos de relações:
– generalização,
– inclusão e
– extensão.
• Estas relações potenciam significativamente o
reuso da especificação de requisitos. Este é um
aspecto essencial da filosofia dos casos de uso
e que normalmente não é facilmente apreendido
pelos praticantes inexperientes.
Generalização em Casos de Uso
O caso de uso “Validar Usuário” é especializado em outros
dois, que utilizam diferentes mecanismos de identificação
do usuário: “Testar Senha” e “Leitura com Smartcard”.
usuário
Inclusão em Casos de Uso
• A relação de inclusão («include») entre casos
de uso corresponde a uma relação típica de
delegação, significando que o caso base
incorpora o comportamento do outro caso
relacionado.
• Usa-se a relação de inclusão para evitar a
descrição dos mesmos fluxos de ações
inúmeras vezes. A relação de inclusão é
representada por uma relação de dependência
(seta tracejada) com o estereótipo «include».
Inclusão em Casos de Uso
• Os casos de uso “Obter Extrato de Conta” ou “Realizar Pagamentos”
exigem que seja realizada previamente uma validação do respectivo
usuário. Para que essa funcionalidade não seja especificada mais que
uma vez, os casos anteriores incorporam-na (como sua) ao
estabelecerem uma relação de inclusão com o caso “Validar Usuário”.
usuário
Especificação textual do caso de
uso “Obter Extrato de Conta”
Nome: Obter Extrato de Conta
Cenário Principal
Incluir caso de uso “Validar Usuário”. Obter e verificar o
número da conta. Selecionar todas as linhas de movimentos
realizados nos últimos 30 dias. Produzir uma lista resumo
com esses movimentos, apresentando a data, o tipo de
movimento (débito ou crédito), uma breve descrição e o
valor do movimento. Produzir o saldo corrente da conta.
Emitir um documento com essa informação, imprimindo no
terminal do caixa eletrônico o referido documento.
Apresentar mensagem no visor do terminal para o cliente
retirar o extrato. Registrar na conta do cliente que esta
operação foi realizada com sucesso.
Cenário Alternativo 1
…
Extensão em Casos de Uso
• Uma relação de extensão («extend») entre casos de uso
significa que o caso de uso base incorpora implicitamente o
seu comportamento num local especificado indiretamente
pelo caso de uso que é usado. Ou seja, o caso de uso
destino pode ser estendido com o comportamento de
outro(s) caso(s) de uso(s). Uma relação de extensão permite
representar:
– A parte de um caso que um usuário vê como opcional, ou
como existindo várias alternativas.
– Um sub-fluxo de ações que é executado apenas se
determinadas condições se verificarem.
– Vários fluxos de ações que podem ser inseridos num
determinado ponto de extensão, de forma controlada,
através de uma interação explícita com um ator.
Extensão em Casos de Uso
• O caso de uso destino é estendido num ou mais pontos,
designados por pontos de extensão os quais são mecanismos
de variabilidade. Ou seja, são pontos de entrada do caso de
uso que lhe dá algum nível de configuração e versatilidade.
Especificação textual do caso de uso
“Obter Extrato de Conta” revisto.
Nome: Obter Extrato de Conta
Pontos de Extensão:
N.º de dias
Cenário Principal
Incluir caso de uso “Validar Usuário”. Obter e verificar o número da
conta. Selecionar o n.º de dias com base no qual se produz o
extrato. (N.º de dias). Por omissão são selecionados os últimos 30
dias. Produzir uma lista resumo com esses movimentos,
apresentando a data, o tipo de movimento (débito ou crédito),
uma breve descrição e o valor do movimento. Produzir o saldo
corrente da conta. Emitir um documento com essa informação
produzida imprimindo no terminal do caixa eletrônico o referido
documento. Apresentar mensagem no visor do terminal para o
cliente retirar o extrato. Registrar na conta do cliente que esta
operação foi realizada com sucesso.
Cenário Alternativo 1
…
Especificação textual do caso de uso
“Seleciona N.º de Dias”
Nome: Seleciona N.º de Dias
Tipo: Abstrato
Cenário Principal
É apresentado uma tela em que o usuário pode especificar o n.º de dias
desejado, através da marcação em vários botões numéricos (de ‘0’ a
‘9’). Há uma caixa de texto construída dinamicamente que vai
apresentando o valor corrente. Por fim, o usuário aciona o botão
“Confirmar” e o valor construído é retornado ao caso destino no seu
respectivo ponto de extensão.
Cenário Alternativo 1
Idêntico ao cenário principal. Em qualquer momento o usuário pode marcar
sobre o botão “Apagar” de modo a apagar o algarismo introduzido mais
recentemente.
Cenário Alternativo 2
Idêntico ao cenário principal. Quando o usuário marca “Confirmar” e o valor
introduzido for superior a 59 dias é apresentada uma mensagem de
aviso que o número máximo é 59, e o caso é reiniciado.
Cenário Alternativo 3
Idêntico ao cenário principal. Em qualquer momento o usuário pode
selecionar o botão “Cancelar”– O caso termina e é retornado o valor 1
(dia) por omissão.
Atores
• Um ator é o conceito que representa, em geral,
um papel que um usuário desempenha
relativamente ao sistema em análise.
• Todavia, um ator não é necessariamente um
papel de um usuário; pode corresponder a um
papel desempenhado por um outro sistema de
informação, por um equipamento de hardware
especializado, ou pela simples passagem de
tempo.
• O conjunto total de atores de todos os casos de
uso reflete todos os elementos que interagem
com o sistema.
Generalização de Atores
Exercício
• Seguindo a metodologia passada pelo
professor, faça o diagrama de casos de
uso para um sistema de Inscrição do
SICOMP.
Diagramas de Sequência
• Um diagrama de seqüência ilustra uma
interação segundo uma visão temporal.
• Um diagrama de seqüência é representado
através de duas dimensões:
– a dimensão horizontal, que representa o conjunto de
objetos intervenientes; e
– a dimensão vertical que representa o tempo.
• A apresentação destas dimensões pode ser
invertida, se for conveniente. Não existe
qualquer significado na ordenação horizontal
dos objetos intervenientes, ou seja, na sua
disposição relativa.
Diagramas de Sequência
• Modelagem do comportamento do sistema
– descrição do que um sistema faz sem
explicar como ele faz.
• Enfatizam a ordenação das
mensagens trocadas entre os objetos e
atores.
• É construído a partir de um caso de
uso.
Exemplo de um diagrama de
seqüência
Outro Exemplo – Partindo do
diagrama de Casos de Uso
Outro Exemplo – Partindo do
diagrama de Casos de Uso
Vamos fazer um diagrama de seqüência
de uma chamada Telefônica
José: Chamador Pedro: Chamado
Empresa Telefônica - Central
1. Retira o Telefone do gancho
Vamos fazer um diagrama de seqüência
de uma chamada Telefônica
José: Chamador Pedro: Chamado
Empresa Telefônica - Central
1. Retira o Telefone do gancho
2. Tom de discagem
3. Discagem do número
4. Tom de controle
5. Toque de chamada
6. Retira fone do gancho
7. Conversação 8. Conversação
9. Repõe o Telefone do gancho 10. Tom de ocupado
. . .
Diagramas de Colaboração
• Um diagrama de colaboração ilustra uma
interação organizada espacialmente.
• De forma distinta dos diagramas de seqüência,
um diagrama de colaboração mostra as
relações entre objetos que desempenham
diferentes papéis. Por outro lado, um diagrama
de colaboração não mostra o tempo como uma
dimensão separada, pelo que a seqüência de
interações e de atividades concorrentes é
representada usando-se números seqüenciais.
Diagramas de Colaboração
• A ordem de uma interação é descrita através de
uma seqüência de números, normalmente com
início em 1.
• Num fluxo de controle procedimental, os
números de comunicação de uma subseqüência
são representados de acordo com o respectivo
nível de inclusão. Para uma seqüência de
interações não procedimental, i.e., entre objetos
concorrentes, todos os números de uma
seqüência encontram-se ao mesmo nível.
Exemplo – Diagramas de
Colaboração
Diagrama de colaboração na forma de diagrama de instâncias.
Diagramas de Colaboração – tipos
de representação
• Um diagrama de colaboração pode ser
representado por duas formas:
– nível de especificação (o diagrama ilustra os papéis
que as classes e associações desempenham, bem
como as suas mensagens), ou
– nível de instância (o diagrama ilustra objetos,
ligações e estímulos).
• A primeira forma apresenta os papéis e
estrutura definida na colaboração subjacente,
enquanto que a segunda ilustra uma instância
que deve ser conforme com os papéis de uma
colaboração.
Exemplo 1: Diagramas de Colaboração
Pessoa com distintos Papéis.
• “Num contexto acadêmico, uma pessoa pode
desempenhar dois papéis distintos. Por um lado, uma
pessoa, como professor, pode ser o regente ou
coordenador de (zero ou mais) disciplinas e pode ser
responsável pela supervisão de (zero ou mais)
estudantes. Por outro lado, uma pessoa como estudante
tem necessariamente um tutor (o professor que o
supervisiona), e inscreve-se em (zero ou mais)
disciplinas”.
• Mostra-se neste exemplo as relações entre diagramas
de classes, de colaboração de nível específico, e de
colaboração de nível de instâncias.
Exemplo 1: Diagramas de Classes.
Exemplo 1: Diagramas de Colaboração
Pessoa com distintos Papéis.
Diagrama de colaboração no nível de especificação
Exemplo 1: Diagramas de Colaboração
Pessoa com distintos Papéis.
Diagrama de colaboração no nível de Instâncias
Exemplo da Máquina de Bebidas
Considere para o efeito que a máquina é composta, entre
outros, por três objetos principais:
– Interface: o painel de interface com o usuário;
– Registradora: a caixa registradora, que guarda o dinheiro;
– Dispensa: a caixa/armário que guarda as diferentes bebidas.
Considere ainda que o cenário a representar é composto
pela seguinte seqüência de ações:
– O cliente insere o dinheiro na ranhura no painel de interface da
máquina;
– O cliente seleciona o tipo de bebida;
– O dinheiro “vai até” a caixa registradora, esta atualiza a sua
reserva de dinheiro;
– A interface pede a bebida à dispensa;
– A dispensa envia a bebida selecionada para o painel de
interface;
– A interface devolve a bebida ao cliente;
Exemplo da Máquina de Bebidas:
Diagrama de Sequência: Comprar Bebidas
Exemplo da Máquina de Bebidas:
Diagrama de Colaboração: Comprar Bebidas
Voltando ao Exemplo de uma
ligação telefônica
José: Chamador
Pedro: Chamado
Empresa Telefônica - Central
1. Retira o Telefone do gancho
Voltando ao Exemplo de uma
ligação telefônica
José: Chamador
Pedro: Chamado
Empresa Telefônica - Central
1. Retira o Telefone do gancho
2. Tom de discagem
3. Discagem do número
4. Tom de controle
7. Conversação
9. Repõe o Telefone do gancho
5. Toque de chamada
6. Retira fone do gancho
8. Conversação
10. Tom de ocupado
11. Repõe fone no gancho

Mais conteúdo relacionado

PPT
Diagramas de casos de uso
PPT
Análise Orientada a Objetos - Casos de Uso
PDF
Casos de uso
PPT
Aula 9 - Engenharia de Requisitos - [Diagramas de Casos de Uso].ppt
PDF
REA- Diagramas de Casos de Uso da UML
PPT
Aula3 casos de uso
PPTX
Aula-02.pptx requisitos de software engenharia
PDF
PDS 11 - Diagrama de Caso de Uso aula.pdf
Diagramas de casos de uso
Análise Orientada a Objetos - Casos de Uso
Casos de uso
Aula 9 - Engenharia de Requisitos - [Diagramas de Casos de Uso].ppt
REA- Diagramas de Casos de Uso da UML
Aula3 casos de uso
Aula-02.pptx requisitos de software engenharia
PDS 11 - Diagrama de Caso de Uso aula.pdf

Semelhante a UMLAulaI.pdf (20)

PPTX
03 - Requisitos - Casos de Uso_UEM.pptx
PPTX
03 - Requisitos - Casos de Uso_UEM.pptx
PPTX
Parte6 casos de uso
PDF
4 casos-de-uso
PDF
Es 02 desenvolvimento de software dirigido por casos de uso - parte i
PPT
Aula6 diagrama casos de uso
PDF
Casos de Uso
PDF
Aula 7 - Modelagem de Software
PDF
1- Diagramas de caso de uso
PDF
Análise de Sistemas Orientado a Objetos - 05
PDF
Modelagem de Sistemas de Informação 07
PDF
399099 2 introdução à modelagem com uml
PDF
0040 casos de uso
PPT
Principios de analise de sistemas modelagem de casos de uso ppt
PDF
Aula 04 - Diagrama de casos de uso
PDF
Roteiro de elabora o de um caso de uso
PDF
Modelagem caso de uso engenharia de software
PDF
PDF
aula05_CasosUso.pdf
PDF
Apostila de analise
03 - Requisitos - Casos de Uso_UEM.pptx
03 - Requisitos - Casos de Uso_UEM.pptx
Parte6 casos de uso
4 casos-de-uso
Es 02 desenvolvimento de software dirigido por casos de uso - parte i
Aula6 diagrama casos de uso
Casos de Uso
Aula 7 - Modelagem de Software
1- Diagramas de caso de uso
Análise de Sistemas Orientado a Objetos - 05
Modelagem de Sistemas de Informação 07
399099 2 introdução à modelagem com uml
0040 casos de uso
Principios de analise de sistemas modelagem de casos de uso ppt
Aula 04 - Diagrama de casos de uso
Roteiro de elabora o de um caso de uso
Modelagem caso de uso engenharia de software
aula05_CasosUso.pdf
Apostila de analise
Anúncio

Último (13)

PPTX
ppt-licao04-jesusrestaurador.pptxxxxxxxxxx
PPTX
tema_3_-_discipulado_novo_tempo.pptxxxxxxx
PPTX
tema_7_-_discipulado_novo_tempo.pptxxxxxx
PPT
inimigos-invisc3adveis.ppttttttttttttttttt
PDF
Slide de apresentação - legendas africanas
PPTX
Viajando pela literatura brasileira.pptx
PPTX
tema_8_-_discipulado_novo_tempo.pptxxxxxx
PPTX
Espatula Culinaria do futuro by inteligência artificial
PDF
Apostila 1 - Despertar das Sobrancelhas.pdf
PDF
CERTIFICADO BIOMAS DO BRASIL DIVERSIDADE, SABERES E TECNOLOGIAS SOCIAIS.pdf
PDF
1507-1santificacao@3_slides.pdffffffffff
PPTX
tema_12_-_discipulado_novo_tempo.pptxxxxx
PPTX
Teorias Motivacionais: Teoria das necessidades de Abrham Maslow
ppt-licao04-jesusrestaurador.pptxxxxxxxxxx
tema_3_-_discipulado_novo_tempo.pptxxxxxxx
tema_7_-_discipulado_novo_tempo.pptxxxxxx
inimigos-invisc3adveis.ppttttttttttttttttt
Slide de apresentação - legendas africanas
Viajando pela literatura brasileira.pptx
tema_8_-_discipulado_novo_tempo.pptxxxxxx
Espatula Culinaria do futuro by inteligência artificial
Apostila 1 - Despertar das Sobrancelhas.pdf
CERTIFICADO BIOMAS DO BRASIL DIVERSIDADE, SABERES E TECNOLOGIAS SOCIAIS.pdf
1507-1santificacao@3_slides.pdffffffffff
tema_12_-_discipulado_novo_tempo.pptxxxxx
Teorias Motivacionais: Teoria das necessidades de Abrham Maslow
Anúncio

UMLAulaI.pdf

  • 1. UML – Aula I Diagramas de Caso de Uso, Sequência e Colaboração Ricardo Argenton Ramos
  • 2. Conteúdo • Diagramas de Caso de Uso, • Classes, • Sequência, • Colaboração
  • 3. UML – Linguagem de Modelagem BOOCH OMT OOSE UML Diagrama de Estados Diagrama de Objetos (colaboração) Diagramas de Processo (desenvolvimento) Diagramas de Módulos (componentes) Casos de Uso Subsistemas (Pacotes) Diagramas de Interações Diagrama de Estados
  • 4. UML • Visualização, • Especificação, • Construção, • Documentação e • Comunicação. • Estados, • Atividades, • Componentes e • Aplicação. É uma linguagem de modelagem para:
  • 5. Diagramas de Caso de Uso • Um diagrama de casos de uso descreve a relação entre atores (usuários de um sistema, pode ser também outros sistemas) e casos de uso (funcionalidades) de um dado sistema. • Este é um diagrama que permite dar uma visão global e de alto nível do sistema, sendo fundamental a definição correta da sua fronteira.
  • 7. Casos de Uso e Cenários • Um cenário é uma determinada seqüência de ações que ilustra um comportamento do sistema. • Numa definição mais abstrata, deve-se entender um cenário como uma instância de um caso de uso, sendo normal que um caso de uso possa ser descrito por dezenas de possíveis cenários. • Uma designação alternativa para cenário, por vezes utilizada, é “fluxo de ações”.
  • 8. Casos de Uso e Cenários • Deve-se especificar o comportamento de um caso de uso descrevendo textualmente um ou mais fluxos de ações, de modo que um usuário não técnico o possa entender sem dificuldade. Tal especificação deve incluir: – Como e quando o caso de uso começa e termina; – Quando é que o caso de uso interage com os atores; – Que objetos são trocados; – Cenário principal, e – Cenários alternativos (e.g., situações de exceção).
  • 10. Exemplo 1: Especificação textual do caso de uso “Validar Usuário”. Nome: Validar Usuário Cenário Principal O caso de uso inicia-se quando o sistema apresenta uma tela que pede ao cliente o seu cartão eletrônico. O cliente introduz o seu cartão magnético e, através de um pequeno teclado, a sua senha. Note-se que o cliente pode limpar a introdução da sua senha inúmeras vezes e re-introduzir um novo número antes de pressionar o botão “Entrar”. O cliente ativa o botão “Entrar” para confirmar. O sistema lê a senha e a respectiva identificação do cartão, e verifica se é válido. Se a senha for válida o sistema aceita a entrada e o caso de uso termina. Cenário Alternativo 1 (Cliente cancela operação) O cliente pode cancelar a transação em qualquer momento ativando o botão “Cancelar”, implicando a re-inicialização do caso de uso. Não é realizada qualquer alteração à conta do cliente. Cenário Alternativo 2 (senha inválida) Se o cliente introduz uma senha inválida o cartão MB é ejetado e o caso de uso reinicializado. Se tal ocorrer 3 vezes consecutivas, o sistema aciona medidas de segurança e “recolhe” o cartão e cancela a transação; não permitindo qualquer interação nos 2 minutos seguintes.
  • 11. Casos de Uso e Cenários • Outras formas alternativas ou complementares, podem ainda incluir: – A especificação de pré e pós-condições, – Os atores que iniciam o caso de uso, – Os atores que beneficiam com o caso de uso, – Um ou mais diagramas de interação.
  • 12. Outro exemplo Informação itens Valor a ser pago Comprar Itens
  • 13. Comprar Itens 1.Cliente chega a um Caixa com vários itens que deseja comprar. 2. O Caixa começa a nova venda. 3.O Caixa registra o identificador de cada item. 4.Sistema registra o item vendido. Preço do item e sua descrição são exibidos. Os passos 3 e 4 são repetidos, até que o Caixa indique o seu fim. 5.Sistema apresenta o total da venda. 6.Caixa informa Cliente do total e solicita pagamento. 7.Cliente realiza o pagamento. 8.Caixa registra o valor recebido no caixa. 9.Um recibo é gerado. 10.Caixa entrega o troco para o cliente. 11.Cliente sai com os itens comprados e recibo
  • 14. Erro comum em Casos de Uso • É representar como casos de uso passos individuais, operações ou transações. Exemplo: Imprimir recibo – não é um caso de uso e sim uma operação de impressão, um passo no processo mais amplo de Comprar Itens
  • 15. Como identificar um Caso de Uso • 1º método: – Identificar os atores relacionados a um sistema ou organização. – Para cada ator, identificar os processos que eles iniciam ou dos quais eles participam. • 2º método: – Identificar os eventos externos aos quais um sistema deve responder – Relacionar os eventos a atores e a casos de uso.
  • 16. Classificação de Casos de Uso • Primários – Processos comuns, principais. (ex: comprar itens) • Secundários – Processos menos importantes ou raros (ex: solicitar estocagem de novo produto) • Opcionais – Processos que podem não ser considerados.
  • 17. Relações entre Casos de Uso • Os casos de uso podem encontrar-se relacionados através de três tipos de relações: – generalização, – inclusão e – extensão. • Estas relações potenciam significativamente o reuso da especificação de requisitos. Este é um aspecto essencial da filosofia dos casos de uso e que normalmente não é facilmente apreendido pelos praticantes inexperientes.
  • 18. Generalização em Casos de Uso O caso de uso “Validar Usuário” é especializado em outros dois, que utilizam diferentes mecanismos de identificação do usuário: “Testar Senha” e “Leitura com Smartcard”. usuário
  • 19. Inclusão em Casos de Uso • A relação de inclusão («include») entre casos de uso corresponde a uma relação típica de delegação, significando que o caso base incorpora o comportamento do outro caso relacionado. • Usa-se a relação de inclusão para evitar a descrição dos mesmos fluxos de ações inúmeras vezes. A relação de inclusão é representada por uma relação de dependência (seta tracejada) com o estereótipo «include».
  • 20. Inclusão em Casos de Uso • Os casos de uso “Obter Extrato de Conta” ou “Realizar Pagamentos” exigem que seja realizada previamente uma validação do respectivo usuário. Para que essa funcionalidade não seja especificada mais que uma vez, os casos anteriores incorporam-na (como sua) ao estabelecerem uma relação de inclusão com o caso “Validar Usuário”. usuário
  • 21. Especificação textual do caso de uso “Obter Extrato de Conta” Nome: Obter Extrato de Conta Cenário Principal Incluir caso de uso “Validar Usuário”. Obter e verificar o número da conta. Selecionar todas as linhas de movimentos realizados nos últimos 30 dias. Produzir uma lista resumo com esses movimentos, apresentando a data, o tipo de movimento (débito ou crédito), uma breve descrição e o valor do movimento. Produzir o saldo corrente da conta. Emitir um documento com essa informação, imprimindo no terminal do caixa eletrônico o referido documento. Apresentar mensagem no visor do terminal para o cliente retirar o extrato. Registrar na conta do cliente que esta operação foi realizada com sucesso. Cenário Alternativo 1 …
  • 22. Extensão em Casos de Uso • Uma relação de extensão («extend») entre casos de uso significa que o caso de uso base incorpora implicitamente o seu comportamento num local especificado indiretamente pelo caso de uso que é usado. Ou seja, o caso de uso destino pode ser estendido com o comportamento de outro(s) caso(s) de uso(s). Uma relação de extensão permite representar: – A parte de um caso que um usuário vê como opcional, ou como existindo várias alternativas. – Um sub-fluxo de ações que é executado apenas se determinadas condições se verificarem. – Vários fluxos de ações que podem ser inseridos num determinado ponto de extensão, de forma controlada, através de uma interação explícita com um ator.
  • 23. Extensão em Casos de Uso • O caso de uso destino é estendido num ou mais pontos, designados por pontos de extensão os quais são mecanismos de variabilidade. Ou seja, são pontos de entrada do caso de uso que lhe dá algum nível de configuração e versatilidade.
  • 24. Especificação textual do caso de uso “Obter Extrato de Conta” revisto. Nome: Obter Extrato de Conta Pontos de Extensão: N.º de dias Cenário Principal Incluir caso de uso “Validar Usuário”. Obter e verificar o número da conta. Selecionar o n.º de dias com base no qual se produz o extrato. (N.º de dias). Por omissão são selecionados os últimos 30 dias. Produzir uma lista resumo com esses movimentos, apresentando a data, o tipo de movimento (débito ou crédito), uma breve descrição e o valor do movimento. Produzir o saldo corrente da conta. Emitir um documento com essa informação produzida imprimindo no terminal do caixa eletrônico o referido documento. Apresentar mensagem no visor do terminal para o cliente retirar o extrato. Registrar na conta do cliente que esta operação foi realizada com sucesso. Cenário Alternativo 1 …
  • 25. Especificação textual do caso de uso “Seleciona N.º de Dias” Nome: Seleciona N.º de Dias Tipo: Abstrato Cenário Principal É apresentado uma tela em que o usuário pode especificar o n.º de dias desejado, através da marcação em vários botões numéricos (de ‘0’ a ‘9’). Há uma caixa de texto construída dinamicamente que vai apresentando o valor corrente. Por fim, o usuário aciona o botão “Confirmar” e o valor construído é retornado ao caso destino no seu respectivo ponto de extensão. Cenário Alternativo 1 Idêntico ao cenário principal. Em qualquer momento o usuário pode marcar sobre o botão “Apagar” de modo a apagar o algarismo introduzido mais recentemente. Cenário Alternativo 2 Idêntico ao cenário principal. Quando o usuário marca “Confirmar” e o valor introduzido for superior a 59 dias é apresentada uma mensagem de aviso que o número máximo é 59, e o caso é reiniciado. Cenário Alternativo 3 Idêntico ao cenário principal. Em qualquer momento o usuário pode selecionar o botão “Cancelar”– O caso termina e é retornado o valor 1 (dia) por omissão.
  • 26. Atores • Um ator é o conceito que representa, em geral, um papel que um usuário desempenha relativamente ao sistema em análise. • Todavia, um ator não é necessariamente um papel de um usuário; pode corresponder a um papel desempenhado por um outro sistema de informação, por um equipamento de hardware especializado, ou pela simples passagem de tempo. • O conjunto total de atores de todos os casos de uso reflete todos os elementos que interagem com o sistema.
  • 28. Exercício • Seguindo a metodologia passada pelo professor, faça o diagrama de casos de uso para um sistema de Inscrição do SICOMP.
  • 29. Diagramas de Sequência • Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. • Um diagrama de seqüência é representado através de duas dimensões: – a dimensão horizontal, que representa o conjunto de objetos intervenientes; e – a dimensão vertical que representa o tempo. • A apresentação destas dimensões pode ser invertida, se for conveniente. Não existe qualquer significado na ordenação horizontal dos objetos intervenientes, ou seja, na sua disposição relativa.
  • 30. Diagramas de Sequência • Modelagem do comportamento do sistema – descrição do que um sistema faz sem explicar como ele faz. • Enfatizam a ordenação das mensagens trocadas entre os objetos e atores. • É construído a partir de um caso de uso.
  • 31. Exemplo de um diagrama de seqüência
  • 32. Outro Exemplo – Partindo do diagrama de Casos de Uso
  • 33. Outro Exemplo – Partindo do diagrama de Casos de Uso
  • 34. Vamos fazer um diagrama de seqüência de uma chamada Telefônica José: Chamador Pedro: Chamado Empresa Telefônica - Central 1. Retira o Telefone do gancho
  • 35. Vamos fazer um diagrama de seqüência de uma chamada Telefônica José: Chamador Pedro: Chamado Empresa Telefônica - Central 1. Retira o Telefone do gancho 2. Tom de discagem 3. Discagem do número 4. Tom de controle 5. Toque de chamada 6. Retira fone do gancho 7. Conversação 8. Conversação 9. Repõe o Telefone do gancho 10. Tom de ocupado . . .
  • 36. Diagramas de Colaboração • Um diagrama de colaboração ilustra uma interação organizada espacialmente. • De forma distinta dos diagramas de seqüência, um diagrama de colaboração mostra as relações entre objetos que desempenham diferentes papéis. Por outro lado, um diagrama de colaboração não mostra o tempo como uma dimensão separada, pelo que a seqüência de interações e de atividades concorrentes é representada usando-se números seqüenciais.
  • 37. Diagramas de Colaboração • A ordem de uma interação é descrita através de uma seqüência de números, normalmente com início em 1. • Num fluxo de controle procedimental, os números de comunicação de uma subseqüência são representados de acordo com o respectivo nível de inclusão. Para uma seqüência de interações não procedimental, i.e., entre objetos concorrentes, todos os números de uma seqüência encontram-se ao mesmo nível.
  • 38. Exemplo – Diagramas de Colaboração Diagrama de colaboração na forma de diagrama de instâncias.
  • 39. Diagramas de Colaboração – tipos de representação • Um diagrama de colaboração pode ser representado por duas formas: – nível de especificação (o diagrama ilustra os papéis que as classes e associações desempenham, bem como as suas mensagens), ou – nível de instância (o diagrama ilustra objetos, ligações e estímulos). • A primeira forma apresenta os papéis e estrutura definida na colaboração subjacente, enquanto que a segunda ilustra uma instância que deve ser conforme com os papéis de uma colaboração.
  • 40. Exemplo 1: Diagramas de Colaboração Pessoa com distintos Papéis. • “Num contexto acadêmico, uma pessoa pode desempenhar dois papéis distintos. Por um lado, uma pessoa, como professor, pode ser o regente ou coordenador de (zero ou mais) disciplinas e pode ser responsável pela supervisão de (zero ou mais) estudantes. Por outro lado, uma pessoa como estudante tem necessariamente um tutor (o professor que o supervisiona), e inscreve-se em (zero ou mais) disciplinas”. • Mostra-se neste exemplo as relações entre diagramas de classes, de colaboração de nível específico, e de colaboração de nível de instâncias.
  • 41. Exemplo 1: Diagramas de Classes.
  • 42. Exemplo 1: Diagramas de Colaboração Pessoa com distintos Papéis. Diagrama de colaboração no nível de especificação
  • 43. Exemplo 1: Diagramas de Colaboração Pessoa com distintos Papéis. Diagrama de colaboração no nível de Instâncias
  • 44. Exemplo da Máquina de Bebidas Considere para o efeito que a máquina é composta, entre outros, por três objetos principais: – Interface: o painel de interface com o usuário; – Registradora: a caixa registradora, que guarda o dinheiro; – Dispensa: a caixa/armário que guarda as diferentes bebidas. Considere ainda que o cenário a representar é composto pela seguinte seqüência de ações: – O cliente insere o dinheiro na ranhura no painel de interface da máquina; – O cliente seleciona o tipo de bebida; – O dinheiro “vai até” a caixa registradora, esta atualiza a sua reserva de dinheiro; – A interface pede a bebida à dispensa; – A dispensa envia a bebida selecionada para o painel de interface; – A interface devolve a bebida ao cliente;
  • 45. Exemplo da Máquina de Bebidas: Diagrama de Sequência: Comprar Bebidas
  • 46. Exemplo da Máquina de Bebidas: Diagrama de Colaboração: Comprar Bebidas
  • 47. Voltando ao Exemplo de uma ligação telefônica José: Chamador Pedro: Chamado Empresa Telefônica - Central 1. Retira o Telefone do gancho
  • 48. Voltando ao Exemplo de uma ligação telefônica José: Chamador Pedro: Chamado Empresa Telefônica - Central 1. Retira o Telefone do gancho 2. Tom de discagem 3. Discagem do número 4. Tom de controle 7. Conversação 9. Repõe o Telefone do gancho 5. Toque de chamada 6. Retira fone do gancho 8. Conversação 10. Tom de ocupado 11. Repõe fone no gancho