Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS Aula 1- Paradigmas de LPs e Programação Prof. Marcelo Vasques – mvasqueso@gmail.com Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS Conteúdo Programático desta aula A importância das Linguagens de Programação no contexto de desenvolvimento de software; Conceitos e principais paradigmas de Linguagens de Programação; Conceitos, metodologias e técnicas de programação; Atividades de Programação x Análise. Paradigmas de Programação x Análise Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS INTRODUÇÃO Quem nasceu primeiro: As linguagens de Programação ou os Métodos (e técnicas) de Análise e Projeto de Sistemas ? Existem LPs com diferentes propósitos (Fortran, Cobol, Pascal, C, C++, Java, c#, HTML e etc) Existem várias técnicas de Análise de Sistemas: tradicional, estruturada, essencial, orientada a objeto Existe relação entre as LPs e as Técnicas? Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS AS LINGUAGENS DE PROGRAMAÇÃO Tornam o Trabalho mais produtivo Atender a padrões de Qualidade: confiabilidade, manutenibilidade e eficiência Escrever programas que atendam aos requisitos ADERÊNCIA as técnicas de Levantamento de dados, Análise de Requisitos e Projeto do software. Hoje: MUITAS OPÇÕES QUAL USAR ? Tendência: maior prática (ERRO !!!) Começo de Tudo Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS COMO ESCOLHER A LINGUAGEM? A experiência Pro eficiência Qual o tipo de problema ? Qual as características do sistema? POR QUE ESCOLHER CERTO ? Programa Eficiente, Manutível e Confiável Por que Programadores devem conhecer a LP? Maior capacidade para soluções Habilidade programas eficientes Habilidade para escolher LP correta Habilidade para aprender novas LPs Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS EVOLUÇÃO HISTÓRICA DAS LPs Anos 40/50 Anos 50 / 60 Anos 70... Hoje Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PROGRAMAÇÃO ESTRUTURADA Anos 70/80 3 tipos de processamento: sequencial, decisão e repetição Refinamentos sucessivos. program Soma_Pares; uses crt; var superior, soma, num: integer; begin soma:=0; write ('Entre com o limite superior'); readln (superior); num:=2; repeat soma:=soma+num; num:=num+2; until (num > superior); writeln('A soma dos números pares de 2 até ', superior,' é ', soma); readln; end. Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS OUTROS PROCESSAMENTOS… OUTRAS LINGUAGENS Lp PROCEDURAL. LP DECLARATIVO LP FUNCIONAL Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS INFLUÊNCIA DAS LPS NO PROCESSO DE DESENVOLVIMENTO Concepção -> Análise de Viabilidade Análise Técnica de Análise (estruturada, essencial ou O.O.) Compatibilidade da LP Projeto Especificação do ambiente e do software Compatibilidade da LP Implementação “ mão na massa” Testes Depuração de erros As LPs influenciam e sofrem influência das fases do processo de desenvolvimento, independente do processo usado. Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Fácil relação entre Técnicas de Análise e Projeto Técnicas de Programação Linguagens de Programação Exemplo: O.O (Classes, herança, polimorfismo e etc) Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS QUEM SURGE PRIMEIRO ? 1º - Linguagens de programação são idealizadas (gerações técnicas) 2º - Técnicas de Projeto 3º - Técnicas de Análise PARADIGMA. O QUE É ISSO? Modelo ou exemplo Conjunto de características que categorizam um grupo de linguagens semelhantes. POR QUE ENTENDER OS PARADIGMAS DAS LPS? Entender: estado da arte, o que cada LP pode prover Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMAS DAS LPS Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS Anos 70 a 90 (hoje em dia.....) Visão: “ O computador é uma programável Máquina de Von Neumann Especificam a seqüência de ações (procedimento) com alterações no estado da memória Programação ESTRUTURADA (top down e 3 tipos de processamento) Características: Variáveis, Atribuição, Repetição Na medida em que os programas tornam-se maiores e mais complexos, cresce a dificuldade não só em desenvolvê-los, mas sobretudo mantê-los ao longo do tempo PARADIGMA IMPERATIVO OU PROCEDURAL Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA IMPERATIVO OU PROCEDURAL Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA IMPERATIVO OU PROCEDURAL Visão de Sistema no paradigma Imperativo ou procedural Dados = Variáveis Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA ORIENTADO A OBJETO As LPs desse paradigma oferecem recursos para tornar o desenvolvimento de SW mais rápido e confiável. Focada na abstração de dados (Procedural– controle) Classes = abstrações de dados + operações A implementação dos métodos usa conceitos do paradigma Imperativo LP OO = Objetos + Classe + Herança + (polimorfismo) Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA ORIENTADO A OBJETO As LPs desse paradigma oferecem recursos para tornar o desenvolvimento de SW mais rápido e confiável. Visão de Sistema no Paradigma Orientado a Objeto Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA ORIENTADO A OBJETO Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA CONCORRENTE O paradigma concorrente engloba LPs que oferecem recursos para o desenvolvimento de sistemas concorrentes. A programação concorrente existe quando vários processos executam simultaneamente e concorrem por recursos, o que pode acontecer quando há uma ou mais unidades de processamento. Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA DECLARATIVO Declara-se a tarefa, sem especificar cada ação, como o Imperativo e OO. Não há o conceito de atribuição de valores a posições de memória Especificam-se relações ou funções DIVIDO EM FUNCIONAL (Computador calcula funções matemáticas complexas) LÓGICO ( O Computador entende a lógica formal: fatos e regras) Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA FUNCIONAL Linguagens que, basicamente, operam funções. Exemplos: LISP , HASKELL O programa é uma (conjunto de) função A relação entre as funções é simples : uma função pode chamar outra, ou o resultado de uma função pode ser utilizado como argumento para outra A tendência são programas menores, com menos código, nas linguagens funcionais. Aplicação: LISP – usada no campo da I.A. (sistemas especialistas, linguagem natural e representação do conhecimento). Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA FUNCIONAL Exemplo de um programa em Haskell (LP funcional) tabela :: Int -> String tabela n = cabeçalho ++ imprimeAlunos n ++ imprimeMedia n cabeçalho :: String cabeçalho = “Aluno Nota\n” imprimeAlunos :: Int -> String imprimeAlunos 1 = imprimeAluno 1 imprimeAlunos n = imprimeAlunos (n-1) ++ imprimeAluno n imprimeAluno :: Int -> String imprimeAluno n = show n ++ “ “ ++ show (aluno n) ++ “\n” imprimeMedia :: Int -> String imprimeMedia n = “\n” ++ “Média da Turma: “ ++ show (media n) soma :: Int -> Float soma 1 = aluno 1 soma n = aluno n + soma (n-1) media :: Int -> Float media n = (soma n) / (fromInt n) Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA LÓGICO Declaram-se os resultados e não os procedimentos Um programa lógico é equivalente à descrição do problema expresso de maneira formal (tal qual o ser humano raciocina sobre ele) de posse de vários fatos, derivam-se conclusões e novos fatos. Assim quando uma questão é formulada, um mecanismo de inferência tenta deduzir novos fatos a partir dos existentes para verificar a veracidade da questão Lógica dos predicados A principal característica do paradigma lógico é que a execução dos programas corresponde a um processo de dedução automática. A linguagem lógica mais conhecida é PROLOG. Tal paradigma é bastante utilizado na construção de linguagens de acesso a banco de dados, sistemas especialistas (IA), tutores inteligentes e etc. Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA LÓGICO A principal característica do paradigma lógico é que a execução dos programas corresponde a um processo de dedução automática. A linguagem lógica mais conhecida é PROLOG. Tal paradigma é bastante utilizado na construção de linguagens de acesso a banco de dados, sistemas especialistas (IA), tutores inteligentes e etc. Tema da Apresentação Paradigmas de LPs e Programação – AULA1 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS EXEMPLO PROLOG factorial(0,1) factorial(N,F) :- N>0, N1 is N-1, factorial(N1,F1), F is N * F1. ?- fatorial(0,1). Yes ?- fatorial(10,What). What = 3628800 Yes Tema da Apresentação
Compartilhar