Prévia do material em texto
Fundamentos da Variabilidade 1. Em uma SPL, qual a diferença entre "Comunalidade" e "Variabilidade"? a) Comunalidade refere-se aos erros comuns; Variabilidade refere-se aos erros variáveis. b) Comunalidades são características que aparecem em todos os produtos da família; Variabilidades são características que podem mudar ou ser opcionais entre os produtos. c) Comunalidade é o código escrito em Java; Variabilidade é o código escrito em Python. d) Não há diferença, ambos os termos tratam de como o código é deletado. e) Comunalidade é o que o cliente pede; Variabilidade é o que o programador entrega. 2. O que representa uma "Característica Obrigatória" (Mandatory Feature) em um Modelo de Características? a) Uma função que o usuário pode escolher se quer usar ou não. b) Uma característica que deve estar presente em todos os produtos da linha que incluam o seu "pai" no modelo. c) Uma característica que só existe na versão paga do software. d) Um requisito que foi esquecido durante a fase de design. e) Uma função que é instalada apenas se houver espaço no disco. 3. Como funciona uma "Característica Opcional" (Optional Feature)? a) Ela é instalada aleatoriamente pelo sistema. b) Ela pode ou não ser incluída em um produto específico, dependendo das necessidades do cliente ou do mercado. c) Ela é obrigatória apenas para usuários administradores. d) Ela apaga o código principal se for ativada. e) Ela funciona apenas durante o período de testes. 4. No conceito de grupos de variação, o que define uma "Variação Alternativa" (XOR - Exclusive OR)? a) O usuário pode escolher quantas opções quiser do grupo. b) O usuário deve escolher exatamente uma opção entre as disponíveis no grupo (ex: o motor de um carro ou é Flex, ou é Diesel, nunca os dois ao mesmo tempo). c) O usuário não pode escolher nenhuma das opções. d) As opções são escolhidas automaticamente pelo banco de dados. e) O grupo de variação serve apenas para organizar o menu visual. 5. Qual a diferença de uma "Variação Or" (OU inclusivo) para a "Alternativa" (XOR)? a) No grupo "Or", o usuário pode escolher uma ou mais opções do conjunto disponível (ex: um sistema de segurança pode ter Alarme, Sensor de Movimento ou Ambos). b) No grupo "Or", o usuário é obrigado a escolher todas as opções. c) No grupo "Or", apenas a primeira opção é válida. d) O grupo "Or" não permite que nenhuma opção seja selecionada. e) O grupo "Or" é usado apenas para cores e fontes. 6. As restrições ajudam a manter a consistência da linha. O que significa a restrição "Requires" (Requer)? a) Significa que uma característica apaga a outra. b) Significa que a seleção de uma característica A implica obrigatoriamente na inclusão da característica B (ex: se escolher "Pagamento Online", requer "Conexão Criptografada"). c) Significa que o software requer que o computador seja reiniciado. d) Significa que o desenvolvedor requer um aumento de salário. e) Significa que o sistema requer internet discada. 7. E como funciona a restrição "Excludes" (Exclui)? a) Ela obriga o usuário a comprar dois produtos. b) Ela indica que duas características são incompatíveis; se A for escolhida, B não pode estar presente (ex: "Versão Grátis" exclui "Suporte 24h"). c) Ela exclui o usuário do banco de dados se ele cometer um erro. d) Ela apaga o histórico de navegação do cliente. e) Ela exclui automaticamente arquivos duplicados no servidor. 8. O que é um "Feature Model" (Modelo de Características)? a) Uma lista de preços dos produtos da empresa. b) Uma representação visual (geralmente uma árvore) que organiza as características, suas relações e restrições em uma SPL. c) Um manual de instruções para o usuário final. d) Um diagrama que mostra a hierarquia dos funcionários da empresa. e) Um gráfico que mostra as vendas mensais do software. 9. O que caracteriza o processo de "Configuração" em uma SPL? a) É o ato de formatar o computador do cliente. b) É a seleção de um conjunto válido de características (respeitando regras e restrições) para gerar um produto específico. c) É a tradução do código-fonte para binário. d) É a definição da senha do banco de dados. e) É a escolha de qual programador trabalhará em qual projeto. 10. Por que gerenciar a variabilidade é mais difícil do que desenvolver um software único? a) Porque o código fica menor e mais simples. b) Porque é necessário prever e testar todas as combinações possíveis de características, garantindo que as restrições sempre sejam respeitadas. c) Porque o NoSQL não permite o uso de variabilidade. d) Porque o cliente nunca sabe o que quer. e) Porque a variabilidade aumenta a velocidade da internet, o que pode sobrecarregar o servidor.