Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML...

28
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage

Transcript of Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML...

Page 1: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Análise e Projetos de Sistemas

UML-Linguagem de Modelagem UnificadaModelo de Dados com UML

Diagrama de ClassesProfessor: Armando Hage

Page 2: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Diagramas de Classe

Representação dos dados manipulados e armazenados pelos programas de acordo com os conceitos de Orientação a Objetos.

Ilustram as classes, interfaces e seus relacionamentos.

Notação fortemente baseada no Diagrama Entidade-Relacionamento.

Page 3: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Descrevem os tipos de objetos no sistema e os vários relacionamentos estáticos entre eles, que são de 2 tipos associações subtipos (abstração)

Ilustram atributos e operações de uma classe e as restrições à maneira com que os objetos são conectados

Diagramas de Classe

Page 4: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

DIAGRAMA DE CLASSES

Classes Atributos Relacionamentos Operaçõe/Métodos Pacotes BD relacionais

Page 5: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

DIAGRAMA DE CLASSES

Page 6: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Atributos

Representa alguma propriedade do que está sendo modelado - identifica as características próprias da classe

Descrevem os dados contidos nas instâncias de uma classe

Podem ser identificados apenas com nomes Podem ter seus tipos (Classes) especificados e

terem valores padrão definidos

Page 7: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Atributos

Parede

altura : reallargura : realespessura : realviga : boolean = false

Page 8: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Visibilidade

Usar marcações de acesso para especificar o tipo de acesso permitido aos atributos e operações

Visibilidade: + público : visível em qualquer classe # protegido : qualquer descendente poderá usar - privado : visível somente dentro da classe

Exemplo:

+ saldoEM (date: Date): double

Page 9: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Operações/Métodos

Operação é algo que é executado em um objeto (procedimento de chamada)

Método é o corpo do procedimento Descreve o comportamento da classe Visibilidade

público protegido privado

Page 10: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Relacionamentos

Comunicação entre classes Definem responsabilidades

3 Tipos AOO: Associações

Agregação Composição

Generalização (herança) Dependências

Page 11: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Agregação

Herança

Composição

Dependência

Associação

Page 12: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Associação

Associação - Relacionamentos estruturais entre instâncias. Especifica que objetos de uma classe estão conectados a objetos de outras Ex: Em um sistema de engenharia civil, as salas são

formadas por paredes Associação unária, binária, n-ária

ternárias e superiores são mostradas com diamantes

Page 13: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Associação

Page 14: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Associação

Page 15: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Associação - Papel

Page 16: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Associação – Entre Objetos

Page 17: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Associação – Cardinalidade

Page 18: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Dependência

Dependência - Relacionamentos de utilização, no qual uma mudança na especificação de um elemento pode alterar a especificação do elemento dependente Ex: Em um sistema de engenharia civil, os canos

dependem do aquecedor para fornecerem água quente

Page 19: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Dependência Indica que mudanças em um elemento (o servidor)

podem afetar outro elemento (o cliente) Mostrar que uma classe usa outra como argumento na

assinatura de uma operação Dependência entre classes indica que os objetos de

uma classe usam serviços dos objetos de outra classe

Cliente Servidor

Page 20: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Import java.awt.Graphics;

class HelloWorld extends java.applet.Applet {

public void paint (Graphics g)

g.drawString(“Hello, world!”, 10, 10);

}

HelloWorld

paint()

Graphics

Applet

Dependência

Page 21: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Generalização Generalização (herança simples e múltipla) -

Relacionamento entre um elemento mais geral e um mais específico É um relacionamento de taxonomia entre um elemento

mais geral e um mais específico, que é totalmente consistente com o primeiro, somando-o informação especializada

Superclasse, subclasses Ex: Veículo terrestre pode ser do tipo automóvel ou

caminhão (TIPO DE), Tipos de Animal (mamífero, ave, peixe)

Page 22: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Generalização

Page 23: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Agregação (regular e de composição) Agregação Regular - tipo especial de associação -

relacionamento “é parte de, todo/parte” (diamante aberto) Forma especial de associação para mostrar que um

objeto é COMPOSTO - RELACIONAMENTO POR REFERÊNCIA

Semanticamente: objeto parte é um atributo do todo, e que a vida daquele é dependente da vida deste. Objetos parte não são criados a menos que o todo ao qual estão agregados seja criado. Destruído somente porquem o criou em primeiro lugar

Ex: pedido é composto por itens de pedido

Page 24: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Agregação

Objeto TODO mantém um ponteiro ou uma referência parasuas partes

Page 25: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Composição Composição - relacionamento entre um elemento

(o todo) e outros elementos (as partes) indica que as partes só podem pertencer ao “todo” e são criadas e destruídas com ele

É semanticamente esquivalente a um ATRIBUTO, mas pode ser mais atraente quando a parte tem uma estrutura interna

Objeto contido tem estrutura complexa e não pode ser compartilhado

Page 26: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Composição

Page 27: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Relacionamentos Nome

descrever a natureza do relacionamento Papel

função específica a executar nesse relacionamento Multiplicidade

quantidade de objetos que podem ser conectados no relacionamento

1, zero ou um (0..1), muitos (0..*), um ou mais (1..*) 0..1, 3..4, 6..* = o que significa?

Page 28: Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.

Relacionamentos