Linguagens de programação

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

1.3.2 – Linguagem Assembly Um programa em linguagem de máquina sofre de total falta de clareza O programa é uma sequência de linhas numeradas Cada linha.
ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software
Introdução à Ciência da Computação Linguagens de Programação.
Augusto NevesJoão CarlosRodrigo Paula Linguagem de Programação C++ Componentes do Grupo.
Engenharia de Software
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Rational Unified Process
Paradigmas de Programação
Projeto de Sistemas de Software
Introdução à Compilação Prof. Leandro Magno Slides adaptados a partir do material cedido pelos professores Heloise Manica Paris Teixeira, Yandre M. G.
INTRODUÇÃO À PROGRAMAÇÃO
Processo Desenvolvimento de Software Tradicional
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Softwares.
Material III-Bimestre Wagner Santos C. de Jesus
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)
Linguagens de Programação
Análise e Projeto de Sistemas
Prof. Msc. Raul Paradeda Aula 2 Introdução
Introdução a Linguagem de Programação C
O Portal do Estudante de Computação
Algoritmos Prof. Kelly E. Medeiros.
O Portal do Estudante de Computação
Introdução a Programação
Professor Fernando Luís
Lógica de Programação UNIDADE 1 – Introdução a) Computador
Engenharia de Software e Sistemas de Informação e Gestão
PROGRAMAÇÃO I UNIDADE 1.
Projeto de Sistemas de Software
Desenvolvimento de Sistemas Orientados a Aspectos
Aula 1 - Introdução ao C Ameliara Freire.
LABORATÓRIOS DE INFORMÁTICA IV ENGENHARIA DE SOFTWARE: DA TEORIA À PRÁTICA GRUPO 13.
Introdução a Programação
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Programação de SCRIPTS
Concorrência e Java RMI
Referências: Booch, G. et al. The Unified Modeling Language User Guide
Desenvolvimento Rápido de Aplicação (RAD)
Modelos de Processo de Software
Organização e Arquitetura de Computadores
Definição A rigor, tudo o que pode ser armazenado eletronicamente pode ser chamado de software. Consideraremos aqui, como software, apenas os conjuntos.
PSBD II Projeto de Sistemas de Banco de Dados II
Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009.
Geração de Código aula-12-geração-de-código.pdf.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Projeto de Linguagens de Programação
Análise e Projeto Orientados a Objetos
Processadores de Linguagens
Back-End Compilação aula-11-back-end.pdf.
Algoritmos e Programação I
UML e a Ferramenta Astah
Engenharia de Software
Sistemas de Informação – mais que tecnologia Profa. Reane Franco Goulart.
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Estrutura de Gerenciamento de projetos
Linguagens de Programação
Arquitetura de Computadores
Introdução à lógica de programação
Student Tech Clubs Desenvolvimento WEB Antonio Ladeia Graduando em Tecnologia em Análise e Desenvolvimento de Sistemas Instituto Federal da Bahia Introdução.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
Influencias sobre o Projeto da Linguagem
TÉCNICAS DE ESTIMATIVAS
Linguagem de Programação
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Ewerton Patrick, Fernando Henrique, Jéssica Rebeca.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguaguens de Baixo Nível As linguagens de baixo nível são interpretadas diretamente pelo computador, tendo um resultado rápido, porém é muito difícil e incômodo se trabalhar com elas. Exemplos de linguagens de baixo nível são a linguagem binária e a linguagem Assembly.

Linguagem de Baixo Nível Vantagens: Programas são executados com maior velocidade de processamento. Os programas ocupam menos espaço na memória.

Linguagem de Baixo Nível Desvantagens: Em geral, programas em Assembly tem pouca portabilidade, isto é, um código gerado para um tipo de processador não serve para outro. Códigos Assembly não são estruturados, tornando a programação mais difícil.

Linguagem de Baixo Nível Exemplo de código em Assembly: MOV r0, #0C ;load base address of string into r0 LOAD: MOV r1,(r0) ;load contents into r1 CALL PRINT ; call a print routine to print the character in r1 INC r0 ;point to next character JMP LOAD ;load next character Como pode-se notar, é uma linguagem bastante complicada.

Linguagem de Nível Médio Estas linguagens são linguagens voltadas ao ser humano e a máquina, ou seja, estas linguagens são uma mistura entre as linguagens de Alto Nível e as de Baixo Nível. Estas linguagens contém comandos muito simples e outros muito complicados, o que torna o seu código não muito difícil e nem tão fácil de se entender. Uma linguagem de Nível Médio são C e C++, existem algumas outras que utilizam o mesmo nível.

