1 / 99

IN1008 – Projeto Conceitual de BD

IN1008 – Projeto Conceitual de BD. Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br Fabrício Cabral fbc@cin.ufpe.br. Roteiro. Motivação Estado da Arte Introdução Diagramas Diagrama de Casos de Uso Diagrama de Classes Referências. Motivação.

Download Presentation

IN1008 – Projeto Conceitual de BD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br Fabrício Cabral fbc@cin.ufpe.br

  2. Roteiro • Motivação • Estado da Arte • Introdução • Diagramas • Diagrama de Casos de Uso • Diagrama de Classes • Referências

  3. Motivação • A UML foi planejada para ser uma linguagem flexível e customizável, podendo ser utilizada para vários propósitos, não só para a construção de aplicações Orientada a Objetos • Permite diferentes tipos de modelagem, incluindo modelos para processos de negócio, fluxo de eventos, aplicações, arquiteturas e banco de dados • Unificação de todos os modelos do sistema (aplicação e bando de dados) em torno de uma única linguagem, que pode ser compartilhada por todos os envolvidos no desenvolvimento do sistema (analistas, programadores, DBAs, etc)

  4. Estado da Arte • A UML está em contínuo desenvolvimento • UML 1.1, 1.3, 1.4, 1.5, 2.0 e UML 2.1 • Novas linguagens baseadas na UML estão sendo desenvolvidas, a fim de solucionar problemas específicos • SysML (Systems Modeling Language)

  5. Introdução • Unified Modeling Language • A UML é uma linguagem de modelagem para: • Visualização • Especificação • Construção • Documentação • Comunicação

  6. Criadores da UML • James Rumbaugh - Object Modeling Technique (OMT) • Grady Booch - Booch Method • Ivar Jacobson - Objectory (OOSE) Process

  7. Por que os 3 autores resolveram criar a UML? • Cada autor adotava idéias dos métodos dos outros, então, evoluindo juntos produziriam melhorias • A unificação dos 3 métodos trariam estabilidade para o mercado

  8. História Fonte: http://www.cin.ufpe.br/~if119

  9. Elementos Essenciais Elementos Estruturais Elementos Comportamentais Elementos de Agrupamento Elementos de Anotação

  10. Elementos Estruturais • São as partes estáticas de um modelo, representando elementos que são ou conceituais ou físicos. • Exemplos: • Classe • Interface • Use Cases • Componente • Nó

  11. Elementos Comportamentais • São as partes dinâmicas dos modelos da UML. • Exemplos: • Interação - especifica um conjunto de mensagens trocadas entre objetos • Máquina de Estado - especifica seqüências de estados de um objeto

  12. Elementos de Agrupamento • São as partes organizacionais dos modelos da UML. • Exemplos: • Pacotes - mecanismo para organização de elementos dentro de grupos

  13. Elementos de Anotação • São partes explicativas dos modelos da UML. São comentários que você aplica para descrever, iluminar e remarcar elementos no modelo. • Exemplos: • Nota - símbolo contendo restrições ou comentários que são melhor expressadas em textos

  14. Diagramas • São representações gráficas de um conjunto de elementos. São desenhados para visualizar um sistema de diferentes perspectivas. • Exemplos: • Diagramas Estruturais • Diagramas Comportamentais • Diagramas de Interação

  15. Diagramas Estruturais • Diagramas Estruturais • Diagrama de Objetos • Diagrama de Classes • Diagrama de Componentes • Diagrama de Instalação • Diagrama de Pacotes • Diagrama de Estrutura (UML2.0)

  16. Diagramas Comportamentais • Diagramas Comportamentais • Diagrama de Caso de Uso • Diagrama de Transição de Estados • Diagrama de Atividade

  17. Diagramas de Interação • Diagramas de Interação • Diagrama de Sequência • Diagrama de Interatividade • Diagrama de Colaboração ou Comunicação • Diagrama de Tempo (UML2.0)

  18. Diagramas

  19. Diagramas de Use Case • São especialmente importantes na organização e modelagem dos comportamentos de um sistema • Use Case é a especificação de sequências de ações que um sistema, subsistema ou classe pode realizar, interagindo com um dos agentes

  20. Solicitar Solicitar histórico do <<estende>> histórico semestre atual <<estende>> Solicitar histórico de Estudante todos os semestres Sistema de controlede pré-requisitos Matricular <<inclui>> aluno Verificar dependências Secretária Diagramas de Use Case

  21. Diagramas de Classe • Os diagramas de classes são os principais diagramas estruturais da UML • Diagramas de classe mostram classes, interfaces e seus relacionamentos • As classes especificam a estrutura e o comportamento dos objetos, que são instâncias de classes

  22. Cliente Pedido -nome: String -codigo: Integer -endereco: String -dataRecebido -dataPrimeiraCompra: Date -total: Currency -dataUltimaCompra: Date -totalComprado: Currency +confirmar() +cancelar() #creditoPermitido: Currency -calcularTotal():Currency #nivelCredibilidade() gerarNovoCodigo: String itens * Cliente pessoa-jurídica Cliente pessoa-física Item de Pedido nomeContato: String nome: String -quantidade: Integer telefones[1..10]: String CPF: String -preco: Currency CGC: String numCartaoCredito -emEstoque: Boolean FAX[1..3]: String colocarListaNegra() representante * de vendas * Produto Empregado IPessoa Diagramas de Classe

  23. Diagramas de Objetos • Mostram objetos e seus relacionamentos • Representam instâncias estáticas de elementos dos diagramas de classes • Os diagramas de objetos são úteis para a modelagem de estruturas de dados complexas

  24. Curso Aluno Professor ministra -codDisciplina: String -matrícula: String * -matrícula: String -descrição: String -nome: String [1..3] [1..5] [0..10] -nome: String -codTurma: String -período: Integer p1: Professor p2: Professor matricula: "205-6712-09" nome: "Jaelson Castro" c1: Curso c3: Curso : Curso c2: Curso : Curso codCurso: "IF291" codCurso: "IF185" descrição: "MPS" : Aluno descrição: "AER" : Aluno codTurma: I7 codTurma: I6 : Aluno : Aluno : Aluno :aluno Bill Lewinsky matricula: "219846534" :aluno nome: "Nelson Mandella" : Aluno matricula: "562746134" nome: "John Major" Diagramas de Objetos

  25. Diagramas de Seqüência • Mostram um conjunto de objetos, seus relacionamentos e as mensagens que podem ser enviadas entre eles

  26. Janela de entrada p: Pedido : ItemPedido :ItemEstoque de pedido preparar() * [para cada item do pedido] preparar() emEstoque := verificar() [emEstoque] estoqueBaixo := remover() verificEstoqueBaixo() [estoqueBaixo] <<criar>> :ItemRenovEstoque [emEstoque] <<criar>> :ItemEntrega Diagramas de Seqüência

  27. Diagramas de Colaboração • Mostram um conjunto de objetos, seus relacionamentos e as mensagens que enfatizam a organização dos objetos que trocam mensagens

  28. Diagramas de Colaboração

  29. Diagramas de Estados • Mostram uma máquina contendo estados, transições, eventos e atividades • Estes diagramas são usados para modelar o comportamento de objetos (com comportamento complexo) • Nestes diagramas são modelados os estados em que um objeto pode estar e os eventos que fazem o objeto passar de um estado para outro

  30. Diagramas de Estados

  31. Diagramas de Atividades • São um caso especial dos Diagramas de Estados, com a maioria das transições resultantes do término das atividades • Mostram o fluxo entre atividades (ações não-atômicas) • São semelhantes aos antigos fluxogramas • São muito usados para modelar atividades concorrentes

  32. Pessoa [semcafé] [sem Coca] H Procurar bebida [achou café] [achou Coca] Colocar café Adicionar água à Pegar Pegar lata no filtro máquina xícara de Coca Colocar filtro na máquina Ligar máquina Filtrar café Colocar café na H Beber xícara Diagramas de Atividades

  33. Diagramas de Componentes • Mostram componentes e os relacionamentos entre eles • São usados para modelar o aspecto físico de um sistema • Exemplos de componentes são documentos, executáveis e tabelas de bancos de dados

  34. Cadastro.exe <<link>> Usuários FormCadastro.html Banco <<link>> Autenticacao.exe Senhas Principal.html FormEntrada.html Diagramas de Componentes

  35. Diagramas de Implantação • São usados para modelar o ambiente em que o sistema será executado • São compostos por nós e relacionamentos de comunicação • Um nó pode ser um computador, uma rede, um disco rígido, um sensor, etc.

  36. PC - G309 Nestscape Communicator 5.0 Principal.html servidorWeb FormCadastro.html Autenticação.exe servidorDeArquivos Cadastro.exe FormEntrada.html O SGBD a ser servidorBancoDeDados utilizado ainda não foi escolhido. SGBD Diagramas de Implantação

  37. Ferramentas • JUDE • http://jude.change-vision.com • Rational Rose • http://www-306.ibm.com/software/rational • Borland Together • http://www.borland.com/us/products/together • Poseidon (baseada no ArgoUML) • http://www.gentleware.com • MagicDraw UML • http://www.magicdraw.com

  38. Diagramas de Use Cases

  39. Origem • Ivar Jacobson • Alistair Cockburn

  40. Caso de Uso • Caso de uso (use case) é uma técnica empregada para especificar o comportamento que se espera do sistema. • Casos de uso possibilitam que desenvolvedores obtenham uma compreensão comum do sistema, junto aos usuários e especialistas do domínio.

  41. Caso de Uso • Cada caso de uso descreve uma funcionalidade requerida do sistema. • Um caso de uso é uma descrição de um conjunto de seqüência de ações, incluindo variações, que um sistema executa a partir da interação de coisas externas ao sistema. • Casos de uso podem incluir seqüências alternativas, ou sequências excepcionais (de erro)

  42. Estudo de Caso • Uma universidade X deseja informatizar a sua biblioteca. Em conversas com o usuário, as seguintes características foram levantadas: • Alunos e professores podem ter acesso ao acervo da biblioteca • Usuários devem ser cadastrados antes que possam ter acesso ao acervo

  43. Estudo de Caso • O acervo da biblioteca é constituído por títulos e periódicos • Apenas títulos podem ser emprestados aos usuários, sendo os periódicos mantidos apenas para consulta • O atraso na devolução de títulos implica na cobrança de multa sobre cada dia de atraso • O usuário pode também reservar títulos emprestados

  44. Estudo de Caso • Documentos para o acervo da biblioteca são adquiridos através de compra ou de doação • Professores podem solicitar a compra de novos títulos ou periódicos para o acervo • Periodicamente, auditorias são realizadas para que o extravio de títulos possa ser averiguado.

  45. Casos de Uso Notação Nome do caso de uso

  46. Casos de Uso Exemplo Realizar reserva Cadastrar cliente

  47. Atores • Um caso de uso envolve a interação de atores com o sistema. • Um ator é uma entidade externa ao sistema que, de alguma maneira, interage com ele. • Um ator, tipicamente, estimula o sistema com eventos de entrada ou recebe algo dele.

  48. Atores • Atores não são, necessariamente, pessoas. • Atores podem ser outros sistemas ou hardware externo que interage com o sistema.

  49. Atores Notação Nome do ator

More Related