SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
ANÁLISE PROJETO E
PROGRAMAÇÃO PARA WEB


CLASSE DE ASSOCIAÇÃO, DEPENDÊNCIA E
NORMALIZAÇÃO DO MODELO DE CLASSES
Profª. Maria Alice Jovinski
FASES DA CONSTRUÇÃO DO DIAGRAMA




                                                 Generalização e   Refinamento
   Classes       Associações         Atributos
                                                  Especialização    do modelo




   Classes candidatas e rejeitadas
IDENTIFICAÇÃO DAS CLASSES (1)
   Cada classe só deve ter uma representa um objeto,
    conceito ou evento, só deve ter propriedades
    associadas a um único “tema”;

   A primeira abordagem consiste em, a partir dos
    requisitos, procurar substantivos que nele estejam
    referenciados, mesmo que de forma implícita.

   Cada substantivo ou cada “tema” presente deve
    ser examinado, em termos da importância de
    armazenarmos informação sobre ele na BD;
IDENTIFICAÇÃO DAS CLASSES (2)
   Substantivos que produzam classes irrelevantes
    para o problema a resolver, deverão ser eliminadas
    da escolha preliminar assim como classes
    redundantes;

   Devemos ter cuidado com os nomes escolhidos
    para as classes. Se tivermos diversos substantivos
    parecidos, devemos escolher o que melhor se
    encaixe ao domínio do nosso problema;
IDENTIFICAÇÃO DAS CLASSES (3)
   Cada classe potencial dever ser examinada em
    termos das suas propriedades. Se uma classe
    assegura a existência de uma propriedade
    importante, deve ser mantida. Se não assegurar, se
    a classe servir apenas para fornecer um valor,
    deverá ser transformada num atributo;

   O teste de cada um dos mecanismo de interação
    entre o utilizador e o sistema, em princípio,
    permitirá determinar classes em falta;
IDENTIFICAÇÃO DE ASSOCIAÇÕES (1)
   Não podemos esquecer que uma associação
    descreve uma relação conceitual ou física entre
    classes;

   Para procurar essa dependência, um bom ponto de
    partida podem ser frases que contenham verbos
    usados numa estrutura substantivo-verbo-
    substantivo (“Uma venda é paga com um meio de
    pagamento”) . No entanto uma frase como “um
    meio de pagamento é o cartão de crédito ou um
    cheque ou dinheiro”, usa um verbo mas descreve
    uma relação do tipo “é um”, pelo que descreve uma
    generalização;
IDENTIFICAÇÃO DE ASSOCIAÇÕES (2)
   Procurar dependências, uma dependência entre
    classes pode ser uma associação (um voo chega
    ou parte a um aeroporto). Algumas associações
    podem resultar de conhecimentos gerais;

   Uma vez identificadas associações “candidatas”,
    deverão ser eliminadas as redundantes e as
    irrelevantes para o problema (aquelas que não têm
    associada informação importante para a BD);

   Deverá procurar evitar-se associações ternárias;
IDENTIFICAÇÃO DE ASSOCIAÇÕES (3)
   Cuidado com os nomes atribuídos às associações.
    Os nomes são importantes para tornar clara a
    natureza da relação entre as classes;

   Definir a multiplicidade de cada associação e os
    nomes dos papéis desempenhados;

   A revisão dos mecanismos de interação entre os
    utilizadores e o sistema permitirá detectar
    associações em falta;
IDENTIFICAÇÃO DE ATRIBUTOS EM CLASSES E
ASSOCIAÇÕES (1)

   Uma vez definida uma estrutura base de classes e
    associações, a especificação de requisitos deve ser
    percorrida, no sentido de identificar as propriedades
    de cada classe e associação. Muitas vezes são
    listadas explicitamente (“cada venda terá um recibo
    com nº, data e hora de emissão”);

   As frases possessivas e as enumerações são
    “fontes” de atributos;
