Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Análise e Projeto Orientado a Objetos
Introdução a Programação Orientada a Objetos
Princípios da Orientação a Objetos e a Linguagem UML
Programação Orientada a Objetos C++ Prof. Érico Olavo Weissheimer
Introdução ao Paradigma de Orientação a Objetos
Paradigmas de Programação
Engenharia de Software
Orientação por Objectos > Modelo de Processo OO > Identificação de Classe e Objectos Aula 12.
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Análise Orientada a Objetos
Modelagem Orientada a Objetos
Programação Orientada a Objetos*
Análise Orientada a Objetos
O Paradigma de Orientação a Objetos
Introdução ao paradigma de programação: Orientado a Objetos
AOO - Análise Orientado a Objetos
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Análise e Projetos de Sistemas
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Programação Orientada a Objetos
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Paulo J. Azevedo Departamento de Informática Universidade do Minho
Princípios e Conceitos de Software(v2)
Introdução a Programação Orientada a Objetos
Orientação a Objetos.
TÉCNICAS DE PROGRAMAÇÃO II
Análise Orientada a Objetos
Polimorfismo em C#.
Princípios de Orientação à Objetos
Diagrama de Classes e Colaboração
PROGRAMAÇÃO ORIENTADA À OBJETOS
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Laboratório de Programação I
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Métodos de Construção de Software: Orientação a Objetos
Oberdan Bitencourt Ferreira
Introdução à modelagem orientada a objetos
Professor: Márcio Amador
Orientação a Objetos Parte I
Programação Orientada à Objetos
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Modelagem Orientada a Objeto - UML
SISTEMAS DISTRIBUIDOS Aula 4
Aula prática 14 Orientação a Objetos – C++ Parte 2
Projeto Orientado aos Objetos Prof. Wolley W. Silva
PROGRAMAÇÃO ORIENTADA A OBJETOS
Ferramentas para Orientação a Objetos
POO Aula 03 Projeto OO com UML Eduardo Figueiredo 11 de Março de 2010.
Generalização e herança Agregação e composição
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos Professor: Cheli Mendes Costa Introdução a Programação Orientada.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
Introdução a Programação Orientada a Objetos
Objetos Distribuídos Frameworks Orientados a Objetos.
Introdução a Orientação a Objetos
Introdução à modelagem orientada a objetos
20/04/2017 Orientação a Objetos 1 1.
Projeto de Banco de Dados
Módulo II Capítulo 1: Orientação a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Continuação Modelagem Orientada a Objetos Técnico Subsequente.
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Análise Orientada a Objetos Por Patrícia Braga Centro Universitário Jorge Amado.
Análise Orientada a Objetos Prof. Wolley W. Silva
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI

Roteiro Conceitos de Orientação a Objetos O que é um Paradigma? Alguns Paradigmas Porque usar Orientação a Objetos? Técnicas de Desenvolvimento de Sistemas Orientados a Objetos Bibliografia

Conceitos de Orientação a Objetos Objeto ou Instância Classe Mensagem Abstração Herança Agregação ou Todo Parte Encapsulamento Polimorfismo

Objeto “Qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados e métodos que os manipulam” (Odell & Martin, 1995) Tudo em OO é Objeto

Objeto CASA CACHORRO

Objeto Objeto = Atributos + Métodos Encapsulamento

Objeto Objeto tem atributos ... Carro tem ... - nº de portas = 2 - cor = vermelho - fabricante = Volks - ano = 1995 - placa = XYZ-0102 Atributos -> representam um conjunto de informações, ou seja, elementos de dados que caracterizam o objeto São variáveis que definem o estado de um objeto, ou seja, são entidades que caracterizam os objetos Cada objeto possui seu próprio conjunto de atributos

Objeto Objeto tem métodos ... Carro tem ... - Ligar - Desligar - Acender Farol - Acionar Air-Bag - Travar Portas...

Classe Conjunto de objetos similares. Descreve a: Estrutura dos dados; e, Comportamento de objetos similares. Objeto = Instância de Classe Objetos de uma mesma classe diferenciam-se pelos valores de seus atributos.

Classe Objeto 1 Objeto 2 Classe Automovel numeroPortas cor fabricante ano placa Objeto 2

Classe Classe Pessoa classe Pessoa nome idade altura peso objeto Maria objeto Pedro Classe Pessoa nome idade altura peso

Mensagens Mecanismo através do qual os objetos se comunicam, invocando as operações desejadas. Um objeto (Emissor) envia uma mensagem a outro (Receptor) que executará uma tarefa. Métodos são invocados por Mensagens.

Abstração Mecanismo utilizado na análise do domínio. Capturar as informações essenciais das entidades ou objetos envolvidos no contexto do sistema sendo desenvolvido. Enfoca: visão externa do objeto separando seu comportamento de sua implementação.

Abstração “depende do ponto de vista”

Herança ou Especialização Permite definir uma nova classe (subclasse) a partir de uma classe já existente (superclasse). Quando se define herança a subclasse “herda” as características comuns da superclasse e pode ainda adicionar novos métodos ou reescrever métodos herdados.

Herança ou Especialização Pode ser: Simples Pessoa Jardineiro Arquiteto Diretor de Informática Ortopedista

Herança ou Especialização Relógio Rádio Rádio-Relógio Pode ser: Múltipla

Agregação ou Todo-Parte Composição de uma nova categoria como um agregado de categorias pré-existentes. Um objeto é composto por outros objetos. Pode ser: Por valor (casa – porta) Por referência (loja – porta)

Agregação ou Todo-Parte

Encapsulamento Objetivo: “ocultar” do mundo externo ao objeto os detalhes de implementação e restringir o acesso aos atributos e métodos. Vantagens: Segurança no acesso ao objeto Melhor consistência no estado interno, pois evita alteração incorreta de valores dos atributos

Encapsulamento Avião Obter Altitude Obter Velocidade Aumentar

Polimorfismo Membros de diferentes classes podem responder a uma mesma mensagem. Polimorfismo Janela ( ) Janela ( 1 x 2 , 2 ) Janela ( 1 x 2 , 2, Azul )

Paradigma Paradigma é a “filosofia” adotada na construção de software: Lógico Funcional Procedimental Orientado a Objetos

Paradigma Procedimental Visão de modelo baseada em um modelo de entrada-processamento-saída Dados são considerados separadamente das funções Funções são ativas e têm comportamento Dados são repositórios passivos de informação afetados por funções

Paradigma Orientado a Objetos Sugere a diminuição da distância entre a modelagem computacional e o mundo real. Surgiu na tentativa de solucionar problemas existentes no desenvolvimento de softwares complexos e confiáveis com baixo custo de desenvolvimento e manutenção.

Paradigma Orientado a Objetos Permite que objetos do mundo real sejam mapeados em Objetos no computador e pressupõe que o mundo é composto por objetos. Os sistemas são modelados como um número de objetos que se interagem.

Paradigma Procedimental Calcular a folha de Pagamento Dependentes da Maria Férias do Antônio Adiantamento do João Salário da Maria Salário do Pedro Prêmio da Helena Processamento Custo Total

Paradigma Orientado a Objetos Calcular a folha de Pagamento “Fulano, quanto eu te devo?” Custo total =  Fulanos

Paradigma Orientado a Objetos Para um sistema ser orientado a objetos deve ter pelo menos (Coad & Yourdon, 1990): Objetos Classes Herança Mensagens

Por que utilizar Orientação a Objetos? Alta reutilização de código Redução no tempo de manutenção Redução de complexidade através da melhoria do grau de abstração Aumento de qualidade e produtividade, pois oferece maiores facilidades ao desenvolvedor Aceitação comercial crescente

Técnicas de Desenvolvimento de Sistemas Orientados a Objetos Técnicas de “solução criativa de problemas” Busca de outras experiências e soluções para problemas semelhantes Divisão e conquista Refinamentos sucessivos Diversidade

Técnicas de Desenvolvimento de Sistemas Orientados a Objetos Busca de outras experiências e soluções para problemas semelhantes Refinamento, composição e instanciação de objetos e classes existentes

Técnicas de Desenvolvimento de Sistemas Orientados a Objetos Divisão e conquista Redução de um problema complexo em problemas menores Divisão em classes menores

Técnicas de Desenvolvimento de Sistemas Orientados a Objetos Refinamentos sucessivos Desenvolvimento em versões Diversidade Não se compromete com a solução inicial Durante o desenvolvimento podem surgir novas informações que indiquem novas alternativas

Bibliografia Object-Oriented Methods: A Fundation James Martin & James J. Odell Prentice Hall, 1995. Análise Orientada a Objetos Peter Coad & Edward Yourdon Editora Campus, 1990 Notas de Aula