Você está na página 1de 50

Casos de Uso

UCB - Universidade Castelo Branco

Prof.: Kleber Pereira

Caso de Uso - Representao Grfica

Caso de uso

Ator

UCB - Universidade Castelo Branco

Prof.: Kleber Pereira

Caso de Uso Fronteira do Sistema

UCB - Universidade Castelo Branco

Prof.: Kleber Pereira

Definio de Ator
Vrias pessoas podem ser representadas por um nico ator

UCB - Universidade Castelo Branco

Prof.: Kleber Pereira

Definio de Ator
Uma pessoa pode atuar como mais de um ator

UCB - Universidade Castelo Branco

Prof.: Kleber Pereira

Definio de Ator
Ator

Primrio: Estimula o sistema a reagir Secundrio: Responde s solicitaes do sistema.

Ator

UCB - Universidade Castelo Branco

Prof.: Kleber Pereira

Considere um sistema de uma faculdade. Existem dois tipos de pessoa que operam o sistema: O administrador do sistema e a secretria. O aluno no interage diretamente com o sistema. por intermdio da secretria que o aluno faz solicitaes. Entre elas, o aluno pode pedir o histrico escolar e o relatrio de faltas por disciplina. Os professores tambm interagem diretamente com o sistema, lanando as notas e faltas dos alunos. Ao administrador, permitido cadastrar cursos, professores, alunos e disciplinas. Define os atores e os casos de uso do sistema.

UCB - Universidade Castelo Branco

Prof.: Kleber Pereira

Gabarito

UCB - Universidade Castelo Branco

Prof.: Kleber Pereira

Relacionamento entre Casos de Uso e Atores


Associao (Association) Representa a interao do ator com o caso de uso, ou seja, a comunicao entre atores e casos de uso, por meio do envio e recebimento de mensagens. As associaes entre casos de uso so sempre binrias, ou seja, envolvem apenas dois elementos. Representam o nico relacionamento possvel entre atores e casos de uso.

UCB - Universidade Castelo Branco

Prof.: Kleber Pereira

Relacionamento entre Casos de Uso e Atores


Incluso (Include) Um relacionamento de incluso indica que um deles ter seu procedimento copiado num local especificado no outro caso de uso, identificado como base.

UCB - Universidade Castelo Branco

10

Prof.: Kleber Pereira

Relacionamento entre Casos de Uso e Atores - Include

UCB - Universidade Castelo Branco

11

Prof.: Kleber Pereira

Relacionamento entre Casos de Uso e Atores - Include


No sistema de Caixa Bancrio, os casos de uso Realizar saque, Obter extrato e Realizar transferncia precisam incluir como o cliente ser identificado no sistema. Este comportamento pode ser fatorado em um caso de uso chamado Fornecer identificao que os trs casos de uso incluem. Da perspectiva dos casos de uso base, no importa qual mtodo utilizado para a identificao, se senha, carto, identificao de retina, etc, s interessando o resultado. Da perspectiva do caso de uso includo, no importa qual caso de uso o esta utilizando (incluindo) ou como o resultado sera processado.

UCB - Universidade Castelo Branco

12

Prof.: Kleber Pereira

Relacionamento entre Casos de Uso e Atores


Extenso (Extends) Um relacionamento de extenso entre casos de uso indica que um deles ter seu procedimento acrescido, em um ponto de extenso, de outro caso de uso, identificado como base.

UCB - Universidade Castelo Branco

13

Prof.: Kleber Pereira

Relacionamento entre Casos de Uso e Atores - Extends

UCB - Universidade Castelo Branco

14

Prof.: Kleber Pereira

Relacionamento entre Casos de Uso e Atores - Extends

UCB - Universidade Castelo Branco

15

Prof.: Kleber Pereira

Relacionamento entre Casos de Uso e Atores - Generalizao

UCB - Universidade Castelo Branco

16

Prof.: Kleber Pereira

Caso de Uso - Multiplicidade da Associao

L-se: um cliente faz 0 ou vrios saques, um saque feito por somente um cliente. Idem para depsito.

UCB - Universidade Castelo Branco

17

Prof.: Kleber Pereira

Caso de Uso Pacotes


Um pacote corresponde a um agrupamento de qualquer elemento de modelo, como casos de uso, classes, estados, etc.

UCB - Universidade Castelo Branco

18

Prof.: Kleber Pereira

Complete o diagrama de casos de uso, definindo o relacionamento entre os atores e casos de uso.

UCB - Universidade Castelo Branco

19

Prof.: Kleber Pereira

Gabarito

UCB - Universidade Castelo Branco

20

Prof.: Kleber Pereira

Identifique os Casos de Uso para os seguintes problemas: 1) Sistema Bancrio

Um cliente poder abrir uma conta, depositar, fazer saques (manual e automtico), consultar saldo, alterar sua senha e aplicar em fundos (em terminais ou Internet). O gerente far a abertura da conta e a consulta ao saldo do cliente. O caixa far o saque manual, a alterao da senha e a consulta ao saldo.

UCB - Universidade Castelo Branco

21

Prof.: Kleber Pereira

Gabarito

UCB - Universidade Castelo Branco

22

Prof.: Kleber Pereira

Documentao associada ao modelo de casos de uso

UCB - Universidade Castelo Branco

23

Prof.: Kleber Pereira

Construo do modelo de casos de uso

Cenrio Perfeito: impossvel tudo ocorrer sem problemas !

Desenvolver os Cenrios Alternativos !


UCB - Universidade Castelo Branco 24 Prof.: Kleber Pereira

Anatomia do Caso de Uso

UCB - Universidade Castelo Branco

25

Prof.: Kleber Pereira

Anatomia do Caso de Uso

UCB - Universidade Castelo Branco

26

Prof.: Kleber Pereira

Anatomia do Caso de Uso


Fluxo Bsico 1. O Cliente informa a opo de Saque. 2. O Sistema solicita o valor do saque. 3. O Cliente informa o valor e confirma a operao. 4. O Sistema verifica o valor informado. 5. O Sistema verifica o saldo do cliente. 6. O Sistema debita o valor sacado do saldo do cliente 7. O Sistema entrega o dinheiro. 8. Fim do caso de uso.

UCB - Universidade Castelo Branco

27

Prof.: Kleber Pereira

Anatomia do Caso de Uso


Fluxos Alternativos A1. Saldo insuficiente 1. No passo 5 do fluxo bsico o Sistema verificou que o cliente no possui saldo. 2. O Sistema informa o saldo disponvel. 3. O caso de uso volta para o passo 8 do fluxo bsico. A2. Valor informado invlido 1. No passo 4 do fluxo bsico o sistema verificou que o valor informado invlido. 2. O sistema informa que o valor invlido. 3. O sistema informa as regras para valores vlidos. 4. O caso de uso volta para o passo 2 do fluxo bsico

UCB - Universidade Castelo Branco

28

Prof.: Kleber Pereira

Estudo de caso - Mdulo de Pedidos

UCB - Universidade Castelo Branco

29

Prof.: Kleber Pereira

Consultar Andamento do Pedido


Descrio: Permite verificar a situao do pedido, sempre que solicitado por usurio autorizado. Para pedidos desmembrados, as partes podem estar em situaes diferentes. Caso de Uso Geral: No tem. Ator Principal: Cliente. Ator Secundrio: Atendente. Pr-condies: O usurio deve estar identificado por um dos mtodos disponveis. Ps-condies: Informao sobre a situao geral do pedido realizado pelo cliente.

UCB - Universidade Castelo Branco

30

Prof.: Kleber Pereira

Consultar Andamento do Pedido


Fluxo Principal (ou Bsico): 1. Obter identificao do pedido; 2. Verificar identificao do pedido; 3. Incluir o caso de uso Validar Usurio; 4. Para cada parte do pedido, recuperar situao da parte; 5. Reportar situao geral do pedido, detalhada, conforme as possveis situaes do pedido; 6. Terminar caso de uso.

UCB - Universidade Castelo Branco

31

Prof.: Kleber Pereira

Consultar Andamento do Pedido


Fluxos Secundrios (ou Alternativos): A1: Cancelamento 1. No passo 1, se o usurio solicitar cancelamento, o caso de uso terminado. A2: Identificao Invlida 1. No passo 2, se a identificao fornecida pelo usurio for invlida, conforme regras de validao para identificao do pedido, o usurio informado e o caso de uso volta ao passo 1.

UCB - Universidade Castelo Branco

32

Prof.: Kleber Pereira

Consultar Andamento do Pedido


Fluxos Secundrios (ou Alternativos): A3: Pedido Inexistente 1. No passo 2, se a identificao do pedido no esta cadastrada no sistema, o caso de uso terminado. A4: Usurio Invlido 1. No passo 3, se o caso de uso Validar Usurio retornar usurio invlido ou no autorizado, o caso de uso terminado

UCB - Universidade Castelo Branco

33

Prof.: Kleber Pereira

Realizar Pedido
Descrio: Permite inserir novos pedidos no sistema, sempre que solicitado por um cliente. Os pedidos so inseridos no sistema por intermdio de um atendente. Caso de Uso Geral: No tem. Ator Principal: Cliente. Ator Secundrio: Atendente. Pr-condies: O usurio deve estar identificado por um dos mtodos disponveis. Ps-condies: Pedido cadastrado no sistema

UCB - Universidade Castelo Branco

34

Prof.: Kleber Pereira

Realizar Pedido
Fluxo Principal (ou Bsico): 1. Incluir o caso de uso Validar Usurio; 2. Para cada item, coletar os dados de produto e quantidade; 3. Definir a prioridade do pedido; 4. Submeter pedido para processamento; 5. Terminar caso de uso.

UCB - Universidade Castelo Branco

35

Prof.: Kleber Pereira

Realizar Pedido
Fluxos Secundrios (ou Alternativos): A1: Usurio Invlido 1. No passo 1, se o caso de uso Validar Usurio retornar usurio invlido ou no autorizado, o caso de uso terminado. A2: Produto Inexistente ou Fora de Estoque 1. Para cada item, no passo 2, verificar-se- se o produto comercializado pela empresa e se o estoque maior que zero. Caso no seja comercializado ou o estoque esteja zerado, informar ao usurio sobre a situao e permanecer no recebimento de produto.

UCB - Universidade Castelo Branco

36

Prof.: Kleber Pereira

Realizar Pedido
Fluxos Secundrios (ou Alternativos): A3: Quantidade Solicitada Indisponvel 1. Para cada produto vlido, no passo 2, verificar-se- se a quantidade solicitada encontra-se disponvel. Caso a quantidade em estoque seja menor do que a solicitada, o usurio sera informado e o sistema volta a receber a quantidade para o produto j escolhido. A4: Pedido Urgente 1. No passo 3, quando o produto for definido como urgente, o caso de uso Definir Pedido como Urgente ser acionado.

UCB - Universidade Castelo Branco

37

Prof.: Kleber Pereira

Estudo de caso - Mdulo de Pedidos

UCB - Universidade Castelo Branco

38

Prof.: Kleber Pereira

Regras de negocio
So polticas, condies ou restries que devem ser consideradas na execuo dos processos existentes em uma organizao. Exemplo:

O valor total de um pedido igual a soma dos totais dos itens do pedido acrescido de 10% de taxa de entrega. Um cliente do banco no pode tirar mais de R$ 1.000,00 por dia de sua conta. Os pedidos para um cliente no especial devem ser pagos antecipadamente. O numero mximo de alunos por turma igual a 30. Um aluno deve ter a matricula cancelada se obtiver dois conceitos D no curso.

UCB - Universidade Castelo Branco

39

Prof.: Kleber Pereira

Diagrama de Classe

UCB - Universidade Castelo Branco

40

Prof.: Kleber Pereira

Diagrama de Classe

Abrange as Fases de Anlise e Projeto

UCB - Universidade Castelo Branco

41

Prof.: Kleber Pereira

Diagrama de Classe
Representao dos dados manipulados e armazenados pelos programas de acordo como os conceitos de Orientao a Objetos Notao fortemente baseado no Diagrama Entidade-Relacionamento de Peter Chen

UCB - Universidade Castelo Branco

42

Prof.: Kleber Pereira

Conhecendo os Diagramas da UML


Diagrama de Classes

UCB - Universidade Castelo Branco

43

Prof.: Kleber Pereira

Conhecendo os Diagramas da UML


Diagrama de Classes (Primeira abstrao)

. Correntista Correntista

. Conta Corrente ContaCorrente

. Lanamento Lancamento

UCB - Universidade Castelo Branco

44

Prof.: Kleber Pereira

Conhecendo os Diagramas da UML


Diagrama de Classes (Segunda abstrao)

. Correntista Correntista nome cpf endereco dataNascimento ...

. Conta Corrente ContaCorrente numero agencia dataAbertura senha ...

. Lanamento Lancamento data tipo valor numDocumento ...

UCB - Universidade Castelo Branco

45

Prof.: Kleber Pereira

Conhecendo os Diagramas da UML


Diagrama de Classes (Terceira abstrao)

. Correntista Correntista nome cpf endereco dataNascimento ...

. Conta Corrente ContaCorrente numero agencia dataAbertura senha ... abrirConta() bloquearConta() validarSenha(senha) ...

. Lanamento Lancamento data tipo valor numDocumento ... lancar() listarLancamen tos(periodo) ...

cadastrar() ...

UCB - Universidade Castelo Branco

46

Prof.: Kleber Pereira

Conhecendo os Diagramas da UML


Diagrama de Classes

As classes no vivem sozinhas... precisamos estabelecer seus relacionamentos !!!

UCB - Universidade Castelo Branco

47

Prof.: Kleber Pereira

Relacionamento entre objetos


As classe dentro do contexto da modelagem de um sistema, na sua maioria, nao trabalham sozinhas. Pelo contrario, elas colaboram umas com as outras por meio de relacionamento.

Associao Generalizao Dependncia Agregao Composio

UCB - Universidade Castelo Branco

48

Prof.: Kleber Pereira

Relacionamento entre objetos - Associao


Uma associao representada no diagrama de classes atravs de um segmento de reta ligando as classes as quais os objetos relacionados pertencem.

UCB - Universidade Castelo Branco

49

Prof.: Kleber Pereira

Generalizao / Especializao
um relacionamento entre um elemento mais geral e um elemento mais especfico.

UCB - Universidade Castelo Branco

50

Prof.: Kleber Pereira

Herana Mltipla
Classes herdando de mais de uma Classe.

Mamfero

AnimalVoador

Herana mltipla

Cachorro

Gato

Morcego

Passarinho

Gaviao

UCB - Universidade Castelo Branco

51

Prof.: Kleber Pereira

Dependncia
Uma dependncia entre dois elementos indica que mudana em um elemento pode causar mudanas no outro.

UCB - Universidade Castelo Branco

52

Prof.: Kleber Pereira

Relacionamento entre objetos - Agregao


Agregao estabelece uma relao todo-parte entre classes, sendo que a parte pode existir sem o todo.

Todo

Parte

UCB - Universidade Castelo Branco

53

Prof.: Kleber Pereira

Relacionamento entre objetos - Composio


Na composio, os objetos parte pertencem a um nico todo. Alem disso, objetos-parte so sempre criados e destrudos pelo objeto-todo.

UCB - Universidade Castelo Branco

54

Prof.: Kleber Pereira

Multiplicidade
Exemplo de utilizao dos smbolos de multiplicidade

Suponha que em uma corrida deve haver, no mximo 6 velocistas participantes

UCB - Universidade Castelo Branco

55

Prof.: Kleber Pereira

Diversas associaes entre duas classes


Considere que um departamento precisa saber quais so seus empregados e quem o seu gerente. Nesse caso, ha duas associaes diferentes, embora as classes envolvidas sejam as mesmas.

Duas associaes diferentes entres as mesma classes

UCB - Universidade Castelo Branco

56

Prof.: Kleber Pereira

Faa a multiplicidade entre as classes

UCB - Universidade Castelo Branco

57

Prof.: Kleber Pereira

Gabarito

UCB - Universidade Castelo Branco

58

Prof.: Kleber Pereira

Classes associativas
Salario e data de contratao, no so uma caracterstica de Pessoa e nem uma caracterstica de Empresa, e sim uma propriedade do relacionamento existente entre ambos.

UCB - Universidade Castelo Branco

59

Prof.: Kleber Pereira

Associaes reflexivas (auto-associao)


Uma associaes reflexiva associa objetos da mesma classe.

Nessa associao, ha objetos que assumem o papel de supervisor e outros objetos que assumem o papel de supervisionado.

UCB - Universidade Castelo Branco

60

Prof.: Kleber Pereira

Comanda eletrnica As informaes a seguir se referem a uma aplicao de controle de comanda eletrnica da padaria Doce Sabor do Seu Joaquim. O cliente usa uma comanda eletrnica durante suas compras na Padaria. A cada produto consumido, o atendente registra em sua comanda (que possui uma numerao) o produto e a quantidade. Ao passar no caixa na sada da padaria, a caixa l os gastos da comanda, finalizando a compra. Na leitura da comanda, verifica-se o valor unitrio de cada produto a fim de calcular o valor total da compra. Exerccio: Identifique as classes e atributos desse cenrio.

UCB - Universidade Castelo Branco

61

Prof.: Kleber Pereira

Gabarito

UCB - Universidade Castelo Branco

62

Prof.: Kleber Pereira

Diagrama de Sequncias

UCB - Universidade Castelo Branco

63

Prof.: Kleber Pereira

Diagrama de Sequncias
Diagrama de Sequncias so primariamente utilizados para a atribuio responsabilidades a cada um dos objetos do sistema identificar operaes. Completam o trip da anlise:

de

Casos de Uso - comportamento externo (funcional) Diagrama de Classes - viso esttica Diagrama de Sequncias - viso dinmica

UCB - Universidade Castelo Branco

64

Prof.: Kleber Pereira

Diagrama de Sequncias
Fazemos um Diagrama de Sequencia mostrando a interao dos objetos em um determinado cenrio, ou seja, para cada cenrio de um Caso de Uso teremos um Diagrama de Sequencia.

UCB - Universidade Castelo Branco

65

Prof.: Kleber Pereira

