Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. Em 1992, Krueger apresentou um dos primeiros surveys da área de reúso de software com base em questionamentos importantes como: quais são as diferentes abordagens para reusar software? Quão eficazes são as diferentes abordagens? O que é necessário para implementar uma tecnologia de reúso de software? Ele considerou as seguintes dimensões para as técnicas de reúso identificadas: Abstração, integração, especialização e seleção. (Alternativa correta) Abstração, integração, especialização e adaptação. Abstração, construção e seleção. Abstração, integração e adaptação. 2. Com a popularização da ideia de construir um novo software a partir de partes de softwares que já existiam, notou-se que vários tipos de artefatos poderiam ser reutilizados no desenvolvimento de software, como especificações de requisitos, designs de software, casos de teste, e assim por diante. De acordo com a ISO/IEC 2008, uma implementação bem-sucedida de processo de gerenciamento do programa de reúso de software em uma empresa deve fornecer os seguintes resultados: I. Definição de uma estratégia de reúso da empresa, incluindo seu propósito, escopo, metas e objetivos. II. Avaliação da empresa sobre a capacidade de reúso oportunista. III. Avaliação de todos os domínios para determinar seu potencial de reúso na empresa. IV. Realização do monitoramento e avaliação desse programa de reúso. Estão corretos os itens: I e IV. (Alternativa correta) I e II. I e III. I, II e IV. 3. Uma das atividades da engenharia de requisitos é manter a rastreabilidade bidirecional dos requisitos. A matriz de rastreabilidade é uma das formas de implementar a rastreabilidade. Considerando seus objetivos, analise as afirmativas a seguir: I. A matriz de rastreabilidade pode ser usada para apoiar as atividades de análise de impacto de solicitações de mudança. II. Em ambientes ágeis, a rastreabilidade deve ser atualizada ao final da sprint, quando todas as histórias de usuário foram implementadas. III. A rastreabilidade vertical ajuda a identificar quando um requisito está implementado. IV. A rastreabilidade horizontal ajuda a identificar se um requisito apresenta casos de testes associados. Estão corretas as afirmativas I, II e III. Estão corretas as afirmativas I, II, III e IV. Estão corretas as afirmativas I e III. (Alternativa correta) Estão corretas as afirmativas I e II. 4. O reúso de software é uma das abordagens mais eficazes da engenharia de software para obter benefícios relacionados à produtividade, à qualidade e à redução de custos em projetos de desenvolvimento de software. Sobre esse reúso, avalie as afirmativas a seguir: I. O processo de reúso de software foi apontado pela Conferência da Otan como fator principal da crise de software em 1968. II. Um estudo realizado por Krueger foi o pioneiro da área. III. As técnicas de reúso de software foram classificadas a partir de quatro dimensões. IV. As abordagens de reúso foram classificadas em oito categorias, incluindo linguagens de alto nível e linguagens de mais alto nível. Estão corretas: III e IV. (Alternativa correta) I e III. II e III. I e II. 5. Um componente de software deve ser construído com o objetivo de reduzir custos do desenvolvimento do sistema. Sendo assim, deve haver a possibilidade de sua utilização em outros softwares que possam ser desenvolvidos. Para aumentar o potencial de reúso de um componente, as seguintes ações devem ser realizadas: I. Tornar os nomes mais gerais. II. Remover especificidades. III. Inserir código específico de um sistema. IV. Adicionar interface configurável. Assinale a alternativa que indica apenas as ações corretas. II, III e IV. I, II e IV. (Alternativa correta) I, II e III. I, III e IV. 6. A rastreabilidade de requisitos é uma ferramenta da engenharia de requisitos que ajuda a tomar decisões quando solicitações de mudança são submetidas para o projeto. Considerando o ambiente de desenvolvimento ágil, assinale a alternativa correta: No ambiente ágil, não é possível rastrear o código até o seu solicitante porque existe apenas o representante do solicitante, que é o product owner. No ambiente ágil, a rastreabilidade deve contemplar os itens do backlog, as histórias de usuário, as sprints, os critérios de aceitação e o código. (Alternativa correta) No ambiente ágil, não se deve utilizar a rastreabilidade de requisitos porque ela introduz mais burocracia para o desenvolvimento. No ambiente ágil, a rastreabilidade já acontece automaticamente, sem que seja necessário fazer alguma ação. 7. Para que um componente de software apresente segurança na sua utilização, assim como eficiência e eficácia na solução do problema (implementação do requisito), é necessária sua certificação. Em relação à certificação de componentes, avalie as afirmativas a seguir: I. O próprio desenvolvedor do componente pode fazer a certificação. II. Apesar de acontecer com frequência, o desenvolvedor não deve ser o certificador do componente. III. Certificadores externos podem ser requeridos para que haja uma visão imparcial sobre o desenvolvimento. IV. Certificadores internos participam do processo de certificação de um componente. V. Os stakeholders devem participar do processo de certificação, visto que são os interessados no desenvolvimento do software. Assinale a alternativa que indica apenas as afirmativas corretas. III, IV e V. II, III e IV. (Alternativa correta) I, III e IV. I, II e III. 8. A rastreabilidade de requisitos é útil para a engenharia de requisitos, mas tem um certo custo para ser implementada e exige disciplina para poder ser mantida. Se você tivesse que vender para o seu gerente os benefícios da implantação de mecanismos para a implementação da rastreabilidade, quais dos argumentos você usaria? I. A rastreabilidade ajuda a realizar a análise de quais elementos do sistema serão impactados quando uma solicitação de mudança precisar ser analisada. II. A rastreabilidade ajuda a identificar a prática de gold plating, ao encontrar códigos que não são rastreados para nenhum solicitante. III. A rastreabilidade é útil quando um código que é reutilizado por diversos casos de uso tiver de ser alterado. IV. A rastreabilidade permite analisar os casos de teste que foram executados para cada requisito funcional e não funcional. Estão corretas as afirmativas I, II e III. (Alternativa correta) Estão corretas as afirmativas I, II, III e IV. Estão corretas as alternativas I e III. Estão corretas as afirmativas I, III e IV. 9. Com base no escopo "venda de seguros para veículos leves", foi desenvolvido um projeto para venda de seguros para veículos. Os testes foram feitos com diversas marcas de veículos e o sistema entrou em produção. No primeiro dia, o lojista foi vender o seguro para o proprietário de um caminhão e o sistema não permitiu; isso foi reclamado junto ao SAC da empresa. Para liberar a venda do seguro para o caminhão, será necessária uma manutenção no sistema. Qual é o tipo dessa manutenção? Corretiva. Adaptativa. Preventiva. Evolutiva. (Alternativa correta) 10. Para fazer todo o processo de manutenção, é necessário o conhecimento das técnicas de manutenção de software. Relacione as técnicas com as descrições. Técnicas: I) Documentação. II) Versionamento. III) Status Reporting. IV) Codificação. Descrições: ( ) Documentação de todas as alterações efetuadas no sistema, com a possibilidade de recuperação das versões anteriores. ( ) Indentação, comentários e práticas que produzem legibilidade. ( ) Atualização das alterações efetuadas com o objetivo de transmitir conhecimento sobre o sistema. ( ) Alinhamento que exibe o estado atual do projeto e o que foi alterado em um período pela equipe de desenvolvimento. Assinale a alternativaque apresenta a sequência correta. I - II - III - IV. I - IV - III - II. II – IV – I – III (Alternativa correta) III - I - IV - II. 1. A matriz de rastreabilidade permite enxergar as relações entre os diversos elementos de um projeto de software para apoiar a tomada de decisão. Analise as afirmativas a seguir e assinale a alternativa correta. I. O requisito funcional RF1 está representado por meio do caso de uso UC1 e será testado usando o caso de teste CT1. II. Quando o requisito funcional RF3 for alterado, será necessário analisar apenas o caso de uso UC3 e o caso de teste CT3. III. Todos os elementos têm no mínimo um item mapeado na rastreabilidade vertical. Estão corretas as afirmativas I, II, III. Estão corretas as afirmativas I e II. Estão corretas as afirmativas II e III Apenas a afirmativa I está correta. (Alternativa correta) 2. Nos processos de engenharia de software baseados em componentes, é possível fazer uma divisão macro em relação ao foco de sua aplicação. Dessa forma, surgem em suas diferentes vertentes abordagens particularmente diferentes. Existem duas vertentes principais relacionadas aos processos de engenharia software baseados em componentes. Quais são elas? Desenvolvimento com componentização e desenvolvimento para componentização. Desenvolvimento com reúso e reutilização de componentes. Desenvolvimento para reúso de software e desenvolvimento com reúso de software. (Alternativa correta) Desenvolvimento para reúso e desenvolvimento de componentes 3. A engenharia de software baseada em componentes consiste em uma abordagem que provê um modelo genérico para o desenvolvimento de software baseado em seus componentes. Embora essa abordagem seja muito utilizada para a criação de softwares de prateleira (Cots), o engenheiro de software pode enfrentar alguns riscos se usar componentes. Em relação a esses riscos, analise as assertivas a seguir: I. O componente de um determinado fornecedor pode descontinuar a manutenção desse componente. II. Existe a dependência de sempre desenvolver o software na mesma linguagem de programação em que o componente foi criado. III. Todos os componentes de software são sempre reutilizados e padronizados. Está correto o que se afirma em: I e II, apenas. I, apenas. (Alternativa correta) III, apenas. II, apenas. 4. Após o desenvolvimento de um projeto de software, ou seja, quando ele já está em produção, manutenções podem ocorrer, a fim de ampliar a sobrevida do software. Um dos tipos de manutenção é a adaptativa. Escolha a alternativa que defina o objetivo dessa manutenção. Alterar o programa para implementar novas funcionalidades não previstas no levantamento de requisitos. Corrigir erros e inconsistências ocorridos no processo de levantamento de requisitos. Modificar um programa devido à fórmula de cálculo de um imposto ter sido alterada pelo governo federal. (Alternativa correta) Corrigir erros e inconsistências ocorridos durante o processo de codificação dos programas. 5. Com relação à manutenção de software, ou seja, qualquer alteração no sistema após a sua implantação, vale dizer que: I. É o processo que ocorre logo após a fase de levantamento de requisitos e é classificada como corretiva ou evolutiva. II. É o processo que ocorre após a fase de implantação do software e pode ser adaptativa, corretiva, preventiva ou evolutiva. III. Quanto maior o esforço empregado para tornar o software manutenível, menor o custo da manutenção. IV. É um processo mais rápido e mais barato quando o profissional for o mesmo que participou do desenvolvimento. Assinale a alternativa que apresenta as afirmações corretas. II, III e IV. (Alternativa correta) II e IV. I e IV. I, II, III e IV. 6. ualquer alteração no sistema implementar a ligação bidirecional entre os diversos elementos de um projeto de software. Considerando seus objetivos, analise as afirmativas a seguir: I. Um requisito funcional se liga a outro requisito funcional de mesmo nível por meio da rastreabilidade horizontal. II. A rastreabilidade para frente (forward) liga o requisito 1 ao requisito 2, e rastreabilidade para trás (backward) liga o requisito 2 ao requisito 1, ambos do mesmo nível. III. Um caso de teste se liga a um requisito não funcional por meio da rastreabilidade bidirecional de requisitos. IV. Um código implementado pode ser rastreado até o stakeholder que o solicitou por meio da rastreabilidade vertical. Assinale a alternativa correta: Estão corretas as afirmativas I, II, III e IV. Estão corretas as afirmativas I, II e III. Estão corretas as afirmativas I e II. Estão corretas as afirmativas I, III e IV. (Alternativa correta) 7. No processo de software baseado em componentes, há diferentes abordagens de utilização, dependendo do objetivo – reúso, redução de custos e aumento de produtividade. Na abordagem de desenvolvimento para reúso de software, o foco está: na criação de componentes, visando a sua reutilização posterior. (Alternativa correta) no uso de componentes de terceiros para diminuir a complexidade do software. na redução de custos relacionados ao desenvolvimento do software, reduzindo a quantidade de componentes a serem criados. na flexibilização dos requisitos para uso de um maior número de componentes. 8. A engenharia de software baseada em componentes consiste em uma abordagem que provê um modelo genérico para o desenvolvimento de software baseado em seus componentes. Embora essa abordagem seja muito utilizada para a criação de softwares de prateleiras (Cots), o engenheiro de software pode enfrentar alguns riscos ao resolver usar componentes. Assinale a alternativa que traz corretamente um risco que os engenheiros de software podem enfrentar. Existe uma dependência de sempre desenvolver o software na mesma linguagem de programação em que o componente foi criado. Usar o componente de determinado fornecedor e ele descontinuar a manutenção desse componente. (Alternativa correta) O custo de manutenção dos componentes de software é sempre mais baixo que do desenvolvimento de novas aplicações. Todos os componentes de software são sempre reutilizáveis, padronizados, documentados e acoplados a outras unidades. 9. O desenvolvimento de software baseado em componentes tem como meta proporcionar um conjunto de componentes de software padronizados e pré-construídos. Além disso, devem estar em conformidade para se adaptar a algum domínio específico. A respeito de componentes, analise as assertivas a seguir: I. Componente é uma unidade de código executável que permite a construção de outros softwares. II. Os componentes não precisam se comunicar nem colaborar com outros componentes de software. III. Como exemplos de componente, pode-se citar os executáveis (.exe, .jar, etc.) e as bibliotecas (dll, .jar, etc.). Está correto o que se afirma em: II, apenas. I, apenas. I e III, apenas. (Alternativa correta) I e II, apenas. 10. Componentes de software, geralmente, têm complexidade elevada. Para facilitar o reúso de um componente, é preciso criar uma interface genérica para que outros softwares acessem sem necessidade de muita adaptação. Os principais conceitos buscados em uma interface de componente são: I. Fácil compreensão dos parâmetros de configuração. II. Pouca parametrização, engessando a parte configurável do componente. III. Facilidade de uso, reduzindo a quantidade de possibilidades de aplicação do componente. IV. Complexidade mantida em níveis controlados. Assinale a alternativa que indica apenas os itens corretos. I e IV. (Alternativa correta) II e IV. II e III. I e III.
Compartilhar