O documento descreve diagramas de sequência para casos de uso de uma biblioteca. Os diagramas mostram as interações entre objetos para os casos de uso de cadastrar leitor, consultar livro e obter livro emprestado.
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
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