A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

O que é modelagem orientada a objetos?

Apresentações semelhantes


Apresentação em tema: "O que é modelagem orientada a objetos?"— Transcrição da apresentação:

1 O que é modelagem orientada a objetos?
Descrição diagramática de algo a ser (ou que já foi) implementado em linguagem de programação Utilizam notações gráfica e textuais. Representam as partes essenciais de um sistema. Técnico Subsequente

2 Conhecer uma linguagem de modelagem
UML, segunda versão Os quatorzes diagramas de UML Para que serve cada diagrama Técnico Subsequente

3 Exemplos de Modelos Orientados a Objetos
Diagrama de Caso de Uso Técnico Subsequente

4 Exemplos de Modelos Orientados a Objetos
Diagrama de Classes Técnico Subsequente

5 EXERCÍCIO EM SALA Observe a imagem abaixo, e diga quais objetos você consegue identificar? Técnico Subsequente

6 Objeto Um objeto pode ser real ou abstrato.
Os objetos possuem informações (contém dados) e desempenham ações (possuem funcionalidade). No software OO: Um objeto é qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados e os métodos que os manipulam. Identificar os atributos e o comportamento de objetos do mundo real é o primeiro passo para começar a pensar em programação OO.

7 Objeto Exemplo: Uma fatura; Uma organização; Um vôo de avião;
Uma pessoa; Um lugar.

8 Objeto Analise os seguintes objeto e pergunte:
Quais as características que esse objeto pode ter? Quais os possíveis comportamentos que ele pode executar?

9 Abstração Habilidade mental que permite os seres humanos visualizarem os problemas do mundo real com vários graus de detalhes, dependendo do contexto corrente do problema.  Nós aprendemos a abstrair desde pequenos, criamos conceitos, assumimos verdades, entendemos o mundo de acordo com a nossa capacidade intelectual.

10 Visão do Projeto

11 Classes Uma classe é uma implementação de um tipo de objeto.
Uma classe especifica uma estrutura de dados e os métodos operacionais permissíveis que se aplicam a cada um de seus objetos. As classes de programação são projetos de um objeto, aonde têm características e comportamentos, ou seja, permite armazenar propriedades e métodos dentro dela.

12 Classe Pessoa Técnico Subsequente

13 Classe Banco Atributos Métodos

14 Idade e Peso são atributos da
Atributos da Classe Atributos identificam características da classe, ou seja, “o que a classe tem”, por exemplo, todo animal possui uma idade e peso. São os elementos que definem a estrutura de uma classe, ou seja suas características. Idade e Peso são atributos da classe Animal public $valor1; public $valor2;

15 Métodos da Classe • Métodos são as ações que a classe será capaz de realizar, podemos relacionar os métodos ao “o que o objeto da classe pode fazer”. Por exemplo, um animal pode andar, grunir, etc... Os métodos determinam o comportamento dos objetos de uma classe. Os métodos são similares às funções e procedures do universo da programação estruturada. function soma(){ echo 'Soma:'.$this->valor1 += $this->valor2. "<br> "; } Andar() e Grunir() são métodos da classe

16 Instância Representa cada ocorrência de um objeto formados a partir de uma classe. É o mesmo que criar o objeto a partir da classe Exemplo PHP OO $calcular = new Operacoes(); $calcular->valor1=50; $calcular->valor2=100; Técnico Subsequente

17 DIAGRAMA DE CLASSE Médio Integrado

18 Diagrama de Classes Revisando... Introdução – Diagrama de classes
Elementos do diagrama de classes Exemplo: Sistema de matrícula © LES/PUC-Rio

19 Introdução – Diagrama de Classes
Mostra um conjunto de classes e seus relacionamentos. É o diagrama central da modelagem orientada a objetos. Turma código: Texto sala: Texto horario: Horario estaAberta() definirProfessor(professor) incluirAluno(aluno) está-matriculado-em é-ministrada-por Aluno nome: Texto matrícula: Inteiro definirNome(nome) obterNome() definirMatricula(matricula) obterMatricula Professor nome: Texto titulação: Texto definirNome(nome) obterNome() definirTitulacao(titulo) obterTitulacao © LES/PUC-Rio

