Introdução à modelagem orientada a objetos Técnico Subsequente
Roteiro O que é modelagem orientada a objetos Quais as vantagens de modelar Que conhecimentos precisam ser adquiridos para aprender a modelar Técnico Subsequente
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
Para que modelagem orientada a objetos? Não seria esforço dobrado modelar e depois codificar? Não seria fazer a mesma coisa duas vezes? É preciso compreender que as respostas para as duas perguntas é “Não” Técnico Subsequente
Para que modelagem orientada a objetos? Para auxiliar a concepção de uma solução Exemplo das engenharias: Todo empreendimento complexo demanda um esforço de planejamento antes da construção Exemplos: edificações, estradas, veículos, equipamentos eletrônicos etc. Ninguém constrói um edifício partindo diretamente para o assentamento de tijolos (sem planejamento prévio) Técnico Subsequente
Para que modelagem orientada a objetos? Exemplos das engenharias mostram que situações complexas exigem tratamento diferente de situações não complexas Construção de um edifício de 20 andares: necessidade de projeto prévio Técnico Subsequente
Para que modelagem orientada a objetos? Construção de uma casa de cachorro: martelo, pregos e mãos-à-obra Técnico Subsequente
Para que modelagem orientada a objetos? Software complexo exige planejamento antes da construção Planejamento: modelagem orientada a objetos Construção: codificação Produto de Software Técnico Subsequente
Vantagens da modelagem orientada a objetos Descrição mais facilmente compreensível Mais próxima da forma como as pessoas pensam Não é natural “pensar” em linguagem de programação Técnico Subsequente
Vantagens da modelagem orientada a objetos Proporciona diferentes pontos de vista Descrição dos elementos que compõem um programa (estrutura) Possibilidade de visão global Possibilidade de atenção a detalhes Técnico Subsequente
O que aprender para modelar? 4 questões devem ser tratadas Conhecer os conceitos referentes a modelagem Conhecer uma linguagem de modelagem Saber que passos seguir Avaliar o que for produzido Técnico Subsequente
Conhecer uma linguagem de modelagem UML, segunda versão Os quatorzes diagramas de UML Para que serve cada diagrama Técnico Subsequente
Exemplos de Modelos Orientados a Objetos Diagrama de Caso de Uso Técnico Subsequente
Exemplos de Modelos Orientados a Objetos Diagrama de Classes Técnico Subsequente
Compromisso de chegar ao código... Objetivo final é um programa que compile e execute sem erros e que cumpra os requisitos estabelecidos A geração de código é uma das etapas do processo Código gerado subsidia o aperfeiçoamento da modelagem Técnico Subsequente
EXERCÍCIO EM SALA Observe a imagem abaixo, e diga quais objetos você consegue identificar? Técnico Subsequente
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.
Objeto Exemplo: Uma fatura; Uma organização; Um vôo de avião; Uma pessoa; Um lugar.
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?
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.
Visão do Projeto
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.
Classe Pessoa Técnico Subsequente
Classe Banco Atributos Métodos
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;
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
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
Exercício em sala Preencha as palavras cruzadas conforme o enunciado: Representa cada ocorrência de um objeto; Habilidade de visualizarem os problemas do mundo real com detalhes; Qualquer coisa do mundo real com limite e identifidade bem definido; Conjunto de objetos do mundo real que possuem tipos de características e de comportamentos em comum; Uma característica particular de uma ocorrência da classe; Linguagem de Modelagem Unificada; Técnico Subsequente
Palavra Cruzada 1 2 3 4 6 5 Técnico Subsequente
Palavra Cruzada I N S T A C A B T R A Ç Ã O O B J E O C L S S E 1 I N S T A C 2 A B T R A Ç Ã O 3 O B J E O C L S S E 4 6 A T R B T O U M L 5 Técnico Subsequente
REFERÊNCIA BIBLIOGRÁFICA SILVA, Ricardo P. e. UML 2 em modelagem orientada a objetos. Florianópolis, SC: Visual Books, 2007. 232p. Técnico Subsequente