Buscar

Classes - Relacionamento

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Modelagem de Sistemas
Prof. Valentino D´Ambrosi Jr.
Seção 3
*
*
Nossas aulas
Seção 1 - 29/01/2014
Seção 2 - 05/02/2014 	
Seção 3 - 12/02/2014 – ED1
Seção 4 - 19/02/2014 - N1
Seção 5 - 21/02/2014 
Seção 6 - 26/02/2014 –ED2
Seção 7 - 05/03/2014 
Seção 8 – 12/03/2014 – N2
Seção 9 - 14/03/2014 – ED3
Seção 10 - 26/03/2014 – U2
*
*
Classes - Relacionamentos
*
*
Classes - Relacionamentos
É uma conexão entre classes.
É representado graficamente como um caminho, com um tipo diferente de linha para cada tipo de relacionamento.
Tipos:
Dependência
Generalização\Especialização
Associação
Agregação
*
*
Relacionamentos - Dependência
Relacionamento de utilização.
Determinando que uma classeA utiliza informações e serviços de outra classeB.
O inverso pode não ser verdade.
Representada graficamente com linhas tracejadas apontando a classe da qual a outra depende.
Usada quando uma classe depende de outra.
*
*
Relacionamentos - Dependência
Exemplo:
*
*
Relacionamentos
Generalização\Especialização
Relacionamento entre classes gerais (classes mães) e classes mais específicas (classes filha).
 Generalização significa que a classe filha é substituível por uma declaração da classe mãe.