20 Elementos – Diagrama de Classes
Elementos de um diagrama de classes Classes Relacionamentos Associação Agregação Composição Generalização Dependência © LES/PUC-Rio

21 Elementos – Diagrama de Classes
Elementos de um diagrama de classes Classes Relacionamentos Associação Agregação Composição Generalização Dependência © LES/PUC-Rio

22 Elementos – Diagrama de Classes
Graficamente, as classes são representadas por retângulos incluindo nome, atributos e métodos. Devem receber nomes de acordo com o vocabulário do domínio do problema. É comum adotar um padrão para nomeá-las Ex: todos os nomes de classes serão substantivos singulares com a primeira letra maiúscula Nome_da_classe atributo1 atributo2 ... metodo1 metodo2 metodo3 © LES/PUC-Rio

23 Elementos – Diagrama de Classes
Atributos Representam o conjunto de características (estado) dos objetos daquela classe Visibilidade: + público: visível em qualquer classe de qualquer pacote # protegido: visível para classes do mesmo pacote - privado: visível somente para classe Exemplo: + nome : String Funcionario codigo: int +nome:String cpf: int #salario: float + Gravar() + Alterar() + Excluir() © LES/PUC-Rio

24 Elementos – Diagrama de Classes
Métodos Representam o conjunto de operações (comportamento) que a classe fornece Visibilidade: + público: visível em qualquer classe de qualquer pacote # protegido: visível para classes do mesmo pacote - privado: visível somente para classe Exemplo: - getNome() : String © LES/PUC-Rio

25 Atividade... Possuímos 2 classes, ClasseA e ClasseB. Ambas estão com as operações(métodos) definidas como pública. O que significa isso? Qual visibilidade devemos definir para que a operação2 e a operação3 fiquem visíveis apenas para a própria classe? Qual visibilidade (diferente de pública) devemos definir para que a operação1 fique visível para a ClasseC? ClasseA atributo1:int atributo2:int + operacao1( ) + operacao2( ) ClasseA atributo1:int atributo2:int + operacao1( ) + operacao3( ) ClasseC

26 Exercício Avaliativo – 2,0 pontos
Represente, por meio de um diagrama de classes, o fato de uma empresa possuir diversos departamentos, em cada um destes estão lotados diversos funcionários. Cada departamento possui um chefe que também deve ser lotado no respectivo departamento.

27 Exemplo prático Técnico Subsequente

28 Técnico Subsequente

29 Elementos – Diagrama de Classes
Elementos de um diagrama de classes Classes Relacionamentos Associação Agregação Composição Generalização Dependência © LES/PUC-Rio

30 Elementos – Diagrama de Classes
Relacionamentos Os relacionamentos possuem: Nome: descrição dada ao relacionamento (faz, tem, possui,...) Sentido de leitura Multiplicidade: 0..1, 0..*, 1, 1..*, 2, 3..7 Tipo: associação (agregação, composição), generalização e dependência Papéis: desempenhados por classes em um relacionamento © LES/PUC-Rio

31 Elementos – Diagrama de Classes
(Multiplicidade) Especifica o número de objetos de cada classe envolvidos com a associação Relacionamentos nome multiplicidade sentido de leitura Pessoa 1..* trabalha para * Empresa empregado empregador Tipo: associação papéis © LES/PUC-Rio

32 Elementos – Diagrama de Classes
Elementos de um diagrama de classes Classes Relacionamentos Associação Agregação Composição Generalização Dependência © LES/PUC-Rio

33 Elementos – Diagrama de Classes
Relacionamentos: Associação Uma associação é um relacionamento estrutural que indica que os objetos de uma classe estão vinculados a objetos de outra classe. Uma associação é representada por uma linha sólida conectando duas classes. Pessoa Empresa associação © LES/PUC-Rio

