Baixe o app para aproveitar ainda mais
Prévia do material em texto
AULA 1 – Prof. MARCELO VASQUES PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 1 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 IMPLEMENTAÇÃO DESENHO Etapa do processo de desenvolvimento que realiza a transformação do desenho em diversos tipos de componentes de código de programação Etapa do processo de desenvolvimento em que foi definida a arquitetura do sistema e definida a tecnologia usada na 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