Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina Online 2018.3 EAD - PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE (CCT0746/3021104) 9002 Aula 6 A Implementação no Processo de Desenvolvimento de Software Apresentação: Nesta aula, iremos definir o conceito de implementação para o processo de desenvolvimento de software. 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. Na fase da implementação, o analista ou desenvolvedor detalha e implementa o que foi definido na etapa de desenho, através de componentes de código de programa e documentação detalhada. Objetivos: Conhecer as atividades de implementação no processo de desenvolvimento de software; Entender as necessidades de definir uma tecnologia para a transformação do desenho para o projeto em um sistema binário; Analisar os diversos tipos de produto e utilizar a linguagem que atenda às necessidades; Definições Nós vimos anteriormente, que desenho, é uma das etapas do processo de desenvolvimento de software, lembra? A implementação, é o processo que realiza a transformação do desenho em diversos tipos de componentes de código de programação. O código de programação pode ser dividido em 3 tipos: Código Fonte Conjunto de instruções geradas através de uma linguagem de programação, de maneira lógica e estruturada; após o processo de compilação ou interpretação, transformar-se-á em código objeto Código Objeto Resultado da compilação do código fonte. Código Máquina Sequência binária de ações diretamente direcionadas para o processador da máquina. Vejamos mais algumas definições: COMPILADOR - Programa que faz uma leitura do código fonte, desenvolvido em uma linguagem de alto nível, e transcreve para um novo tipo de linguagem chamada de baixo nível. INTERPRETADOR - Programa que, além de fazer a leitura do código fonte e transformá-lo em código objeto, efetua a execução do mesmo sequencialmente. LINGUAGEM DE BAIXO NÍVEL - Linguagem de programação que utiliza a arquitetura do processador para executar as ações. Esta linguagem é a que mais se aproxima dos códigos de execução direta do processador, ou seja, linguagem de máquina. LINGUAGEM DE ALTO NÍVEL - Comumente chamada de linguagem de programação, esta linguagem se aproxima mais da linguagem humana, ou seja, linguagem com um padrão de entendimento humano bem definido. Para essa linguagem não é levado em consideração a arquitetura do computador, nem as características do processador e seus registradores, visto que, na fase de interpretação ou compilação, esses programas transformarão em linguagem de baixo nível ou de máquina. Classificações das linguagens LINGUAGEM DE PRIMEIRA GERAÇÃO: Desenvolvida no inicio da era dos computadores, esta linguagem é interpretada pelos microprocessadores. Cada microprocessador possui uma linguagem própria de entendimento, o que pode ocasionar erros de programação em processadores de uma mesma família de fabricantes. Ex: Linguagem binária. 0 e 1. LINGUAGEM DE SEGUNDA GERAÇÃO: Surgida em meados dos anos 50, foi considerada a primeira linguagem de alto nível, visto que era de fácil entendimento e, portanto, considerada mais humana. Ex: Assembly LINGUAGEM DE TERCEIRA GERAÇÃO: Em meados dos anos 80, surgiram com os conceitos de programação estruturada e programação orientada a objetos. Ex: Pascal, Cobol, C, C++ LINGUAGEM DE QUARTA GERAÇÃO: É característica dessa linguagem dar suporte para execução de rotinas auxiliares a linguagens de terceira geração. Ex: Linguagem de consulta, utilizada para conexão com banco de dados. (SQL) Uma vez que o desenho será a base da implementação, o processo de documentação de uso do produto passa a ter importância nesta fase, onde a documentação e a programação devem andar lado a lado. Veja mais: Vídeo Implementação e teste de software Compilação e interpretação, código fonte e objeto Qual a diferença entre código compilado e código interpretado? TESTE DE CONHECIMENTO Existem diversos modelos CMMI disponíveis, gerados a partir do CMMI Framework. Em consequência disso, é preciso estar preparado para decidir qual modelo CMMI melhor atende às necessidades de melhoria de processos de uma organização específica. É possível selecionar uma representação, contínua ou em estágios, e determinar as áreas de conhecimento que serão incluídas no modelo que essa organização irá utilizar. Sobre essas representações, considere: I. Oferecerá uma sequência comprovada de melhorias, começando com práticas básicas de gerenciamento e progredindo por um caminho pré-definido e comprovado de níveis sucessivos, cada um servindo como base para o próximo. II. Oferecerá uma classificação única que resume os resultados de avaliações e permite comparações entre organizações. III. Possibilitará comparações dentro e entre organizações em uma área de processo em termos de área de processo ou pela comparação de resultados através do uso de estágios equivalentes. IV. Permitirá comparação dentro da organização e entre organizações pelo uso de níveis de maturidade. V. Permitirá selecionar a sequência de melhorias que melhor atende aos objetivos de negócios e reduz as áreas de risco da organização. Os itens apresentados referem-se, respectivamente, às representações: · em estágios, contínua, em estágios, contínua, em estágios. · contínua, em estágios, contínua, em estágios, contínua. · contínua, em estágios, em estágios, contínua, em estágios. · contínua, contínua, em estágios, contínua, em estágios. · em estágios, em estágios, contínua, em estágios, contínua. Explicação: O CMMI (Capability Maturity Model Integration) foi criado pelo SEI (Software Engineering Institute), o qual é um órgão integrante da universidade norte-americana Carnegie Mellon. Trata-se de um modelo que está atualmente na versão 1.3 (Janeiro/2013), com um enfoque voltado para a capacidade de maturidade de processos de software. Um processo representa, dentro da área de software, um conjunto de atividades cujo objetivo é atingir uma meta previamente estipulada. Já por capacidade e maturidade de um processo, deve-se ter a noção do grau de qualidade com o qual um processo atinge um resultado esperado. Dentre os principais benefícios da implantação do CMMI, vale a pena destacar: Uma maior confiabilidade no que refere ao cumprimento de prazos e custos que foram acordados, inicialmente, perante o cliente que solicitou o desenvolvimento de um sistema. Essa previsibilidade é decorrente do rigor que o CMMI exige quanto à medição dos processos, fato este que conduz à obtenção de uma base histórica realista e confiável para estes fins; O gerenciamento das atividades relativas à produção de software aumenta consideravelmente; Uma maior qualidade nos softwares criados, já que processos bem definidos e controlados conduzem à produção de produtos mais confiáveis; A menor dependência da empresa de desenvolvimento para com seus especialistas. Com um foco voltado para processos e melhoria contínua, além do uso intensivo de informações históricas, a organização deixa de depender única e exclusivamente de profissionais com um elevado grau de conhecimento técnico; A busca por melhorias contínuas nos processos cotidianos. Nível 5 - Otimizado: existe uma melhoria contínua dos processos. A implantação do CMMI é recomendável para grandes fábricas de software. Implementar os diversos estágios é uma tarefa árdua, não só numa fase inicial, mas também quando se leva em conta a migração de um nível para outro. Isto exigirá, invariavelmente, a realização de vultosos investimentos financeiros, assim como uma mudança de postura da organização (principalmente quando a mesma não contava uma experiência anterior bem-sucedida no gerenciamento de processos). Em inúmeras ocasiões, empresas desenvolvedoras de sistemas recorrem a consultorias especializadas, visando apoio na obtenção da certificação CMMI (fato este que inviabiliza a adoção deste mesmo modelo por pequenas companhias). Relacione as colunas 1 e 2, no que se refere as linguagensde programação Coluna 1 1- C++ A 2- Assembly C 3 - Linguagem de 0 e 1 B Coluna 2 a. Linguagem da alto nível b. Linguagem de máquina c. Linguagem do código objeto Marque a opção que apresenta a correta correlação entre as 2 colunas. · 1 - b; 2 - a; 3 - c; · 1 - a; 2 - b; 3 - c; · 1 - b; 2 - c; 3 - a; · 1 - c; 2 - b; 3 - a; · 1 - a; 2 - c; 3 - b; Explicação: 1- C++ - Linguagem da alto nível 2- Assembly - Linguagem do código objeto 3 - Linguagem de 0 e 1 - Linguagem de máquina I. A compilação é uma dos processos para converter o código escrito em uma linguagem de alto nível em linguagem de baixo nível II. Na interpretação, o código além de traduzido é imediatamente executado. III. O compilador recebe como entrada um programa escrito em linguagem de alto nível, e traduz para uma linguagem de baixo nível, chamado código objeto IV. Um exemplo de linguagem de alto nível e compilada é a linguagem de máquina As assertivas corretas são: · II e II apenas · I e II apenas · I, II, III e IV · I, II e III apenas · I apenas Explicação: IV. Um exemplo de linguagem de alto nível e compilada é a linguagem de máquina - Falso, linguagem de alto nível: C, C++, C#, cobol, pascal e etc A Implementação é a etapa do processo de desenvolvimento de software que realiza a transformação do desenho em diversos tipos de componentes de código de programação. Analise as afirmativas a seguir em relação aos componentes de código: I - Código fonte - conjunto de instruções gerados através de uma Linguagem de Programação de forma lógica e estruturada. II - Código Objeto - Sequência binária de instruções, que são executadas diretamente por um processador. III- Código de Máquina - Resultado da compilação do código fonte. Assinale a única opção correta · Somente I e III estão corretas · Somente I e II estão corretas · Somente I está correta · Somente II e III estão corretas · Somente a II está correta Com base nas definições de linguagem de programação em implementação do sistema de software, qual alternativa a seguir melhor representa os tipos de códigos de programação? · Código UML, código objeto e código estruturado. · Código UML, código OO e código máquina. · Código OO, código objeto e código estruturado. · Código executável, código livre e código OO. · Código fonte, código objeto e código máquina. Explicação: A linguagem de programação é escrito em ium conjunto de instruções denominada código fonte, que após sofrer um processo de compilação ou interpretação , transforma-se em código Objeto, que por sua vez é trasnformado em código de máquina(sequência binária - 0 e 1.). Relacione as colunas 1 e 2, no que se refere as linguagens de programação Coluna 1 1- Cobol 2- Assembly 3 - Linguagem do processador Intel I5 Coluna 2 a. Linguagem do código objeto b. Linguagem de máquina c. Linguagem de alto nível Marque a opção que apresenta a correta correlação entre as 2 colunas. · 1 - a; 2 - b; 3 - c; · 1 - a; 2 - c; 3 - b; · 1 - c; 2 - b; 3 - a; · 1 - c; 2 - a; 3 - b; · 1 - b; 2 - c; 3 - a; Explicação: 1- Cobol - Alto nível 2- Assembly - linguagem do codigo objeto, gerado pelo compilador 3 - Linguagem do processador Intel I5 - linguagem de máquina Dentro dos conceitos de código de programação em PDS, qual alternativa melhor define um código objeto ? · Resultado da compilação do máquina. · Conjunto de instruções geradas através de uma linguagem de programação, de maneira lógica e estruturada. · Resultado da compilação do código fonte. · Comumente chamada de linguagem de programação, esta linguagem se aproxima mais da linguagem humana, ou seja, linguagem com um padrão de entendimento humano bem definido. · Sequência binária de ações diretamente direcionadas para o processador da máquina. Conclusão: Após o programador escrever o programa(código fonte) , ele submete o código fonte para o compilador que faz a análise e o converte para o código objeto. A opção que melhor identifica um código objeto é o "Resultado da compilação do código fonte.". Qual afirmativa abaixo é verdadeira em relação a linguagem de alto nível? · Comumente chamada de linguagem de programação, esta linguagem se aproxima mais da linguagem humana, ou seja, linguagem com um padrão de entendimento humano bem definido. · Também conhecida como código executável, é uma linguagem com padrão de entendimento humano. · É o programa que faz uma leitura do código objeto através do interpretador. · É um conjunto de intruções que interpreta o código de máquina e tem como resultado o código fonte estruturado. · É o resultado da compilação do código de máquina. Conclusão: A afirmativa verdadeira em relação a linguagem de alto nível é "Comumente chamada de linguagem de programação, esta linguagem se aproxima mais da linguagem humana, ou seja, linguagem com um padrão de entendimento humano bem definido." .
Compartilhar