Baixe o app para aproveitar ainda mais
Prévia do material em texto
Design de software Avaliação Bloco 1 1. As ferramentas de GCS existentes podem ser de código aberto ou proprietárias. As ferramentas proprietárias comercializam a licença de uso, garantindo sua propriedade intelectual. Para empresas de pequeno porte, qual o tipo de ferramenta de GCS que mais se adequa e quais os motivos? Empresas de pequeno porte optam por ferramentas de GCS de código aberto porque a complexidade dos projetos é mínima, e eles geralmente são bem atendidos. Empresas de pequeno porte podem optar por quaisquer tipos de ferramentas de GCS, e não há nenhuma restrição, seja ela financeira, seja de complexidade do processo. Empresas de pequeno porte podem optar por quaisquer tipos de ferramentas de GCS; no entanto, as ferramentas de código aberto geralmente são as mais adotadas porque não há necessidade de desembolso financeiro para sua adoção. (Alternativa correta) Empresas de pequeno porte só podem optar por ferramentas de GCS de código aberto porque nunca têm orçamento suficiente para a adoção de ferramentas proprietárias. 2. O que são requisitos funcionais e não funcionais? Assinale a alternativa que explica as diferenças. Como um dos problemas em desenvolvimento de software, pode-se citar a imprecisão na especificação dos requisitos não funcionais, o que pode ocasionar atrasos e aumento de custos na engenharia do software. Por essa razão, preza-se que seja sempre completa e consistente, de forma que todos os serviços requeridos pelo usuário sejam explícitos plenamente. Não funcionais podem ser descritos de uma forma mais abstrata para que o usuário do sistema tenha uma compreensão mais fácil ou podem ser mais específicos tecnicamente, com entradas, saídas, exceções e restrições. Os funcionais normalmente especificam ou restringem características do sistema e frequentemente são mais críticos que os não funcionais, ou seja, se deixar de atender a esses requisitos, pode ser que o sistema seja inutilizado. Os funcionais são os que abordam o que o software deverá fazer, como deverá reagir a entradas específicas e o comportamento. Dependem do tipo de software que será desenvolvido, de quem o utilizará e da maneira como é feita a escrita dos requisitos pela empresa. Requisitos não funcionais são restrições aos serviços ou às funções oferecidos pelo software, incluindo normas e timing, e normalmente se aplicam ao software como um todo. (Alternativa correta) 3. O que são processos de software? São projetos que devem trabalhar com ideias e com pessoas. São tecnologias, ferramentas, metodologias, modelos e melhores práticas para o projeto. Conjunto de atividades exigidas no desenvolvimento de um sistema de software. (Alternativa correta) São pontos técnicos que devem incluir a definição do ciclo de vida e tipos de planos a serem utilizados no sotfware. 4. Há um número grande de ferramentas de GCS existentes, além de outras que são desenvolvidas para serem mais adequadas à complexidade do processo de GCS das empresas e dos projetos. Pensando nisso, quando uma empresa opta por ferramentas de GCS existentes, é aconselhável que adote no máximo quantas? O ideal é que se adotem, no máximo, sete ferramentas de GCS que tenham alguma forma de integração. Quando for necessário utilizar mais do que três ferramentas existentes, aconselha-se que seja desenvolvida internamente a ferramenta de GCS. Nunca mais de três ferramentas de GCS, para que se possa ter uma gestão menos burocrática e mais efetiva. Não há número máximo de ferramentas a serem utilizadas. O importante é que todas as ferramentas adotadas possam ser integradas. (Alternativa correta) 5. A técnica de observação é muito utilizada quando se deseja compreender como os processos ocorrem na prática, no dia a dia do ambiente de execução. Em relação à técnica de observação, é correto afirmar que: É uma técnica de baixo custo que permite a obtenção de informações com baixa profundidade e baixa abrangência. (Alternativa correta) É uma técnica de médio custo que permite a obtenção de informações com baixa profundidade e alta abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e alta abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e baixa abrangência 6. Analise as alternativas a seguir e assinale a que corresponde a um dos objetivos das revisões técnicas formais de software. Documentar os requisitos solicitados. Realizar uma única reunião ao final do projeto para avaliar se o software foi bem construído. Garantir que o software atenda aos requisitos especificados. (Alternativa correta) Realizar reuniões com os clientes para descobrir o que deve ser feito 7. Você deverá orientar o novo analista de requisitos da empresa sobre a melhor forma de preparar um questionário. Considere as informações a seguir: I. O questionário se aplica quando se deseja atingir um grande número de usuários que estão localizados de forma distribuída. II. Em um questionário é preferível ter questões abertas, pois elas permitem que informações sejam coletadas em profundidade. III. Não há problema em misturar questões abertas e fechadas em um questionário. IV. A escala Likert é usada como apoio para a avaliação das questões abertas. Assinale a alternativa correta. Apenas as alternativas I e III estão corretas. (Alternativa correta) As alternativas I, II, III e IV estão corretas. Apenas as alternativas II e III estão corretas. As alternativas I, II e IV estão corretas. 8. No gerenciamento da qualidade, como é conhecido quando são estabelecidos padrões organizacionais e uma estrutura de procedimentos para condução de um software de qualidade? Garantia da qualidade. (Alternativa correta) Gerenciamento da configuração. Planejamento da qualidade. Controle da qualidade 9. Para Pressman (2016), no que se refere à qualidade de software, as revisões, as inspeções e os testes realizados ao longo do processo de software para garantir que o produto satisfaça os requisitos estabelecidos, são conhecidos como: controle de qualidade. (Alternativa correta) custo da qualidade. reengenharia de processos. garantia de qualidade 10. Diversas são as técnicas de elicitação de requisitos de software, cada uma com suas características e recomendações de aplicabilidade. Em relação ao seu potencial para envolvimento e engajamento dos usuários, qual é a técnica mais recomendada? Questionário. Observação. Entrevista. JAD. (Alternativa correta) Avaliação Bloco 2 1. As técnicas de prototipação e de revisão de requisito são as mais utilizadas para: o gerenciamento de requisitos. o estudo de viabilidade e o desenvolvimento do sistema. a validação de requisitos. o levantamento e a análise de requisitos. 2. Em testes de software, há os fatores ISO de qualidade que definem parâmetros, cujo objetivo é padronizar a avaliação da qualidade de software. A partir disso, é correto afirmar que os fatores: Portabilidade mostra que o software será capaz de funcionar mesmo em condições que não tenham sido validadas nas especificações. Compatibilidade mostra que o software será capaz de funcionar mesmo em condições que não tenham sido validadas nas especificações. Eficiência mostra que o software será capaz de funcionar mesmo em condições que não tenham sido validadas nas especificações. Não levam, necessariamente, à medição direta, porém fornecem base para medidas indiretas e uma lista de verificação que norteia a avaliação de qualidade. 3. Técnicas de verificação e validação são de grande importância para identificar se um software tem defeitos e se está de acordo com o especificado. O que diferencia validação e verificação em um teste de software? Na verificação é assegurado que o software seja robusto e, na validação, que ele tenha portabilidade. Na validação ocorre uma verificação estática e na verificação ela é realizada de uma forma dinâmica. Na validação ocorre uma verificação dinâmica e na verificação ela é realizada de uma forma estática. O tipo de revisões técnicasna implementação e na maneira de debugar o código-fonte. 4. Analise as alternativas a seguir e assinale a que corresponde a um objetivo das inspeções de software. Revisões de cronograma. Avaliação de metas organizacionais. Detecção de defeitos. Revisões de progresso. 5. Qual é o papel do gestor de projetos em desenvolvimento de software? Identificar problemas e incumbir aos desenvolvedores a apresentação da solução. Identificar as partes mais difíceis e buscar soluções eficientes, planejar, assessorar, organizar, dirigir e controlar o projeto. As novas técnicas com metodologias ágeis dificultam a vida dos gerentes de projeto. Impedir que ocorram mudanças de requisitos no decorrer do projeto. 6. O questionário é uma técnica utilizada para a elicitação de requisitos, que se baseia em um instrumento de pesquisa aplicado de forma online ou por meio de entrevistas estruturadas. Em relação à técnica de questionário, é correto afirmar: É uma técnica de médio custo que permite a obtenção de informações com média profundidade e alta abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e baixa abrangência. É uma técnica de baixo custo que permite a obtenção de informações com média profundidade e alta abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e alta abrangência. 7. Quais são as principais fases de um processo de software? Especificação, projeto, implementação, validação e manutenção e evolução. Especificação, engenharia de sistema, interface, validação e manutenção e evolução. Especificação, integração, detalhamento, validação e manutenção e projeto Especificação, integração, implementação, validação e manutenção e evolução. 8. Supondo que um novo software voltado para redes sociais para um público específico esteja sendo desenvolvido, após o término do desenvolvimento das funcionalidades, e depois de ocorrer os testes funcionais e estruturais, o que mais seria pertinente realizar? Teste de performance, pois seria somente um usuário realizando o teste, que tem como foco a usabilidade. Verificação de linguagem de programação utilizada, hardware e conhecimento do desenvolvedor. Revisões técnicas eficientes, especificações funcionais e não funcionais corretas e elaboração de um plano de teste. Acompanhamento de usuário realizando testes, especificações menos detalhadas e elaboração de um plano de teste não funcional. 9. A entrevista é uma das técnicas de elicitação de requisitos mais utilizadas no mundo. Em relação a essa técnica, analise as afirmações a seguir. I. A entrevista é uma técnica de elicitação de requisitos simples de aplicar. Ela necessita de pouco planejamento e basta o agendamento de uma conversa com o usuário para identificar os requisitos que ele deseja. II. A entrevista é a técnica de elicitação de requisitos mais utilizada, porque não é preciso nenhum treinamento, e qualquer analista de requisitos está apto a aplicá-la. III. A entrevista é uma técnica de elicitação de requisitos com custo elevado, pois sempre precisa ser realizada de forma presencial. IV. A entrevista requer que o analista de requisitos tenha habilidade de comunicação e exercite a escuta ativa. Assinale a alternativa correta. Apenas a alternativa IV está correta. As alternativas I, II, III e IV estão corretas. As alternativas I, II e IV estão corretas. Apenas as alternativas II e III estão corretas. 10. O que ocorre na fase do projeto? Ocorre o desenvolvimento do modelo conceitual para o software, composto por módulos que podem ser independentes. Há a definição da interface e o estudo de comunicação para cada módulo. Os módulos são definidos e podem ser traduzidos para pseudocódigos. Ocorrem a implementação e o desenvolvimento em si do software. A interface não é definida, e a interface de comunicação para cada módulo é estudada. O software desenvolvido e implementado entra em um ciclo que abrange todas as fases anteriores. Os módulos são indefinidos e podem ser traduzidos para pseudocódigos Nesta fase, as necessidades para atender o cliente são levantadas, tendo como principal objetivo especificar os requisitos, documentando-os, e os módulos são indefinidos. Analise os requisitos apresentados a seguir: I) Todas as opções do sistema de vendas pela Web devem ser acessadas com no máximo 3 cliques do mouse. II) O sistema de log de transações deverá listar todos os usuários logados simultaneamente nas aplicações SWIT e DERT. III) O orçamento máximo a ser gasto para o desenvolvimento do sistema de controle estatístico de qualidade deverá ser de R$ 20.000,00. IV) O relatório de bons clientes deverá apresentar todos os clientes com compras mensais superiores a R$ 5.000,00. V) A atualização de 100 mil registros de vendas não deverá consumir mais do que 5 segundos de CPU. a. Os requisitos I e V são funcionais; os requisitos II e IV são não funcionais; o requisito III é de projeto. b. Os requisitos I e V são não funcionais; os requisitos II e IV são funcionais; o requisito III é de projeto. c. Os requisitos I e II são não funcionais; os requisitos III e IV são de projeto; o requisito V é funcional. d. Os requisitos I e V são funcionais; os requisitos II e IV são nãofuncionais; o requisito III é de processo. e. Os requisitos I, II, III, IV e V são funcionais. Pedro foi alocado para realizar a elicitação de requisitos de um sistema no qual o cliente é uma grande empresa de seguros. O objetivo é desenvolver uma nova versão para um sistema já existente. Diversos usuários teriam que ser envolvidos e um possível conito de prioridades poderia ocorrer. O gerente de Pedro aconselhou que ele utilizasse terno e gravata, de acordo com as características da empresa. Que técnica de elicitação de requisitos Pedro deveria aplicar? a. Observação. b. Brainstorming. c. Reunião tradicional. d. Entrevista. e. JAD. Jones é um Desenvolvedor que acaba de ser promovido a Analista de Requisitos. Sua primeira atividade na nova função é realizar as atividades de requisitos para o novo sistema de avaliação de desempenho dos funcionários da empresa. A equipe usa métodos ágeis de desenvolvimento. As regras para a avaliação ainda não estão denidas, mas há diversos aspectos legais que devem ser levados em consideração. Você é Analista de Requisitos há mais tempo e Jones pede a sua ajuda para identicar por onde ele deveria começar. O que você recomendaria para Jones. I. Como a empresa utiliza métodos ágeis, você recomenda que Jones converse com a equipe de desenvolvimento e já comece a implementação das primeiras funcionalidades. II. Como o sistema possui aspectos legais a serem considerados, você recomenda que Jones inicie identicando as fontes de informação e as técnicas que ele poderá aplicar para elicitar os requisitos. III. Como a empresa trabalha em um ambiente mais descontraído, utilizando métodos ágeis, você recomenda que ele aplique a técnica de brainstorming. a. Apenas as alternativas II e III estão corretas. b. Apenas as alternativas I e III estão corretas. c. Apenas as alternativas I e II estão corretas d. A única alternativa correta é a II. e. As alternativas I, II e III estão corretas. Para que o impacto de uma Solicitação de Mudança possa ser analisado adequadamente, é importante que o Analista de Requisitos disponha da matriz de rastreabilidade. Sobre esse artefato, é correto armar que: a. a matriz de rastreabilidade é uma planilha que deve ser criada quando os desenvolvedores terminaram a codicação, de modo a relacionar os requisitos e os códigos implementados. b. a matriz de rastreabilidade deve ser construída manualmente no formato de uma planilha. c. a matriz de rastreabilidade precisa apenas relacionar os requisitos com as suas fontes de informação, de modo que se possa identicar rapidamente quem pediu o requisito. d. a matriz de rastreabilidade documenta os relacionamentos entre os diversos tipos de requisitos e entre os requisitos e outros elementos do produto de software. e. a matriz de rastreabilidadeé uma ferramenta criada na etapa de Gerenciamento de Requisitos. Manuela é analista de requisitos de um projeto para desenvolvimento de um sistema de apoio para a venda de enfeites de Natal pela Internet. O seu cliente mandou a seguinte mensagem: Com base no texto, ela extraiu os seguintes requisitos: Sobre esses requisitos, é correto armar que: a. O conjunto de requisitos listado está completo e correto, portanto, os requisitos podem seguir para a próxima fase do processo de desenvolvimento. b. O conjunto de requisitos não está completo e os requisitos estão todos ambíguos, por isso não podem seguir para a próxima fase do processo de desenvolvimento. c. O conjunto de requisitos listado está completo, mas há alguns requisitos ambíguos, e por isso os requisitos não podem seguir para a próxima fase do processo de desenvolvimento. d. o conjunto de requisitos listado não está completo e por isso não pode seguir para a próxima fase do processo de desenvolvimento e. O conjunto de requisitos listados não está completo, mas os requisitos corretos podem seguir para a próxima fase do processo de desenvolvimento. Você deverá orientar o novo analista de requisitos da empresa sobre a melhor forma de preparar um questionário. Considere as informações a seguir: I. O questionário se aplica quando se deseja atingir um grande número de usuários que estão localizados de forma distribuída. II. Em um questionário é preferível ter questões abertas, pois elas permitem que informações sejam coletadas em profundidade. III. Não há problema em misturar questões abertas e fechadas em um questionário. IV. A escala Likert é usada como apoio para a avaliação das questões abertas. Assinale a alternativa correta. a. Apenas as alternativas I e III estão corretas. b. As alternativas I, II e IV estão corretas. c. Apenas as alternativas II e III estão corretas. d. Apenas a alternativa I está correta. e. As alternativas I, II, III e IV estão corretas. 1. As ferramentas de GCS automatizam várias atividades do processo de mudança, como, por exemplo, o versionamento de código, o empacotamento e a distribuição do software, documentos, entre outros itens de configuração. Todas as ferramentas de GCS existentes, tanto de código aberto quanto proprietárias, suprem todas as necessidades de quaisquer tipos de projetos? Qual a justificativa para tal resposta? Sim. Todas as ferramentas existentes, tanto de código aberto quanto proprietárias, têm características que podem ser estudadas e alinhadas a qualquer tipo de projeto. Não. Somente as ferramentas proprietárias conseguem automatizar exatamente todas as necessidades do processo de qualquer tipo de projeto, devido ao custo de desenvolvimento de tais ferramentas. Sim. Todas as ferramentas de GCS existentes conseguem automatizar exatamente todas as necessidades do processo de qualquer tipo de projeto ou empresa, conseguindo otimizar todas as atividades. Não. Muitas empresas optam por desenvolver ferramentas totais ou complementares porque não conseguem alinhar a automação do processo de GCS somente com ferramentas existentes (código aberto ou pagas). 2. No gerenciamento da qualidade, como é conhecido quando são estabelecidos padrões organizacionais e uma estrutura de procedimentos para condução de um software de qualidade? Controle da qualidade. Gerenciamento da configuração. Planejamento da qualidade. Garantia da qualidade. 3. Diversas são as técnicas de elicitação de requisitos de software, cada uma com suas características e recomendações de aplicabilidade. Em relação ao seu potencial para envolvimento e engajamento dos usuários, qual é a técnica mais recomendada? JAD. Questionário. Entrevista. Observação. 4. Técnicas de verificação e validação são de grande importância para identificar se um software tem defeitos e se está de acordo com o especificado. O que diferencia validação e verificação em um teste de software? O tipo de revisões técnicas na implementação e na maneira de debugar o código-fonte. Na validação ocorre uma verificação estática e na verificação ela é realizada de uma forma dinâmica. Na verificação é assegurado que o software seja robusto e, na validação, que ele tenha portabilidade. Na validação ocorre uma verificação dinâmica e na verificação ela é realizada de uma forma estática. 5. As ferramentas que automatizam os processos de GCS estão divididas em subáreas. Cada subárea apresenta atividades que estabelecem o controle de versões, de avaliação de conformidade dos produtos, das definições e uso de ferramentas, entre outras tantas atividades. Quais são as principais atividades da subárea de gestão de versões e distribuição? A gestão de controle de versões e distribuição controla a correção de defeitos e erros durante o processo de desenvolvimento de software. A gestão de controle de versões e distribuição é responsável pelos testes dos códigos e correção de erros. A gestão de controle de versões e distribuição é responsável pela conformidade dos códigos e sua regulamentação. A gestão de controle de versões e distribuição garante o controle das versões do código, bem como o empacotamento e a implantação dos aplicativos. 6. Dentre as técnicas empregadas no projeto de interfaces de sistemas, uma delas é a condução de testes de usabilidade, em que os resultados fornecem importantes indicadores para melhorar a qualidade da interface. Em que consistem os testes de usabilidade? Entregar um questionário para os usuários do sistema com perguntas sobre a interface e mapear as respostas. Mostrar o sistema para um usuário, solicitar que ele realize algum tipo de tarefa, observando as suas reações à interface, como, por exemplo, erros cometidos, dificuldades e eficiência no cumprimento da tarefa. Mostrar o sistema para um grupo de pessoas e coletar a opinião dos participantes sobre a interface e os conceitos. Submeter o sistema a um software robô de teste e verificar os tempos de resposta a cada padrão de navegação, verificando se estão de acordo com os requisitos não funcionais do sistema. 7. O teste do software tem como objetivo fornecer informações sobre a qualidade do software em relação ao contexto no qual ele deverá funcionar. Dentre os testes de software, pode-se incluir: I. Caixa-preta. II. Caixa-cinza. III. Caixa-branca. IV. Teste de performance. V. Teste de integração. Alternativas II, III e V. Alternativas I, II, III, IV e V. Alternativa I. Alternativas I e II. 8. O gerenciamento de configuração de software (GCS) é uma área que atua em conjunto com todo o ciclo de desenvolvimento de software. Ou seja, todas as etapas do desenvolvimento estão cobertas pelo GCS. Mas há um processo que recebe mais informações e resultados provenientes do GCS. Qual é esse processo dentro do ciclo de vida do desenvolvimento de software? O GCS serve como base para a adoção de ferramentas de infraestrutura. O GCS gera excelente alinhamento com o planejamento do projeto. O GCS serve de alicerce principalmente para o processo de requisitos. O GCS alicerça, em especial, o processo de gerência de qualidade de software. 9. Para Pressman (2016), no que se refere à qualidade de software, as revisões, as inspeções e os testes realizados ao longo do processo de software para garantir que o produto satisfaça os requisitos estabelecidos, são conhecidos como: garantia de qualidade. custo da qualidade. reengenharia de processos. controle de qualidade. 10. O questionário é uma técnica utilizada para a elicitação de requisitos, que se baseia em um instrumento de pesquisa aplicado de forma online ou por meio de entrevistas estruturadas. Em relação à técnica de questionário, é correto afirmar: É uma técnica de baixo custo que permite a obtenção de informações com média profundidade e alta abrangência. É uma técnica de médio custo que permite a obtenção de informações com média profundidade e alta abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e baixa abrangência. É uma técnica de alto custo que permite a obtenção de informaçõescom alta profundidade e alta abrangência. Teste e Homologação de Software 1. Você foi escalado para integrar a equipe de desenvolvimento de um sistema de controle financeiro de uma empresa, que está sendo fabricado em Java. Para entender melhor sobre os padrões de desenvolvimento da equipe, você começou a analisar os códigos desenvolvidos até o momento e observou que as classes eram elaboradas de tal maneira que os testes unitários eram realizados por meio da comparação entre os valores que eram esperados pela unidade e os valores realmente recebidos pela sua execução. Dito isso, a ferramenta de teste de unidade que está sendo utilizada certamente é: JUnit. Jest. NUnit. RSpec. 2. As tabelas de decisão são uma das fontes de informações para a construção de casos de teste. Esses testes construídos por essas tabelas fazem parte de qual abordagem em testes de software? As tabelas de decisão são utilizadas em testes de fluxo de dados. As tabelas de decisão são utilizadas em testes de ciclo. As tabelas de decisão são utilizadas em testes de caminho básico. As tabelas de decisão são utilizadas em testes do tipo funcionais. 3. Você finalizou a codificação do cadastro de férias de funcionários em um sistema de recursos humanos. Nesse momento, você vai testar todos os controles da unidade para verificar se os erros cometidos pelo usuário recebem uma mensagem de retorno, e se essa mensagem contém informações a respeito do que pode ser feito para corrigir o problema, tudo isso sem que o funcionamento do sistema seja interrompido. Qual elemento da unidade você vai testar? Condições limite. Caminhos de manipulação de erro. Estrutura de dados locais. Caminhos independentes. 4. As tabelas de decisão têm características básicas necessárias para que o seu uso seja adequado. Sobre essas características, assinale a alternativa correta. As tabelas de decisão devem ter mais de uma ação para serem consideradas adequadas. As tabelas de decisão devem ser do tipo booleana e ter somente combinações de verdadeiro e falso. As tabelas de decisão adequadas são aquelas com poucas condições e muitas ações, pois, assim, o teste terá maior cobertura. As tabelas de decisão devem apresentar condições, ações, combinações e regras. 5. O diagrama de caso de uso é um documento que representa, de maneira visual, como se dá a interação do usuário com as funcionalidades do sistema. Geralmente, o diagrama de caso de uso possui quatro papéis, que representam os elementos envolvidos na funcionalidade. São eles: cenário, usuários, plano de teste, conexão funcionalidade, perfis, caso de teste, ligação cenário, atores, caso de uso, comunicação rotina, usuários, use case, interação 6. Os casos de teste criados com base em tabelas de decisão são testes que têm uma boa cobertura. Assinale a alternativa que explica o motivo de tal característica. Os casos de teste gerados a partir de tabelas de decisão são testes de boa cobertura, pois usam a regra definida na tabela, criada para especificar combinações de entradas e ações esperadas pelo software e suas saídas. Os casos de teste gerados a partir de tabelas de decisão são testes de boa cobertura; quando executados, a tabela de decisão garante o resultado esperado pelo analista de teste. Os casos de teste gerados a partir de tabelas de decisão são testes de boa cobertura, pois é construído um caso de teste para cada coluna da tabela de decisão. Os casos de teste gerados a partir de tabelas de decisão são testes de boa cobertura somente se o analista de testes não minimizar a tabela. 7. Você trabalha como analista em uma empresa fornecedora de softwares para um grupo de supermercados. Sua próxima atividade é trabalhar no desenvolvimento de um sistema de controle de estoque, e seu gestor informou que você deverá atuar também como testador, sem que seus testes envolvem a verificação do módulo ou do sistema como um todo. Você logo entendeu que deve realizar que tipo de teste? Teste de integração. Teste de portabilidade. Teste de unidade. Teste funcional. 8. O que é TDD na Engenharia de Software? É um ciclo de vida desenvolvido para facilitar a criação de testes. TDD é uma técnica de testes de software utilizada pelos usuários dos sistemas. TDD é um sistema usado para testar software de forma automatizada. O TDD é uma técnica de desenvolvimento de software que se baseia na criação inicial de testes de software antes mesmo do desenvolvimento. 9. O diagrama de caso de uso é um dos artefatos mais importantes da UML, que descreve as funcionalidades do software de acordo com a visão dos seus usuários. Nesse sentido, pode-se afirmar que o diagrama de caso de uso define: a forma de interação dos usuários com o software, por meio de suas funcionalidades. a melhor forma de implementar o sistema, guiando os desenvolvedores na utilização da linguagem de programação. quantos desenvolvedores serão necessários para codificar o software, dependendo da complexidade do sistema. quantos artefatos precisam ser documentados durante a realização dos testes. 10. O analista de testes seleciona uma tabela e realiza uma análise sobre ela para entender o seu funcionamento, além de saber se é possível o seu uso como suporte de um caso de teste. Após a estabilização, ele pode criar os casos de teste com base na tabela. Assinale a alternativa correta em relação à criação dos casos de teste. Somente são criados casos de teste depois da estabilização se a tabela de decisão apresentar mais de uma regra, além de apenas uma condição. Os casos de teste são criados após a estabilização, a qual inclui a minimização das colunas da tabela com combinações semelhantes sem prejuízo ao teste. Cada coluna que contém uma regra se torna um caso de teste. São criados casos de teste na mesma quantidade de condições da tabela, ou seja, um caso de teste para cada condição. Assim, é possível testar todas as combinações da tabela. Um caso de teste é criado após análise e adequação da tabela. Nesse caso de teste, devem ser abordadas todas as combinações, sendo a principal como fluxo principal e as demais como fluxo alternativo. Supondo que um novo software voltado para redes sociais para um público específico esteja sendo desenvolvido, após o término do desenvolvimento das funcionalidades, e depois de ocorrer os testes funcionais e estruturais, o que mais seria pertinente realizar? Revisões técnicas eficientes, especificações funcionais e não funcionais corretas e elaboração de um plano de teste. Dentre as técnicas empregadas no projeto de interfaces de sistemas, uma delas é a condução de testes de usabilidade, em que os resultados fornecem importantes indicadores para melhorar a qualidade da interface. Em que consistem os testes de usabilidade? Mostrar o sistema para um usuário, solicitar que ele realize algum tipo de tarefa, observando as suas reações à interface, como, por exemplo, erros cometidos, dificuldades e eficiência no cumprimento da tarefa. 2. Você foi recém contratado para integrar uma equipe de testes de uma empresa que fabrica impressoras 3D, e agora está designado a fazer a recepção das notificações de novas falhas de funcionamento do produto. Um usuário enviou uma solicitação de defeito, relatando que aparece uma mensagem com um X vermelho dizendo "impressora não conectada”. Ao ler a notificação, você deve: ler a notificação e observar que o usuário registra ter conectado a impressora na porta de comunicação do computador, mas a mesma notificação salienta que o produto não está com o led indicativo de alimentação de energia aceso. Você então não abre o chamado, pois considera que há desinformação sobre o funcionamento do produto pelo usuário. 3. Um usuário adquiriu uma impressora 3D, para uso em seu ateliê de arte. Durante aproximadamente 90 dias, não houve qualquer problema e a impressora apresentou comportamento dentro do esperado. No entanto, após esse tempo, ao enviar para a impressão uma peça com uma das medidas axiais maiores do que a capacidade de impressão, o produto iniciou a impressão diretamenteem uma das paredes do cubo de vidro onde fica confinado o mecanismo de impressão, como pode ser observado na figura a seguir: Sobre essa situação, você entende que: é possível constatar uma falha do produto, resultante de um defeito (provavelmente código de driver de impressão mal escrita) e originada em um erro do programador (inexperiente na codificação do módulo driver). 4. Você foi designado como gerente de testes e precisa montar, de imediato, uma equipe de profissionais. Para realizar os testes de unidade, você irá recrutar: profissionais programadores, pois testes de unidade são realizados separadamente em cada módulo do sistema. 5. Observe o cenário a seguir: uma falha foi notificada para o grupo de testes e foi encaminhada para atendimento. A falha foi então testada, corrigida e verificada, sendo encaminhada, em seguida, para relatório final e conclusão. No entanto, durante a correção, uma nova falha foi detectada, o que gerou nova notificação. Essa outra falha foi analisada e a equipe de testes decidiu pela realização do reparo na próxima atualização de versão. De acordo com a descrição acima, a sequência percorrida no bug life cycle foi: NOVA – DESIGNAÇÃO – TESTE – VERIFICAÇÃO (falha 1) – REABERTURA (falha 2) – CONCLUSÃO (falha 1) – DESIGNAÇÃO (falha 2) – ADIADO (falha 2) 1. Um caso de teste é um documento que pretende especificar detalhadamente como serão os testes de uma determinada parte específica do software. Por meio da realização de um caso de teste, o testador consegue identificar se os elementos foram construídos de forma condizente com o pedido inicial. Assinale a alternativa que apresenta esses elementos: Métodos e chamadas de função Interface e código-fonte Prazo de entrega e custos do projeto Funcionalidades e requisitos do software 2. Você acabou de codificar uma parte de um programa que vai ser utilizado com alunos em uma escola infantil. Seus testes unitários, da maneira como você os realizou, conseguiram identificar que a unidade programada por você está se integrando facilmente com o restante do sistema, que as partes do programa que já estavam prontas não apresentaram novos erros, e ainda possibilitaram a documentação detalhada das funcionalidades constantes nessa unidade. Logo, pode-se perceber que isso aconteceu por quê? Os testes foram feitos manualmente. Os testes foram feitos antes de iniciar a codificação. Os testes foram feitos depois da codificação. Os testes foram feitos de forma automatizada. 3. Qual é a fase de teste em que se testam as menores unidades de software desenvolvidas (pequenas partes ou unidades do sistema)? Teste de aceitação. Teste de sistema. Teste de operação. Teste de unidade. 4. A minimização da tabela e a decisão antes da criação de casos de teste baseados nela é muito importante para a redução do montante de testes necessários. Sabendo disso, assinale a alternativa correta. Para minimizar a tabela de decisão, deve-se eliminar condições que são parecidas para diminuir o número de casos de teste. A minimização é proveniente da análise da tabela de decisão, a qual elimina somente colunas que não executam ações. A minimização da tabela de decisão consiste em avaliar as combinações semelhantes que executam somente a mesma ação. Com isso, é possível mesclar e/ou eliminar esse tipo de coluna. Minimizar uma tabela de decisão é priorizar as regras de negócio mais importantes, as quais são representadas nas colunas, uma vez que o restante não executa ações. 5. Um usuário adquiriu uma impressora 3D, para uso em seu ateliê de arte. Durante aproximadamente 90 dias, não houve qualquer problema e a impressora apresentou comportamento dentro do esperado. No entanto, após esse tempo, ao enviar para a impressão uma peça com uma das medidas axiais maiores do que a capacidade de impressão, o produto iniciou a impressão diretamente em uma das paredes do cubo de vidro onde fica confinado o mecanismo de impressão, como pode ser observado na figura a seguir: Sobre essa situação, você entende que: o usuário deve conformar-se, pois está diante de um erro não encontrado pelo fabricante; porém, depois de 90 dias, todos os erros podem ser desconsiderados, porque não estão mais cobertos pelo Código de Defesa do Consumidor. é possível constatar uma falha do produto, resultante de um defeito (provavelmente código de driver de impressão mal escrito) e originada em um erro do programador (inexperiente na codificação do módulo driver). é possível constatar uma falha mecânica, resultante de um defeito também mecânico, porém sem nenhum erro humano. o usuário está diante de um erro sistêmico e o seu conhecimento sobre uso da impressora e códigos de programação já orientará diretamente a equipe do reparo. 6. O projeto de desenvolvimento de um software passa por várias etapas, que podem receber nomenclaturas diferentes nas empresas, mas, geralmente, giram em torno de início, planejamento, preparação, especificação, execução e entrega. Os testes, antes de serem realizados, precisam ser planejados a fundo. Em que etapa isso acontece? Entrega Preparação Especificação Procedimentos iniciais 7. Você foi recém contratado para integrar uma equipe de testes de uma empresa que fabrica impressoras 3D, e agora está designado a fazer a recepção das notificações de novas falhas de funcionamento do produto. Um usuário enviou uma solicitação de defeito, relatando que aparece uma mensagem com um X vermelho dizendo "impressora não conectada”. Ao ler a notificação, você deve: solicita informações adicionais sobre o usuário, grau de instrução, experiência do usuário em programação, pois considera que essas informações são fundamentais para análise e aceitação da notificação da falha. imediatamente registrar como defeito novo e encaminhar para a equipe de testes, para que designem um testador para esse defeito. Afinal, se foi feita uma notificação, ela precisa ser testada. registra a notificação de falha nova, com base no Código de Defesa do Consumidor, que estabelece como responsabilidade da empresa fabricante o devido respeito às exigências por parte do usuário no que se refere a qualquer tipo de defeito. ler a notificação e observar que o usuário registra ter conectado a impressora na porta de comunicação do computador, mas a mesma notificação salienta que o produto não está com o led indicativo de alimentação de energia aceso. Você então não abre o chamado, pois considera que há desinformação sobre o funcionamento do produto pelo usuário. 8. Você foi recém contratado para integrar uma equipe de testes de uma empresa que fabrica impressoras 3D. Você foi designado para realizar a verificação do módulo de driver de impressão para um dado sistema operacional, como parte do processo de testes. Você então: reúne-se com o programador do módulo; afinal, ele, melhor do que ninguém, sabe dizer como foi elaborado o driver. instala o software e executa-o em várias máquinas com o mesmo sistema operacional em várias configurações diferentes, e elabora um relatório dos resultados. coleta e analisa as listagens de codificação do módulo, os relatórios do programador referentes ao programa que ele fez e os relatórios gerados na etapa de compilação, procurando indícios de algum erro ou anomalia. vai à procura dos documentos de especificação do produto final, pois lá é possível encontrar uma descrição fiel de como opera a impressora 3D naquele sistema operacional específico. 9. Você está codificando um módulo de um sistema de controle de livros em uma biblioteca e finalizou a parte de cadastro de livros. Para efetuar os testes unitários nessa unidade, você precisará verificar se as informações estão sendo gravadas corretamente no banco de dados, na medida em que você inclui, altera ou exclui registros. Qual elemento da unidade você está testando? Interface. Estrutura de dados locais. Caminhos independentes. Caminhos de manipulação de erro. 10. O comportamento interno do componente de software trabalha diretamente sobre o código-fonte do componente de software para avaliaraspectos como teste de condição, teste de fluxo de dados, teste de ciclos, teste de caminhos lógicos e códigos nunca executados. Das técnicas apresentadas a seguir, qual avalia esse comportamento interno do componente de software? Teste de caixa-preta. Teste de caixa-branca. Técnicas não funcionais. Regressão. Gerenciamento Ágil de Projetos de Software 1. A entrevista é uma das técnicas de elicitação de requisitos mais utilizadas no mundo. Em relação a essa técnica, analise as afirmações a seguir. I. A entrevista é uma técnica de elicitação de requisitos simples de aplicar. Ela necessita de pouco planejamento e basta o agendamento de uma conversa com o usuário para identificar os requisitos que ele deseja. II. A entrevista é a técnica de elicitação de requisitos mais utilizada, porque não é preciso nenhum treinamento, e qualquer analista de requisitos está apto a aplicá-la. III. A entrevista é uma técnica de elicitação de requisitos com custo elevado, pois sempre precisa ser realizada de forma presencial. IV. A entrevista requer que o analista de requisitos tenha habilidade de comunicação e exercite a escuta ativa. Assinale a alternativa correta. Apenas as alternativas II e III estão corretas. Apenas a alternativa IV está correta. As alternativas I, II, III e IV estão corretas. As alternativas I, II e IV estão corretas. 2. As mudanças no que diz respeito ao desenvolvimento de sistemas/ softwares são constantes, geralmente, porque as necessidades dos solicitantes e usuários mudam. Dentre os fatores na análise de mudança, pode-se citar: Auditorias de software. Gerenciamento de acesso. Ciclo de release do software. Análise de implementação. 3. É uma técnica de baixo custo que permite a obtenção de informações com média profundidade e alta abrangência. Observação. Entrevista. Questionário. JAD. 4. O desenvolvimento de softwares móveis apresenta peculiaridades em relação a softwares desktops, por exemplo. Qual das dificuldades técnicas no desenvolvimento não compreende o desenvolvimento móvel? Ciclos de desenvolvimento longos. Diversas linguagens de programação. Uso de bateria. Diversas plataformas de hardware e software. 5. A técnica de observação é muito utilizada quando se deseja compreender como os processos ocorrem na prática, no dia a dia do ambiente de execução. Em relação à técnica de observação, é correto afirmar que: É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e alta abrangência. É uma técnica de médio custo que permite a obtenção de informações com baixa profundidade e alta abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e baixa abrangência. É uma técnica de baixo custo que permite a obtenção de informações com baixa profundidade e baixa abrangência. 6. Para desenvolver softwares móveis de qualidade, deve-se analisar os diferentes contextos da aplicação, suas interações, sua usabilidade, a privacidade e a segurança. Para isso, testes devem ser realizados, como, por exemplo, o funcional, que busca conferir: a implementação e o funcionamento de todos os requisitos, que devem corresponder ao esperado. a capacidade de comunicação do seu aplicativo com outros aplicativos e redes. a experiência do usuário, a facilidade e a possibilidade de realizar as ações pretendidas. o tempo de resposta, eliminando lentidão ou travamento do aplicativo. 7. Existem várias regras para o desenvolvimento de aplicativos móveis e de aplicativos em determinadas plataformas como iOS e Android. Essa variedade, às vezes, dificulta a publicação do seu software em uma Store. É uma boa prática no desenvolvimento: serem os rótulos de widget de fácil reconhecimento e de tamanho adequado. usar sempre cores neutras, buscando baixo contraste entre fontes e fundos. fazer uso de barras de rolagens com formulários extensos. evitar a possibilidade de personalização do software. 8. No projeto de desenvolvimento de softwares móveis, uma das atividades importantes é projetar as interfaces. Os projetos de interfaces podem ser feitos à mão ou com ferramentas de software. Para um protótipo de tela com alta fidedignidade, uma ferramenta indicada é: Figma. Xcode. Android Studio. MarvenApp. 9. No desenvolvimento ágil de software, critérios de aceitação são especificados como base para a validação das histórias do usuário. Mônica é a product owner de um projeto que visa a implementar um software para realizar reservas de quadras de tênis em um clube. Ela escreveu uma história de usuário e os critérios de aceitação: Com base nas informações apresentadas, assinale a alternativa correta: A história do usuário não está correta nem completa, e apenas os critérios de aceitação 1 e 2 estão corretos. A história do usuário está correta e completa, e todos os critérios de aceitação estão adequados. A história do usuário não está correta nem completa, mas todos os critérios de aceitação estão adequados. A história do usuário está correta e completa, mas apenas os critérios de aceitação 1 e 2 estão adequados. 10. A gerência de configuração de software está diretamente ligada à baseline, na qual são criados os marcos de versionamento de artefatos. Diante dessa afirmação, assinale a alternativa correta em relação às características: É um local sob controle de acesso que armazena os relatórios e as mudanças solicitadas pelo cliente. Ajuda a controlar as mudanças sem impedir seriamente as mudanças justificáveis. Trata-se de um repositório de itens de configuração com controle de acesso, no qual são armazenados os itens de configuração. É um local sob controle de acesso que armazena os relatórios e as mudanças solicitadas pelo cliente. 1. É uma técnica de baixo custo que permite a obtenção de informações com média profundidade e alta abrangência. JAD. Entrevista. Observação. Questionário. 2. A técnica de observação é muito utilizada quando se deseja compreender como os processos ocorrem na prática, no dia a dia do ambiente de execução. Em relação à técnica de observação, é correto afirmar que: É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e alta abrangência. É uma técnica de médio custo que permite a obtenção de informações com baixa profundidade e alta abrangência. É uma técnica de baixo custo que permite a obtenção de informações com baixa profundidade e baixa abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e baixa abrangência. 7. A entrevista é uma das técnicas de elicitação de requisitos mais utilizadas no mundo. Em relação a essa técnica, analise as afirmações a seguir. I. A entrevista é uma técnica de elicitação de requisitos simples de aplicar. Ela necessita de pouco planejamento e basta o agendamento de uma conversa com o usuário para identificar os requisitos que ele deseja. II. A entrevista é a técnica de elicitação de requisitos mais utilizada, porque não é preciso nenhum treinamento, e qualquer analista de requisitos está apto a aplicá-la. III. A entrevista é uma técnica de elicitação de requisitos com custo elevado, pois sempre precisa ser realizada de forma presencial. IV. A entrevista requer que o analista de requisitos tenha habilidade de comunicação e exercite a escuta ativa. Assinale a alternativa correta. As alternativas I, II, III e IV estão corretas. As alternativas I, II e IV estão corretas. Apenas a alternativa IV está correta. Apenas as alternativas II e III estão corretas. 8. Existem várias regras para o desenvolvimento de aplicativos móveis e de aplicativos em determinadas plataformas como iOS e Android. Essa variedade, às vezes, dificulta a publicação do seu software em uma Store. É uma boa prática no desenvolvimento: evitar a possibilidade de personalização do software. serem os rótulos de widget de fácil reconhecimento e de tamanho adequado. usar sempre cores neutras, buscando baixo contraste entre fontes e fundos. fazer uso de barras de rolagens com formulários extensos. 9. As mudançasno que diz respeito ao desenvolvimento de sistemas/ softwares são constantes, geralmente, porque as necessidades dos solicitantes e usuários mudam. Dentre os fatores na análise de mudança, pode-se citar: Gerenciamento de acesso. Análise de implementação. Auditorias de software. Ciclo de release do software. 10. A gerência de configuração de software está diretamente ligada à baseline, na qual são criados os marcos de versionamento de artefatos. Diante dessa afirmação, assinale a alternativa correta em relação às características: Trata-se de um repositório de itens de configuração com controle de acesso, no qual são armazenados os itens de configuração. É um local sob controle de acesso que armazena os relatórios e as mudanças solicitadas pelo cliente. Ajuda a controlar as mudanças sem impedir seriamente as mudanças justificáveis. É um local sob controle de acesso que armazena os relatórios e as mudanças solicitadas pelo cliente. 1. As mudanças no que diz respeito ao desenvolvimento de sistemas/ softwares são constantes, geralmente, porque as necessidades dos solicitantes e usuários mudam. Dentre os fatores na análise de mudança, pode-se citar: Ciclo de release do software. Análise de implementação. Gerenciamento de acesso. Auditorias de software. 2. A configuração de software/sistema trata-se de uma coleção que contém versões definidas de itens de configuração de acordo com desenvolvimentos específicos para uma finalidade particular. Durante o processo de desenvolvimento de software, o gerenciamento da configuração de software identifica a sua configuração: Apenas no início do ciclo de vida do software. Somente ao final do ciclo de vida do software. Em pontos predefinidos durante o ciclo de vida do software. Antes de iniciar o ciclo de vida do software. 3. Com o aumento da demanda por suprimentos médicos devido à Covid-19, Maria Luiza, analista de requisitos, foi chamada para o desenvolvimento de um software de vendas pela Internet e recebeu a seguinte mensagem de seu cliente, que é o dono do negócio: Ela finalizou a elicitação e selecionou os seguintes stakeholders para validar os requisitos: o dono do negócio, o especialista em tributação da empresa, o especialista em integração de sistemas e a equipe de desenvolvimento. Com base nas informações apresentadas, ajude Maria Luiza a tomar uma decisão selecionando a alternativa correta. O conjunto de stakeholders listado está completo e correto, portanto, a validação dos requisitos já pode ser iniciada. O conjunto de stakeholders listado não está completo nem correto, e, por isso, os requisitos não podem seguir para a validação. O conjunto de stakeholders listado não está completo, embora esteja correto, e deverá ser completado antes que a validação possa ser realizada. O conjunto de stakeholders listado está completo, mas incorreto, pois a equipe de desenvolvimento não deverá ser envolvida nesse momento. 4. Você deverá orientar o novo analista de requisitos da empresa sobre a melhor forma de preparar um questionário. Considere as informações a seguir: I. O questionário se aplica quando se deseja atingir um grande número de usuários que estão localizados de forma distribuída. II. Em um questionário é preferível ter questões abertas, pois elas permitem que informações sejam coletadas em profundidade. III. Não há problema em misturar questões abertas e fechadas em um questionário. IV. A escala Likert é usada como apoio para a avaliação das questões abertas. Assinale a alternativa correta. As alternativas I, II, III e IV estão corretas. As alternativas I, II e IV estão corretas. Apenas as alternativas I e III estão corretas. Apenas as alternativas II e III estão corretas. 5. O retorno de uma pesquisa na Internet foi: Critérios de escolha de ferramenta: eficácia, desempenho, simplicidade e fácil adaptabilidade. Pode ser utilizada para solucionar alguns problemas, tais como, registro de evolução de projeto, viabilização de trabalho em equipe e manutenção de variações do projeto. Ferramentas como Git, Subversion e Mercurial cumprem os requisitos da necessidade. A pesquisa era sobre qual tipo de ferramenta? Controle e gerenciamento de versão. Governança de tecnologia de informação. Gerenciamento e assinatura de documentos eletronicamente. Controle e gerenciamento de mudanças. 6. A técnica de observação é muito utilizada quando se deseja compreender como os processos ocorrem na prática, no dia a dia do ambiente de execução. Em relação à técnica de observação, é correto afirmar que: É uma técnica de baixo custo que permite a obtenção de informações com baixa profundidade e baixa abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e baixa abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e alta abrangência. É uma técnica de médio custo que permite a obtenção de informações com baixa profundidade e alta abrangência. 7. O questionário é uma técnica utilizada para a elicitação de requisitos, que se baseia em um instrumento de pesquisa aplicado de forma online ou por meio de entrevistas estruturadas. Em relação à técnica de questionário, é correto afirmar: É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e baixa abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e alta abrangência. É uma técnica de baixo custo que permite a obtenção de informações com média profundidade e alta abrangência. É uma técnica de médio custo que permite a obtenção de informações com média profundidade e alta abrangência. 8. O projeto de desenvolvimento de software pode ser descrito em seis fases: formulação, planejamento, análise, engenharia, implementações e testes e, por fim, avaliação do usuário. A fase de engenharia envolve: avaliar a usabilidade e acessibilidade. analisar o projeto de interface, de arquitetura, navegação e conteúdo. estabelecer o cronograma e a documentação dos próximos incrementos. elucidar os custos envolvidos e os riscos que o projeto tem. 9. Os padrões de projeto facilitam a reutilização de soluções e arquiteturas de softwares orientados a objetos de forma flexível e fácil, reduzindo a complexidade do projeto e resolvendo os problemas. Considerando os padrões do livro Padrões de Projeto – Soluções reutilizáveis de software orientado a objetos, de Erich Gamma, é correto afirmar sobre GoF: Os padrões GoF melhoram as técnicas e os princípios da programação orientada a objetos e estruturada. O GoF, composto por 23 padrões, tornou-se base para outros padrões. Os padrões GoF estão divididos em categorias para projetos de criação, projetos de estrutura e projetos de transação. Dois exemplos de padrões GoF são Composite e Decorator, os quais se encaixam na categoria de padrões de criação. 10. O processo de obtenção da carteira de motorista é complexo, envolve diversos atores e está sujeito a normativas impostas pela legislação. Manuela, que é analista de requisitos, foi chamada para o desenvolvimento de um software que deve apoiar o motorista desde as etapas iniciais desse processo. Ela recebeu a seguinte declaração do patrocinador: Manuela finalizou a elicitação e selecionou os seguintes stakeholders para validar os requisitos: o patrocinador do projeto, o especialista em legislação de trânsito, o especialista em usabilidade, perfis que possam representar os diversos tipos de condutores que querem tirar a carteira de habilitação, representantes das autoescolas e a equipe de desenvolvimento. Com base nas informações apresentadas, ajude Manuela a tomar uma decisão selecionando a alternativa correta. O conjunto de stakeholders listado está completo e correto, portanto, a validação dos requisitos já pode ser iniciada. O conjunto de stakeholders listado não está completo e nem correto e por isso os requisitos não podem seguir para a validação. O conjunto de stakeholders listado está completo, mas está incorreto, pois a equipe de desenvolvimentonão deverá ser envolvida neste momento. O conjunto de stakeholders listado não está completo, mas está correto e os requisitos podem seguir para a validação dos stakeholders identificados. 1. As mudanças no que diz respeito ao desenvolvimento de sistemas/ softwares são constantes, geralmente, porque as necessidades dos solicitantes e usuários mudam. Dentre os fatores na análise de mudança, pode-se citar: Análise de implementação. Auditorias de software. Gerenciamento de acesso. Ciclo de release do software. 2. O projeto de desenvolvimento de software pode ser descrito em seis fases: formulação, planejamento, análise, engenharia, implementações e testes e, por fim, avaliação do usuário. A fase de engenharia envolve: avaliar a usabilidade e acessibilidade. elucidar os custos envolvidos e os riscos que o projeto tem. estabelecer o cronograma e a documentação dos próximos incrementos. analisar o projeto de interface, de arquitetura, navegação e conteúdo. 3. Os padrões de projeto facilitam a reutilização de soluções e arquiteturas de softwares orientados a objetos de forma flexível e fácil, reduzindo a complexidade do projeto e resolvendo os problemas. Considerando os padrões do livro Padrões de Projeto – Soluções reutilizáveis de software orientado a objetos, de Erich Gamma, é correto afirmar sobre GoF: Os padrões GoF estão divididos em categorias para projetos de criação, projetos de estrutura e projetos de transação. O GoF, composto por 23 padrões, tornou-se base para outros padrões. Os padrões GoF melhoram as técnicas e os princípios da programação orientada a objetos e estruturada. Dois exemplos de padrões GoF são Composite e Decorator, os quais se encaixam na categoria de padrões de criação. 4. O questionário é uma técnica utilizada para a elicitação de requisitos, que se baseia em um instrumento de pesquisa aplicado de forma online ou por meio de entrevistas estruturadas. Em relação à técnica de questionário, é correto afirmar: É uma técnica de baixo custo que permite a obtenção de informações com média profundidade e alta abrangência. É uma técnica de médio custo que permite a obtenção de informações com média profundidade e alta abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e alta abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e baixa abrangência. 5. O processo de obtenção da carteira de motorista é complexo, envolve diversos atores e está sujeito a normativas impostas pela legislação. Manuela, que é analista de requisitos, foi chamada para o desenvolvimento de um software que deve apoiar o motorista desde as etapas iniciais desse processo. Ela recebeu a seguinte declaração do patrocinador: Manuela finalizou a elicitação e selecionou os seguintes stakeholders para validar os requisitos: o patrocinador do projeto, o especialista em legislação de trânsito, o especialista em usabilidade, perfis que possam representar os diversos tipos de condutores que querem tirar a carteira de habilitação, representantes das autoescolas e a equipe de desenvolvimento. Com base nas informações apresentadas, ajude Manuela a tomar uma decisão selecionando a alternativa correta. O conjunto de stakeholders listado não está completo, mas está correto e os requisitos podem seguir para a validação dos stakeholders identificados. O conjunto de stakeholders listado está completo e correto, portanto, a validação dos requisitos já pode ser iniciada. O conjunto de stakeholders listado não está completo e nem correto e por isso os requisitos não podem seguir para a validação. O conjunto de stakeholders listado está completo, mas está incorreto, pois a equipe de desenvolvimento não deverá ser envolvida neste momento. 6. O retorno de uma pesquisa na Internet foi: Critérios de escolha de ferramenta: eficácia, desempenho, simplicidade e fácil adaptabilidade. Pode ser utilizada para solucionar alguns problemas, tais como, registro de evolução de projeto, viabilização de trabalho em equipe e manutenção de variações do projeto. Ferramentas como Git, Subversion e Mercurial cumprem os requisitos da necessidade. A pesquisa era sobre qual tipo de ferramenta? Controle e gerenciamento de mudanças. Governança de tecnologia de informação. Gerenciamento e assinatura de documentos eletronicamente. Controle e gerenciamento de versão. 7. Com o aumento da demanda por suprimentos médicos devido à Covid-19, Maria Luiza, analista de requisitos, foi chamada para o desenvolvimento de um software de vendas pela Internet e recebeu a seguinte mensagem de seu cliente, que é o dono do negócio: Ela finalizou a elicitação e selecionou os seguintes stakeholders para validar os requisitos: o dono do negócio, o especialista em tributação da empresa, o especialista em integração de sistemas e a equipe de desenvolvimento. Com base nas informações apresentadas, ajude Maria Luiza a tomar uma decisão selecionando a alternativa correta. O conjunto de stakeholders listado está completo, mas incorreto, pois a equipe de desenvolvimento não deverá ser envolvida nesse momento. O conjunto de stakeholders listado está completo e correto, portanto, a validação dos requisitos já pode ser iniciada. O conjunto de stakeholders listado não está completo nem correto, e, por isso, os requisitos não podem seguir para a validação. O conjunto de stakeholders listado não está completo, embora esteja correto, e deverá ser completado antes que a validação possa ser realizada. 8. A técnica de observação é muito utilizada quando se deseja compreender como os processos ocorrem na prática, no dia a dia do ambiente de execução. Em relação à técnica de observação, é correto afirmar que: É uma técnica de baixo custo que permite a obtenção de informações com baixa profundidade e baixa abrangência. É uma técnica de médio custo que permite a obtenção de informações com baixa profundidade e alta abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e baixa abrangência. É uma técnica de alto custo que permite a obtenção de informações com alta profundidade e alta abrangência. 9. Você deverá orientar o novo analista de requisitos da empresa sobre a melhor forma de preparar um questionário. Considere as informações a seguir: I. O questionário se aplica quando se deseja atingir um grande número de usuários que estão localizados de forma distribuída. II. Em um questionário é preferível ter questões abertas, pois elas permitem que informações sejam coletadas em profundidade. III. Não há problema em misturar questões abertas e fechadas em um questionário. IV. A escala Likert é usada como apoio para a avaliação das questões abertas. Assinale a alternativa correta. Apenas as alternativas II e III estão corretas. As alternativas I, II e IV estão corretas. Apenas as alternativas I e III estão corretas. As alternativas I, II, III e IV estão corretas. 10. A configuração de software/sistema trata-se de uma coleção que contém versões definidas de itens de configuração de acordo com desenvolvimentos específicos para uma finalidade particular. Durante o processo de desenvolvimento de software, o gerenciamento da configuração de software identifica a sua configuração: Apenas no início do ciclo de vida do software. Em pontos predefinidos durante o ciclo de vida do software. Somente ao final do ciclo de vida do software. Antes de iniciar o ciclo de vida do software. Engenharia de Software 1. 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 sobreo sistema. ( ) Alinhamento que exibe o estado atual do projeto e o que foi alterado em um período pela equipe de desenvolvimento. Assinale a alternativa que apresenta a sequência correta. I - IV - III - II. I - II - III - IV. II – IV – I – III III - I - IV - II. 2. 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. Corrigir erros e inconsistências ocorridos durante o processo de codificação dos programas. 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. Alterar o programa para implementar novas funcionalidades não previstas no levantamento de requisitos. 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: II, apenas. I, apenas. I e II, apenas. III, apenas. 4. 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 e III. Estão corretas as afirmativas I e II. Estão corretas as afirmativas I, II, III e IV. 5. A reengenharia de software é uma das formas de se fazer manutenção nos softwares. Assinale verdadeiro (V) ou falso (V) para cada uma das afirmações a seguir: ( ) Reconstrução de algo do mundo real, com melhorias e aperfeiçoamentos em relação ao modelo inicial. ( ) A reengenharia é composta por processos de engenharia reversa, seguida de processos de engenharia progressiva. ( ) Reorganização e modificação de sistemas legados, produzindo um sistema novo com maior facilidade de manutenção. ( ) Em algumas situações, as empresas acabam optando por ficarem com os sistemas legados por medo de que a reengenharia não perceba as regras de negócio implícitas nos sistemas. ( ) A importância da reengenharia para os softwares já existentes é iniciar um novo produto e fazer com que todo o conteúdo dele seja desconsiderado. Assinale a alternativa que apresenta a sequência correta. F, V, F, V, F. F, V, V, V, V. V, F, V, F, V. V, V, V, V, F. 6. A matriz de rastreabilidade visa a 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, III e IV. Estão corretas as afirmativas I e II. 7. 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. II e IV. I e III. II e III. 8. 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. Evolutiva. Adaptativa. Preventiva. 9. 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 flexibilização dos requisitos para uso de um maior número de componentes. no uso de componentes de terceiros para diminuir a complexidade do software. na criação de componentes, visando a sua reutilização posterior. na redução de custos relacionados ao desenvolvimento do software, reduzindo a quantidade de componentes a serem criados. 10. 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. I e III. I e II. I, II e IV. 1. 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, III e IV. Estão corretasas alternativas I e III. Estão corretas as afirmativas I, II, III e IV. Estão corretas as afirmativas I, II e III. 2. 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. I e IV. I, II, III e IV. II e IV. II, III e IV. 3. A matriz de rastreabilidade visa a 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, III e IV. Estão corretas as afirmativas I, II, III e IV. Estão corretas as afirmativas I e II. Estão corretas as afirmativas I, II e III. 4. 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 alternativa que apresenta a sequência correta. I - II - III - IV. I - IV - III - II. II – IV – I – III III - I - IV - II. 5. 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 se deve utilizar a rastreabilidade de requisitos porque ela introduz mais burocracia para o desenvolvimento. 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. No ambiente ágil, a rastreabilidade já acontece automaticamente, sem que seja necessário fazer alguma ação. 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. 6. 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 III. I e IV. II e III. II e IV. 7. A reengenharia de software é uma das formas de se fazer manutenção nos softwares. Assinale verdadeiro (V) ou falso (V) para cada uma das afirmações a seguir: ( ) Reconstrução de algo do mundo real, com melhorias e aperfeiçoamentos em relação ao modelo inicial. ( ) A reengenharia é composta por processos de engenharia reversa, seguida de processos de engenharia progressiva. ( ) Reorganização e modificação de sistemas legados, produzindo um sistema novo com maior facilidade de manutenção. ( ) Em algumas situações, as empresas acabam optando por ficarem com os sistemas legados por medo de que a reengenharia não perceba as regras de negócio implícitas nos sistemas. ( ) A importância da reengenharia para os softwares já existentes é iniciar um novo produto e fazer com que todo o conteúdo dele seja desconsiderado. Assinale a alternativa que apresenta a sequência correta. F, V, V, V, V. V, V, V, V, F. F, V, F, V, F. V, F, V, F, V. 8. 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. Corrigir erros e inconsistências ocorridos durante o processo de codificação dos programas. 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. 9. 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 para reúso de software e desenvolvimento com reúso de software. Desenvolvimento com componentização e desenvolvimento para componentização. Desenvolvimento com reúso e reutilização de componentes. Desenvolvimento para reúso e desenvolvimento de componentes 10. 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. I, II e III. I, III e IV. I, II e IV. II, III e IV. Segurança da Informação Governança em TI
Compartilhar