SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
09/09/2013
1
Aula 2 – Revisão 2:Diagrama de
Sequência
Roteiro
 UML
 Diagrama
 Sequência
Diagrama de Sequência
 Mostra:
 a evolução de uma dada situação em determinado momento do software
 uma dada colaboração entre duas ou mais classes
 a interação com o usuário até a finalização de um dado processo
 Notação:
:NomeClasse x:NomeClasse :clsPgInicial :NomeClasse
Classe Objeto Estereótipos Linha da
vida
Diagrama de Sequência
 Notação:
Mensagem (par1, par2);
Retângulo: ocorrência
de execução Mensagem
:NomeClasse :NomeClasse :NomeClasse :NomeClasse
Autodelegação
Ou
Método Recursivo
:NomeClasse
Biblioteca
Uma biblioteca deve automatizar seus registros
de livros, leitores e empréstimos. Suponha que
seus procedimentos sejam básicos, onde não
há reserva de livros, o prazo de devolução é de
uma semana, não há multa e o leitor não tem
limite máximo para retirada de livros. O sistema
deve permitir a consulta da bibliotecária ou leitor
ao acervo, indicando se o livro está retirado ou
disponível, imprimir relatórios de leitores,
leitores em atraso, livros disponíveis e retirados.
Relacionando o atributo aos seu objeto
 Atores
 Leitores
 Bibliotecária
 Objetos
 Leitor
 Livro
 Empréstimo Atributos
