Você está na página 1de 17

Princípios

metodológicos de
programação
Metodologias em programação local
• Uma linguagem de programação (LP) = Notação formal
para descrição de algoritmos num computador;
• É necessário entender as organizações das LP, com
ênfase na compreensão dos seus conceitos abstratos e
dos seus elementos de representação;
Metodologias em programação local
• Cada LP pode se relacionar com um método de
projeto específico;
• Cada linguagem de programação pode forçar um certo
estilo de programação;
• Tais estilos são chamados de:
paradigmas de programação;
Evolução: o que é um software?
• Produto que os engenheiros de software projetam
e constroem englobando:
• Instruções que produzem algum resultado desejado
• Estrutura de dados que permitem que os programas
manipulem adequadamente a informação
• Documentação que descrevem o uso dos programas
Evolução: o que é um software?
• No desenvolvimento de um software
conceitualmente não existe um processo manual,
todos os envolvidos exercem um trabalho
intelectual.
Crise do software? O que é isso?
• Termo usado em 1970 para expressar as
dificuldades do desenvolvimento devido ao rápido
crescimento da demanda de software, a
complexidade dos problemas a serem resolvidos e
a inexistência de técnicas de desenvolvimento.
• Um relatório de 1969 apresentou que 50% a 80%
dos projetos não foram concluídos e outros
fracassados por não terem atingindo os objetivos
esperados, e dos que foram concluídos, foram
entregues acima do prazo estipulado e orçamento
acima do que foi determinado.
Crise do software? O que é isso?
Engenharia de software
• Nasceu da necessidade de amenizar problemas
como:
• Previsão pobre;
• Programas de baixa qualidade;
• Alto custo para manutenção
• Duplicação de esforços.
Engenharia de software
• A engenharia de software adotou métodos e
modelos de processos de software, onde toda a
tarefa de desenvolvimento eram divididas em
etapas, possibilitando:
• a coleta de dados
• interação do cliente
• a apresentação de protótipos do sistema
• estipulação de prazos de entrega do sistema com
margem de erros
• e por fim a entrega de um sistema robusto.
Metodologia
• É uma palavra derivada de “método”, do Latim
“methodus”, cujo significado é “caminho ou via
para a realização de algo”.
• Método é o processo para se atingir um
determinado fim ou para se chegar ao
conhecimento.
• Metodologia é o campo em que se estuda os
métodos praticados em determinada área para a
produção do conhecimento.
Metodologias em programação local
• Principais paradigmas de programação:
• Programação Estruturada ou Procedural;
• Programação Orientada a Objetos;
Programação Estruturada ou Procedural
• Estilo de programação convencional;
• Programas são decompostos em “passos” de
processamento;
• Funções são usadas na modularização de passos
específicos;
Ex.: Pascal e C;
Programação Orientada a Objetos
• Enfatiza a definição de classes de objetos;
• Objetos são estruturas de dados contendo lógica;
• Objetos interagem a partir da troca de mensagens;
• Ex.: Smalltalk, Eiffel e Java;
A linguagem Java
• Em 1991, A Sun
Microsystems financiou
uma pesquisa corporativa
interna com codinome
Green;
• O projeto resultou no
desenvolvimento de uma
linguagem baseada em C e
C++, chamada inicialmente
de Oak (carvalho);
• Quando uma equipe da Sun
visitou uma cafeteria local,
o nome Java foi sugerido e
pegou;
Programação Orientada a Objetos
• Utiliza o paradigma de programação orientada a
objetos (POO);
• Programas em Java consistem em partes chamadas
classes;
• Classes definem os objetos presentes no sistema de
software;
• Cada classe determina:
• O comportamento dos objetos (instruções e métodos);
• Os estados possíveis dos objetos (atributos);
• O relacionamento entre objetos;
Sistema de Desenvolvimento Java
• Sistemas de desenvolvimento Java consistem em
várias partes:
• Um ambiente de desenvolvimento (IDE);
• O Java Development Kit (JDK);
• Fornece o compilador e outras ferramentas;
• Fornece uma biblioteca de classes pré-programadas;
• O Java Runtime Environment (JRE);
• Inclui uma Máquina Virtual Java (JVM), bibliotecas de código e
componentes necessários para executar programas Java;
• Está incluído no JDK;