09/09/2013
Roteiro
Aula 2 – Revisão 2:Diagrama de
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
 UML
 Diagrama
 Sequência
Diagrama de Sequência
 Notação:
:NomeClasse :NomeClasse
 Notação:
:NomeClasse
:NomeClasse
:NomeClasse
Mensagem (par1, par2);
Retângulo: ocorrência
de execução
:NomeClasse
x:NomeClasse
:clsPgInicial
Classe
Objeto
Estereótipos
Autodelegação
Ou
Método Recursivo
Mensagem
:NomeClasse
Linha da
vida
Biblioteca
Relacionando o atributo aos seu objeto
 Atores
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.
 Leitores
 Bibliotecária
 Objetos
 Leitor
 Livro
 Empréstimo
Atributos
•Situação (disponível ou
retirado)
•Prazo de devolução
1
09/09/2013
Identificar as principais funções
nº
descrição
Diagramas de caso de uso
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
ConsultarLivro
ObterLivroEmprestado
Leitor
DevolverLivro
<<extends>>
CadastrarLeitor
Diagrama de Sequência
Descrição do caso de uso: cadastrarLeitor
CadastrarLeitor
Leitor
cadastrarLeitor (curso normal)
CadastrarLeitor
Leitor
Caso de Uso: Cadastrar Leitor
Atores: Leitor
Finalidade: Armazenar informações pessoais do Leitor
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.
Diagrama de Sequência
: Leitor
: Leitor
DadosLeitor()
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'.
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'.
cadastrarLeitor (curso normal)
: Leitor
: Leitor
DadosLeitor()
verificarLeitorCadastro( )
[não cadastrado]
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( )
2
09/09/2013
Diagrama de Sequência
Diagrama de Sequência
cadastrarLeitor (curso alternativo)
cadastrarLeitor (curso normal)
: Leitor
: Leitor
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'.
DadosLeitor()
verificarLeitorCadastro( )
AdicionarNovoLeitor( )
verificarLeitorCadastro( )
[cadastrado]
Cursos Alternativos
'Leitor já está cadastrado'
Diagrama de Sequência
ObterLivroEmprestado (curso normal)
ObterLivroEmprestado (curso alternativo)
: Empréstimo
:Leitor
: Livro
: Leitor
dadosEmprestimo()
verificarSituação( )
'disponível'
verificarLeitorCadastro( )
'cadastrado'
efetuarEmprestimo( )
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
return
: Empréstimo
: Livro
dadosEmprestimo()
verificarSituação( )
'emprestado'
Cursos Alternativos
3.1 Em caso negativo. Sistema emite a
mensagem 'Este livro já está emprestado'.
3.2. Abandonar o use case.
alterarSituação ('emprestado')
'Este livro já está emprestado'
'Livro emprestado', livro
Diagrama de Sequência
Diagrama de Sequência
ObterLivroEmprestado (curso alternativo)
consultarLivro (curso normal)
Curso Normal
:Leitor
: Empréstimo
: Livro
DadosEmprestimo()
verificarSituação( )
'disponível'
verificarLeitorCadastro( )
'não cadastrado'
Cursos Alternativos
4.1. Em caso negativo. Sistema emite a
mensagem 'Leitor não cadastrado'.
4.2. Ativar caso de uso “Cadastrar Leitor”.
DadosLeitor()
2.1. Cliente Cadastrado. O sistema emite a
mensagem 'leitor já está cadastrado';
2.2. Finalizar caso de uso.
Diagrama de Sequência
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
:Leitor
[não cadastrado]
'Leitor cadastrado'
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.
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 não cadastrado'
Solicita Cadastro do Leitor
: Leitor
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.
Cursos Alternativos
3.1 O sistema emite a mensagem
'Nenhum livro encontrado com as
especificações fornecidas'.
3.2. Abandonar o use case.
: Livro
:Usuário
DadosConsulta()
localizarLivro( )
dadosLivro()
Se algum livro for
encontrado com os
dados especificados
Leitor cadastrado
3
09/09/2013
Diagrama de Sequência
consultarLivro (curso alternativo)
Revendedora de Automóveis
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.
Se nenhum livro for
encontrado com os
dados especificados
: Livro
:Usuário
dadosConsulta
localizarLivro( )
'Nenhum livro encontrado com as especificações fornecidas'
Cursos Alternativos
3.1 O sistema emite a mensagem
'Nenhum livro encontrado com as
especificações fornecidas'.
3.2. Abandonar o use case.
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.
Identificar as principais funções
Substantivos
 Atores (fonte de informação/solicitação ao sistema)
 Objetos
Cliente
Funcionário
(coisas sobre as quais os sistema quer guardar informações)
nº
Gerente
•Atributos dos objetos
•Novos
•Carro
•Venda
•Serviços de manutenção
•Cliente
•Vendidos
•Troca de peças
•revisão
Casos de Uso para o ator Cliente
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 atores Funcionário e Gerente
cadastrarCliente
<<extends>>
comprarCarro
Funcionário
Cliente
ImprimirRelatórioVendas
AdicionarServiçoManutenção
fazerManutenção
cadastrarCarro
Gerente
retirarCarroManutenção
ImprimirRelatórioServiços
ImprimirRelatórioClientes
ImprimirRelatórioCarrosNovos
4
09/09/2013
Diagrama de Sequência
comprarCarro (curso normal)
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'.
Curso Normal
Cliente
ComprarCarro
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”.
: CarroVenda
: Cliente
comprarCarro (cursos alternativos)
comprarCarro (cursos alternativos)
: Venda
: Cliente
: CarroVenda
dadosVenda
obterCarrosDisponíveis( )
'Nenhum carro disponível para venda com tais características'
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
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.
: Venda
Diagrama de Sequência
Diagrama de Sequência
Curso Normal
1. O cliente informa as características do carro
desejado;
2. O sistema obtém todos os carros disponíveis
para venda;
: AtorCliente
1. O cliente informa as características do carro
dadosCarro()
desejado;
2. O sistema obtém todos os carros disponíveis para
obterCarrosDisponíveis( )
venda;
3. O sistema exibe os carros disponíveis para venda
carrosDisponíveis()
ao cliente;
4. O cliente informa ao sistema o carro escolhido;
carroEscolhido(), dadosCliente()
5. O sistema verifica se este cliente já está
VerificarClienteCadastrado( )
cadastrado;
'cadastrado'
6. Em caso afirmativo, o sistema solicita confirmação
solicitaçãoConfirmação
do cliente;
7. O cliente confirma a compra;
confirmação
8. O sistema cadastra a nova venda;
CadastrarNovaVenda( )
9. O sistema altera a situação do carro para
alterarSituação ( "vendido" )
'vendido';
'Carro vendido'
10. O sistema emite a mensagem 'Carro vendido'.
: Venda
: Cliente
: CarroVenda
: Cliente
dadosVenda
obterCarrosDisponíveis( )
carrosDisponíveis()
carroEscolhido(),dadosCliente()
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”.
VerificarClienteCadastrado( )
'não cadastrado'
'Cliente não cadastrado'
Solicitar Cadastro de Cliente()
Cliente cadastrado
28
5
Download

Aula 2 – Revisão 2:Diagrama de Sequência Roteiro Diagrama de