34 Elementos – Diagrama de Classes
Relacionamentos: Associação Indicadores de multiplicidade: 1 Exatamente um 1..* Um ou mais 0..* Zero ou mais (muitos) * muitos 0..1 Zero ou um m..n Faixa de valores (por exemplo: 4..7) (Multiplicidade) Especifica o número de objetos de cada classe envolvidos com a associação multiplicidade Aluno 0..* Estuda apenas em 0..1 Curso associação © LES/PUC-Rio

35 Relacionamentos: Associação
Exemplo: Um Estudante pode ser um aluno de uma Disciplina e um jogador da Equipe de Futebol Cada Disciplina deve ser cursada por no mínimo 1 aluno Um aluno pode cursar de 0 até 8 disciplinas © LES/PUC-Rio

36 Elementos – Diagrama de Classes
Elementos de um diagrama de classes Classes Relacionamentos Associação Agregação Composição Generalização Dependência © LES/PUC-Rio

37 Elementos – Diagrama de Classes
Relacionamento: Agregação É um tipo especial de associação, onde uma classe faz parte da outra Utilizada para indicar “todo-parte” um objeto “parte” pode fazer parte de vários objetos “todo” todo parte 1 Item Pedido 1..* agregação © LES/PUC-Rio

38 Elementos – Diagrama de Classes
Elementos de um diagrama de classes Classes Relacionamentos Associação Agregação Composição Generalização Dependência © LES/PUC-Rio

39 Elementos – Diagrama de Classes
Relacionamento: Composição É uma variante semanticamente mais “forte” da agregação A composição não vive sem o todo Exemplo Dependentes é parte de pessoa Pessoa Nome Fone listaEmprego():String Emprego Nome Area Salário calculaBonus():String Dependentes Nome Data de nascimento * 1 1 * Composição Agregação © LES/PUC-Rio

40 Elementos – Diagrama de Classes
Elementos de um diagrama de classes Classes Relacionamentos Associação Agregação Composição Generalização Dependência © LES/PUC-Rio

41 Elementos – Diagrama de Classes
Relacionamento: Generalização É um relacionamento entre itens gerais (superclasses) e itens mais específicos (subclasses) Veículo superclasse “é um” “é um tipo de” Terrestre Aéreo subclasse © LES/PUC-Rio

42 Elementos – Diagrama de Classes
Elementos de um diagrama de classes Classes Relacionamentos Associação Agregação Composição Generalização Dependência © LES/PUC-Rio

43 Elementos – Diagrama de Classes
Relacionamento: Dependência Representa que a alteração de um objeto (o objeto indepedendente) pode afetar outro objeto (o objeto dependente) Ex: Obs: A classe cliente depende de algum serviço da classe fornecedor A mudança de estado do fornecedor afeta o objeto cliente cliente fornecedor © LES/PUC-Rio

44 Exercício Avaliativo –
Represente, por meio de um diagrama de classes, o fato de uma empresa possuir diversos departamentos, em cada um destes estão lotados diversos funcionários. Cada departamento possui um chefe que também deve ser lotado no respectivo departamento.

45 Exercício Avaliativo –
3,0  Uma loja que vende roupas possui um sistema capaz de controlar a venda e o estoque. Cada roupa possui um código de barras, um tamanho e o número de exemplares que a loja possui daquela roupa.  Os clientes da loja são cadastrados pelo nome  Faça um diagrama de classe. Técnico Subsequente

46 Exercício Avaliativo –
2,0 pontos Desenvolva o Diagrama de Classes para um sistema de cursos de informática equivalente ao módulo de matrícula de acordo com os seguintes fatos: Um curso pode ter muitas turmas, no entanto, uma turma se relaciona exclusivamente com um único curso. Uma turma pode ter diversos alunos matriculados, no entanto uma matrícula refere-se exclusivamente a uma determinada turma. Cada turma tem um número mínimo de matrículas para iniciar o curso. Um aluno pode realizar muitas matrículas, mas cada matrícula refere-se exclusivamente a uma turma específica e a um único aluno.

47 Técnico Subsequente


Carregar ppt "O que é modelagem orientada a objetos?"

Apresentações semelhantes


Anúncios Google