IDENTIFICAÇÃO DE ATRIBUTOS EM CLASSES E
ASSOCIAÇÕES (2)

   Manter apenas os atributos que são relevantes para
    a aplicação;

   Notar atributos discordantes numa dada classe. Isso
    pode ser uma indicação de que a classe necessita de
    ser dividida;

   Uma classe deve ser simples e coerente;
DETECÇÃO DE GENERALIZAÇÃO /
ESPECIALIZAÇÃO
   As classes devem ser analisadas para determinar a
    necessidade de serem generalizadas (baixo para cima)
    ou especializadas;

   Cada classe só deve ser especializada se tiver atributos
    distintos, não basta que tenha valores distintos para os
    mesmos atributos;

   Frase do tipo “é uma” “é um” podem indicar
    generalização;

   Também se pode tentar encontra classes que tenham
    atributos semelhantes, que possam ser agrupados em
    super-classes;
REFINAMENTO DO MODELO
   Revisão e melhoria da modelagem;
CLASSE DE ASSOCIAÇÃO
   É um elemento de modelagem que tem associação
    e propriedades de classe;

   É um único elemento do modelo e tem apenas um
    nome;

   Em caso de multiplicidade de associação 1 para 1
    basta uma classe para representar a situação,
    fundindo os atributos e operações;

   Em caso de multiplicidade de associação 0 para 1
    ou * para *, nasce a classe associativa;
CLASSE DE ASSOCIAÇÃO
   É representada como o símbolo de classe anexado por
    uma linha tracejada;




         Classe A                                  Classe B




                    Nome da classe de associação

                    atributos

                    operacao
DEPENDÊNCIA
 Indica a ocorrência de um relacionamento
  semântico entre dois ou mais elementos do modelo
  onde uma classe cliente é dependente de algum
  serviço da classe fornecedora;
 Não possui dependência estrutural;

 Mudanças na classe fornecedora podem afetar as
  classes clientes;


                     Dependência
       Classe                        Classe
     Fornecedora                     Cliente
TIPOS DE DEPENDÊNCIA

   Rastro
       Uma conexão histórica entre dois elementos que
        representam o mesmo conceito em níveis diferentes de
        significado;


   Refinamento
       Um histórico ou conexão de derivação entre dois elementos
        com um mapeamento entre eles;
TIPOS DE DEPENDÊNCIA

   Ligação
       Uma ligação de parâmetros de modelo para valores reais
        visando criar um elemento não parametrizado;


   Uso
       Uma situação na qual um elemento requer a presença de
        outro para sua implementação e funcionamento correto.
        Exemplo: chamar uma operação de outra classe,
        conceder permissão de acesso, instanciar um objeto de
        outra classe;
NORMALIZAÇÃO

   É um processo normal que examina os atributos de
    classes com o intuito de minimizar redundância de
    objetos específicos;

   Simplifica os atributos dentro das classes, colabora
    para a integridade e a estabilidade do modelo;

   Alguns atributos determinam o valor de outros,
    criando relações onde os atributos determinantes
    são reagrupados;
NORMALIZAÇÃO

   Dependente da modelagem de banco de dados;

   Um estrutura de atributos não normalizada está na
    zeríssima forma normal;
1ª FORMA NORMAL
   Remoção de grupos repetidos;

   É verifica quando em determinadas estruturas de
    atributos existem dados repetidos;

   Exemplo:
                               Pedido

                     numero_pedido
                     codigo_pedido
                     nome_cliente
                     data_pedido
                     codigo_produto[15]
                     quantidade_produto[15]
                     descricao_produto[15]
1ª FORMA NORMAL
 Aplicando a 1ª forma normal gera a classe Pedido
  Item que herdará os valores repetidos da classe
  Pedido;
 A relação é de agregação de pedido item com
  pedido;

             Pedido                            Pedido Item

    numero_pedido
                      1         1..*   codigo_produto[15]
    codigo_pedido                      quantidade_produto[15]
    nome_cliente                       descricao_produto[15]
    data_pedido
1ª FORMA NORMAL
   Como obter a 1ª forma normal:

       Verificar se há atributos repetidos na classe;

       Destacar os atributos repetidos e suas respectivas
        operações, criando uma nova classe com esses itens;

       Estabelecer a associação de agregação regular e
        multiplicidade entre as classes;

Mais conteúdo relacionado

Mais procurados

Mais procurados (10)

Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAA
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Modelagem de Sistemas de Informação 08 - Diagrama de Classes
Modelagem de Sistemas de Informação 08 - Diagrama de ClassesModelagem de Sistemas de Informação 08 - Diagrama de Classes
Modelagem de Sistemas de Informação 08 - Diagrama de Classes
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
8 02
8 028 02
8 02
 
Uml Diagramas estruturais - parte escrita
Uml   Diagramas estruturais - parte escritaUml   Diagramas estruturais - parte escrita
Uml Diagramas estruturais - parte escrita
 
Uml
UmlUml
Uml
 
Uml
UmlUml
Uml
 
Si diagrama de classes
Si  diagrama de classesSi  diagrama de classes
Si diagrama de classes
 

Semelhante a Análise de projeto e programação para web - Classes, associações e normalização

Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxAula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxCarlos Albuquerque
 
pec-12-patterns-intro.ppt
pec-12-patterns-intro.pptpec-12-patterns-intro.ppt
pec-12-patterns-intro.pptssuser7025cf
 
Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosApresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosmauroladeiafilho
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introduçãoelliando dias
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04Antonio Alves
 
Object Oriented Programming
Object Oriented Programming Object Oriented Programming
Object Oriented Programming Alexandre Schmidt
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaMoises Omena
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5oliveiraprog
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objetoelliando dias
 
Script c
Script cScript c
Script cRaphael
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Ryan Padilha
 

Semelhante a Análise de projeto e programação para web - Classes, associações e normalização (20)

Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxAula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
 
pec-12-patterns-intro.ppt
pec-12-patterns-intro.pptpec-12-patterns-intro.ppt
pec-12-patterns-intro.ppt
 
Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosApresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplos
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
Sld 4
Sld 4Sld 4
Sld 4
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
03 poo
03 poo03 poo
03 poo
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04
 
Object Oriented Programming
Object Oriented Programming Object Oriented Programming
Object Oriented Programming
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objeto
 
Script c
Script cScript c
Script c
 
POO.pdf
POO.pdfPOO.pdf
POO.pdf
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de ClassesAnálise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 

Mais de Maria Alice Jovinski

Marketing pessoal você é sua melhor marca
Marketing pessoal   você é sua melhor marcaMarketing pessoal   você é sua melhor marca
Marketing pessoal você é sua melhor marcaMaria Alice Jovinski
 
5º P - Propaganda Marketing Digital
5º P - Propaganda Marketing Digital5º P - Propaganda Marketing Digital
5º P - Propaganda Marketing DigitalMaria Alice Jovinski
 
Marketing Digital - Publicação e Encontrabilidade
Marketing Digital - Publicação e EncontrabilidadeMarketing Digital - Publicação e Encontrabilidade
Marketing Digital - Publicação e EncontrabilidadeMaria Alice Jovinski
 
Aula de Revisão 1º parcial - Marketing Digital
Aula de Revisão 1º parcial - Marketing DigitalAula de Revisão 1º parcial - Marketing Digital
Aula de Revisão 1º parcial - Marketing DigitalMaria Alice Jovinski
 
Aula 01 introdução marketing digital
Aula 01   introdução marketing digitalAula 01   introdução marketing digital
Aula 01 introdução marketing digitalMaria Alice Jovinski
 
Revisão 2º bimestre - Marketing Digital TSI
Revisão 2º bimestre - Marketing Digital TSIRevisão 2º bimestre - Marketing Digital TSI
Revisão 2º bimestre - Marketing Digital TSIMaria Alice Jovinski
 
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSIAula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSIMaria Alice Jovinski
 
Aula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoAula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoMaria Alice Jovinski
 
Aula diagrama de colaboracao 3º periodo uniao
Aula diagrama de colaboracao 3º periodo uniaoAula diagrama de colaboracao 3º periodo uniao
Aula diagrama de colaboracao 3º periodo uniaoMaria Alice Jovinski
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoMaria Alice Jovinski
 
Aula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniaoAula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniaoMaria Alice Jovinski
 
Marketing digital - Aula Google Analytics
Marketing digital - Aula Google AnalyticsMarketing digital - Aula Google Analytics
Marketing digital - Aula Google AnalyticsMaria Alice Jovinski
 
Aula diagrama de interação - 3º periodo uniao
Aula diagrama de interação - 3º periodo uniaoAula diagrama de interação - 3º periodo uniao
Aula diagrama de interação - 3º periodo uniaoMaria Alice Jovinski
 
Aula de Revisão - Marketing Digital - 1º bimestre
Aula de Revisão - Marketing Digital -  1º bimestreAula de Revisão - Marketing Digital -  1º bimestre
Aula de Revisão - Marketing Digital - 1º bimestreMaria Alice Jovinski
 
Aula classes abstratas 3º periodo uniao
Aula classes abstratas  3º periodo uniaoAula classes abstratas  3º periodo uniao
Aula classes abstratas 3º periodo uniaoMaria Alice Jovinski
 

Mais de Maria Alice Jovinski (18)

Marketing pessoal você é sua melhor marca
Marketing pessoal   você é sua melhor marcaMarketing pessoal   você é sua melhor marca
Marketing pessoal você é sua melhor marca
 
5º P - Propaganda Marketing Digital
5º P - Propaganda Marketing Digital5º P - Propaganda Marketing Digital
5º P - Propaganda Marketing Digital
 
AOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de UsoAOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de Uso
 
Marketing Digital - Publicação e Encontrabilidade
Marketing Digital - Publicação e EncontrabilidadeMarketing Digital - Publicação e Encontrabilidade
Marketing Digital - Publicação e Encontrabilidade
 
Aula de Revisão 1º parcial - Marketing Digital
Aula de Revisão 1º parcial - Marketing DigitalAula de Revisão 1º parcial - Marketing Digital
Aula de Revisão 1º parcial - Marketing Digital
 
Aula 01 introdução aoo
Aula 01   introdução aooAula 01   introdução aoo
Aula 01 introdução aoo
 
Aula 01 introdução marketing digital
Aula 01   introdução marketing digitalAula 01   introdução marketing digital
Aula 01 introdução marketing digital
 
Revisão 2º bimestre - Marketing Digital TSI
Revisão 2º bimestre - Marketing Digital TSIRevisão 2º bimestre - Marketing Digital TSI
Revisão 2º bimestre - Marketing Digital TSI
 
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSIAula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI
 
Aula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoAula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniao
 
Aula diagrama de colaboracao 3º periodo uniao
Aula diagrama de colaboracao 3º periodo uniaoAula diagrama de colaboracao 3º periodo uniao
Aula diagrama de colaboracao 3º periodo uniao
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniao
 
Aula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniaoAula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniao
 
Marketing digital - Aula Google Analytics
Marketing digital - Aula Google AnalyticsMarketing digital - Aula Google Analytics
Marketing digital - Aula Google Analytics
 
Md aula 10
Md   aula 10Md   aula 10
Md aula 10
 
Aula diagrama de interação - 3º periodo uniao
Aula diagrama de interação - 3º periodo uniaoAula diagrama de interação - 3º periodo uniao
Aula diagrama de interação - 3º periodo uniao
 
Aula de Revisão - Marketing Digital - 1º bimestre
Aula de Revisão - Marketing Digital -  1º bimestreAula de Revisão - Marketing Digital -  1º bimestre
Aula de Revisão - Marketing Digital - 1º bimestre
 
Aula classes abstratas 3º periodo uniao
Aula classes abstratas  3º periodo uniaoAula classes abstratas  3º periodo uniao
Aula classes abstratas 3º periodo uniao
 

