Informática, perguntado por rafael17foz, 8 meses atrás

A engenharia reversa pode ser definida como o processo de desenvolvimento de um conjunto de especificações para um sistema de hardware complexo através do exame ordenado dos componentes do sistema. Enquanto que para o hardware o objetivo tradicional da engenharia reversa é duplicar o sistema, para o software esse processo é mais frequentemente utilizado para se obter um suficiente entendimento do mesmo no nível de desenvolvimento.



A partir do texto acima, analise as afirmações a seguir sobre as Atividades de Reengenharia de Software.

I. A atividade de análise de inventário diz que toda empresa de software deve ter um inventario de todos os aplicativos usados.
II. Na atividade de reestruturação dos documentos crie apenas a documentação necessária para que seja possível entender o software.
III. As atividades de engenharia reversa e engenharia direta ocorrem em um nível relativamente alto de abstração.
IV. Na reestruturação de código ocorre um nível relativamente baixo de abstração, e a reestruturação de dados é considerada uma atividade de reengenharia completa.

É correto o que se afirma em:

Alternativas
Alternativa 1:

I, apenas.
Alternativa 2:

II e III,apenas.
Alternativa 3:

III e IV, apenas.
Alternativa 4:

I, II e IV, apenas.
Alternativa 5:

I, II, III e IV.

Soluções para a tarefa

Respondido por Manfred19
1

estou em duvida com a III se o nível de abstração é alto na engenharia direta?

Respondido por navegagor1515
1

Resposta:Alternativa 4:

I, II e IV, apenas.

Explicação:

Análise de inventário: toda empresa de software deve ter um inventário

de todos os aplicativos. O inventário pode ser: planilhas com informações

detalhadas e ordenadas (tamanho, idade, criticalidade nos negócios,

longevidade, manutenibilidade atual e suportabilidade) para cada aplicação

ativa.

Reestruturação dos documentos: documentação pobre é a marca registrada

de muitos sistemas legados. Quando o sistema não tem nenhuma

documentação, é muito dispendioso tentar criar uma. Em alguns casos,

crie documentação somente daquilo que sofreu alterações. Crie apenas

a documentação necessária para que seja possível entender o software.

■ Engenharia reversa: é o processo para analisar um programa na tentativa

de criar uma representação do sistema em um nível mais alto de abstração

do que o código-fonte. Logo mais, vamos ver com mais detalhes este item.

■ Reestruturação do código: é o tipo mais comum de reengenharia. Por

exemplo, em alguns sistemas legados, a arquitetura é razoavelmente sólida

e os módulos individuais foram codificados de um modo que se torna

difícil de entendê-los, testá-los e mantê-los, mas os códigos dentro dos

módulos podem ser reestruturados.

■ Reestruturação dos dados: um sistema com uma arquitetura de dados

fraca é difícil de adaptar e melhorar. Na reestruturação de código ocorre

um nível relativamente baixo de abstração, e a reestruturação de dados é

considerada uma atividade de reengenharia completa.

■ Engenharia direta: recupera as informações do projeto do software existente

e também usa as informações para alterar ou reconstituir o sistema

existente em um esforço para melhorar sua qualidade geral.

Perguntas interessantes