Linguagem de Nível Médio Vantagens: Geralmente são linguagens com mais poder, permitindo a criação de jogos e programas com qualidade profissional. Desvantagens: Alguns comandos tem uma sintaxe muito difícil de se compreender.

Linguagem de Nível Médio #include <unistd.h> #define bufsize 1024; int N,O; int n; char *buf; buf = (char*) malloc (bufsize); while((n=read(N, buf, bufsize))>0) write(O, buf,n) free(buf);

Linguagem de Alto Nível São mais fáceis de se trabalhar e de entender, as ações são representadas por palavras de ordem (exemplo faça, imprima, etc) geralmente em inglês, foram feitos assim para facilitar a memorização e a lógica. Elas não são interpretadas diretamente pelo computador, sendo necessário traduzí-las para linguagem binária utilizando-se de um programa chamado compilador.

Linguagem de Alto Nível Quando programamos em uma linguagem de programação de alto nível primeiramente criamos um arquivo de texto comum contendo a lógica do programa, ou seja, é onde falamos ao computador como deve ser feito o que queremos.

Linguagem de Alto Nível Este arquivo de texto é chamado de código-fonte, cada palavra de ordem dentro do código-fonte é chamada de instrução. Após criarmos o código-fonte devemos traduzir este arquivo para linguagem binária usando o compilador correspondente com a linguagem na qual estamos programando.

Linguagem de Alto Nível O compilador irá gerar um segundo arquivo que chamamos de executável ou programa, este arquivo gerado é interpretado diretamente pelo computador.

Linguagem de Alto Nível Exemplo de código PHP (alto nível) print (“Bem vindos visitantes do InfoEscola!”); print (” Vamos contar até 50:”); for($x=1;$x<=50;$x++) { print $x; print ” “; } if(4 == 2) { print (“Fim do mundo! 4 é igual a 2!”); } else { print (“Ufa! 4 é diferente de 2″); } ?>

Níveis de linguagem – Baixo, Médio e Alto Algumas Linguagens de programação C JAVA C++ C# VISUAL BASIC .NET PHP JAVASCRIPT DELPHI/OBJECT PASCAL PASCAL

Metodologias de Desenvolvimento

Codifica-Corrige Codifica-Corrige” nada mais é do que o conceito de “apenas faça funcionar”. Inicialmente, o cliente pode fornecer uma especificação do que ele precisa. Esta especificação pode ser obtida através de algumas anotações, email, ou de qualquer outra fonte não muito consistente. Esta abordagem se apóia nos conhecimentos da equipe para tentar preencher as lacunas.

Codifica - Corrige A metodologia “Codifica-Corrige” possui diversos efeitos colaterais negativos: A qualidade do produto é baixa. O sistema frequentemente se transforma num código bagunçado, com falta de adaptabilidade, reuso e interoperabilidade. Os sistemas são difíceis de serem mantidos e aprimorados. Os sistemas frequentemente tornam-se complicados e com baixa escalabilidade.

Cascata A metodologia de desenvolvimento em cascata foi desenvolvida pela marinha norte-americana nos anos 60 para permitir o desenvolvimento de softwares militares complexos. No modelo em cascata, o projeto segue uma série passos ordenados. Ao final de cada fase, a equipe de projeto finaliza uma revisão. O desenvolvimento não continua até que o cliente esteja satisfeito com os resultados.

Cascata

Prototipagem Evolutiva A metodologia de Prototipagem Evolutiva é uma abordagem que visualiza o desenvolvimento de concepções do sistema conforme o andamento do projeto. Esta metodologia baseia-se na utilização de prototipagem visual ou modelos do sistema final.

Prototipagem Evolutiva Estes modelos podem ser simples desenhos, imagens gráficas e até cópias completas em HTML do sistema esperado. Com esta abordagem visual, o cliente tem uma certeza maior do resultado final.

Entregas por estágios Esta metodologia é outra abordagem modificada da metodologia de Desenvolvimento em Cascata. Existe um fluxo definido do início ao fim e as aceitações ocorrem a cada estágio. A diferença principal é que os requisitos de negócio do cliente são quebrados em grandes componentes, e estes componentes são entregues ao cliente em estágios discretos.

RUP (Rational Unified Process) A metodologia RUP (Rational Unified Process) é um processo que fornece uma metodologia disciplinada de desenvolvimento utilizando um conjunto de ferramentas, modelos e entregáveis.

RUP A metodologia padronizada pode ser atrativa para grandes organizações que necessitem de uma linguagem comum e ferramentas padronizadas para toda a organização. A metodologia RUP utiliza UML (Unified Modeling Language) para comunicar os requisitos, arquiteturas e modelagens.