A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

PROGRAMAÇÃO DE COMPUTADORES

Apresentações semelhantes


Apresentação em tema: "PROGRAMAÇÃO DE COMPUTADORES"— Transcrição da apresentação:

1 PROGRAMAÇÃO DE COMPUTADORES
PROF. DR. EDNALDO PIZZOLATO

2 Histórico Metodologias de Software
Início Anos 70 - Programação Estruturada Niklaus Wirth Fim Anos 70 - Projeto Estruturado Constantine, Yourdon Anos 80 - Análise Estruturada Yourdon/DeMarco, James Martim, Chris Gane Anos 90 Orientação a Objetos Baseado no paradigma estruturado Qualidade de Software UML Componentização

3 FASES NA 'FABRICAÇÃO' DE UM SOFTWARE
Análise ou especificação Requisitos, conceito do domínio Projeto Solução lógica, representação da análise Programação, construção ou desenvolvimento Código, representação em uma linguagem de programação; Delphi, C++, Java, Visual Basic, Cobol, etc Testes

4 ESTRUTURADA X ORIENTAÇÃO A OBJETOS
Com a orientação a objetos procura-se eliminar as diferenças entre as etapas de análise, projeto e implementação, reabilitando a difamada tarefa de implementação; O segredo é fazer com que os conceitos de programação, e as notações para programação, sejam suficientemente de alto-nível para que possam servir apropriadamente como ferramentas de modelagem.

5 Metodologia 'estruturada'
Criada nos anos 60/70 Guerra Fria Grandes Projetos Ambientes de Grande Porte Pouca maturidade em Programação Funciona! Quando é bem utilizada… Quando os projetos tem início, meio e fim… Quando os projetos são longos… Quando você tem legado de mainframe.

6 METODOLOGIA ‘ESTRUTURADA’
Tradicionalmente, a literatura tratava análise, projeto e implementação como atividades diferentes e, até certo ponto, desconexas pois tinham: diferentes métodos; diferentes notações; e diferentes objetivos. Na necessidade de especificar o que está prestes a ser implementado tratavam a análise e o projeto como as únicas coisas que realmente interessam. A implementação seria apenas algo inevitável.

7 PARADIGMA ESTRUTURADO X ORIENTAÇÃO A OBJETOS

8 ESTRUTURADO X oo Na Estruturada
Os sistemas são divididos em subprogramas; Fixa a atenção muito mais nos procedimentos que nos dados. Na Orientação a Objetos Dados e Procedimentos possuem a mesma importância;

9 ORIENTAÇÃO A OBJETOS Altera a forma pela qual dados e procedimentos intercomunicam-se. Reutilização de Software (Reusibilidade) reaproveitamento de código Manutenção de Software facilidade de manutenção de sistemas Tamanho de Código Gerado menor código

10 Paradigma procedural Decida quais procedimentos você quer; utilize os melhores algoritmos que você encontrar

11 Paradigma procedural Enfoque no processamento, i.e. no algoritmo necessário para executar uma computação desejada

12 Paradigma procedural Linguagens oferecem facilidades para passar parâmetros para funções e retornar valores

13 Funções são utilizadas para criar ordem em um algoritmo complicado
Paradigma procedural Funções são utilizadas para criar ordem em um algoritmo complicado

14 PROGRAMAÇÃO MODULAR Mudança de enfoque: projeto de procedimentos -> organização de dados

15 PROGRAMAÇÃO MODULAR Paradigma: um conjunto de procedimentos, juntamente com os dados que eles manipulam, é dito um módulo

16 ABSTRAÇÃO DE DADOS

17 ABSTRAÇÃO DE DADOS “Tipos” criados por meio de módulos e diferentes de “tipos” embutidos na linguagem “tipos” embutidos permitem maior verificação e são mais simples Linguagens como ADA e C++ permitem a construção de tipos pelo usuário

18 PROBLEMAS COM ABSTRAÇÃO DE DADOS
Um tipos de dados abstrato é uma caixa-preta; uma vez definida, ela não interage com o resto do programa Nao há suporte para adaptá-la a novos usos Inflexibilidade

19 ORIENTAÇÃO A OBJETOS

20 PARADIGMA DE ORIENTAÇÃO A OBJETOS
Decida quais classes você deseja; Implemente as operações suportadas por cada classe; e Torne explícitas as semelhanças por meio de herança.

21 EVOLUÇÃO DA PROGRAMAÇÃO
40 - alteração física de circuitos eletrônicos; 50 - linguagens montadoras (assembler), visão lógica; 60 - surgem as primeiras linguagens de alto nível; 70 – programação estruturada; 80 – Orientação a objetos

22 linguagens Cada linguagem é indicada para determinada tarefa:
Fortran, Pascal = Científica; Cobol = Economia; Prolog, Lisp = Inteligência Artificial; Clipper = Banco de dados; C e C++ = todas as áreas

23 Programação Estruturada
Simula Smaltalk Borland Algol Pascal objects Delphi Pascal Objective C | | | | | | | | | BCPL CPL B C C++ ANSIC++ Java ISO C++ C# Sun Microsoft AT&T Bell AT&T Bell Orientação a objetos Análise orientada a objetos UML Programação Estruturada Projeto Estruturado Análise Estruturada | | | | | | | | |

24 java

25 java 1991: Sun Microsystems 1995: Sun Microsystems
Projeto Green 1995: Sun Microsystems Anunciada Formalmente Páginas Web com conteúdo dinâmico e interativo Aprimora funcionalidades de web servers Permite aplicações para: Celulares, pagers, palms, …

26 Basic e visual basic

27 Basic e visual basic BASIC
Beginner’s All-Purpose Symbolic Instruction Code Anos 60s: Prof. John Kemeny e Thomas Kurtz (Dartmouth College)

28 Basic e visual basic Visual Basic 1991 Características
Resultado da interface gráfica do Microsoft Windows Graphical User Interface (GUI) Final dos anos 80 e começo dos 90. Características GUI, event handling, acesso ao Win32 API, object-oriented programming, error handling Visual Basic .NET

29 C e c++

30 O C foi desenvolvido em 1972 por Dennis Ritchie - para reescrever o UNIX
O C++ foi desenvolvido nos Laboratórios AT&T Bell em 1980, por Bjarne Stroustrup. O padrão ANSI (Instituto Nacional Americano de Padrões) C++ foi aprovado em 1994; O padrão ISO (Organização Internacional de Padrões) em 1998

31 Poderes do c++

32 Poderes do c++ C++ é superconjunto do C, e mantem-se fiel à característica do C de linguagem de pequeno tamanho, O C++ incluiu apenas algumas novas palavras reservadas às já existentes no C. Linguagem versátil, concisa e relativamente de baixo nível; Pequeno tamanho Poucos Comandos Manipulação a nível de Bits Eficiência na Manipulação de Memória Portabilidade

33 Por que c++ Linguagem padronizada
Faz em um SO e compila em qualquer outro DOS, Windows, UNIX, OS/2, VAX,MacOS, etc Java é interpretado, necessita de uma máquina virtual Uso em SO com pouco recurso memória PalmOS, Tecnologia WAP

34 Por que c++ Diversidade de aplicações Aplicações simples
Implementação de SO Criação de meta-classes

35 Por que c++? Várias Bibliotecas disponibilizadas
Ex: QT – biblioteca GUI

36


Carregar ppt "PROGRAMAÇÃO DE COMPUTADORES"

Apresentações semelhantes


Anúncios Google