Uml - Exemplos de Modelagem em UML

17,160 views

Published on

Slides contendo a aplicação de métodos para criação de diagramas UML a nível de análise considerando o contexto de uma biblioteca.

Published in: Education

Uml - Exemplos de Modelagem em UML

  1. 1. UML – Exemplos de Modelagem aula 2André Constantino da SilvaJúnia C. A. SilvaDC- UFSCar 2003
  2. 2. BibliotecaUma biblioteca deve automatizar seus registrosde livros, leitores e empréstimos. Suponha queseus procedimentos sejam básicos, onde nãohá reserva de livros, o prazo de devolução é deuma semana, não há multa e o leitor não temlimite máximo para retirada de livros. O sistemadeve permitir a consulta da bibliotecária ou leitorao acervo, indicando se o livro está retirado oudisponível, imprimir relatórios de leitores,leitores em atraso e livros disponíveis eretirados.
  3. 3. Quais são os substantivos?Uma biblioteca deve automatizar seus registrosde livros, leitores e empréstimos. Suponha queseus procedimentos sejam básicos, onde nãohá reserva de livros, o prazo de devolução é deuma semana, não há multa e o leitor não temlimite máximo para retirada de livros. O sistemadeve permitir a consulta da bibliotecária ou leitorao acervo, indicando se o livro está retirado oudisponível, imprimir relatórios de leitores,leitores em atraso e livros disponíveis eretirados.
  4. 4. Quais são os substantivos relevantes?Uma biblioteca deve automatizar seus registrosde livros, leitores e empréstimos. Suponha queseus procedimentos sejam básicos, onde nãohá reserva de livros, o prazo de devolução é deuma semana, não há multa e o leitor não temlimite máximo para retirada de livros. O sistemadeve permitir a consulta da bibliotecária ou leitorao acervo, indicando se o livro está retirado oudisponível, imprimir relatórios de leitores,leitores em atraso e livros disponíveis eretirados.
  5. 5. Identificando Atores• Atores são fontes de informação para o sistema, solicitam informações do sistema• Agentes apenas interagem com o sistema, sendo um meio entre o Ator e o SistemaLivros LeitorEmpréstimo Prazo de devoluçãoBibliotecária RetiradoDisponível Atraso
  6. 6. Identificando Objetos• São coisas sobre as quais o sistema deseja guardar informaçãoLivros LeitorEmpréstimo Prazo de devoluçãoBibliotecária RetiradoDisponível Atraso
  7. 7. Identificando Atributos dos Objetos• São informações dos objetos que devem ser armazenados pelo sistemaLivros LeitorEmpréstimo Prazo de devoluçãoBibliotecária RetiradoDisponível Atraso
  8. 8. Relacionando o atributo aos seu objeto• Atores – Leitores •Atributos – Bibliotecária• Objetos – Leitor •Situação (disponível ou – Livro retirado) – Empréstimo •Prazo de devolução
  9. 9. Representação Padrão dados ou solicitação verboP redic ado A to rX mensagem ou objetoComo obtemos os casos de uso?
  10. 10. Quais são os verbos de ação?Uma biblioteca deve automatizar seus registrosde livros, leitores e empréstimos. Suponha queseus procedimentos sejam básicos, onde nãohá reserva de livros, o prazo de devolução é deuma semana, não há multa e o leitor não temlimite máximo para retirada de livros. O sistemadeve permitir a consulta da bibliotecária ou leitorao acervo, indicando se o livro está retirado oudisponível, imprimir relatórios de leitores,leitores em atraso e livros disponíveis eretirados.
  11. 11. Tabela de Eventosnº descrição entrada saída Use case1 Leitor solicita cadastro dadosLeitor Msg1 CadastrarLeitor23 Bibliotecária cadastra livrode Leitor solicita empréstimo dadosLivro dadosEmpréstimo Msg2 livro Msg3, CadastrarLivro ObterLivroEmpréstimo4 Leitor devolve livro emprestado livro Msg4 DevolverLivro livro5 Usuário (leitor ou bibliotecária) dadosConsulta dadosLivro ConsultarLivro6 É hora de imprimir relatório de RelatórioLeitores ImprimirRelatórioLeitores7 É hora de imprimir relatório de RelatórioLeitores ImprimirRelatórioLeitores8 É hora de imprimir relatório de RelatórioLivros ImprmirRelatórioLivros9 É hora de imprimir relatório de RelatórioLivros ImprimirRelatórioLivros
  12. 12. Casos de uso para o ator leitorUma biblioteca deve automatizar seus registrosde livros, leitores e empréstimos. Suponha queseus procedimentos sejam básicos, onde nãohá reserva de livros, o prazo de devolução é deuma semana, não há multa e o leitor não temlimite máximo para retirada de livros. O sistemadeve permitir a consulta da bibliotecária ou leitorao acervo, indicando se o livro está retirado oudisponível, imprimir relatórios de leitores,leitores em atraso e livros disponíveis eretirados.
  13. 13. Diagramas de caso de uso (1) Cons ultarLivro dado s Co ns ul ta dadosLi vr oS oli ci tad o d ados E m pres tim o livro A torLeitor DevolverLivroO bterLivroE m pres tim o m s g2 m s g3, livro m s g1 dados Leitor C adas trarLeitor
  14. 14. Casos de uso para o ator bibliotecáriaUma biblioteca deve automatizar seus registrosde livros, leitores e empréstimos. Suponha queseus procedimentos sejam básicos, onde nãohá reserva de livros, o prazo de devolução é deuma semana, não há multa e o leitor não temlimite máximo para retirada de livros. O sistemadeve permitir a consulta da bibliotecária ou leitorao acervo, indicando se o livro está retirado oudisponível, imprimir relatórios de leitores,leitores em atraso e livros disponíveis eretirados.
  15. 15. Diagramas de caso de uso (2) Cons ultarLivro dados LivroCons ultado dadosC ons ul ta Im prim irRelatórioLeitores Im prim irRelatórioLeitores A tras ados RelatórioLeitores RelatórioLeitores A tras ados RelatórioLivros Retirados A torB ibliotec ária RelatórioLivros Dis poníveis dados Li vro ms g2Im prim irRelatórioLivros Retirados Im prim ir Relat órioLi vr os Dis p oníveis Cadas trarLivro
  16. 16. Como descrever os casos de uso? Curso Normal Número seqüência . Ator + verbo + complemento ; Cursos Alternativos Caso número: Descrição do caso alternativo Número seqüência . Ator + verbo + complemento ;Número seqüência . Finalizar caso de uso ou retornar ao passo...
  17. 17. Descrição do caso de uso: cadastrarLeitor dados Leitor m s g1 C adas trarLeitor A torLeitor Curso Normal Cursos Alternativos1. O leitor fornece seus dados; Caso 1: o leitor já está cadastrado.2. O sistema verifica se este leitor não 2. O sistema verifica se este leitor estáestá cadastrado; cadastrado;3. O sistema adiciona novo leitor; 3. O sistema emite a msg1 leitor já está4. O sistema emite a msg1 leitor cadastrado;cadastrado. 4. Finalizar caso de uso.
  18. 18. Descrição do caso de uso: cadastrarLeitor dados Leitor m s g1 C adas trarLeitor A torLeitor Curso Normal Cursos Alternativos1. O leitor fornece seus dados; Caso 1: o leitor já está cadastrado.2. O sistema verifica se este leitor não 2. O sistema verifica se este leitor estáestá cadastrado; cadastrado;3. O sistema adiciona novo leitor; 3. O sistema emite a msg1 leitor já está4. O sistema emite a msg1 leitor cadastrado;cadastrado. 4. Finalizar caso de uso.
  19. 19. Descrição do caso de uso: cadastrarLeitor dados Leitor m s g1 C adas trarLeitor A torLeitor Curso Normal Cursos Alternativos1. O leitor fornece seus dados; Caso 1: o leitor já está cadastrado.2. O sistema verifica se este leitor não 2. O sistema verifica se este leitor estáestá cadastrado; cadastrado;3. O sistema adiciona novo leitor; 3. O sistema emite a msg1 leitor já está4. O sistema emite a msg1 leitor cadastrado;cadastrado. 4. Finalizar caso de uso.
  20. 20. Descrição do caso de uso: cadastrarLeitor dados Leitor m s g1 C adas trarLeitor A torLeitor Curso Normal Cursos Alternativos1. O leitor fornece seus dados; Caso 1: o leitor já está cadastrado.2. O sistema verifica se este leitor não 2. O sistema verifica se este leitor estáestá cadastrado; cadastrado;3. O sistema adiciona novo leitor; 3. O sistema emite a msg1 leitor já está4. O sistema emite a msg1 leitor cadastrado;cadastrado. 4. Finalizar caso de uso.
  21. 21. Diagrama de Seqüência - cadastrarCliente (curso normal) Curso Normal : A tor Leit or : Leitor1. O leitor fornece seus dados;2. O sistema verifica se este leitor nãoestá cadastrado;3. O sistema adiciona novo leitor;4. O sistema emite a msg1 leitorcadastrado. Linha do tempo
  22. 22. Diagrama de Seqüência - cadastrarCliente (curso normal) Curso Normal1. O leitor fornece seus dados; : A tor Leit or : Leitor2. O sistema verifica se este leitornão está cadastrado; dados Leitor3. O sistema adiciona novo leitor;4. O sistema emite a msg1 leitorcadastrado. dados Leitor m s g1 Cadas trarLeitor A torLeitor
  23. 23. Diagrama de Seqüência - cadastrarCliente (curso normal) Curso Normal : A to rLeitor : Leitor1. O leitor fornece seus dados;2. O sistema verifica se este leitor dados Leitornão está cadastrado; verific arLeitorCadas tro( )3. O sistema adiciona novo leitor;4. O sistema emite a msg1 leitor não c adas tradocadastrado.
  24. 24. Diagrama de Seqüência - cadastrarCliente (curso normal) Curso Normal : A to rLeitor : Leitor1. O leitor fornece seus dados;2. O sistema verifica se este leitor dados Leitornão está cadastrado; verific arLeitorC adas tro( )3. O sistema adiciona novo leitor;4. O sistema emite a msg1 leitor não c adas tradocadastrado. A dionar N ovoLeitor( )
  25. 25. Diagrama de Seqüência - cadastrarCliente (curso normal) : Leitor Curso Normal : A to rLeitor1. O leitor fornece seus dados; dados Leitor2. O sistema verifica se este leitor nãoestá castrado; verific arLeitorC adas tro( )3. O sistema adiciona novo leitor; não c adas trado4. O sistema emite a msg1 leitor A dionar N ovoLeitor( )cadastrado. m s g1 Leitor c adas trado dados Leitor m s g1 Cadas trarLeitor A torLeitor
  26. 26. Diagrama de Seqüência - cadastrarCliente (curso alternativo) Curso Normal : Leitor1. O leitor fornece seus dados; : AtorLeitor2. O sistema verifica se este leitor não dadosLeitorestá castrado;3. O sistema adiciona novo leitor; verificarLeitorCadastro( )4. O sistema emite a msg1 leitor cadastradocadastrado. msg1 Leitor já está 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.
  27. 27. Diagrama de Seqüência – ObterLivroEmprestado (curso normal) : E m prés tim o : Livro : Leitor : A tor Leit or Curso Normal1. O leitor fornece os dados para dados E m pres tim oempréstimo; empres t arLivr o( )2. O sistema verifica se a situação do veri fi c ar S it uaç ão( )livro é disponível; di s ponível 3. Em caso afirmativo, o sistemaverifica se o leitor está cadastrado;4. Em caso afirmativo, o sistema verific arLei to rCadas tro( )efetua o empréstimo; cadas t rado 5. O sistema altera a situação do livro efetuarE m pres tim o( )para emprestado; alterarS ituaç ão (em pres tado)6. O sistema emita a msg01 Livroemprestado, fornecendo o livro returnsolicitado. M s g01 Livro em pres tado, livro
  28. 28. Diagrama de Seqüência – ObterLivroEmprestado (curso alternativo) Curso Normal : E m pré s ti mo : Livro1. O leitor fornece os dados para empréstimo; : A torLeitor2. O sistema verifica se a situação do livro édisponível; d ados E m pres ti mo3. Em caso afirmativo, o sistema verifica se o em pres tarLivro( )leitor está cadastrado;4. Em caso afirmativo, o sistema efetua o verific a rS i tuaç ã o( )empréstimo;5. O sistema altera a situação do livro paraemprestado; em pr es tad o6. O sistema emita a msg01 Livroemprestado, fornecendo o livro solicitado. Cursos Alternativos Ms g 01 E s te livro já es t á e mpr es tadoCaso 1: O livro está emprestado.3. Em caso negativo, sistema emite amsg01 Este livro já está emprestado.4. Abandonar o use case.
  29. 29. Diagrama de Seqüência – ObterLivroEmprestado (curso alternativo) Curso Normal : A tor Leit or : E m prés tim o : Livro : Leitor1. O leitor fornece os dados para empréstimo;2. O sistema verifica se a situação do livro é dados E m pres tim odisponível; em pres t arLivro( )3. Em caso afirmativo, o sistema verifica se oleitor está cadastrado; verific arS ituaç ão( )4. Em caso afirmativo, o sistema efetua oempréstimo; dis ponível5. O sistema altera a situação do livro paraemprestado;6. O sistema emita a msg01 Livro verific arLeitorCadas tro( )emprestado, fornecendo o livro solicitado. não cadas t rad o Cursos Alternativos Caso 2: O leitor não está cadastrado. M s g01 Leitor não c adas trado 4. Em caso negativo, sistema emite a msg01 Leitor não cadastrado. 5. Abandonar o use case.
  30. 30. Diagrama de Seqüência – consultarLivro (curso normal) Curso Normal1. O usuário fornece os dados da : Livroconsulta; : A torUs uário2. O sistema localiza o livro que dados Cons ultapossui as especificações fornecidaspelo usuário; loc aliz arLivro( )3. O sistema exibe ao usuário os ex ibirDados Livro( )dados do livro encontrado. da dos Livro Cursos Alternativos S e algum livro for enc ontrado c om osCaso 1: não é encontrado nenhum livro dados es pec ific adoscom as especificações fornecidas3.1 O sistema emite a msg5 Nenhumlivro encontrado com as especificaçõesfornecidas.3.2. Abandonar o use case.
  31. 31. Diagrama de Seqüência – consultarLivro (curso normal) S e nenhum livro for Curso Normal : Livro enc ontrado c om os : A t orU suá rio1. O usuário fornece os dados da dados es pec ific adosconsulta; dados C ons ul ta2. O sistema localiza o livro que loc aliz arLivro( )possui as especificações fornecidaspelo usuário; m s g5 N enhum livro enc ontrado c om as es pec ific aç ões fornec id3. O sistema exibe ao usuário osdados do livro encontrado. Cursos AlternativosCaso 1: não é encontrado nenhum livrocom as especificações fornecidas3.1 O sistema emite a msg5 Nenhumlivro encontrado com as especificaçõesfornecidas.3.2. Abandonar o use case.
  32. 32. Diagrama de Classes L eit or Livro nom e nom e endereç o c ódigo s ituaç ãoLeitor deseja E m prés tim o d ataRetiradaempréstimo de d ataDevolu ç ãolivro
  33. 33. Diagrama de Classes Livro Leitor nom e é em pres tado nome c ódigo 0..n 0..n endere ç o s ituaç ãoLeitor deseja E m prés tim oempréstimo de dataRetirada dataDevoluç ãolivro
  34. 34. Revendedora de AutomóveisUma revendedora de automóveis desejaautomatizar os registros de venda e de seusserviços de manutenção. Para isso, desejamanter informações sobre os carros novos evendidos, clientes, e serviços prestados a essesclientes com seus carros (troca de peça,revisão, etc). Deseja-se que o sistema possagerar relatórios de vendas, de clientes, decarros novos, de serviços.
  35. 35. Substantivos• Atores (fonte de informação/solicitação ao sistema) Cliente (Gerente) •Atributos dos objetos• Objetos(coisas sobre as quais os sistema quer guardar informações) •Novos •Carro •Venda •Vendidos •Serviços de manutenção •Cliente •Troca de peças •revisão• Agentes (meio entre ator e sistema)
  36. 36. Verbos de ação • Funções do sistema – Métodos • + genéricos use case(sistema) manter informações sobre carros(novos e usados)(sistema) manter informações sobre clientes(sistema) manter informações sobreserviços prestados(sistema) gerar relatório de vendas(sistema) gerar relatório de clientes(sistema) gerar relatório de carros novos(sistema) gerar relatório de serviços
  37. 37. Tabela e Eventosnº descrição entrada saída Use case1 Cliente compra carro dadosVenda Msg1, Carro comprarCarro2 Cliente solicita serviço de manutenção dadosManu Msg2 fazerManutenção tenção, carro3 Cliente retira carro após manutenção carro retirarCarroManutenção Funcionário registra serviço efetuado dadosManute Msg4 adionarServiçoManutenção nçãoServiço5 Cliente solicita cadastro dadosCliente Msg5 cadastrarCliente6 É hora de imprimir relatório de vendas Relatório imprimirRelatórioVendas Vendas7 É hora de imprimir relatório de clientes Relatório IiprimirRelatórioClientes Clientes8 É hora de imprimir relatório de carros Relatório imprimirRelatórioCarrosNovos novos CarrosNovos9 É hora de imprimir relatório de serviços Relatório de imprimirRelatórioServiços serviços
  38. 38. Casos de Uso para o ator Cliente c adast rar Cli ente dados Cliente m s g5 dados V end a dados Manutenç ão, c arro c om pr arCar ro ms g2 faz erM anutenç ão m s g1, c arro A torCliente c ar ro retirarCarroM anutenç ão
  39. 39. Casos de Uso para atores Funcionário e Gerente dados Manutenç ãoS erviç o Im prim irRelatórioV endasA torF unc ionário A dic ionarS erviç oM anutenç ão m s g4 Re lat óri oV enda s dad os Carro RelatórioClientes c adas trarCarro m s g6 Im prim irRelatórioClientes A torG erente Re latóri oCarrosN ov os Rela tórioS erviç os Im prim irRelatórioS erviç os Im prim irRelatórioCarros Novos
  40. 40. Descrição do caso de uso: comprarCarro dado s Ve ndaCurso Normal1. O cliente informa as características do carrodesejado;2. O sistema obtém todos os carros disponíveis para Compr arCar ro m s g1, c arro A torClientevenda;3. O sistema exibe os carros disponíveis para vendaao cliente;4. O cliente informa ao sistema o carro escolhido; Cursos Alternativos5. O sistema verifica se este cliente já está Caso 1: Não existe carro disponível para vendacadastrado; com as características solicitadas pelo cliente.6. Em caso afirmativo, o sistema solicita confirmação 3. O sistema emite a msg1 Nenhum carrodo cliente; disponível para venda com tais características7. O cliente confirma a compra; 4. Finalizar caso de uso.8. O sistema cadastra a nova venda;9. O sistema altera a situação do carro para Caso 2: O cliente não foi cadastrado.vendido; 6. O sistema emite a msg1 Cliente não10. O sistema emite a msg1 Carro vendido. cadastrado; 7. Finalizar caso de uso.
  41. 41. Diagrama de Seqüência – comprarCarro (curso normal)Curso Normal : A torC liente : V enda : C arroV enda : C liente1. O cliente informa as características do carrodesejado; dad os C arro2. O sistema obtém todos os carros disponíveis para V enderC arro( )venda; obt erC ar ros D i sponívei s( )3. O sistema exibe os carros disponíveis para vendaao cliente; c arros D is poníveis4. O cliente informa ao sistema o carro escolhido;5. O sistema verifica se este cliente já está c arroE s c olhido, dados C lientecadastrado; V erific arC lienteCadas trado( )6. Em caso afirmativo, o sistema solicita confirmação c adas tr adodo cliente; s olic itaç ãoC onfirm aç ão7. O cliente confirma a compra; c onfirm aç ão8. O sistema cadastra a nova venda;9. O sistema altera a situação do carro para C adast rar NovaV enda( )vendido; alterarS ituaç ão ( " vendido" )10. O sistema emite a msg1 Carro vendido. m s g1 C arro vendido
  42. 42. Diagrama de Seqüência – comprarCarro (cursos alternativos) : V enda : C arroV enda : V enda : C arroV enda : C liente: A torCliente : A torCliente dados V enda dados V enda V ende rC arro( ) V enderC arro( ) obt erC ar ros D i sponívei s( ) obterC arros Dis poníveis ( ) c arros Dis poníveis m s g1 N enhum c arro dis ponível para venda c om tais c arac terís tic as c arr oE s c olh ido dados C liente V erific arClienteCadas trado( ) não c adas trado m s g1 C liente não c adas trado
  43. 43. Descrição do caso de uso: fazerManutenção dados Manutenç ão, c arroCurso Normal1. O cliente informa os seus dados;2. O sistema verifica se o cliente já está faz erMan utenç ãocadastrado; A torCliente m s g23. Em caso afirmativo,verifica quais carrosforam comprados pelo cliente; Cursos Alternativos4. O sistema solicita a escolha do carro que Curso 1: O cliente não está cadastrado.vai para a manutenção; 3. Em caso negativo, sistema emite a5. O cliente informa o carro; msg2 Cliente não cadastrado.6. O sistema solicita o motivo do serviço; 4. Finalizar caso de uso.7. O cliente informa o motivo do serviço;8. O sistema cadastra o serviço; Curso 2: O cliente não comprou carro.9. O sistema emite a msg2 Carro enviado 4. O sistema emite a msg2 Cliente nãopara realizar o serviço. comprou carro nesta revendedora. 5. Finalizar caso de uso.
  44. 44. Diagrama de Seqüência – fazerManutenção (curso normal) : S erviç o : Cliente : Carro : A tor Cli ente Curso Normal1. O cliente informa os seus dados; dados Cliente2. O sistema verifica se o cliente já está V erific arClienteCadas trado( ) c adas tradocadastrado;3. Em caso afirmativo,verifica quais obterCarroCom pradoCliente( )carros foram comprados pelo cliente; c arros c om prados lis ta de c arros4. O sistema solicita a escolha do carro s olic i ta ç ãoE s c olh aCa rroque vai para a manutenção; c arro5. O cliente informa o carro; s olic itaç ãoM otivoS erviç o6. O sistema solicita o motivo do serviço; m otivoS erviç o7. O cliente informa o motivo do serviço;8. O sistema cadastra o serviço; s olic i taS erviç o( )9. O sistema emite a msg2 Carro m s g2 Carro enviado para realiz ar o s erviç oenviado para realizar o serviço.
  45. 45. Diagrama de Classes V enda dataCli ente Carro nome 0 ..1 0. .n p lac a c om pra endereç o fabr ic a nte telefone envia para s erviç o m odelo CP F 1 1. .n a no S erviç o des cr iç ão preç o
  46. 46. Diagrama de Classes V enda data Cli ente Car ro n ome 0. .1 0..n plac a c om pra e ndere ç o fabric ante t elefo ne envia para s erviç o m odelo CP F 1 1..n ano S erviç o des cr iç ão preç o Revis ão Troc aP eç as
  47. 47. Diagrama de Classes (atributos e métodos) Ca rro plac a fabric ante 1 m odelo é enviado ano verific arCarroCadas trado() alterarS ituaç ão() 0..n 0..n M anutenç ão dataS oli c itaç ã o S erviç o CarroV enda s ituaç ão des c riç ão s ituaç ão pos s ui m otivo preç o r eal iz a obterCarros Dis poníveis () Cadas trarMa nuten ç ão() Im prim irRelatórioS erviç os () adic ionarCarroRelatorio() V erific arE x is tênc iaM anutenç ão() 0..n 1..n adic ionarS ervic oRelatorio() im prim irRelatórioCarros Novos () V erific arTérm inoM anutenç ão() obterTodos S erviç os () 0..n A lt erarS ituaç ã o() loc aliz arS erviç o() 0..n loc aliz arMa nuten ç ão() ex ibirS erviç os () Cliente adic ionarS er viç oRealiz ado() nom e 0..n c om pra endereç o telefone s olic ita CP F 0. .1 1 V erific arClienteCadas trado() O bterTodos Clientes () Im prim irRelatórioClientes () V enda adic ionarClienteRelatório()dataV enderCarro()Cadas trarNovaV enda()i mp ri mirRelat óri oV endas ()obt er TodasV endas ()adic i onar Ve ndaRelatór io()

×