Baixe o app para aproveitar ainda mais
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. * * * * * * * * * * * * * * * * * * * * * * *
Compartilhar