•Situação (disponível ou
retirado)
•Prazo de devolução
09/09/2013
2
Identificar as principais funções
nº descrição Use case
1 Leitor solicita cadastro CadastrarLeitor
2 Bibliotecária cadastra livro CadastrarLivro
3 Usuário (leitor ou
bibliotecária) consulta acervo
ConsultarLivro
4 Leitor solicita empréstimo de
livro
ObterLivroEmpréstimo
5 Leitor devolve livro
emprestado
DevolverLivro
6 É hora de imprimir relatório
de leitores
ImprimirRelatórioLeitores
7 É hora de imprimir relatório
de leitores com empréstimos
em atraso
ImprimirRelatórioLeitores
Atrasados
8 É hora de imprimir relatório
de livros disponíveis
ImprmirRelatórioLivros
Disponíveis
9 É hora de imprimir relatório
de livros retirados
ImprimirRelatórioLivros
Retirados
Diagramas de caso de uso
DevolverLivro
CadastrarLeitor
ConsultarLivro
LeitorObterLivroEmprestado
<<extends>>
Descrição do caso de uso: cadastrarLeitor
Curso Normal
1. O leitor fornece seus dados;
2. O sistema verifica se este leitor não
está cadastrado;
3. O sistema adiciona novo leitor;
4. O sistema emite a mensagem 'leitor
cadastrado'.
Cursos Alternativos
2.1. Cliente Cadastrado. O sistema emite a
mensagem 'leitor já está cadastrado';
2.2. Finalizar caso de uso.
Leitor CadastrarLeitor
Caso de Uso: Cadastrar Leitor
Atores: Leitor
Finalidade: Armazenar informações pessoais do Leitor
Diagrama de Sequência
cadastrarLeitor (curso normal)
Curso Normal
1. O leitor fornece seus dados;
2. O sistema verifica se este leitor não está
cadastrado;
3. O sistema adiciona novo leitor;
4. O sistema emite a mensagem 'leitor
cadastrado'.
Leitor CadastrarLeitor
: Leitor : Leitor
DadosLeitor()
Curso Normal
1. O leitor fornece seus dados;
2. O sistema verifica se este leitor
não está cadastrado;
3. O sistema adiciona novo leitor;
4. O sistema emite a mensagem 'leitor
cadastrado'.
Diagrama de Sequência
cadastrarLeitor (curso normal)
: Leitor
: Leitor
DadosLeitor()
verificarLeitorCadastro( )
[não cadastrado]
Diagrama de Sequência
cadastrarLeitor (curso normal)
Curso Normal
1. O leitor fornece seus dados;
2. O sistema verifica se este leitor
não está cadastrado;
3. O sistema adiciona novo leitor;
4. O sistema emite a mensagem 'leitor
cadastrado'.
:Leitor
: Leitor
DadosLeitor()
verificarLeitorCadastro( )
[não cadastrado]
AdicionarNovoLeitor( )
09/09/2013
3
Diagrama de Sequência
cadastrarLeitor (curso normal)
Curso Normal
1. O leitor fornece seus dados;
2. O sistema verifica se este leitor não está
cadastrado;
3. O sistema adiciona novo leitor;
4. O sistema emite a mensagem 'leitor
cadastrado'.
: Leitor : Leitor
DadosLeitor()
verificarLeitorCadastro( )
[não cadastrado]
AdicionarNovoLeitor( )
'Leitor cadastrado'
Cursos Alternativos
2.1. Cliente Cadastrado. O sistema emite a
mensagem 'leitor já está cadastrado';
2.2. Finalizar caso de uso.
:Leitor : Leitor
[cadastrado]
DadosLeitor()
verificarLeitorCadastro( )
'Leitor já está cadastrado'
Diagrama de Sequência
cadastrarLeitor (curso alternativo)
Curso Normal
1. O leitor fornece seus dados;
2. O sistema verifica se este leitor não está
cadastrado;
3. O sistema adiciona novo leitor;
4. O sistema emite a mensagem 'leitor
cadastrado'.
Diagrama de Sequência
ObterLivroEmprestado (curso normal)
Curso Normal
1. O leitor fornece os dados para
empréstimo;
2. O sistema verifica se a situação
do livro é 'disponível';
3. Em caso afirmativo, o sistema
verifica se o leitor está
cadastrado;
4. Em caso afirmativo, o sistema
efetua o empréstimo;
5. O sistema altera a situação do
livro para 'emprestado';
6. O sistema emite a mensagem
'Livro emprestado', fornecendo o
livro solicitado.
:Leitor : Livro : Leitor: Empréstimo
dadosEmprestimo()
verificarSituação( )
'disponível'
verificarLeitorCadastro( )
'cadastrado'
efetuarEmprestimo( )
alterarSituação ('emprestado')
return
'Livro emprestado', livro
Diagrama de Sequência
ObterLivroEmprestado (curso alternativo)
Cursos Alternativos
3.1 Em caso negativo. Sistema emite a
mensagem 'Este livro já está emprestado'.
3.2. Abandonar o use case.
Curso Normal
1. O leitor fornece os dados para empréstimo;
2. O sistema verifica se a situação do livro é
'disponível';
3. Em caso afirmativo, o sistema verifica se o
leitor está cadastrado;
4. Em caso afirmativo, o sistema efetua o
empréstimo;
5. O sistema altera a situação do livro para
'emprestado';
6. O sistema emite a mensagem 'Livro
emprestado', fornecendo o livro solicitado.
:Leitor : Livro: Empréstimo
dadosEmprestimo()
verificarSituação( )
'emprestado'
'Este livro já está emprestado'
Diagrama de Sequência
ObterLivroEmprestado (curso alternativo)
Cursos Alternativos
4.1. Em caso negativo. Sistema emite a
mensagem 'Leitor não cadastrado'.
4.2. Ativar caso de uso “Cadastrar Leitor”.
Curso Normal
1. O leitor fornece os dados para empréstimo;
2. O sistema verifica se a situação do livro é
'disponível';
3. Em caso afirmativo, o sistema verifica se o
leitor está cadastrado;
4. Em caso afirmativo, o sistema efetua o
empréstimo;
5. O sistema altera a situação do livro para
'emprestado';
6. O sistema emite a mensagem 'Livro
emprestado', fornecendo o livro solicitado.
:Leitor : Livro : Leitor: Empréstimo
DadosEmprestimo()
verificarSituação( )
'disponível'
verificarLeitorCadastro( )
'não cadastrado'
Solicita Cadastro do Leitor
Leitor cadastrado
'Leitor não cadastrado'
Diagrama de Sequência
consultarLivro (curso normal)
Cursos Alternativos
3.1 O sistema emite a mensagem
'Nenhum livro encontrado com as
especificações fornecidas'.
3.2. Abandonar o use case.
Curso Normal
1. O usuário fornece os dados da
consulta;
2. O sistema localiza o livro que
possui as especificações fornecidas
pelo usuário;
3. O sistema exibe ao usuário os
dados do livro encontrado.
:Usuário
: Livro
DadosConsulta()
localizarLivro( )
dadosLivro() Se algum livro for
encontrado com os
dados especificados
09/09/2013
4
Diagrama de Sequência
consultarLivro (curso alternativo)
Cursos Alternativos
3.1 O sistema emite a mensagem
'Nenhum livro encontrado com as
especificações fornecidas'.
3.2. Abandonar o use case.
Curso Normal
1. O usuário fornece os dados da
consulta;
2. O sistema localiza o livro que
possui as especificações
fornecidas pelo usuário;
3. O sistema exibe ao usuário os
dados do livro encontrado.
:Usuário
: Livro
Se nenhum livro for
encontrado com os
dados especificados
dadosConsulta
localizarLivro( )
'Nenhum livro encontrado com as especificações fornecidas'
Revendedora de Automóveis
Uma revendedora de automóveis deseja
automatizar os registros de venda e de seus
serviços de manutenção. Para isso, deseja
manter informações sobre os carros novos e
vendidos, clientes, e serviços prestados a esses
clientes com seus carros (troca de peça,
revisão, etc). Deseja-se que o sistema possa
gerar relatórios de vendas, de clientes, de
carros novos, de serviços.
Substantivos
 Atores (fonte de informação/solicitação ao sistema)
 Objetos
(coisas sobre as quais os sistema quer guardar informações)
•Carro
•Venda
•Serviços de manutenção
•Cliente
•Novos
•Vendidos
•Troca de peças
•revisão
Cliente Funcionário Gerente
•Atributos dos objetos
Identificar as principais funções
nº descrição Use case
1 Cliente solicita cadastro cadastrarCliente
2 Cliente compra carro comprarCarro
3 Cliente solicita serviço de manutenção fazerManutenção
4 Cliente retira carro após manutenção retirarCarroManutenção
5 Funcionário registra serviço efetuado adionarServiçoManutenção
6 É hora de imprimir relatório de vendas imprimirRelatórioVendas
7 É hora de imprimir relatório de clientes IiprimirRelatórioClientes
8 É hora de imprimir relatório de carros
novos
imprimirRelatórioCarrosNovos
9 É hora de imprimir relatório de serviços imprimirRelatórioServiços
Casos de Uso para o ator Cliente
fazerManutençãocomprarCarro
retirarCarroManutenção
cadastrarCliente
Cliente
<<extends>>
Casos de Uso para atores Funcionário e Gerente
AdicionarServiçoManutençãoFuncionário
ImprimirRelatórioServiços
ImprimirRelatórioCarrosNovos
ImprimirRelatórioClientes
ImprimirRelatórioVendas
cadastrarCarro
Gerente
09/09/2013
5
Descrição do caso de uso: comprarCarro
Curso Normal
1. O cliente informa as características do carro
desejado;
2. O sistema obtém todos os carros disponíveis para
venda;
3. O sistema exibe os carros disponíveis para venda
ao cliente;
4. O cliente informa ao sistema o carro escolhido;
5. O sistema verifica se este cliente já está
cadastrado;
6. Em caso afirmativo, o sistema solicita confirmação
do cliente;
7. O cliente confirma a compra;
8. O sistema cadastra a nova venda;
9. O sistema altera a situação do carro para
'vendido';
10. O sistema emite a mensagem 'Carro vendido'.
Cursos Alternativos
2.1. Não existe carro disponível para venda com
as características solicitadas pelo cliente.
2.2. O sistema emite a mensagem 'Nenhum carro
disponível para venda com tais características'
2.3. Finalizar caso de uso.
5.1. O cliente não foi cadastrado.
5.2. O sistema emite a mensagem 'Cliente não
cadastrado'
5.3. Ativar caso de uso “Cadastrar Cliente”.
ComprarCarro Cliente
Diagrama de Sequência
comprarCarro (curso normal)
: AtorCliente
: Venda : CarroVenda : Cliente
dadosCarro()
obterCarrosDisponíveis( )
carroEscolhido(), dadosCliente()
carrosDisponíveis()
confirmação
solicitaçãoConfirmação
CadastrarNovaVenda( )
alterarSituação ( "vendido" )
'Carro vendido'
VerificarClienteCadastrado( )
'cadastrado'
Curso Normal
1. O cliente informa as características do carro
desejado;
2. O sistema obtém todos os carros disponíveis para
venda;
3. O sistema exibe os carros disponíveis para venda
ao cliente;
4. O cliente informa ao sistema o carro escolhido;
5. O sistema verifica se este cliente já está
cadastrado;
6. Em caso afirmativo, o sistema solicita confirmação
do cliente;
7. O cliente confirma a compra;
8. O sistema cadastra a nova venda;
9. O sistema altera a situação do carro para
'vendido';
10. O sistema emite a mensagem 'Carro vendido'.
Diagrama de Sequência
comprarCarro (cursos alternativos)
: Cliente
: Venda : CarroVenda
dadosVenda
obterCarrosDisponíveis( )
'Nenhum carro disponível para venda com tais características'
Cursos Alternativos
2.1. Não existe carro disponível para venda
com as características solicitadas pelo
cliente.
2.2. O sistema emite a mensagem 'Nenhum
carro disponível para venda com tais
características'
2.3. Finalizar caso de uso.
Curso Normal
1. O cliente informa as características do carro
desejado;
2. O sistema obtém todos os carros disponíveis
para venda;
Diagrama de Sequência
comprarCarro (cursos alternativos)
: Cliente : Venda : CarroVenda : Cliente
dadosVenda
carroEscolhido(),dadosCliente()
'Cliente não cadastrado'
obterCarrosDisponíveis( )
carrosDisponíveis()
VerificarClienteCadastrado( )
'não cadastrado'
Curso Normal
1. O cliente informa as características do carro
desejado;
2. O sistema obtém todos os carros disponíveis
para venda;
3. O sistema exibe os carros disponíveis para
venda ao cliente;
4. O cliente informa ao sistema o carro escolhido;
5. O sistema verifica se este cliente já está
cadastrado;
Cursos Alternativos
5.1. O cliente não foi cadastrado.
5.2. O sistema emite a mensagem 'Cliente não
cadastrado'
5.3. Ativar caso de uso “Cadastrar Cliente”.
Solicitar Cadastro de Cliente()
Cliente cadastrado
28

Mais conteúdo relacionado

Semelhante a Revisao2c (6)

Aula3 casos de uso
Aula3 casos de usoAula3 casos de uso
Aula3 casos de uso
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
0040 casos de uso
0040 casos de uso0040 casos de uso
0040 casos de uso
 
UMLAulaI.pdf
UMLAulaI.pdfUMLAulaI.pdf
UMLAulaI.pdf
 
REA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLREA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UML
 
Trabalho rosa e alessandro 2º parte.
Trabalho rosa e alessandro 2º parte.Trabalho rosa e alessandro 2º parte.
Trabalho rosa e alessandro 2º parte.
 

Último

19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
LeloIurk1
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
WagnerCamposCEA
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
rosenilrucks
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
LeloIurk1
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
NarlaAquino
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 

Último (20)

19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 

Revisao2c

  • 1. 09/09/2013 1 Aula 2 – Revisão 2:Diagrama de Sequência Roteiro  UML  Diagrama  Sequência Diagrama de Sequência  Mostra:  a evolução de uma dada situação em determinado momento do software  uma dada colaboração entre duas ou mais classes  a interação com o usuário até a finalização de um dado processo  Notação: :NomeClasse x:NomeClasse :clsPgInicial :NomeClasse Classe Objeto Estereótipos Linha da vida Diagrama de Sequência  Notação: Mensagem (par1, par2); Retângulo: ocorrência de execução Mensagem :NomeClasse :NomeClasse :NomeClasse :NomeClasse Autodelegação Ou Método Recursivo :NomeClasse Biblioteca Uma biblioteca deve automatizar seus registros de livros, leitores e empréstimos. Suponha que seus procedimentos sejam básicos, onde não há reserva de livros, o prazo de devolução é de uma semana, não há multa e o leitor não tem limite máximo para retirada de livros. O sistema deve permitir a consulta da bibliotecária ou leitor ao acervo, indicando se o livro está retirado ou disponível, imprimir relatórios de leitores, leitores em atraso, livros disponíveis e retirados. Relacionando o atributo aos seu objeto  Atores  Leitores  Bibliotecária  Objetos  Leitor  Livro  Empréstimo Atributos •Situação (disponível ou retirado) •Prazo de devolução
  • 2. 09/09/2013 2 Identificar as principais funções nº descrição Use case 1 Leitor solicita cadastro CadastrarLeitor 2 Bibliotecária cadastra livro CadastrarLivro 3 Usuário (leitor ou bibliotecária) consulta acervo ConsultarLivro 4 Leitor solicita empréstimo de livro ObterLivroEmpréstimo 5 Leitor devolve livro emprestado DevolverLivro 6 É hora de imprimir relatório de leitores ImprimirRelatórioLeitores 7 É hora de imprimir relatório de leitores com empréstimos em atraso ImprimirRelatórioLeitores Atrasados 8 É hora de imprimir relatório de livros disponíveis ImprmirRelatórioLivros Disponíveis 9 É hora de imprimir relatório de livros retirados ImprimirRelatórioLivros Retirados Diagramas de caso de uso DevolverLivro CadastrarLeitor ConsultarLivro LeitorObterLivroEmprestado <<extends>> Descrição do caso de uso: cadastrarLeitor Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor não está cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a mensagem 'leitor cadastrado'. Cursos Alternativos 2.1. Cliente Cadastrado. O sistema emite a mensagem 'leitor já está cadastrado'; 2.2. Finalizar caso de uso. Leitor CadastrarLeitor Caso de Uso: Cadastrar Leitor Atores: Leitor Finalidade: Armazenar informações pessoais do Leitor Diagrama de Sequência cadastrarLeitor (curso normal) Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor não está cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a mensagem 'leitor cadastrado'. Leitor CadastrarLeitor : Leitor : Leitor DadosLeitor() Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor não está cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a mensagem 'leitor cadastrado'. Diagrama de Sequência cadastrarLeitor (curso normal) : Leitor : Leitor DadosLeitor() verificarLeitorCadastro( ) [não cadastrado] Diagrama de Sequência cadastrarLeitor (curso normal) Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor não está cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a mensagem 'leitor cadastrado'. :Leitor : Leitor DadosLeitor() verificarLeitorCadastro( ) [não cadastrado] AdicionarNovoLeitor( )
  • 3. 09/09/2013 3 Diagrama de Sequência cadastrarLeitor (curso normal) Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor não está cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a mensagem 'leitor cadastrado'. : Leitor : Leitor DadosLeitor() verificarLeitorCadastro( ) [não cadastrado] AdicionarNovoLeitor( ) 'Leitor cadastrado' Cursos Alternativos 2.1. Cliente Cadastrado. O sistema emite a mensagem 'leitor já está cadastrado'; 2.2. Finalizar caso de uso. :Leitor : Leitor [cadastrado] DadosLeitor() verificarLeitorCadastro( ) 'Leitor já está cadastrado' Diagrama de Sequência cadastrarLeitor (curso alternativo) Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor não está cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a mensagem 'leitor cadastrado'. Diagrama de Sequência ObterLivroEmprestado (curso normal) Curso Normal 1. O leitor fornece os dados para empréstimo; 2. O sistema verifica se a situação do livro é 'disponível'; 3. Em caso afirmativo, o sistema verifica se o leitor está cadastrado; 4. Em caso afirmativo, o sistema efetua o empréstimo; 5. O sistema altera a situação do livro para 'emprestado'; 6. O sistema emite a mensagem 'Livro emprestado', fornecendo o livro solicitado. :Leitor : Livro : Leitor: Empréstimo dadosEmprestimo() verificarSituação( ) 'disponível' verificarLeitorCadastro( ) 'cadastrado' efetuarEmprestimo( ) alterarSituação ('emprestado') return 'Livro emprestado', livro Diagrama de Sequência ObterLivroEmprestado (curso alternativo) Cursos Alternativos 3.1 Em caso negativo. Sistema emite a mensagem 'Este livro já está emprestado'. 3.2. Abandonar o use case. Curso Normal 1. O leitor fornece os dados para empréstimo; 2. O sistema verifica se a situação do livro é 'disponível'; 3. Em caso afirmativo, o sistema verifica se o leitor está cadastrado; 4. Em caso afirmativo, o sistema efetua o empréstimo; 5. O sistema altera a situação do livro para 'emprestado'; 6. O sistema emite a mensagem 'Livro emprestado', fornecendo o livro solicitado. :Leitor : Livro: Empréstimo dadosEmprestimo() verificarSituação( ) 'emprestado' 'Este livro já está emprestado' Diagrama de Sequência ObterLivroEmprestado (curso alternativo) Cursos Alternativos 4.1. Em caso negativo. Sistema emite a mensagem 'Leitor não cadastrado'. 4.2. Ativar caso de uso “Cadastrar Leitor”. Curso Normal 1. O leitor fornece os dados para empréstimo; 2. O sistema verifica se a situação do livro é 'disponível'; 3. Em caso afirmativo, o sistema verifica se o leitor está cadastrado; 4. Em caso afirmativo, o sistema efetua o empréstimo; 5. O sistema altera a situação do livro para 'emprestado'; 6. O sistema emite a mensagem 'Livro emprestado', fornecendo o livro solicitado. :Leitor : Livro : Leitor: Empréstimo DadosEmprestimo() verificarSituação( ) 'disponível' verificarLeitorCadastro( ) 'não cadastrado' Solicita Cadastro do Leitor Leitor cadastrado 'Leitor não cadastrado' Diagrama de Sequência consultarLivro (curso normal) Cursos Alternativos 3.1 O sistema emite a mensagem 'Nenhum livro encontrado com as especificações fornecidas'. 3.2. Abandonar o use case. Curso Normal 1. O usuário fornece os dados da consulta; 2. O sistema localiza o livro que possui as especificações fornecidas pelo usuário; 3. O sistema exibe ao usuário os dados do livro encontrado. :Usuário : Livro DadosConsulta() localizarLivro( ) dadosLivro() Se algum livro for encontrado com os dados especificados
  • 4. 09/09/2013 4 Diagrama de Sequência consultarLivro (curso alternativo) Cursos Alternativos 3.1 O sistema emite a mensagem 'Nenhum livro encontrado com as especificações fornecidas'. 3.2. Abandonar o use case. Curso Normal 1. O usuário fornece os dados da consulta; 2. O sistema localiza o livro que possui as especificações fornecidas pelo usuário; 3. O sistema exibe ao usuário os dados do livro encontrado. :Usuário : Livro Se nenhum livro for encontrado com os dados especificados dadosConsulta localizarLivro( ) 'Nenhum livro encontrado com as especificações fornecidas' Revendedora de Automóveis Uma revendedora de automóveis deseja automatizar os registros de venda e de seus serviços de manutenção. Para isso, deseja manter informações sobre os carros novos e vendidos, clientes, e serviços prestados a esses clientes com seus carros (troca de peça, revisão, etc). Deseja-se que o sistema possa gerar relatórios de vendas, de clientes, de carros novos, de serviços. Substantivos  Atores (fonte de informação/solicitação ao sistema)  Objetos (coisas sobre as quais os sistema quer guardar informações) •Carro •Venda •Serviços de manutenção •Cliente •Novos •Vendidos •Troca de peças •revisão Cliente Funcionário Gerente •Atributos dos objetos Identificar as principais funções nº descrição Use case 1 Cliente solicita cadastro cadastrarCliente 2 Cliente compra carro comprarCarro 3 Cliente solicita serviço de manutenção fazerManutenção 4 Cliente retira carro após manutenção retirarCarroManutenção 5 Funcionário registra serviço efetuado adionarServiçoManutenção 6 É hora de imprimir relatório de vendas imprimirRelatórioVendas 7 É hora de imprimir relatório de clientes IiprimirRelatórioClientes 8 É hora de imprimir relatório de carros novos imprimirRelatórioCarrosNovos 9 É hora de imprimir relatório de serviços imprimirRelatórioServiços Casos de Uso para o ator Cliente fazerManutençãocomprarCarro retirarCarroManutenção cadastrarCliente Cliente <<extends>> Casos de Uso para atores Funcionário e Gerente AdicionarServiçoManutençãoFuncionário ImprimirRelatórioServiços ImprimirRelatórioCarrosNovos ImprimirRelatórioClientes ImprimirRelatórioVendas cadastrarCarro Gerente
  • 5. 09/09/2013 5 Descrição do caso de uso: comprarCarro Curso Normal 1. O cliente informa as características do carro desejado; 2. O sistema obtém todos os carros disponíveis para venda; 3. O sistema exibe os carros disponíveis para venda ao cliente; 4. O cliente informa ao sistema o carro escolhido; 5. O sistema verifica se este cliente já está cadastrado; 6. Em caso afirmativo, o sistema solicita confirmação do cliente; 7. O cliente confirma a compra; 8. O sistema cadastra a nova venda; 9. O sistema altera a situação do carro para 'vendido'; 10. O sistema emite a mensagem 'Carro vendido'. Cursos Alternativos 2.1. Não existe carro disponível para venda com as características solicitadas pelo cliente. 2.2. O sistema emite a mensagem 'Nenhum carro disponível para venda com tais características' 2.3. Finalizar caso de uso. 5.1. O cliente não foi cadastrado. 5.2. O sistema emite a mensagem 'Cliente não cadastrado' 5.3. Ativar caso de uso “Cadastrar Cliente”. ComprarCarro Cliente Diagrama de Sequência comprarCarro (curso normal) : AtorCliente : Venda : CarroVenda : Cliente dadosCarro() obterCarrosDisponíveis( ) carroEscolhido(), dadosCliente() carrosDisponíveis() confirmação solicitaçãoConfirmação CadastrarNovaVenda( ) alterarSituação ( "vendido" ) 'Carro vendido' VerificarClienteCadastrado( ) 'cadastrado' Curso Normal 1. O cliente informa as características do carro desejado; 2. O sistema obtém todos os carros disponíveis para venda; 3. O sistema exibe os carros disponíveis para venda ao cliente; 4. O cliente informa ao sistema o carro escolhido; 5. O sistema verifica se este cliente já está cadastrado; 6. Em caso afirmativo, o sistema solicita confirmação do cliente; 7. O cliente confirma a compra; 8. O sistema cadastra a nova venda; 9. O sistema altera a situação do carro para 'vendido'; 10. O sistema emite a mensagem 'Carro vendido'. Diagrama de Sequência comprarCarro (cursos alternativos) : Cliente : Venda : CarroVenda dadosVenda obterCarrosDisponíveis( ) 'Nenhum carro disponível para venda com tais características' Cursos Alternativos 2.1. Não existe carro disponível para venda com as características solicitadas pelo cliente. 2.2. O sistema emite a mensagem 'Nenhum carro disponível para venda com tais características' 2.3. Finalizar caso de uso. Curso Normal 1. O cliente informa as características do carro desejado; 2. O sistema obtém todos os carros disponíveis para venda; Diagrama de Sequência comprarCarro (cursos alternativos) : Cliente : Venda : CarroVenda : Cliente dadosVenda carroEscolhido(),dadosCliente() 'Cliente não cadastrado' obterCarrosDisponíveis( ) carrosDisponíveis() VerificarClienteCadastrado( ) 'não cadastrado' Curso Normal 1. O cliente informa as características do carro desejado; 2. O sistema obtém todos os carros disponíveis para venda; 3. O sistema exibe os carros disponíveis para venda ao cliente; 4. O cliente informa ao sistema o carro escolhido; 5. O sistema verifica se este cliente já está cadastrado; Cursos Alternativos 5.1. O cliente não foi cadastrado. 5.2. O sistema emite a mensagem 'Cliente não cadastrado' 5.3. Ativar caso de uso “Cadastrar Cliente”. Solicitar Cadastro de Cliente() Cliente cadastrado 28