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

Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Bloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docxBloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docxkellyneamaral
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 

Último (20)

Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Bloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docxBloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docx
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 

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;