Buscar

Aula 6 A Implementação no Processo de Desenvolvimento de Software

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." .

Continue navegando