Buscar

Aula_06

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

AULA 1 – Prof. MARCELO VASQUES
*
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 6
Prof. MARCELO VASQUES
mvasqueso@gmail.com
*
*
*
OBJETIVOS DA AULA
Conhecer as atividades de Implementação (codificação na linguagem de programação)
Entender as necessidades da tecnologia para transição Projeto  Programa
Algumas linguagens
*
*
IMPLEMENTAÇÃO
 A fase de implementação, ou codificação, tem como objetivo escrever o programa em uma linguagem de programação, seguindo normas e diretrizes da empresa à qual o desenvolvedor esteja ligado (metodologia = qualidade no processo)
 As empresas costumam definir padrões para o desenvolvimento. 
*
*
IMPLEMENTAÇÃO
Na fase da implementação, o programador:
detalha e implementa o que foi definido na etapa de desenho, através de componentes de código de programa e documentação detalhada.
*
*
IMPLEMENTAÇÃO
*
*
COMPONENTES DE CÓDIGO
Código Fonte: Conjunto de instruções gerados através de uma L.P., de forma lógica e estruturada (L.P de alto nível)
Código Objeto: Resultado da compilação do código fonte
Código de máquina: Sequência binária de instruções, que são executadas diretamente por um processador (conjunto específico de instruções).
Linguagem de baixo nível
Utiliza a arquitetura do processador
*
*
LINGUAGEM DE MÁQUINA
O Hardware é composto de componentes eletrônicos, onde passa ou não corrente. 
A ausência ou não de corrente, cria para o hardware uma linguagem de apenas 2 símbolos: 0 (zero) e 1 (um).
É a chamada linguagem binária (Bi = dois) ou linguagem de máquina.
0000011000100000 – seria um comando (instrução) para um processador de 16 bits de tamanho de palavra.
Nos primórdios a linguagem era essa. Difícil !!!!
*
*
LINGUAGEM ASSEMBLY
Trocou-se 0 e 1, por mneumônicos
Ao invés de endereçar posições físicas de memória, usou Registradores
ADD R1, R2, R3 ([R3]=[R1]+[R2])
Surge o Montador
 	ADD R1, R2, R3 0001000100010001
Assembly
Montador
Máquina
*
*
LINGUAGEM DE ALTO NÍVEL
Linguagem que se aproxima da linguagem humana
Não leva em consideração a arquitetura do computador, nem as características do processador e seus registradores. 
*
*
LINGUAGEM DE ALTO NÍVEL
Algoritmo
Leia (Av1, Av2)
Media (Av1+Av2)/2
Se Media >= 6.00
Então escreva (‘APR’)
Senão escreva (‘REP’)
C++ (Dev C++)
Código Fonte
Cin>> Av1, Av2;
Media=(Av1+Av2)/2;
If (Media >=6,00)
 cout<<“APR”;
else cout<< “REP”;
*
*
COMPARAÇÃO LINGUAGENS
*
*
COMO CONVERTER ?
Homem (alto nível)  Máquina (baixo nivel)
2 processos fazem esse papel	
Interpretação (Interpretador)
TRADUZ O CÓDIGO A MEDIDA QUE EXECUTA
Python, Pearl, PHP, Javascript, ASP
Compilação (Compilador)
TRADUZ E DEPOIS EXECUTA
C++, 
*
*
INTERPRETAÇÃO
Interpretação é a "tradução" do código em linguagem de máquina em tempo de execução. 
É utilizada: PHP, ASP, Javascript. 
Uma característica marcante das linguagens interpretadas são que elas executam o código até o ponto em que há um erro.
Por acontecer em tempo de execução, tipicamente tem um desempenho um pouco menor. 
*
*
INTERPRETAÇÃO
*
*
COMPILAÇÃO
Primeiro, faz uma leitura completa do código, identificando variáveis e outros elementos e montando uma tabela com estas informações. 
No segundo passo, a "tradução" do código em linguagem de máquina. Entretanto, a compilação difere da tradução porque ela faz alterações no código, de forma a torná-lo otimizado. 
Enquanto uma linha é sempre uma instrução na tradução, x linhas no código terão y linhas de comandos de máquina, de acordo com o compilador. 
Compiladores modernos conseguem enormes otimizações em certos códigos. 
*
*
COMPILADOR / HÍBRIDO
*
*
AMBIENTES DESENVOLVIMENTO
*
*
AMBIENTES DESENVOLVIMENTO
*
*
JAVA
*
*
JAVA
*
*
BOA PRÁTICA- PROGRAMAÇÃO
Documentar com comentários o código fonte
 // este procedimento visa calcular o digito verificar com base no modulo 11
// Data: Autor: Data alteração:
Bons nomes – auto-explicativos e padronizados
 variável: NA ??
Variável: nome_aluno
*
*
PROG. BASEADA EM COMPONENTES
Um componente é uma unidade reutilizável de software, tipicamente, com fronteiras bem definidas e encapsulado
Independente 
Programação: componentes = classe 
Ganho de escala  reaproveitamento
Mais segurança
Mais agilidade
Sistema = conjunto de componentes
*
*
PROGRAMAÇÃO EM PAR
Técnica usada nas metodologias ágeis
2 programadores trabalham juntos
Ela sugere que todo e qualquer código produzido no projeto seja sempre implementado por duas pessoas juntas, diante do mesmo computador, revezando-se no teclado. 
1 faz (executor) e outro verifica (observador) / alternam-se nas tarefas
*
*
PROGRAMAÇÃO EM PAR
A programação em par é uma forma eficaz de reduzir a incidência de bugs em um sistema.
Isso se deve em grande parte às visões complementares que atuam durante o uso dessa prática. 
Quando dois desenvolvedores estão programando em par, um deles está com as mãos no teclado e no mouse. O outro está sentado ao lado, olhando para a mesma tela e preocupado em resolver o mesmo problema. Ambos estão trabalhando juntos na solução, embora apenas um esteja com as mãos no teclado. Eles conversam o tempo todo e trocam idéias sobre a solução. 
*
*
PROGRAMAÇÃO EM PAR
A programação em par explora a diversidade de idéias que é rara de ser observada quando se programa sozinho – troca de conhecimento
A programação em par também é uma forma de fazer com que o desenvolvedor tenha mais confiança no código que produz, reduzindo seu stress
Treinamento de programadores sem experiência.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais