Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.