Último

ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
Caixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarCaixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarIedaGoethe
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptxpamelacastro71
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 

Último (20)

ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
Caixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarCaixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogar
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptx
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 

Análise de projeto e programação para web - Classes, associações e normalização

  • 1. ANÁLISE PROJETO E PROGRAMAÇÃO PARA WEB CLASSE DE ASSOCIAÇÃO, DEPENDÊNCIA E NORMALIZAÇÃO DO MODELO DE CLASSES Profª. Maria Alice Jovinski
  • 2. FASES DA CONSTRUÇÃO DO DIAGRAMA Generalização e Refinamento Classes Associações Atributos Especialização do modelo Classes candidatas e rejeitadas
  • 3. IDENTIFICAÇÃO DAS CLASSES (1)  Cada classe só deve ter uma representa um objeto, conceito ou evento, só deve ter propriedades associadas a um único “tema”;  A primeira abordagem consiste em, a partir dos requisitos, procurar substantivos que nele estejam referenciados, mesmo que de forma implícita.  Cada substantivo ou cada “tema” presente deve ser examinado, em termos da importância de armazenarmos informação sobre ele na BD;
  • 4. IDENTIFICAÇÃO DAS CLASSES (2)  Substantivos que produzam classes irrelevantes para o problema a resolver, deverão ser eliminadas da escolha preliminar assim como classes redundantes;  Devemos ter cuidado com os nomes escolhidos para as classes. Se tivermos diversos substantivos parecidos, devemos escolher o que melhor se encaixe ao domínio do nosso problema;
  • 5. IDENTIFICAÇÃO DAS CLASSES (3)  Cada classe potencial dever ser examinada em termos das suas propriedades. Se uma classe assegura a existência de uma propriedade importante, deve ser mantida. Se não assegurar, se a classe servir apenas para fornecer um valor, deverá ser transformada num atributo;  O teste de cada um dos mecanismo de interação entre o utilizador e o sistema, em princípio, permitirá determinar classes em falta;
  • 6. IDENTIFICAÇÃO DE ASSOCIAÇÕES (1)  Não podemos esquecer que uma associação descreve uma relação conceitual ou física entre classes;  Para procurar essa dependência, um bom ponto de partida podem ser frases que contenham verbos usados numa estrutura substantivo-verbo- substantivo (“Uma venda é paga com um meio de pagamento”) . No entanto uma frase como “um meio de pagamento é o cartão de crédito ou um cheque ou dinheiro”, usa um verbo mas descreve uma relação do tipo “é um”, pelo que descreve uma generalização;
  • 7. IDENTIFICAÇÃO DE ASSOCIAÇÕES (2)  Procurar dependências, uma dependência entre classes pode ser uma associação (um voo chega ou parte a um aeroporto). Algumas associações podem resultar de conhecimentos gerais;  Uma vez identificadas associações “candidatas”, deverão ser eliminadas as redundantes e as irrelevantes para o problema (aquelas que não têm associada informação importante para a BD);  Deverá procurar evitar-se associações ternárias;
  • 8. IDENTIFICAÇÃO DE ASSOCIAÇÕES (3)  Cuidado com os nomes atribuídos às associações. Os nomes são importantes para tornar clara a natureza da relação entre as classes;  Definir a multiplicidade de cada associação e os nomes dos papéis desempenhados;  A revisão dos mecanismos de interação entre os utilizadores e o sistema permitirá detectar associações em falta;
  • 9. IDENTIFICAÇÃO DE ATRIBUTOS EM CLASSES E ASSOCIAÇÕES (1)  Uma vez definida uma estrutura base de classes e associações, a especificação de requisitos deve ser percorrida, no sentido de identificar as propriedades de cada classe e associação. Muitas vezes são listadas explicitamente (“cada venda terá um recibo com nº, data e hora de emissão”);  As frases possessivas e as enumerações são “fontes” de atributos;
  • 10. IDENTIFICAÇÃO DE ATRIBUTOS EM CLASSES E ASSOCIAÇÕES (2)  Manter apenas os atributos que são relevantes para a aplicação;  Notar atributos discordantes numa dada classe. Isso pode ser uma indicação de que a classe necessita de ser dividida;  Uma classe deve ser simples e coerente;
  • 11. DETECÇÃO DE GENERALIZAÇÃO / ESPECIALIZAÇÃO  As classes devem ser analisadas para determinar a necessidade de serem generalizadas (baixo para cima) ou especializadas;  Cada classe só deve ser especializada se tiver atributos distintos, não basta que tenha valores distintos para os mesmos atributos;  Frase do tipo “é uma” “é um” podem indicar generalização;  Também se pode tentar encontra classes que tenham atributos semelhantes, que possam ser agrupados em super-classes;
  • 12. REFINAMENTO DO MODELO  Revisão e melhoria da modelagem;
  • 13. CLASSE DE ASSOCIAÇÃO  É um elemento de modelagem que tem associação e propriedades de classe;  É um único elemento do modelo e tem apenas um nome;  Em caso de multiplicidade de associação 1 para 1 basta uma classe para representar a situação, fundindo os atributos e operações;  Em caso de multiplicidade de associação 0 para 1 ou * para *, nasce a classe associativa;
  • 14. CLASSE DE ASSOCIAÇÃO  É representada como o símbolo de classe anexado por uma linha tracejada; Classe A Classe B Nome da classe de associação atributos operacao
  • 15. DEPENDÊNCIA  Indica a ocorrência de um relacionamento semântico entre dois ou mais elementos do modelo onde uma classe cliente é dependente de algum serviço da classe fornecedora;  Não possui dependência estrutural;  Mudanças na classe fornecedora podem afetar as classes clientes; Dependência Classe Classe Fornecedora Cliente
  • 16. TIPOS DE DEPENDÊNCIA  Rastro  Uma conexão histórica entre dois elementos que representam o mesmo conceito em níveis diferentes de significado;  Refinamento  Um histórico ou conexão de derivação entre dois elementos com um mapeamento entre eles;
  • 17. TIPOS DE DEPENDÊNCIA  Ligação  Uma ligação de parâmetros de modelo para valores reais visando criar um elemento não parametrizado;  Uso  Uma situação na qual um elemento requer a presença de outro para sua implementação e funcionamento correto. Exemplo: chamar uma operação de outra classe, conceder permissão de acesso, instanciar um objeto de outra classe;
  • 18. NORMALIZAÇÃO  É um processo normal que examina os atributos de classes com o intuito de minimizar redundância de objetos específicos;  Simplifica os atributos dentro das classes, colabora para a integridade e a estabilidade do modelo;  Alguns atributos determinam o valor de outros, criando relações onde os atributos determinantes são reagrupados;
  • 19. NORMALIZAÇÃO  Dependente da modelagem de banco de dados;  Um estrutura de atributos não normalizada está na zeríssima forma normal;
  • 20. 1ª FORMA NORMAL  Remoção de grupos repetidos;  É verifica quando em determinadas estruturas de atributos existem dados repetidos;  Exemplo: Pedido numero_pedido codigo_pedido nome_cliente data_pedido codigo_produto[15] quantidade_produto[15] descricao_produto[15]
  • 21. 1ª FORMA NORMAL  Aplicando a 1ª forma normal gera a classe Pedido Item que herdará os valores repetidos da classe Pedido;  A relação é de agregação de pedido item com pedido; Pedido Pedido Item numero_pedido 1 1..* codigo_produto[15] codigo_pedido quantidade_produto[15] nome_cliente descricao_produto[15] data_pedido
  • 22. 1ª FORMA NORMAL  Como obter a 1ª forma normal:  Verificar se há atributos repetidos na classe;  Destacar os atributos repetidos e suas respectivas operações, criando uma nova classe com esses itens;  Estabelecer a associação de agregação regular e multiplicidade entre as classes;