Diagrama de Sequncias
Diagrama de Classes Caso de Uso
Nome: Reservando Passagem Atores: Agente Curso de Eventos 1- Ujfsaj jfklsdj jfdkkj fl als ;a f a; 2- jfaskdjf lj kl;k kdfjasdkl lkssss 3- jsdkfklk lkkkk lopjfa[ pokfsao opw 4- skdjfI)kkk;PIO lkkfapp kjadfp 5- lkLKO oeppae fokkzp;xp pokf ;lp[ Alternativas 1- Ijfksa kJFKJ a;lkj ;kjfklasojk;a

MeioTransporte

...

Carro

Navio

Operaes

Diagrama de Seqncia
Janela de Entrada de Pedido criar() * criar() verifica () [verfifica = true] retirar_item() refabricar_item() um Pedido uma linha de Pedido um item em Estoque

[refabricar_item = true] new um Item de Refabricao

Objetos

[verfifica = true] new

um Item de Entrega

Interao

Cenrio

UCB - Universidade Castelo Branco

66

Prof.: Kleber Pereira

Diagrama de Sequncias

Elementos bsicos de um diagrama de sequncias

UCB - Universidade Castelo Branco

67

Prof.: Kleber Pereira

Diagrama de Sequncias

: TelaSaque
Correntista senha

C1: ContaCorrente

L1: Lancamento

validarSenha(senha)

saque verificarSaldo()

bloquearValor(saque) efetuarLancamento(C1)

debitarValor(saque) efetuarLancamento(C1)

aviso de liberao

UCB - Universidade Castelo Branco

68

Prof.: Kleber Pereira

Considere um processo X qualquer, na qual trabalham os funcionrios Antnio, Joo e Carlos. Num dado instante, o Gerente da Empresa solicita ao Antnio que prepare um relatrio de comisses para um determinado ms. Entretanto, para que o Antnio consiga preparar esse relatrio, ele precisa do total da cada vendedor, obtido no ms em foco, e essa informao quem tem o Joo. Ento, Antnio passa um e-mail para o Joo pedindo essa informao. Joo quando recebe essa mensagem (eletrnica) inicia os procedimentos necessrios para relacionar as vendas de cada vendedor. Todavia, ele s possui em mos a matrcula de cada vendedor e o seu total vendido. Mas ele pode conseguir o nome de cada vendedor com o Carlos. Assim, Joo passa um e-mail para o Carlos, enviando no corpo da mensagem a lista de matrculas que ele possui, solicitando que seu colega diga a quem pertence. Carlos, ao receber a mensagem, procura em suas fichas os nomes dos vendedores. De posse desses nomes, ele responde ao e-mail de Joo, acrescentando os nomes dos vendedores. Joo ao receber a resposta de Carlos, responde a mensagem original de Antnio, acrescentando no corpo da mensagem a lista de vendedores (matrcula e nome) acompanhada dos totais de vendas de cada um.

UCB - Universidade Castelo Branco

69

Prof.: Kleber Pereira

Antnio, quero o relatrio de comisses do ms passado

Preciso da lista de vendedores com o total de suas vendas

Joo

Antnio

Resposta

Resposta

A quem pertence as matriculas 100, 215, 300 e 500

Resposta

Carlos
UCB - Universidade Castelo Branco 70 Prof.: Kleber Pereira

Gabarito

UCB - Universidade Castelo Branco

71

Prof.: Kleber Pereira

Este exemplo refere-se a um Controle das vendas efetuadas por um conjunto de vendedores de uma loja de R$ 1,99. Nesse caso, no se controla os produtos vendidos. Ele contempla o Caso de Uso Registrar vendas

UCB - Universidade Castelo Branco

72

Prof.: Kleber Pereira

Registrar vendas Sumario: Permite cadastrar as vendas efetuadas pelos vendedores. Ator Primrio: Assistente de gerencia Precondies: O assistente esta identificado pelo sistema Fluxo principal 1. 2. 3. O sistema prepara uma lista dos vendedores cadastrados na loja O usurio informa o numero da venda O usurio informa ainda: 3.1. Data de venda 3.2. Valor da venda 4. O usurio seleciona o vendedor que efetuou a venda, a partir da lista j montada pelo sistema 5. O sistema efetua a gravao da venda Fluxo de Exceo (2): Venda j cadastrada a) Se o numero da venda j estiver cadastrado, informar ao usurio, mostrar as informaes da venda na tela e entrar em modo de alterao dos dados. Pos-condies: A venda efetuada pelo vendedor e cadastrada.

UCB - Universidade Castelo Branco

73

Prof.: Kleber Pereira

Gabarito

UCB - Universidade Castelo Branco

74

Prof.: Kleber Pereira

Mapeamento objeto relacional

UCB - Universidade Castelo Branco

75

Prof.: Kleber Pereira

Diferenas

Modelo Relacional:

Tabelas Linhas (tuplas) Colunas

Modelo Orientado a Objetos:


Classes Atributos Objetos Relacionamentos

UCB - Universidade Castelo Branco

76

Prof.: Kleber Pereira

Mapeamento de Classes e Atributos para o Modelo Relacional


A transposio do modelo de classes para o modelo relacional tem como objetivo final, a criao da base de dados do sistema, coerente com a modelagem da fase de anlise.

UCB - Universidade Castelo Branco

77

Prof.: Kleber Pereira

Transposio de Associaes

Gerenciado 1 0..1 Departamento -sigla : String -nome : String 1 Trabalha Empregado -matrcula : String -CPF : String -nome : String -endereo : String -CEP : String *

Alocado * *

Projeto -nome : String -verba : Decimal

UCB - Universidade Castelo Branco

78

Prof.: Kleber Pereira

Transposio de Associaes de Um para Um


Neste tipo de associao uma das tabelas dever herdar como um atributo normal (chave estrangeira) a chave primria da outra tabela. A determinao da tabela que herdar a chave estrangeira fica a critrio do analista e da interpretao que faz da realidade, devendo optar pelo que fizer mais sentido.

UCB - Universidade Castelo Branco

79

Prof.: Kleber Pereira

Transposio de Associaes de 1:1


