99
CIn/UFPE – IN1008 - Projeto Conceitual de BD 1

CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba [email protected]

Embed Size (px)

Citation preview

Page 1: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 1

Page 2: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 2

IN1008 – Projeto Conceitual de BD

Diagramas UML para Modelagem de

Dados

Por:Clarissa César Borba

[email protected]

Fabrício [email protected]

Page 3: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 3

Roteiro

• Motivação• Estado da Arte• Introdução• Diagramas

Diagrama de Casos de Uso Diagrama de Classes

• Referências

Page 4: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

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

Page 5: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

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

Page 6: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 6

Introdução

• Unified Modeling Language• A UML é uma linguagem de modelagem para:

Visualização Especificação Construção Documentação Comunicação

Page 7: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 7

Criadores da UML

• James Rumbaugh - Object Modeling Technique (OMT)• Grady Booch - Booch Method• Ivar Jacobson - Objectory (OOSE) Process

Page 8: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 8

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

Page 9: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 9

História

Fonte: http://www.cin.ufpe.br/~if119

Page 10: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 10

Elementos Essenciais

ElementosEstruturais

ElementosComportamentais

Elementos deAgrupamento

Elementos deAnotação

Page 11: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 11

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ó

Page 12: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 12

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

Page 13: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 13

Elementos de Agrupamento

• São as partes organizacionais dos modelos da UML.• Exemplos:

Pacotes - mecanismo para organização de elementos dentro de grupos

Page 14: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 14

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

Page 15: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 15

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

Page 16: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 16

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)

Page 17: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 17

Diagramas Comportamentais

• Diagramas Comportamentais Diagrama de Caso de Uso

Diagrama de Transição de Estados

Diagrama de Atividade

Page 18: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 18

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)

Page 19: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 19

Diagramas

Page 20: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 20

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

Page 21: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 21

Diagramas de Use Case

Estudante

Secretária

<<estende>> Solicitar histórico dosemestre atual

Solicitar histórico detodos os semestres

Solicitarhistórico

<<estende>>

Verificardependências

Matricularaluno<<inclui>>

Sistema de controlede pré-requisitos

Page 22: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 22

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

Page 23: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 23

Diagramas de Classe

+confirmar()+cancelar()-calcularTotal():CurrencygerarNovoCodigo: String

-codigo: Integer-dataRecebido-total: Currency

Pedido

#creditoPermitido: Currency#nivelCredibilidade()

-nome: String-endereco: String-dataPrimeiraCompra: Date-dataUltimaCompra: Date-totalComprado: Currency

Cliente

-quantidade: Integer-preco: Currency-emEstoque: Boolean

Item de PedidonomeContato: Stringtelefones[1..10]: StringCGC: StringFAX[1..3]: String

Cliente pessoa-jurídica

colocarListaNegra()

nome: StringCPF: StringnumCartaoCredito

Cliente pessoa-física

EmpregadoProduto

* representantede vendas

*

*

IPessoa

itens

Page 24: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 24

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

Page 25: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 25

Diagramas de Objetos

p2: Professormatricula: "205-6712-09"nome: "Jaelson Castro"

p1: Professor

codCurso: "IF291"descrição: "MPS"codTurma: I7

: Curso

codCurso: "IF185"descrição: "AER"codTurma: I6

: Curso

matricula: "219846534"nome: "Nelson Mandella"

:aluno

matricula: "562746134"nome: "John Major"

:aluno

: Aluno

: Aluno

: Aluno

: Aluno

c1: Curso

c2: Curso

c3: Curso

Bill

: Aluno : Aluno

Lewinsky

-matrícula: String-nome: String

Professor

-codDisciplina: String-descrição: String-codTurma: String

Curso

-matrícula: String-nome: String-período: Integer

Aluno

[0..10]

ministra

[1..5]

*[1..3]

Page 26: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 26

Diagramas de Seqüência

• Mostram um conjunto de objetos, seus relacionamentos e as mensagens que podem ser enviadas entre eles

Page 27: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 27

Diagramas de Seqüência

Janela de entradade pedido p: Pedido : ItemPedido :ItemEstoque

preparar()

* [para cada item do pedido]preparar()

emEstoque := verificar()

[emEstoque]remover() estoqueBaixo :=

verificEstoqueBaixo()

:ItemRenovEstoque

:ItemEntrega

[estoqueBaixo]<<criar>>

[emEstoque]<<criar>>

Page 28: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 28

Diagramas de Colaboração

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

Page 29: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 29

Diagramas de Colaboração

Janela de entradade pedido

p: Pedido

: ItemPedido :ItemEs toque

:ItemRenov Es toque:ItemEntrega

1: preparar( )

1.1: *[para c ada item do pedido] preparar( )

1.1.1 : emEs toque := v erif ic ar( )1.1.2 : [emEs toque] remov er( )

1.1.2.1: es toqueBaix o := v erif ic Es toqueBaixo( )

1.1.2.2 [es toqueBaix o] <<c riar>>

1.1.3 : [emEstoque] <<c riar>>

Page 30: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 30

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

Page 31: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 31

Ocioso

Manutenção

fazerManutenção

Validando

Selecionando Processando

Imprimindo

[continuar]

[não continuar]

H

entry / lerCartão exit / ejetarCartão

cartãoInserido

cancelar

Ativo

Diagramas de Estados

Page 32: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 32

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

Page 33: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 33

Diagramas de Atividades

Procurar bebida

[achou café]

H

PessoaH

[sem café] [sem Coca]

[achou Coca]

Pegar latade Coca

Beber

Adicionar água àmáquina

Colocar caféno filtro

Colocar filtrona máquina

Ligar máquina

Filtrar café

Pegarxícara

Colocar café naxícara

Page 34: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 34

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

Page 35: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 35

Diagramas de Componentes

FormCadastro.html

Cadastro.exe

Principal.html

FormEntrada.html

Autenticacao.exe

<<link>>

<<link>>Banco

Usuários

Senhas

Page 36: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 36

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.

Page 37: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 37

Diagramas de Implantação

servidorWeb

Autenticação.exe

Cadastro.exe

servidorDeArquivos

FormCadastro.html

Principal.html

FormEntrada.html

servidorBancoDeDados

SGBD

O SGBD a serutilizado aindanão foi escolhido.

PC - G309

NestscapeCommunicator

5.0

Page 38: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

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

Page 39: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 39

Diagramas de Use Cases

Page 40: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 40

Origem

• Ivar Jacobson• Alistair Cockburn

Page 41: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 41

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.

Page 42: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 42

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)

Page 43: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 43

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

Page 44: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 44

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

Page 45: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 45

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.

Page 46: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 46

Casos de Uso

Notação

Nome do caso de uso

Page 47: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 47

Casos de Uso

Exemplo

Realizar reserva Cadastrar cliente

Page 48: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 48

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.

Page 49: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 49

Atores

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

interage com o sistema.

Page 50: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 50

Atores

Notação

Nome do ator

Page 51: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 51

Atores

Aluno

Exemplo

Page 52: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 52

Atores

Exemplo

Usuário

Aluno Professor

generalização

Page 53: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 53

Atores

• Atores podem ser conectados a casos de uso apenas por associação (uma linha que une o ator ao caso de uso).

• Uma associação entre um ator e um caso de uso indica que o ator e o caso de uso comunicam-se, cada um, possivelmente, enviando e recendo mensagens.

Page 54: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 54

Identificando Atores

• Para identificar atores, pergunte: Quem usa o sistema? Que outros sistemas usam este sistema? Quem obtém informação deste sistema? Quem fornece informação para o sistema? Alguma coisa acontece automaticamente neste sistema? Quem dá suporte e mantém o sistema? Onde o sistema será utilizado na empresa?

Page 55: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 55

Identificando Casos de Uso

• Para identificar casos de uso, o seguinte método pode ser utilizado: Identifique os atores relacionados a um sistema Para cada ator, identifique os processos que eles iniciam ou dos quais eles

participam.

Page 56: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 56

Identificando Casos de Uso

• Para identificar casos de uso, pergunte: Para que o ator usará o sistema? O ator irá criar, armazenar, modificar, excluir ou consultar dados no sistema? O ator necessitará informar o sistema sobre eventos externos ou mudanças? O ator deverá ser informado sobre certas ocorrências no sistema?

Page 57: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 57

Diagrama de Casos de Uso

• Um Diagrama de Casos de Uso exibe um conjunto de casos de uso para um sistema, os atores e a relação entre os atores e os casos de uso.

• A finalidade do diagrama é apresentar um tipo de diagrama de contexto, através do qual pode-se, rapidamente, compreender quais são os atores do sistema e as maneiras principais segundo eles o utilizam.

• Servem para facilitar o entendimento de um sistema mostrando a sua “visão externa”.

Page 58: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 58

Diagrama de Casos de Uso

Consultaracervo

Registrardevolução

RealizarReserva

Usuário

Aluno Professor

SolicitarCompra de Documentos

Bibliotecário

Cadastrardocumento

Realizarauditoria

Cadastrarusuário

Emprestartítulo