A classe filha herda métodos e atributos da classe mãe.
As classes filhas normalmente tem mais atributos e métodos que a classe mãe.
*
*
Relacionamentos
Generalização\Especialização
Polimorfismo = a operação de uma classe filha, com a mesma assinatura de uma operação da classe mãe, prevalecerá.
Mesma assinatura = métodos com mesmo nome e mesmos parâmetros.
A relação de um classe filha com apenas uma classe mãe é chamada de herança.
A relação de de uma classe filha com mais de uma classe mãe é chamada de herança múltipla.
*
*
Relacionamentos
Generalização\Especialização
Generalização e especialização são dois pontos de vista do mesmo relacionamento.
Se a classe A é uma generalização da classe B, então B é uma especialização de A.
Termos utilizados:
Classe mãe pode ser chamada de superclasse, supertipo ou classe base.
Classe filha pode ser chamada de subclasse, subtipo ou classe herdeira.
*
*
Relacionamentos
Generalização\Especialização
Classes representam um conjunto de objetos que partilham um conjunto comum de propriedades (atributos e métodos).
Alguns objetos bastante semelhantes a outros podem possuir propriedades especificas.
Exemplo:Pessoa, PessoaFísica e PessoaJurídica.
*
*
Relacionamentos
Generalização\Especialização
Exemplo:
*
*
Relacionamentos - Associação
Responsável por conectar duas classes.
Com uma associação você é capaz de navegar de um objeto de uma classe até o objeto de outra classe e vice-versa.
Você pode ter uma conexão da classe A com a própria classe A.
Isso significa vínculos entre objetos da mesma classe.
*
*
Relacionamentos - Associação
Associação entre duas classes é associação binária.
Representada graficamente com uma linha sólida.
Uma associação pode ter um nome (bastante comum).
*
*
Relacionamentos - Associação
Exemplo:
*
*
Relacionamentos - Associação
As classes em uma associação possuem papéis específicos.
É possível, mas não obrigatório, nomear o papel de cada extremidade.
*
*
Associação - Multiplicidade
Associações permitem representar a informação dos limites superior e inferior da quantidade de objetos aos quais o outro pode estar associado.
Cada associação possui uma multiplicidade.
*
*
Associação - Multiplicidade
Exemplo:
*
*
Associação - Multiplicidade
Intervalo específico: o x e o y devem ser substituídos pelos valores do limite inferior e superior.
Pode também ser uma lista de intervalos: 1, 3,5…9, 11.
*
*
Relacionamentos - Agregação
Em uma associação as classes estão no mesmo nível.
Agregação é um relacionamento “todo/parte”.
Onde uma classe representa • o “todo” e a outra classe representa a “parte”.
Um objeto do “todo” tem um objeto da “parte”.
É um tipo especial de associação.
*
*
Relacionamentos - Agregação
Exemplo:
*
*
Modelagem de Dependências - Exercício
Crie uma dependência apontando, a partir da classe que executa a operação, a classe utilizada como parâmetro nessa operação.
Exemplo:
*
*
Modelagem de Herança 
Exercício
Em um conjunto de classes procure responsabilidades, atributos e métodos que sejam comuns a duas ou mais classes.
Coloque as responsabilidades, atributos e métodos comuns em uma classe mais geral 
Exemplo:
*
*
Modelagem de Associação 
Exercício
Para cada par de classes, caso seja necessário navegar entre elas, especifique uma associação.
Para cada associação especifique uma multiplicidade.
Especifique os nomes dos papéis se ajudar a entender o modelo.
Se uma das classes de uma associação pertencer a outra utilize agregação.
*
*
Modelagem de Associação
Exemplo:
*
*
Identificação de Classes
Em 1983 Russel Abbott propôs a seguinte técnica para identificação de classes:
Reunir diversas fontes de informações do sistema a ser modelado: documento de requisitos, modelos de negócios, conhecimento sobre o domínio etc.
Nesses documentos destacar substantivos e adjetivos.
Sinônimos são removidos.
*
*
Identificação de Classes
Cada termo que sobrar é classificado em uma das 3 situações:
O termo se torna uma classe (classe candidata).
O termo se torna um atributo.
O termo não tem relevância alguma ao problema a ser modelado.
Em seguida destacamos os verbos da documentação.
Verbos com sentido de “ação” (calcular, confirmar, comprar, etc) são métodos em potencial.
*
*
Identificação de Classes
Verbos com sentido de “ter” são agregações em potencial.
Os verbos que sobrarem são associações em potencial.
Resumo:
*
*
DIAGRAMA DE OBJETOS
*
*
Diagrama de Objetos
Também chamado de diagrama de instâncias.
Objetos são instâncias de classes.
Exibe uma fotografia do sistema em determinado momento.
Pode exibir os valores dos atributos de um objeto.
*
*
Diagrama de Objetos
Cada objeto é representado por uma caixa com duas partes.
Parte superior: identificação do objeto
Parte inferior (opcional): valores para atributos da classe do objeto.
Exemplo:
*
*
Diagrama de Objetos
Identificação do objeto sempre sublinhada.
Primeiro caracter de cada palavra do nome da classe com letra maiúscula.
Primeiro caracter da primeira palavra do nome de um objeto é com letra minúscula.
O nome do objeto pode ser omitido.
A segunda parte deve apresentar o nome do atributo e um valor.
*
*
Diagrama de Objetos
Formatos para identificação de objetos:
*
*
Diagrama de Objetos
Exemplo (diagrama de classes):
*
*
Diagrama de Objetos
Exemplo: 
*
*
Diagrama de Objetos
Pouco utilizados.
Utilidade: auxiliar o entendimento de um relacionamento complexo de um diagrama de classe.
Utilizado nos diagramas de interação (principalmente no de comunicação).
Diagrama de Classe descreve situação geral X Diagrama de Objeto descreve situação específica.
*
*
Diagrama de Objetos
Exemplo 2:
*
*
Diagrama de Objetos - Modelagem
Identifique qual parte do sistema deseja-se modelar.
Congele o cenário em um determinado momento e represente cada objeto que é participante.
Exponha os valores dos atributos de cada um desses objetos, conforme necessidade, para compreensão do cenário.
Exponha os relacionamentos existentes entre esses objetos.
*
*
Diagrama de Objetos
Engenharia reversa = criação de um modelo a partir de código.
Diagrama de objetos é útil no processo de engenharia reversa.
Utilizado no momento de depuração de um código.
*
*
Contato
valentino.junior@bilac.com.br	
Obrigado pela 
atenção de todos(as).
@
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes