SlideShare una empresa de Scribd logo
1 de 19
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
Paradigmas de 
Programação
Natanael Simões 
natanaelsimoes 
natanael.simoes@ifro.edu.br 
Professor de Informática no Instituto Federal de Rondônia – Campus 
Ariquemes 
Bel. Sistemas de Informação – IESUR 2012 
Esp. Planejamento Educacional e Docência no Ensino Superior – IESUR 
2013
Objetivo 
• Compreender os paradigmas de programação e sua 
importância no desenvolvimento de sistemas
Conteúdo Programático 
• O que é paradigma? 
• O que são paradigmas de programação?
Paradigma 
• Do grego parádeigma 
• Significa PADRÃO, MODELO 
• Classe de elementos com similaridades 
• Antônimo: paradoxo! 
“uma constelação de verdades (crenças), valores e técnicas 
que são compartilhadas pelos membros de uma dada 
comunidade” 
Thomas S. Kuhn
O que são 
Paradigmas de 
Programação?
Paradigmas de Programação 
• É um estilo paradigmático de programar 
• Uma linguagem pode ter vários paradigmas 
“Fornece a visão que o programador possui sobre a 
estruturação e execução do programa” 
FRANGO, 2009
Paradigmas de Programação 
• Funcional (funções declarativas matemáticas) 
 LIPS, Haskell 
• Lógico (funções declarativas lógicas) 
 Prolog, Gödel 
• Procedural (funções imperativas lineares) 
 C, Pascal 
• Orientado a objetos (funções imperativas multiplexadas) 
 C#, Java, PHP
Paradigmas de Programação 
Orientado a Objetos 
Procedural
Orientação a Objetos (OO) 
• Visão sistêmica 
• Mundo feito de objetos que se relacionam com outros objetos 
• Permitiu avanços nos estudos cognitivos (percepção do mundo) 
• Permitiu modelar o mundo real em software
Procedural vs OO 
Procedural Orientação a Objetos 
Tipos de Dados Classes 
Variável Objeto 
Função/Procedimento Operação/Método 
Chamada de Função Envio de Mensagem
Abstração 
• Método da OO para modelagem do mundo 
• Visão simplificada do mundo (Generalização) 
• Ignora aspectos variáveis com foco na similaridade
Objeto 
• Alguma coisa que existe 
 Fisicamente: carro, cachorro, caderno 
 Conceitualmente: venda, vôo, ordem de serviço 
 “Softwaremente”: arquivo, vetor 
• Possui estados próprios 
• Envia mensagens para outros objetos 
• Responde mensagens de outros objetos
Classes 
• Conjunto de objetos com características comuns 
• Define as características e comportamentos dos objetos 
• Herança e Generalização
Atributos 
• São as características das classes 
• Possuem valores que determinam os estados dos atributos em 
cada objeto
Métodos 
• São as habilidades das classes 
• Possuem comportamento determinado para cada habilidade 
que o objeto pode executar 
• Processado através do envio de mensagens
Exercícios para entregar 
1) O que é um paradigma? Dê um exemplo. 
2) O que são paradigmas de programação? Quais são eles? 
3) De que forma o conceito de abstração ajudou a firmar o 
paradigma Orientado a Objetos? 
4) Que relação existe entre Classes e Objetos? 
5) Abstraia classes físicas e conceituais indicando o 
relacionamento entre elas para os seguintes cenários: 
Supermercado e Escola (IFRO)

Más contenido relacionado

La actualidad más candente

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaRalph Rassweiler
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Adriano Tavares
 
Introdução à Simulação
Introdução à SimulaçãoIntrodução à Simulação
Introdução à SimulaçãoSimulação
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Cloves da Rocha
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosLeonardo Melo Santos
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxALEXANDRELISBADASILV
 
gerenciamento projetos
gerenciamento projetosgerenciamento projetos
gerenciamento projetosoleinik
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareÁlvaro Farias Pinheiro
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareCamilo Almendra
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 
Git e Github para Iniciantes
Git e Github para IniciantesGit e Github para Iniciantes
Git e Github para IniciantesLoiane Groner
 

La actualidad más candente (20)

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1
 
Introdução à Simulação
Introdução à SimulaçãoIntrodução à Simulação
Introdução à Simulação
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptx
 
Aula3 engenharia requisitos
Aula3 engenharia requisitosAula3 engenharia requisitos
Aula3 engenharia requisitos
 
gerenciamento projetos
gerenciamento projetosgerenciamento projetos
gerenciamento projetos
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de Software
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Git e Github para Iniciantes
Git e Github para IniciantesGit e Github para Iniciantes
Git e Github para Iniciantes
 

Destacado

Componentes passivos e eletromecânicos
Componentes passivos e eletromecânicosComponentes passivos e eletromecânicos
Componentes passivos e eletromecânicosNatanael Simões
 
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareAplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareNatanael Simões
 
Paradigmas
ParadigmasParadigmas
Paradigmasmavega
 
Route2 company introduction_25.07.11
Route2 company introduction_25.07.11Route2 company introduction_25.07.11
Route2 company introduction_25.07.11Tim Barker
 
Dias do futuro presente da programação
Dias do futuro presente da programaçãoDias do futuro presente da programação
Dias do futuro presente da programaçãoLuiz Borba
 
Os paradoxos de Blub, Python, a décima lei de Greenspun e porque você deveria...
Os paradoxos de Blub, Python, a décima lei de Greenspun e porque você deveria...Os paradoxos de Blub, Python, a décima lei de Greenspun e porque você deveria...
Os paradoxos de Blub, Python, a décima lei de Greenspun e porque você deveria...Luiz Borba
 
Todas as coisas que todo programador não pode deixar de saber
Todas as coisas que todo programador não pode deixar de saberTodas as coisas que todo programador não pode deixar de saber
Todas as coisas que todo programador não pode deixar de saberLuiz Borba
 
Por que voce precisa (re)aprender linguagens funcionais
Por que voce precisa (re)aprender linguagens funcionaisPor que voce precisa (re)aprender linguagens funcionais
Por que voce precisa (re)aprender linguagens funcionaisLuiz Borba
 
Coisas que levei um tempo para aprender
Coisas que levei um tempo para aprenderCoisas que levei um tempo para aprender
Coisas que levei um tempo para aprenderLuiz Borba
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasNatanael Simões
 
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Natanael Simões
 
Apresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica BásicaApresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica BásicaNatanael Simões
 
Grafologia autoconhecimento e qualidade de vida
Grafologia autoconhecimento e qualidade de vidaGrafologia autoconhecimento e qualidade de vida
Grafologia autoconhecimento e qualidade de vidaCarlos Casalicchio
 
Programação funcional com swift cocoa heads 24-03
Programação funcional com swift  cocoa heads 24-03Programação funcional com swift  cocoa heads 24-03
Programação funcional com swift cocoa heads 24-03Schwarzenegger Alves
 
Como recuperar senhas WEP de redes wireless com Backtrack
Como recuperar senhas WEP de redes wireless com BacktrackComo recuperar senhas WEP de redes wireless com Backtrack
Como recuperar senhas WEP de redes wireless com BacktrackNatanael Simões
 
Processo de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoProcesso de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoNatanael Simões
 

Destacado (20)

Componentes passivos e eletromecânicos
Componentes passivos e eletromecânicosComponentes passivos e eletromecânicos
Componentes passivos e eletromecânicos
 
O que são resistores
O que são resistoresO que são resistores
O que são resistores
 
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareAplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
 
Paradigmas
ParadigmasParadigmas
Paradigmas
 
Route2 company introduction_25.07.11
Route2 company introduction_25.07.11Route2 company introduction_25.07.11
Route2 company introduction_25.07.11
 
Dias do futuro presente da programação
Dias do futuro presente da programaçãoDias do futuro presente da programação
Dias do futuro presente da programação
 
Os paradoxos de Blub, Python, a décima lei de Greenspun e porque você deveria...
Os paradoxos de Blub, Python, a décima lei de Greenspun e porque você deveria...Os paradoxos de Blub, Python, a décima lei de Greenspun e porque você deveria...
Os paradoxos de Blub, Python, a décima lei de Greenspun e porque você deveria...
 
Todas as coisas que todo programador não pode deixar de saber
Todas as coisas que todo programador não pode deixar de saberTodas as coisas que todo programador não pode deixar de saber
Todas as coisas que todo programador não pode deixar de saber
 
Por que voce precisa (re)aprender linguagens funcionais
Por que voce precisa (re)aprender linguagens funcionaisPor que voce precisa (re)aprender linguagens funcionais
Por que voce precisa (re)aprender linguagens funcionais
 
Coisas que levei um tempo para aprender
Coisas que levei um tempo para aprenderCoisas que levei um tempo para aprender
Coisas que levei um tempo para aprender
 
Voce Tem Orgulho Do Seu Codigo
Voce Tem Orgulho Do Seu CodigoVoce Tem Orgulho Do Seu Codigo
Voce Tem Orgulho Do Seu Codigo
 
Introdução ao paradigma funcional com scala
Introdução ao paradigma funcional com scalaIntrodução ao paradigma funcional com scala
Introdução ao paradigma funcional com scala
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
 
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
 
Apresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica BásicaApresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica Básica
 
Grafologia autoconhecimento e qualidade de vida
Grafologia autoconhecimento e qualidade de vidaGrafologia autoconhecimento e qualidade de vida
Grafologia autoconhecimento e qualidade de vida
 
Programação funcional com swift cocoa heads 24-03
Programação funcional com swift  cocoa heads 24-03Programação funcional com swift  cocoa heads 24-03
Programação funcional com swift cocoa heads 24-03
 
Como recuperar senhas WEP de redes wireless com Backtrack
Como recuperar senhas WEP de redes wireless com BacktrackComo recuperar senhas WEP de redes wireless com Backtrack
Como recuperar senhas WEP de redes wireless com Backtrack
 
Processo de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoProcesso de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - Prototipação
 
Trabalho de fisica
Trabalho de fisicaTrabalho de fisica
Trabalho de fisica
 

Similar a Paradigmas de Programação

3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-conceptsjorge600
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetosFrank Coelho
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a ooPAULO Moreira
 
1 ooi introducao
1 ooi introducao1 ooi introducao
1 ooi introducaonikson123
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Oo presentation básica
Oo presentation básicaOo presentation básica
Oo presentation básicaLorena de Souza
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1Carlos Melo
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfpedrina4
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Thyago Maia
 
Introdução a Padrões de Projeto
Introdução a Padrões de ProjetoIntrodução a Padrões de Projeto
Introdução a Padrões de ProjetoEduardo Mendes
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetosGabriel Faustino
 

Similar a Paradigmas de Programação (20)

3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetos
 
UML
UMLUML
UML
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a oo
 
1 ooi introducao
1 ooi introducao1 ooi introducao
1 ooi introducao
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
00 apresentacao
00   apresentacao00   apresentacao
00 apresentacao
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
Orientacao a Objetos
Orientacao a ObjetosOrientacao a Objetos
Orientacao a Objetos
 
Oo presentation básica
Oo presentation básicaOo presentation básica
Oo presentation básica
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1
 
Aula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptxAula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptx
 
Orientação a Objetos (2)
Orientação a Objetos (2)Orientação a Objetos (2)
Orientação a Objetos (2)
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
 
Introdução a Padrões de Projeto
Introdução a Padrões de ProjetoIntrodução a Padrões de Projeto
Introdução a Padrões de Projeto
 
02_revisao_OO.pdf
02_revisao_OO.pdf02_revisao_OO.pdf
02_revisao_OO.pdf
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 

Más de Natanael Simões

Criação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino PresencialCriação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino PresencialNatanael Simões
 
Eletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomoEletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomoNatanael Simões
 
Apresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da InformaçãoApresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da InformaçãoNatanael Simões
 
Apresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software LivreApresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software LivreNatanael Simões
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLNatanael Simões
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasNatanael Simões
 
Processo de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - ProgramaçãoProcesso de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - ProgramaçãoNatanael Simões
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosNatanael Simões
 
Banco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosBanco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosNatanael Simões
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Natanael Simões
 
Processo de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoProcesso de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoNatanael Simões
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
 
Banco de Dados - Dado, Informação e Abstração
Banco de Dados - Dado, Informação e AbstraçãoBanco de Dados - Dado, Informação e Abstração
Banco de Dados - Dado, Informação e AbstraçãoNatanael Simões
 
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...Natanael Simões
 
Instalação e Manutenção: Introdução a Arquitetura de Computadores
Instalação e Manutenção: Introdução a Arquitetura de ComputadoresInstalação e Manutenção: Introdução a Arquitetura de Computadores
Instalação e Manutenção: Introdução a Arquitetura de ComputadoresNatanael Simões
 
Quanto vale a informação? Fundamentos de Segurança da Informação
Quanto vale a informação? Fundamentos de Segurança da InformaçãoQuanto vale a informação? Fundamentos de Segurança da Informação
Quanto vale a informação? Fundamentos de Segurança da InformaçãoNatanael Simões
 
Segurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de RedeSegurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de RedeNatanael Simões
 
Serviços de Rede - Telnet e SSH
Serviços de Rede - Telnet e SSHServiços de Rede - Telnet e SSH
Serviços de Rede - Telnet e SSHNatanael Simões
 
Serviços de Rede - SMTP, POP3 e IMAP
Serviços de Rede - SMTP, POP3 e IMAPServiços de Rede - SMTP, POP3 e IMAP
Serviços de Rede - SMTP, POP3 e IMAPNatanael Simões
 

Más de Natanael Simões (20)

Criação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino PresencialCriação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino Presencial
 
Eletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomoEletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomo
 
Apresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da InformaçãoApresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da Informação
 
Apresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software LivreApresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software Livre
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UML
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
 
Processo de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - ProgramaçãoProcesso de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - Programação
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
 
Banco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosBanco de Dados - Tipos de Dados
Banco de Dados - Tipos de Dados
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
 
Processo de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoProcesso de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de Definição
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
 
Banco de Dados - Entidade
Banco de Dados - EntidadeBanco de Dados - Entidade
Banco de Dados - Entidade
 
Banco de Dados - Dado, Informação e Abstração
Banco de Dados - Dado, Informação e AbstraçãoBanco de Dados - Dado, Informação e Abstração
Banco de Dados - Dado, Informação e Abstração
 
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...
 
Instalação e Manutenção: Introdução a Arquitetura de Computadores
Instalação e Manutenção: Introdução a Arquitetura de ComputadoresInstalação e Manutenção: Introdução a Arquitetura de Computadores
Instalação e Manutenção: Introdução a Arquitetura de Computadores
 
Quanto vale a informação? Fundamentos de Segurança da Informação
Quanto vale a informação? Fundamentos de Segurança da InformaçãoQuanto vale a informação? Fundamentos de Segurança da Informação
Quanto vale a informação? Fundamentos de Segurança da Informação
 
Segurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de RedeSegurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de Rede
 
Serviços de Rede - Telnet e SSH
Serviços de Rede - Telnet e SSHServiços de Rede - Telnet e SSH
Serviços de Rede - Telnet e SSH
 
Serviços de Rede - SMTP, POP3 e IMAP
Serviços de Rede - SMTP, POP3 e IMAPServiços de Rede - SMTP, POP3 e IMAP
Serviços de Rede - SMTP, POP3 e IMAP
 

Paradigmas de Programação

  • 1. PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Paradigmas de Programação
  • 2. Natanael Simões natanaelsimoes natanael.simoes@ifro.edu.br Professor de Informática no Instituto Federal de Rondônia – Campus Ariquemes Bel. Sistemas de Informação – IESUR 2012 Esp. Planejamento Educacional e Docência no Ensino Superior – IESUR 2013
  • 3. Objetivo • Compreender os paradigmas de programação e sua importância no desenvolvimento de sistemas
  • 4. Conteúdo Programático • O que é paradigma? • O que são paradigmas de programação?
  • 5. Paradigma • Do grego parádeigma • Significa PADRÃO, MODELO • Classe de elementos com similaridades • Antônimo: paradoxo! “uma constelação de verdades (crenças), valores e técnicas que são compartilhadas pelos membros de uma dada comunidade” Thomas S. Kuhn
  • 6. O que são Paradigmas de Programação?
  • 7.
  • 8.
  • 9. Paradigmas de Programação • É um estilo paradigmático de programar • Uma linguagem pode ter vários paradigmas “Fornece a visão que o programador possui sobre a estruturação e execução do programa” FRANGO, 2009
  • 10. Paradigmas de Programação • Funcional (funções declarativas matemáticas)  LIPS, Haskell • Lógico (funções declarativas lógicas)  Prolog, Gödel • Procedural (funções imperativas lineares)  C, Pascal • Orientado a objetos (funções imperativas multiplexadas)  C#, Java, PHP
  • 11. Paradigmas de Programação Orientado a Objetos Procedural
  • 12. Orientação a Objetos (OO) • Visão sistêmica • Mundo feito de objetos que se relacionam com outros objetos • Permitiu avanços nos estudos cognitivos (percepção do mundo) • Permitiu modelar o mundo real em software
  • 13. Procedural vs OO Procedural Orientação a Objetos Tipos de Dados Classes Variável Objeto Função/Procedimento Operação/Método Chamada de Função Envio de Mensagem
  • 14. Abstração • Método da OO para modelagem do mundo • Visão simplificada do mundo (Generalização) • Ignora aspectos variáveis com foco na similaridade
  • 15. Objeto • Alguma coisa que existe  Fisicamente: carro, cachorro, caderno  Conceitualmente: venda, vôo, ordem de serviço  “Softwaremente”: arquivo, vetor • Possui estados próprios • Envia mensagens para outros objetos • Responde mensagens de outros objetos
  • 16. Classes • Conjunto de objetos com características comuns • Define as características e comportamentos dos objetos • Herança e Generalização
  • 17. Atributos • São as características das classes • Possuem valores que determinam os estados dos atributos em cada objeto
  • 18. Métodos • São as habilidades das classes • Possuem comportamento determinado para cada habilidade que o objeto pode executar • Processado através do envio de mensagens
  • 19. Exercícios para entregar 1) O que é um paradigma? Dê um exemplo. 2) O que são paradigmas de programação? Quais são eles? 3) De que forma o conceito de abstração ajudou a firmar o paradigma Orientado a Objetos? 4) Que relação existe entre Classes e Objetos? 5) Abstraia classes físicas e conceituais indicando o relacionamento entre elas para os seguintes cenários: Supermercado e Escola (IFRO)