Gerenciado 1 0..1 Departamento -sigla : String -nome : String Empregado -matrcula : String -CPF : String -nome : String -endereo : String -CEP : String

Departamento(id, sigla, nome, idEmpregadoGerente ) Empregado( id, matrcula, CPF, nome, endereo, CEP )

UCB - Universidade Castelo Branco

80

Prof.: Kleber Pereira

Transposio de Associaes de Um para Muitos


Numa associao de um para muitos, a tabela cujos registros so susceptveis de serem endereados diversas vezes que herda a referncia da tabela cuja correspondncia unitria.

UCB - Universidade Castelo Branco

81

Prof.: Kleber Pereira

Transposio de Associaes de 1:N

Departamento -sigla : String -nome : String 1 Trabalha

Empregado -matrcula : String -CPF : String -nome : String -endereo : String -CEP : String *

Departamento( id, sigla, nome, idEmpregadoGerente ) Empregado(id, matrcula, CPF, nome, endereo, CEP, idDepartamento)

UCB - Universidade Castelo Branco

82

Prof.: Kleber Pereira

Transposio de Associaes de Muitos para Muitos


A associao de muitos para muitos, caracteriza-se por fazer a correspondncia mltipla entre os elementos das classes associadas, sendo o nmero de correspondncias o mximo permitido pela combinao de dois elementos com ocorrncias variveis (nmero de registros). Assim a regra de transposio desta associao d origem a uma tabela representativa da associao onde a chave primria composta pelas chaves primrias das tabelas associadas.

UCB - Universidade Castelo Branco

83

Prof.: Kleber Pereira

Transposio de Associaes de N:N


Empregado -matrcula : String -CPF : String -nome : String -endereo : String -CEP : String

Alocado * *

Projeto -nome : String -verba : Decimal

Departamento(id, sigla, nome, idEmpregadoGerente) Empregado(id, matrcula, CPF, nome, endereo, CEP, idDepartamento) Alocao(idProjeto, idEmpregado) Projeto(id, nome, verba) Departamento(id, sigla, nome, idEmpregadoGerente) Empregado(id, matrcula, CPF, nome, endereo, CEP, idDepartamento) Alocao(id, idProjeto, idEmpregado) Projeto(id, nome, verba)

UCB - Universidade Castelo Branco

84

Prof.: Kleber Pereira

Transposio de Associaes de Agregao


A agregao tem como objetivo indicar a existncia de uma relao, onde os elementos da classe agregada fazem parte de um todo, representado pela classe agregadora. A transposio para o relacional obedece as regras de transposio das associaes com a mesma multiplicidade.

UCB - Universidade Castelo Branco

85

Prof.: Kleber Pereira

Transposio de Associaes de Agregao

Carro (id, codigo, marca, modelo) Roda (id, tipoPneu, tipoMaterial, id_carro) Volante (id, material, id_carro)

UCB - Universidade Castelo Branco

86

Prof.: Kleber Pereira

Transposio de Associaes de Composio


A composio tambm uma agregao, mas com um sentido mais forte. Neste caso, os elementos agregados fazem parte da composio que os une. No caso da composio ser eliminada, seus componentes tambm desaparecem. Na transposio para o relacional, a chave primria das tabelas que representam as classes componentes composta pela respectiva chave primria, associada chave primria da tabela referente classe composio.

UCB - Universidade Castelo Branco

87

Prof.: Kleber Pereira

Transposio de Associaes de Composio

Fatura (id, numeroFatura, data) Item (id_Fatura, id, numeroItem, produto, preo, )

UCB - Universidade Castelo Branco

88

Prof.: Kleber Pereira

Transposio de Associaes Reflexivas


Neste caso aplica-se as regras de associao descritas acima, atendendo as multiplicidades de cada associao.

supervisor 0..1 marido

1 * supervisionado

Empregado matrcula : String nome : String dataContratao : Data esposa 0..1

Empregado(id, matrcula, nome, dataContratao, idCnjunge, idSupervisor)

UCB - Universidade Castelo Branco

89

Prof.: Kleber Pereira

Transposio de Associaes n-rias


Neste caso aplica-se a regra da associao de um para um e de um para muitos.
Alocao Tcnico -nome * * Projeto -nome -verba

* Computador -modelo

Tcnico(id, nome) Projeto(id, nome, verba) Computador(id, modelo) Alocao(id, idProjeto, idTcnico, idComputador)

UCB - Universidade Castelo Branco

90

Prof.: Kleber Pereira

Transposio de Associaes de Classes Associativas


Neste caso aplica-se a regra da associao de muitos para muitos com classe associativa.
0..1 * Empregado matrcula nome Trabalho cargaHorria remunerao 0..1 Projeto sigla nome verbaAnual * *

lder

Ferramenta nome descrio

Utilizao dataUso

Empregado(id, matrcula, nome) Projeto(id, sigla, nome, verbaAnual, idEmpregadoLder) Ferramenta(id, nome, descrio) Utilizao(id, idFerramenta, idProjeto, dataUso ) idEmpregado, idProjeto, cargaHorria, Trabalho(id, remunerao)

UCB - Universidade Castelo Branco

91

Prof.: Kleber Pereira

Transposio de Associaes de Generalizaes


Contribuinte endereo

PessoaFsica CPF nome dataNascimento

PessoaJurdica CNPJ razoSocial

Contribuinte(id, endereo) PessoaFsica(id, nome, dataNascimento, CPF, idContribuinte) PessoaJurdica(id, CNPJ, razoSocial, idContribuinte) Pessoa(id, nome, endereo, dataNascimento, CPF, CNPJ, razoSocial, tipo) PessoaFsica(id, dataNascimento, nome, endereo, CPF) PessoaJurdica(id, CNPJ, endereo, razoSocial)

UCB - Universidade Castelo Branco

92

Prof.: Kleber Pereira

UCB - Universidade Castelo Branco

93

Prof.: Kleber Pereira

Gabarito

Caixa (id_caixa, numero) Transao (id_transao, numero, data, hora, tipo_operao, montante, id_caixa) Movimento (id_movimento, numero, id_transao, id_carto) Carto (id_carto, numero, limite, id_conta) Conta (id_conta, numero, saldo, limite_dirio)

UCB - Universidade Castelo Branco

94

Prof.: Kleber Pereira

UCB - Universidade Castelo Branco

95

Prof.: Kleber Pereira

Gabarito

Escola (id_escola, nome, endereo, telefone) Departamento (id_escola, id_departamento, nome) Aluno (id_aluno, matricula, nome, endereo, telefone, id_escola) Curso (id_curso, cdigo, nome, id_dpto) Instrutor_Curso (id_instrutor, id_curso) Curso_Aluno (id_curso, id_aluno) Instrutor (id_instrutor, nome, especialidade)

UCB - Universidade Castelo Branco

96

Prof.: Kleber Pereira

UCB - Universidade Castelo Branco

97

Prof.: Kleber Pereira

Gabarito

Pessoa (id_pessoa, nome, email) Aluno (id_aluno, matricula, id_pessoa) Professor (id_professor, titulao, id_pessoa) Habilitado (id_professor, id_disciplina) Avaliao (id_avaliao, cdigo, data, grau, id_pessoa, id_aluno, id_turma) Turma (id_turma, ano, perodo, cdigo, id_pessoa, id_professor, id_disciplina) Disciplina (id_disciplina, nome, cdigo, ementa)

UCB - Universidade Castelo Branco

98

Prof.: Kleber Pereira

UCB - Universidade Castelo Branco

99

Prof.: Kleber Pereira

Gabarito

Publicao (id_publicao, id_projeto) Projeto (id_projeto, ttulo, dt_inicio, dt_termino, financiadora, valor, objetivo, descrio, status) Colaborador (id_colaborador, nome, email, login, senha) Colabora (id_publicao, id_colaborador) Professor (id_professor, id_colaborador) Aluno (id_aluno, dt_ingresso, id_colaborador, id_orientao) Aluno_Pos (id_aluno_pos, regine, isDoutorando, id_colaborador, id_aluno) Aloca (id_colaborador, id_projeto) Orientao (id_orientao, descrio, ttulo, ano, id_professor )

UCB - Universidade Castelo Branco

100

Prof.: Kleber Pereira

Você também pode gostar