Page 59: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 59

Diagrama de Casos de Uso

Consultaracervo

Usuário Bibliotecário

• A seta usada nas associações indica a direção do início da comunicação entre os elementos do diagrama.

Page 60: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 60

Um engano com Casos de Uso

• Um engano comum com casos de uso é representar como casos de uso passos individuais, operações ou transações.

• Um caso de uso é uma descrição completa de um processo relativamente grande, que inclui, geralmente, muitos passos ou transações.

Page 61: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 61

Um engano com Casos de Uso

Calcular multa

Representação incorretade um caso de uso

Exemplo

Page 62: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 62

Categorizando Casos de Uso• Os casos de uso devem ser categorizados, de acordo com

sua importância: Casos de uso essenciais: representam processos comuns principais. Ex:

Realizar empréstimo Casos de uso desejáveis: representam processos menos importantes ou

raros. Ex: Realizar auditoria, Solicitar compra de documentos Casos de uso opcionais: representam processos que podem ou não ser

considerados

Page 63: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 63

Estrutura de um Caso de Uso

• Cabeçalho Nome Atores Descrição breve Tipo

• Fluxo de eventos normal• Fluxo de eventos alternativos• Requisitos não funcionais

Page 64: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 64

Cabeçalho de um Caso de Uso

• Cada descrição de caso de uso deve possuir um cabeçalho, no seguinte formato:

Caso de uso Nome do caso de usoAtores Lista de atoresVisão geral Descrição breveTipo (essencial, desejável, opcional)

Page 65: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 65

Descrição breve de um Caso de Uso

• A descrição breve deve conter o objetivo do caso de uso.• Exemplos:

Emprestar títuloPossibilita o empréstimo de títulos solicitados pelo usuário.

Cadastrar acervoProvê facilidades para criar, modificar e apagar informações de títulos e periódicos que fazem parte do acervo da biblioteca.

Page 66: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 66

Corpo de um Caso de Uso

• O corpo do caso de uso (fluxo de eventos) deve conter a descrição detalhada dos eventos trocados entre os atores e o sistema.

• As duas partes principais do fluxo de eventos são: fluxo de eventos básico (normal) e fluxo de eventos excepcionais ou alternativos.

Page 67: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 67

Corpo de um Caso de Uso

• O fluxo de eventos básico descreve o que acontece normalmente quando o caso de uso é executado.

• O fluxo de eventos alternativos descreve o comportamento de caráter opcional ou excepcional em relação ao comportamento normal.

Page 68: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 68

Corpo de um Caso de Uso

• É importante descrever: como e quando o caso de uso inicia e finaliza quando o caso de uso interage com os atores quais os objetos trocados na interação os fluxos de eventos alternativos ou excepcionais

Page 69: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 69

Descrevendo Casos de Uso

Caso de uso Realizar empréstimoAtores Usuário (iniciador), BibliotecárioVisão geral Possibilita o empréstimo de títulos

solicitados pelo clienteTipo essencial

Exemplo - Caso de uso Realizar empréstimo

Page 70: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 70

Descrevendo Casos de Uso

Fluxo de eventos básico: 1. O caso de uso inicia quando o usuário deseja realizar o empréstimo de um título. 2. O bibliotecário digita o código do título e a matrícula do usuário. 3. O sistema verifica se o usuário está cadastrado. 4. O sistema verifica se não há reservas para o título. 5. O sistema realiza o empréstimo, guardando a data e a hora em que a operação foi realizada e o caso de uso finaliza.

Exemplo - Caso de uso Realizar empréstimo

Page 71: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 71

Descrevendo Casos de Uso

Fluxo de eventos excepcional: 1. No passo 3, se o usuário ainda não tiver sido

cadastrado na biblioteca, o sistema não permite que o empréstimo seja realizado.

Requisitos não funcionais:1. A operação de empréstimo deve retornar o resultado

da efetivação do empréstimo em, no máximo, 30 segundos.

Continuação do exemplo

Page 72: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 72

Descrevendo Casos de Uso

• Os casos de uso podem ser descritos com variáveis graus de detalhe, bem como de comprometimentos a decisões de projeto, ou seja, o mesmo caso de uso pode ser escrito em diferentes formatos, com diferentes níveis de detalhes.

Page 73: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 73

Relacionamentos entre casos de uso

• Há dois tipos possíveis de relacionamentos entre casos de uso: inclui e estende.

Page 74: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 74

Relacionamentos entre casos de uso

• O relacionamento inclui deve ser utilizado quando um conjunto de passos do fluxo de eventos se repete para vários casos de uso.

• O comportamento comum a vários casos de uso é colocado em um caso de uso à parte, chamado caso de uso de inclusão.

• O caso de uso de inclusão é, em geral, abstrato, ou seja, não pode ser instanciado.

Page 75: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 75

Relacionamentos entre casos de uso

• Exemplo:

Registrardevolução

Emprestartítulo

Validarusuário

Bibliotecário

<<include>> <<include>>

Page 76: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 76

Relacionamentos entre casos de uso

Fluxo de eventos básico: 1. O caso de uso inicia quando o usuário deseja realizar o empréstimo de um título. 2. O bibliotecário digita o código do título e a matrícula do usuário. 3. Inclui Validar Usuário.4. O sistema verifica se não há reservas para o título. 5. O sistema realiza o empréstimo, guardando a data e a hora em que a operação foi realizada e o caso de uso finaliza.

Exemplo - Caso de uso Realizar Empréstimo

Page 77: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 77

Relacionamentos entre casos de uso• O relacionamento estende representa comportamento que é

opcional, ou seja, que só é executado sob determinadas condições.

• O uso do relacionamento estende permite separar comportamento obrigatório do comportamento opcional.

• Em certos casos, o caso de uso de extensão pode ter um comportamento independente do caso de uso base.

Page 78: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 78

Relacionamentos entre casos de uso• Exemplo:

Emprestartítulo

Cadastrarusuário

Bibliotecário <<extend>>

Page 79: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 79

Relacionamentos entre casos de uso

Fluxo de eventos básico: 1. O caso de uso inicia quando o usuário deseja realizar o empréstimo de um título. 2. O bibliotecário digita o código do título e a matrícula do usuário. 3. O sistema verifica se o usuário está cadastrado. 4. O sistema verifica se não há reservas para o título. 5. O sistema realiza o empréstimo, guardando a data e a hora em que a operação foi realizada e o caso de uso finaliza.

Exemplo - Caso de uso Realizar empréstimo

Page 80: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 80

Relacionamentos entre casos de uso

Fluxo de eventos excepcional: 1. No passo 3, se o cliente ainda não tiver sido

cadastrado na biblioteca, estende Cadastrar Usuário.

Continuação do exemplo

Page 81: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 81

Organização dos casos de uso em pacotes

• Quando o caso de uso se torna muito extenso, recomenda-se particioná-lo em pacotes.

• Um pacote é um agrupamento de elementos que têm uma forte coesão.

• Recomenda-se manter em um mesmo pacote os casos de uso que dizem respeito ao mesmo assunto e que têm relacionamentos (inclui e estende).

Page 82: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 82

Organização dos casos de uso em pacotes

Catalogação Aquisição de Documentos

Sistema de Controle Bibliotecário

Controle de Circulação

Page 83: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 83

Limitações

• Os casos de uso são excelentes para capturar os requisitos funcionais de um sistema, entretanto, tem as seguintes limitações: Não facilitam muito o levantamento dos requisitos não funcionais do sistema. A sua correta interpretação requer sempre um processo de aprendizagem e

ambientação, por parte tanto dos utilizadores quanto dos programadores.

Page 84: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 84

Um exemplo do mundo real

• Empresa: TRE/PE• Sistema: Sistema de Monitoramento do Plano de Ação• Objetivo: facilitar o gerenciamento e o acompanhamento das

informações relativas ao Plano de Ações das Unidades, observando as vinculações orçamentárias e os prazos programados.

Page 85: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Diagrama de Classes

85

Page 86: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Diagramas UML para Design de BDs

86

Diagrama Descrição

Casos de Uso É um modelo das funcionalidades do sistema e o ambiente que suporta os processos do negócio. Este modelo serve como um contrato entre o cliente e os desenvolvedores.

Interação Os Diagramas de Interação correspondem aos Diagramas de Seqüência e Colaboração, que mostram a interação dos objetos com o sistema. Eles podem ser usados para entender consultas que irão afetar o banco de dados e também ajudam a construir indíces baseados na informação modelada.

Atividade Mostram o fluxo de um processo. Eles podem ser usados para mostrar alguma visão de alto nível do negócio e como ele funciona.

Gráfico de Estados Captura o comportamento dinâmico do sistema ou objetos dentro do sistema.

Classe São modelos lógicos que mostram a estrutura básica do sistema.

Banco de Dados Descreve a estrutura do banco de dados, incluindo tabelas, colunas, constraints e etc.

Componente Mostra o armazenamento físico do banco de dados, incluindo o SGBD, tablespaces e partições. Eles também podem incluir aplicações e as interfaces usadas por elas para acessar o banco de dados.

Deployment Mostra a configuração do hardware que está sendo usado pelo banco de dados e aplicações.

Page 87: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Diagrama de Classes

• Mapeamento entre Modelos

Utilização de estereótipos para identificar os elementos Apenas classes e atributos persistentes serão mapeados Ex.: Um atributo chamado valor_do_pedido, que é um

campo calculado (somatório do valor de todos os produtos de um pedido) não seria necessário ser armazenado no banco de dados

87

UML Banco de Dados EstereótipoClasse Tabela <<Table>>Atributo Coluna <<Column>>, <<PK>>, <<FK>>Tipos Tipos de Dados -Associações Relacionamentos <<Identifying>>, <<Non-identifying>>

Page 88: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Diagramas de Classes (2)

• Mapeamento de Classes para Tabelas 1:1, 1:N e N:N Associações N:N devem ser quebradas em

relacionamentos 1:N, através de uma tabela de associação Mapeamento entre subtipos de classes

• Uma tabela por classe• Uma tabela por classe concreta• Uma tabela por hierarquia

88

Page 89: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Diagrama de Classes (3)

• Uma Tabela por Classe

89

<<Tabela>>Cliente

PK codigo : INTEGER

nome : VARCHAR(30)

telefone : VARCHAR(15)

tipo: CHAR(1)

<<Tabela>>ClienteFisico

PK/FK codigo : INTEGER

cpf : VARCHAR(10)

data_nasc : DATE

<<Tabela>>ClienteJurídico

PK/FK codigo : INTEGER

cnpj : VARCHAR(15)

Page 90: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Diagrama de Classes (4)

• Uma Tabela por Classe Concreta

90

<<Tabela>>ClienteJurídico

PK codigo : INTEGER

nome : VARCHAR(30)

telefone : VARCHAR(15)

cnpj : VARCHAR(15)

<<Tabela>>ClienteFísico

PK codigo : INTEGER

nome : VARCHAR(30)

telefone : VARCHAR(15)

cpf : VARCHAR(10)

data_nasc : DATE

Page 91: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Diagrama de Classes (5)

• Uma Tabela por Hierarquia

91

<<Tabela>>Cliente

PK codigo : INTEGER

nome : VARCHAR(30)

telefone : VARCHAR(15)

cpf : VARCHAR(10)

cnpj : VARCHAR(15)

data_nasc : DATE

tipo: CHAR(1)

Page 92: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Diagrama de Classes (6)

• Tipos de Atributos

92

Tipo Genérico Tipo de Dados Padrão ANSI SQL 92 DescriçãoBoolean Bit Verdadeiro (T) ou Falso (F)

Currency Decimal Números reais com até 15 dígitos do lado esquerdo do ponto decimal e 4 dígitos do lado direito

Date Date Data e Hora

Double Double Precision Números reais com 15-16 dígitos de precisão

Integer Decimal Números inteiros acimda de 4 dígitos de precisão

Long Decimal Números inteiros acima de 10 dígitos de precisão

Single Decimal Números reais acima de 7 dígitos de precisão

String Varchar / Char Ilimitado número de caracteres

Page 93: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Diagrama de Classes (7)

• Elementos

93

Page 94: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Diagrama de Classes (8)

• Demonstração de um Exemplo utilizando o JUDE

94

Page 95: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Diagrama de Classes (9)

• Demonstração de um Exemplo utilizando o JUDE

95

Page 96: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 96

Referências

• The Unified Modelling Language User Guide (Grady Booch)• The Unified Modelling Language Reference Manual (James

Rumbaugh)• The Unified Software Development Process (Ivar Jacobson)• UML Distilled (Martin Fowler)• http://pt.wikipedia.org/wiki/UML• http://pt.wikipedia.org/wiki/Casos_de_Uso• Database Design for Smarties (Robert J. Muller)• Apostila da Qualiti Software Processes

Page 97: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD

Referências

• Naiburg, E., Maksumchuk, R. UML for Database Design, Addsison Wesley, 2001

• Guedes, G. UML – Uma Abordagem Prática, Novatec, 2003

97

Page 98: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 98

Dúvidas?

Page 99: CIn/UFPE – IN1008 - Projeto Conceitual de BD 2 3 IN1008 – Projeto Conceitual de BD Diagramas UML para Modelagem de Dados Por: Clarissa César Borba ccb@cin.ufpe.br

CIn/UFPE – IN1008 - Projeto Conceitual de BD 99

IN1008 – Projeto Conceitual de BD

Diagramas UML para Modelagem de

Dados

Por:Clarissa César Borba

[email protected]

Fabrício [email protected]