Prévia do material em texto
<p>Questão 1</p><p>Incorreta</p><p>Questão com problema?</p><p>A Força Aérea Americana publicou um livreto contendo diretrizes valiosas para a identificação e gestão de riscos de software. Segundo a abordagem da Força Aérea, o gerente de projeto deve identificar os fatores de risco que afetam os componentes cruciais do software.</p><p>Considerando as diretrizes da Força Aérea Americana para a identificação e gestão de riscos de software, analise as seguintes asserções:</p><p>I. O risco de desempenho está relacionado à incerteza sobre se o produto atenderá aos requisitos e será adequado para o uso pretendido.</p><p>II. O risco de segurança é um dos componentes cruciais do software, conforme definido pelas diretrizes da Força Aérea Americana.</p><p>III. O risco de suporte refere-se à incerteza sobre a facilidade de correção, adaptação e melhoria do software resultante.</p><p>Considerando essas asserções, assinale a alternativa correta:</p><p>Sua resposta</p><p>Incorreta</p><p>I, II e III.</p><p>Solução esperada</p><p>I e III, apenas.</p><p>Comentário</p><p>De acordo com as diretrizes da Força Aérea Americana, os componentes cruciais do software são desempenho, custo, suporte e cronograma. A asserção II está incorreta, pois o risco de segurança não é explicitamente mencionado como um desses componentes. As asserções I e III estão corretas, pois descrevem corretamente os conceitos de risco de desempenho e risco de suporte, conforme definidos nas diretrizes da Força Aérea Americana</p><p>Questão 2</p><p>Correta</p><p>Questão com problema?</p><p>Os processos de manutenção e de evolução de software podem ser feitos por diversos métodos ou meios, entre eles a reengenharia e a engenharia reversa.</p><p>Quanto às características de ambas na evolução de software, analise as asserções a seguir e a relação proposta entre elas.</p><p>I. A reengenharia de software pode utilizar a engenharia reversa em seus processos.</p><p>PORQUE</p><p>II. É necessário, muitas vezes, fazer o processo reverso de desenvolvimento a fim de reconstruir o sistema.</p><p>A seguir, assinale a alternativa correta:</p><p>Sua resposta</p><p>Correta</p><p>As asserções I e II são verdadeiras, e a II justifica a I.</p><p>Comentário</p><p>I. A reengenharia de software pode de fato utilizar a engenharia reversa em seus processos. A engenharia reversa é uma técnica comumente empregada na reengenharia de software para entender e analisar sistemas legados existentes, especialmente quando a documentação está ausente ou desatualizada. Ao realizar a engenharia reversa, os engenheiros de software podem extrair informações úteis sobre a estrutura, funcionalidades e comportamento do sistema existente, auxiliando assim na tomada de decisões durante o processo de reengenharia.II. A segunda asserção também é verdadeira. Muitas vezes, é necessário realizar o processo reverso de desenvolvimento (engenharia reversa) para reconstruir o sistema durante a reengenharia de software. Isso ocorre porque a compreensão completa do sistema legado é essencial para o sucesso da reengenharia, e a engenharia reversa fornece os insights necessários para essa compreensão. Portanto, a segunda afirmação justifica a primeira, uma vez que destaca a importância e a utilidade da engenharia reversa na reengenharia de software.</p><p>Questão 3</p><p>Correta</p><p>Questão com problema?</p><p>Considerando as informações sobre métricas de processo e métricas de projeto de software, analise as seguintes asserções:</p><p>I. As métricas de processo têm finalidade estratégica e são coletadas ao longo de vários projetos para contribuir com o aprimoramento do processo de software em longo prazo.</p><p>II. As métricas de projeto de software são empregadas para avaliar o progresso de um projeto em andamento, identificar potenciais riscos e ajustar o fluxo de trabalho ou tarefas, tendo caráter tático.</p><p>III. As métricas coletadas pela equipe de projeto e transformadas em métricas de projeto podem ser compartilhadas com os responsáveis pelo aprimoramento do processo de software.</p><p>Considerando essas asserções, assinale a alternativa correta:</p><p>Sua resposta</p><p>Correta</p><p>I, II e III.</p><p>Comentário</p><p>A asserção I está correta, pois descreve corretamente a finalidade estratégica das métricas de processo de software.A asserção II está correta, pois define adequadamente o uso das métricas de projeto de software para avaliar o progresso do projeto e fazer ajustes táticos.A asserção III está correta, pois menciona que as métricas coletadas pela equipe de projeto podem ser compartilhadas com os responsáveis pelo aprimoramento do processo de software, o que demonstra a interligação entre métricas de projeto e métricas de processo.</p><p>Questão 4</p><p>Correta</p><p>Questão com problema?</p><p>Considere as afirmações abaixo acerca dos fatores a serem considerados ao planejar o reúso de software, assinale V para verdadeiro e F para falso.</p><p>( ) Se há uma necessidade de desenvolver o software rapidamente, a preferência pode ser pelo reúso de sistemas completos em vez de componentes individuais, mesmo que a adequação aos requisitos não seja perfeita.</p><p>( ) Ao desenvolver um sistema destinado a uma longa vida útil, é importante considerar a capacidade de manutenção do sistema a longo prazo, especialmente se não houver acesso ao código-fonte dos componentes reutilizáveis.</p><p>( ) As tecnologias de reúso são simples e fáceis de serem compreendidas e utilizadas com eficácia, independentemente da experiência da equipe de desenvolvimento.</p><p>Agora, assinale a alternativa que apresenta a ordem correta:</p><p>Sua resposta</p><p>Correta</p><p>V, V, F</p><p>Comentário</p><p>Verdadeira (V) - A afirmação descreve corretamente que, em situações em que há necessidade de desenvolvimento rápido, pode ser preferível reusar sistemas completos para minimizar a quantidade de desenvolvimento necessário, mesmo que a adequação aos requisitos não seja perfeita.Verdadeira (V) - A afirmação destaca a importância de considerar a capacidade de manutenção do sistema a longo prazo ao desenvolver sistemas com vida útil prolongada, especialmente se não houver acesso ao código-fonte dos componentes reutilizáveis.Falsa (F) - A afirmação está incorreta ao afirmar que as tecnologias de reúso são simples e fáceis de serem compreendidas e utilizadas com eficácia, pois na verdade, essas tecnologias são bastante complexas e exigem tempo para serem compreendidas e utilizadas de forma eficaz.</p><p>Questão 5</p><p>Incorreta</p><p>Questão com problema?</p><p>O sistema de reengenharia de software é muito viável em alguns projetos de desenvolvimento. Onde se tem uma economia de recursos, visto que algumas funcionalidades podem estar próximas ao que se deseja implementar.</p><p>Observe as afirmativas a seguir, quanto aos objetivos de reimplementar sistemas legados por meio da reengenharia de software.</p><p>I. Melhorar a experiência do usuário.</p><p>II. Refazer a documentação.</p><p>III. Reestruturar o sistema, excluindo falhas e erros.</p><p>Assinale a alternativa CORRETA:</p><p>Sua resposta</p><p>Incorreta</p><p>I, II e III.</p><p>Solução esperada</p><p>I e III, apenas.</p><p>Comentário</p><p>I. Incorreta. Embora a melhoria da experiência do usuário possa ser um resultado indireto da reengenharia de software, não é necessariamente um objetivo direto desse processo. O principal objetivo da reengenharia de software é atualizar, aprimorar ou modificar um sistema legado existente para melhor atender às necessidades atuais, não necessariamente focando especificamente na experiência do usuário.II. Correta. A refação da documentação é um dos objetivos principais da reengenharia de software. Muitas vezes, os sistemas legados podem ter documentação desatualizada, incompleta ou inexistente, o que dificulta a compreensão e a manutenção do sistema. Recriar ou atualizar a documentação durante o processo de reengenharia é crucial para garantir que o sistema seja adequadamente compreendido e mantido no futuro.III. Correta. Reestruturar o sistema para corrigir falhas e erros é outro objetivo importante da reengenharia de software. Isso pode envolver a identificação e correção de problemas de design, bugs de software, código obsoleto ou ineficiente, entre outros problemas que afetam o desempenho e a confiabilidade do sistema.</p>