Download - Uml - Exemplos de Modelagem Versao 2
UML Exemplos de Modelagem aula 2Andr Constantino da Silva Jnia C. A. Silva DC- UFSCar 2003
BibliotecaUma biblioteca deve automatizar seus registros de livros, leitores e emprstimos. Suponha que seus procedimentos sejam bsicos, onde no h reserva de livros, o prazo de devoluo de uma semana, no h multa e o leitor no tem limite mximo para retirada de livros. O sistema deve permitir a consulta da bibliotecria ou leitor ao acervo, indicando se o livro est retirado ou disponvel, imprimir relatrios de leitores, leitores em atraso e livros disponveis e retirados.
Quais so os substantivos?Uma biblioteca deve automatizar seus registros de livros, leitores e emprstimos. Suponha que seus procedimentos sejam bsicos, onde no h reserva de livros, o prazo de devoluo de uma semana, no h multa e o leitor no tem limite mximo para retirada de livros. O sistema deve permitir a consulta da bibliotecria ou leitor ao acervo, indicando se o livro est retirado ou disponvel, imprimir relatrios de leitores, leitores em atraso e livros disponveis e retirados.
Quais so os substantivos relevantes?Uma biblioteca deve automatizar seus registros de livros, leitores e emprstimos. Suponha que seus procedimentos sejam bsicos, onde no h reserva de livros, o prazo de devoluo de uma semana, no h multa e o leitor no tem limite mximo para retirada de livros. O sistema deve permitir a consulta da bibliotecria ou leitor ao acervo, indicando se o livro est retirado ou disponvel, imprimir relatrios de leitores, leitores em atraso e livros disponveis e retirados.
Identificando Atores Atores so fontes de informao para o sistema, solicitam informaes do sistema Agentes apenas interagem com o sistema, sendo um meio entre o Ator e o SistemaLivros Emprstimo Bibliotecria Disponvel Leitor Prazo de devoluo Retirado Atraso
Identificando Objetos So coisas sobre as quais o sistema deseja guardar informaoLivros Emprstimo Bibliotecria Disponvel Leitor Prazo de devoluo Retirado Atraso
Identificando Atributos dos Objetos So informaes dos objetos que devem ser armazenados pelo sistemaLivros Emprstimo Bibliotecria Disponvel Leitor Prazo de devoluo Retirado Atraso
Relacionando o atributo aos seu objeto Atores Leitores Bibliotecria
Atributos
Objetos Leitor Livro EmprstimoSituao (disponvel ou retirado)
Prazo de devoluo
Representao Padrodados ou solicitao
AtorX
verboPredicado
mensagem ou objeto
Como obtemos os casos de uso?
Quais so os verbos de ao?Uma biblioteca deve automatizar seus registros de livros, leitores e emprstimos. Suponha que seus procedimentos sejam bsicos, onde no h reserva de livros, o prazo de devoluo de uma semana, no h multa e o leitor no tem limite mximo para retirada de livros. O sistema deve permitir a consulta da bibliotecria ou leitor ao acervo, indicando se o livro est retirado ou disponvel, imprimir relatrios de leitores, leitores em atraso e livros disponveis e retirados.
Tabela de Eventosn 1 descrio Leitor solicita cadastro entrada dadosLeitor Msg1 sada Use case CadastrarLeitor
23 4 5 6 7
Bibliotecria cadastra livroLeitor solicita emprstimo de livro Leitor devolve livro emprestado Usurio (leitor ou bibliotecria) consulta acervo hora de imprimir relatrio de leitores hora de imprimir relatrio de leitores com emprstimos em atraso hora de imprimir relatrio de livros disponveis hora de imprimir relatrio de livros retirados
dadosLivro
Msg2
CadastrarLivroObterLivroEmprstimo DevolverLivro ConsultarLivro ImprimirRelatrioLeitores ImprimirRelatrioLeitores Atrasados ImprmirRelatrioLivros Disponveis ImprimirRelatrioLivros Retirados
dadosEmprstimo Msg3, livro livro dadosConsulta Msg4 dadosLivro RelatrioLeitores RelatrioLeitores Atrasados RelatrioLivros Disponveis RelatrioLivros Retirados
8 9
Casos de uso para o ator leitorUma biblioteca deve automatizar seus registros de livros, leitores e emprstimos. Suponha que seus procedimentos sejam bsicos, onde no h reserva de livros, o prazo de devoluo de uma semana, no h multa e o leitor no tem limite mximo para retirada de livros. O sistema deve permitir a consulta da bibliotecria ou leitor ao acervo, indicando se o livro est retirado ou disponvel, imprimir relatrios de leitores, leitores em atraso e livros disponveis e retirados.
Diagramas de caso de uso (1)ConsultarLivro dadosConsulta dadosLivroSolicitado
dadosEmprestimo
livro
ObterLivroEmprestimo msg3, livro
AtorLeitor msg2
DevolverLivro
dadosLeitor
msg1
CadastrarLeitor
Casos de uso para o ator bibliotecriaUma biblioteca deve automatizar seus registros de livros, leitores e emprstimos. Suponha que seus procedimentos sejam bsicos, onde no h reserva de livros, o prazo de devoluo de uma semana, no h multa e o leitor no tem limite mximo para retirada de livros. O sistema deve permitir a consulta da bibliotecria ou leitor ao acervo, indicando se o livro est retirado ou disponvel, imprimir relatrios de leitores, leitores em atraso e livros disponveis e retirados.
Diagramas de caso de uso (2)ConsultarLivro dadosLivroConsultado dadosConsulta ImprimirRelatrioLeitores RelatrioLeitores ImprimirRelatrioLeitoresAtrasados RelatrioLeitoresAtrasados
RelatrioLivrosRetirados
AtorBibliotecria
RelatrioLivrosDisponveis
dadosLivro ImprimirRelatrioLivrosRetirados
msg2
ImprimirRelatrioLivrosDisponveis
CadastrarLivro
Como descrever os casos de uso?Curso NormalNmero seqncia . Ator + verbo + complemento ; Cursos Alternativos Caso nmero: Descrio do caso alternativo
Nmero seqncia . Ator + verbo + complemento ;Nmero seqncia . Finalizar caso de uso ou retornar ao passo...
Descrio do caso de uso: cadastrarLeitordadosLeitor
AtorLeitor
msg1
CadastrarLeitor
Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor no est cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a msg1 'leitor cadastrado'.
Cursos Alternativos Caso 1: o leitor j est cadastrado. 2. O sistema verifica se este leitor est cadastrado; 3. O sistema emite a msg1 'leitor j est cadastrado'; 4. Finalizar caso de uso.
Descrio do caso de uso: cadastrarLeitordadosLeitor
AtorLeitor
msg1
CadastrarLeitor
Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor no est cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a msg1 'leitor cadastrado'.
Cursos Alternativos Caso 1: o leitor j est cadastrado. 2. O sistema verifica se este leitor est cadastrado; 3. O sistema emite a msg1 'leitor j est cadastrado'; 4. Finalizar caso de uso.
Descrio do caso de uso: cadastrarLeitordadosLeitor
AtorLeitor
msg1
CadastrarLeitor
Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor no est cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a msg1 'leitor cadastrado'.
Cursos Alternativos Caso 1: o leitor j est cadastrado. 2. O sistema verifica se este leitor est cadastrado; 3. O sistema emite a msg1 'leitor j est cadastrado'; 4. Finalizar caso de uso.
Descrio do caso de uso: cadastrarLeitordadosLeitor
AtorLeitor
msg1
CadastrarLeitor
Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor no est cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a msg1 'leitor cadastrado'.
Cursos Alternativos Caso 1: o leitor j est cadastrado. 2. O sistema verifica se este leitor est cadastrado; 3. O sistema emite a msg1 'leitor j est cadastrado'; 4. Finalizar caso de uso.
Diagrama de Seqncia - cadastrarCliente (curso normal)Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor no est cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a msg1 'leitor cadastrado'.: AtorLeitor : Leitor
Linha do tempo
Diagrama de Seqncia - cadastrarCliente (curso normal)Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor no est cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a msg1 'leitor cadastrado'.
: AtorLeitor dadosLeitor
: Leitor
dadosLeitor
AtorLeitor
msg1
CadastrarLeitor
Diagrama de Seqncia - cadastrarCliente (curso normal)Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor no est cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a msg1 'leitor cadastrado'.: AtorLeitor dadosLeitor verificarLeitorCadastro( ) 'no cadastrado' : Leitor
Diagrama de Seqncia - cadastrarCliente (curso normal)Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor no est cadastrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a msg1 'leitor cadastrado'.: AtorLeitor dadosLeitor verificarLeitorCadastro( ) 'no cadastrado' AdionarNovoLeitor( ) : Leitor
Diagrama de Seqncia - cadastrarCliente (curso normal)Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor no est castrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a msg1 'leitor cadastrado'.: AtorLeitor dadosLeitor verificarLeitorCadastro( ) 'no cadastrado' AdionarNovoLeitor( ) msg1 'Leitor cadastrado'dadosLeitor
: Leitor
AtorLeitor
msg1
CadastrarLeitor
Diagrama de Seqncia - cadastrarCliente (cursoalternativo)Curso Normal 1. O leitor fornece seus dados; 2. O sistema verifica se este leitor no est castrado; 3. O sistema adiciona novo leitor; 4. O sistema emite a msg1 'leitor cadastrado'.Cursos Alternativos Caso 1: o leitor j est cadastrado. 2. O sistema verifica se este leitor est cadastrado; 3. O sistema emite a msg1 'leitor j est cadastrado'; 4. Finalizar caso de uso.: AtorLeitor dadosLeitor verificarLeitorCadastro( ) 'cadastrado' msg1 'Leitor j est cadastrado' : Leitor
Diagrama de Seqncia ObterLivroEmprestado (curso normal)Curso Normal 1. O leitor fornece os dados para emprstimo; 2. O sistema verifica se a situao do livro 'disponvel'; 3. Em caso afirmativo, o sistema verifica se o leitor est cadastrado; 4. Em caso afirmativo, o sistema efetua o emprstimo; 5. O sistema altera a situao do livro para 'emprestado'; 6. O sistema emita a msg01 'Livro emprestado', fornecendo o livro solicitado.: AtorLeitor : Emprstimo : Livro : Leitor dadosEmprestimo emprestarLivro( )
verificarSituao( ) 'disponvel'
verificarLeitorCadastro( ) 'cadastrado'
efetuarEmprestimo( ) alterarSituao ('emprestado') return
Msg01 'Livro emprestado', livro
Diagrama de Seqncia ObterLivroEmprestado (curso alternativo)Curso Normal 1. O leitor fornece os dados para emprstimo; 2. O sistema verifica se a situao do livro 'disponvel'; 3. Em caso afirmativo, o sistema verifica se o leitor est cadastrado; 4. Em caso afirmativo, o sistema efetua o emprstimo; 5. O sistema altera a situao do livro para 'emprestado'; 6. O sistema emita a msg01 'Livro emprestado', fornecendo o livro solicitado.: AtorLeitor : Emprstimo : Livro
dadosEmprestimo emprestarLivro( )
verificarSituao( ) 'emprestado'
Cursos Alternativos Caso 1: O livro est emprestado. 3. Em caso negativo, sistema emite a msg01 'Este livro j est emprestado'. 4. Abandonar o use case.
Msg01 'Este livro j est emprestado'
Diagrama de Seqncia ObterLivroEmprestado (curso alternativo): Emprstimo : Livro Curso Normal : AtorLeitor 1. O leitor fornece os dados para emprstimo; 2. O sistema verifica se a situao do livro dadosEmprestimo 'disponvel'; emprestarLivro( ) 3. Em caso afirmativo, o sistema verifica se o leitor est cadastrado; verificarSituao( ) 4. Em caso afirmativo, o sistema efetua o 'disponvel' emprstimo; 5. O sistema altera a situao do livro para 'emprestado'; verificarLeitorCadastro( ) 6. O sistema emita a msg01 'Livro emprestado', fornecendo o livro solicitado. 'no cadastrado' : Leitor
Cursos Alternativos Caso 2: O leitor no est cadastrado. 4. Em caso negativo, sistema emite a msg01 'Leitor no cadastrado'. 5. Abandonar o use case.
Msg01 'Leitor no cadastrado'
Diagrama de Seqncia consultarLivro (curso normal)Curso Normal
1. O usurio fornece os dados da consulta; 2. O sistema localiza o livro que possui as especificaes fornecidas pelo usurio; 3. O sistema exibe ao usurio os dados do livro encontrado. Cursos Alternativos Caso 1: no encontrado nenhum livro com as especificaes fornecidas 3.1 O sistema emite a msg5 'Nenhum livro encontrado com as especificaes fornecidas'. 3.2. Abandonar o use case.
: AtorUsurio dadosConsulta
: Livro
localizarLivro( ) exibirDadosLivro( ) dadosLivro Se algum livro for encontrado com os dados especificados
Diagrama de Seqncia consultarLivro (curso normal)Curso Normal
1. O usurio fornece os dados da consulta; 2. O sistema localiza o livro que possui as especificaes fornecidas pelo usurio; 3. O sistema exibe ao usurio os dados do livro encontrado.
: AtorUsurio dadosConsulta
: Livro
Se nenhum livro for encontrado com os dados especificados
localizarLivro( )
msg5 'Nenhum livro encontrado com as especificaes fornecid
Cursos Alternativos Caso 1: no encontrado nenhum livro com as especificaes fornecidas 3.1 O sistema emite a msg5 'Nenhum livro encontrado com as especificaes fornecidas'. 3.2. Abandonar o use case.
Diagrama de Classes
Leitor deseja emprstimo de livro
Diagrama de Classes
Leitor deseja emprstimo de livro
Revendedora de AutomveisUma revendedora de automveis deseja automatizar os registros de venda e de seus servios de manuteno. Para isso, deseja manter informaes sobre os carros novos e vendidos, clientes, e servios prestados a esses clientes com seus carros (troca de pea, reviso, etc). Deseja-se que o sistema possa gerar relatrios de vendas, de clientes, de carros novos, de servios.
Atores (fonte de informao/solicitao ao sistema)Cliente (Gerente)
Substantivos
Objetos(coisas sobre as quais os sistema quer guardar informaes)
Atributos dos objetosNovos Vendidos
Carro Venda Servios de manuteno Cliente
Troca de peas reviso
Agentes (meio entre ator e sistema)
Verbos de ao
Funes do sistema Mtodos + genricos use case
(sistema) manter informaes sobre carros (novos e usados) (sistema) manter informaes sobre clientes (sistema) manter informaes sobre servios prestados (sistema) gerar relatrio de vendas
(sistema) gerar relatrio de clientes(sistema) gerar relatrio de carros novos (sistema) gerar relatrio de servios
Tabela e Eventosn1
descrioCliente compra carro
entradadadosVenda
sadaMsg1, Carro
Use casecomprarCarro
23
Cliente solicita servio de manutenoCliente retira carro aps manuteno
dadosManu teno, carro
Msg2carro
fazerManutenoretirarCarroManuteno
Funcionrio registra servio efetuado5 6 7 8 9 Cliente solicita cadastro hora de imprimir relatrio de vendas hora de imprimir relatrio de clientes hora de imprimir relatrio de carros novos hora de imprimir relatrio de servios
dadosManute noServiodadosCliente
Msg4Msg5 Relatrio Vendas Relatrio Clientes Relatrio CarrosNovos Relatrio de servios
adionarServioManutenocadastrarCliente imprimirRelatrioVendas IiprimirRelatrioClientes imprimirRelatrioCarrosNovos imprimirRelatrioServios
Casos de Uso para o ator ClientecadastrarCliente dadosCliente dadosVenda msg5 dadosManuteno, carro
comprarCarro
msg1, carro
AtorCliente carro
msg2
fazerManuteno
retirarCarroManuteno
Casos de Uso para atores Funcionrio e GerentedadosManutenoServio
AtorFuncionrio msg4
ImprimirRelatrioVendasAdicionarServioManuteno
RelatrioVendas dadosCarro RelatrioClientes cadastrarCarro
msg6
AtorGerente
ImprimirRelatrioClientes
RelatrioCarrosNovos RelatrioServios
ImprimirRelatrioServios
ImprimirRelatrioCarrosNovos
Descrio do caso de uso: comprarCarrodadosVenda
Curso Normal
1. O cliente informa as caractersticas do carro desejado; 2. O sistema obtm todos os carros disponveis para venda; 3. O sistema exibe os carros disponveis 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 confirmao do cliente; 7. O cliente confirma a compra; 8. O sistema cadastra a nova venda; 9. O sistema altera a situao do carro para 'vendido'; 10. O sistema emite a msg1 'Carro vendido'.
ComprarCarro
msg1, carro
AtorCliente
Cursos Alternativos
Caso 1: No existe carro disponvel para venda com as caractersticas solicitadas pelo cliente. 3. O sistema emite a msg1 'Nenhum carro disponvel para venda com tais caractersticas' 4. Finalizar caso de uso. Caso 2: O cliente no foi cadastrado. 6. O sistema emite a msg1 'Cliente no cadastrado'; 7. Finalizar caso de uso.
Diagrama de Seqncia comprarCarro (cursonormal)Curso Normal
1. O cliente informa as caractersticas do carro desejado; 2. O sistema obtm todos os carros disponveis para venda; 3. O sistema exibe os carros disponveis 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 confirmao do cliente; 7. O cliente confirma a compra; 8. O sistema cadastra a nova venda; 9. O sistema altera a situao do carro para 'vendido'; 10. O sistema emite a msg1 'Carro vendido'.
: AtorCliente dadosCarro
: Venda
: CarroVenda
: Cliente
VenderCarro( ) obterCarrosDisponveis( ) carrosDisponveis
carroEscolhido, dadosCliente VerificarClienteCadastrado( ) 'cadastrado' solicitaoConfirmao confirmao CadastrarNovaVenda( ) alterarSituao ( "vendido" ) msg1 'Carro vendido'
Diagrama de Seqncia comprarCarro(cursos alternativos): AtorCliente dadosVenda VenderCarro( ) obterCarrosDisponveis( ) msg1 'Nenhum carro disponvel para venda com tais caractersticas' : Venda : CarroVenda: AtorCliente dadosVenda VenderCarro( ) obterCarrosDisponveis( ) carrosDisponveis : Venda : CarroVenda : Cliente
carroEscolhido dadosCliente VerificarClienteCadastrado( ) 'no cadastrado' msg1 'Cliente no cadastrado'
Descrio do caso de uso: fazerManutenodadosManuteno, carro
Curso Normal
1. O cliente informa os seus dados; 2. O sistema verifica se o cliente j est cadastrado; 3. Em caso afirmativo,verifica quais carros foram comprados pelo cliente; 4. O sistema solicita a escolha do carro que vai para a manuteno; 5. O cliente informa o carro; 6. O sistema solicita o motivo do servio; 7. O cliente informa o motivo do servio; 8. O sistema cadastra o servio; 9. O sistema emite a msg2 'Carro enviado para realizar o servio'.
AtorCliente
msg2
fazerManuteno
Cursos Alternativos
Curso 1: O cliente no est cadastrado. 3. Em caso negativo, sistema emite a msg2 'Cliente no cadastrado'. 4. Finalizar caso de uso. Curso 2: O cliente no comprou carro. 4. O sistema emite a msg2 'Cliente no comprou carro nesta revendedora'. 5. Finalizar caso de uso.
Diagrama de Seqncia fazerManuteno(curso normal)Curso Normal: AtorCliente dadosCliente VerificarClienteCadastrado( ) 'cadastrado' : Servio : Cliente : Carro
1. O cliente informa os seus dados; 2. O sistema verifica se o cliente j est cadastrado; 3. Em caso afirmativo,verifica quais carros foram comprados pelo cliente; 4. O sistema solicita a escolha do carro que vai para a manuteno; 5. O cliente informa o carro; 6. O sistema solicita o motivo do servio; 7. O cliente informa o motivo do servio; 8. O sistema cadastra o servio; 9. O sistema emite a msg2 'Carro enviado para realizar o servio'.
obterCarroCompradoCliente( ) 'carros comprados lista de carros solicitaoEscolhaCarro carro solicitaoMotivoServio motivoServio solicitaServio( ) msg2 'Carro enviado para realizar o servio'
Diagrama de Classes
Diagrama de Classes
Diagrama de Classes (atributos e mtodos)