Buscar

Exercício de Engenharia de Software - Exercício de Fixação 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

O Scrum adota ideias da teoria de controle de processos industriais no desenvolvimento de softwares, reinserindo conceitos de flexibilidade, adaptabilidade e produtividade. O foco do método é encontrar uma maneira para que os profissionais de TI atuem de forma flexível para produzir o software em um ambiente de constantes mudanças. O fluxo do Scrum contempla:
Relacione o segundo grupo com os enumerados no primeiro grupo.
I. Sprint
II. Backlog
III. Time Boxed
IV. Artefato não oficial
V. Kanban
(   )principal artefato do Scrum
(   )eventos com duração fixa no Scrum
(   )interação e um evento com duração fixa
(   )quadro que compõe o painel de controle do time
(   )burndown
Marque a alternativa que tem a ordem correta de numeração do segundo grupo:
A - II, I, V, IV e III.
B - IV, II, III, V e I.
C - I, II, IV, V e III.
D - IV, V, III, II e I.
E - II, III, I, V e IV.
Os requisitos externos referem-se a todos os requisitos derivados de fatores externos ao sistema e seu processo de desenvolvimento. São exemplos de requisitos externos: 
A - requisitos de confiabilidade.
B - requisitos de implementação.
C - requisitos de interoperabilidade.
D - requisitos de desempenho.
E - requisitos legais.
O Ciclo de Vida de um Sistema especifica todas as fases de desenvolvimento, desde sua concepção até o processo de manutenção e declínio. No que diz respeito ao desenvolvimento de software, existem alguns processos conhecidos. Um destes processos, possui característica iterativa e incremental, inicia cada fase do projeto realizando um planejamento prévio, realiza a execução da fase, verifica o progresso e os resultados da fase (riscos, lições aprendidas) e incrementa novos objetivos para a fase seguinte, seguindo para a próxima iteração. O processo de software em questão é o:
A - Ciclo de vida em cascata.
B - Método de desenvolvimento RUP.
C - Modelo de desenvolvimento ágil.
D - Modelo espiral.
E - Prototipação.
Um analista desenvolve um software e identifica que os seus requisitos iniciais estão razoavelmente bem definidos, mas o escopo geral do desenvolvimento não permite um processo puramente linear. Ele sabe que precisa, em curtíssimo prazo, prover um conjunto limitado de funcionalidades do software para os usuários, que serão refinadas e expandidas em versões futuras. Qual o modelo de ciclo de vida de desenvolvimento de software mais adequado a esse caso?
A - Cascata
B - Espiral
C - Formal
D - Incremental
E - Prototipação
Um modelo de processo de software é utilizado para explicar uma abordagem para o desenvolvimento de software.
Identifique a alternativa abaixo que melhor identifica o modelo de processo de software no qual uma implementação inicial é exposta ao usuário para que possam ser realizados refinamentos posteriores que representam novas versões do sistema. As atividades de especificação, desenvolvimento e validação são intercaladas.
A - Relational Unified Process (RUP)
B - Desenvolvimento Evolucionário
C - Método Ágil de Desenvolvimento
D - Modelo de Desenvolvimento em Cascata
E - Modelo de Engenharia de Software Baseado em Componentes
O Ciclo de Vida de um Sistema especifica todas as fases de desenvolvimento, desde sua concepção até o processo de manutenção e declínio. No que diz respeito ao desenvolvimento de software, existem alguns processos conhecidos. Um destes processos, possui característica iterativa e incremental, inicia cada fase do projeto realizando um planejamento prévio, realiza a execução da fase, verifica o progresso e os resultados da fase (riscos, lições aprendidas) e incrementa novos objetivos para a fase seguinte, seguindo para a próxima iteração. O processo de software em questão é o:
A - Modelo espiral
B - Ciclo de vida em cascata
C - Prototipação
D - Modelo de desenvolvimento ágil
E - Método de desenvolvimento RUP
Os tipos mais comuns de teste de construção de software são:
A - Teste de aceitação e teste de integração.
B - Teste de caixa preta e teste de integração.
C - Teste unitário e teste de aceitação.
D - Teste unitário e teste de caixa preta.
E - Teste unitário e teste de integração.
A validação de requisitos é importante, uma vez que a ocorrência de erros em um documento de requisitos pode levar a grandes custos relacionados ao retrabalho, quando esses erros são descobertos durante o desenvolvimento ou depois que o sistema estiver em operação.
Analise as afirmações sobre os tipos de verificação de requisitos:
I. A completude do documento de requisitos deve ser verificada de forma a contemplar os requisitos que definam todas as funções e as restrições pretendidas pelo usuário do sistema.
II. A consistência deve ser verificada para evitar requisitos conflitantes, com restrições ou descrições contraditórias para uma mesma função do sistema.
III. Verificar se o software atende a seus requisitos; caso contrário, deve-se identificar as situações em que o software se comporta de maneira incorreta.
IV. Verificar o realismo consiste em avaliar se o requisito realmente pode ser implementado, podendo levar em consideração aspectos de orçamento, prazo e tecnologia existente para desenvolvimento do sistema.
Assinale a alternativa correta:
A - Apenas as afirmações I e IV estão corretas
B - Apenas as afirmações I e III estão corretas
C - Apenas as afirmações II e IV estão corretas
D - Apenas a afirmação III está correta
E - As afirmações I, II e IV estão corretas
Trata-se de uma técnica de levantamento de requisitos ou elicitação de requisitos, para geração de ideias, onde reúnem-se várias pessoas que fazem a sugestão de ideias sem que sejam criticadas ou julgadas, ou seja, as pessoas que participam sugerem e exploram suas ideias livremente: 
A - Prototipação
B - Entrevista
C - Questionário
D - Brainstorming
E - Análise de documentação
Trata-se de uma técnica de levantamento de requisitos ou elicitação de requisitos, para geração de ideias, onde reúnem-se várias pessoas que fazem a sugestão de ideias sem que sejam criticadas ou julgadas, ou seja, as pessoas que participam sugerem e exploram suas ideias livremente:
A - Análise de documentação.
B - Brainstorming.
C - Entrevista.
D - Prototipação.
E - Questionário.
Software, assim como todos os sistemas complexos, evolui ao longo do tempo. Modelos de processos evolucionários reconhecem a natureza iterativa e incremental da maioria dos projetos de engenharia de software e são projetados para adequar mudanças. Avalie quais modelos fazem parte do processo evolucionário:
Sendo assim, analise as sentenças a seguir e assinale V se a sentença for verdadeira e F se a sentença for falsa:
· (   )cascata e modelo V;
· (   )prototipação e modelo espiral;
· (   )concorrente e métodos formais;
· (   )incremental e baseado em componentes;
· (   )processo unificado e orientado a aspectos.
A sequência correta é:
A - A resposta correta é V, V, F, V e V
B - A resposta correta é F, V, F, F e F
C - Todos os modelos apresentados são verdadeiros
D - A resposta correta é V, F, F, V e F
E - A resposta correta é V, V, F, V e F
Dentre as práticas do método ágil Extreme Programming (XP), está a prática de propriedade coletiva. É correto afirmar que, nessa prática:
A - Cada projeto é realizado para atender às necessidades globais dos usuários, focando na coletividade da distribuição da informação.
B - Grandes quantidades de horas extras não são consideradas aceitáveis, pois o resultado final, muitas vezes, é a redução da qualidade do código e da produtividade a médio prazo, sendo que o indivíduo pode afetar o desempenho de todo o time.
C - Os trabalhos são desenvolvidos em conjunto, para que um programador possa analisar o trabalho do outro.
D - Todos compartilham do mesmo orgulho, e das mesmas críticas.
E - Um representante do usuário final do sistema deve estar disponível todo o tempo à equipe de desenvolvimento. Nesse modelo de desenvolvimento, o cliente é membro da equipe e participa da responsabilidade do código desenvolvido.
O termo Engenharia de Software foi usado pela primeira vez como tema de conferência patrocinada pela Organizaçãodo Tratado do Atlântico Norte (Otan) no ano de 1968. O objetivo da conferência foi fazer que o desenvolvimento de software fosse tão bem-sucedido quanto a engenharia tradicional. A respeito de engenharia de software é correto afirmar que:
A - A engenharia de software está relacionada aos diversos aspectos de produção de software e inclui as atividades de especificação, desenvolvimento, validação e evolução de software.
B - A engenharia de software refere-se ao estudo das teorias e fundamentos da computação, ficando o desenvolvimento de software a cargo da ciência da computação.
C - No modelo iterativo de desenvolvimento de software, as atividades são dispostas em estágios sequenciais.
D - Um processo de software é composto por quatro atividades fundamentais: iniciação, desenvolvimento, entrega e encerramento.
E - O conceito de software se restringe ao desenvolvimento do código em determinada linguagem e seu armazenamento em arquivos.
Gerenciamento de requisitos é o processo de compreensão e controle das mudanças nos requisitos do sistema em desenvolvimento. Analise as afirmações sobre o gerenciamento de requisitos em processos de software tradicionais:
I. mudanças nos requisitos do sistema devem ser avaliadas sem levar em conta implicações em custo e prazos, de forma a minimizar os riscos do projeto.
II. é necessário definir políticas de rastreabilidade que permitam a fácil determinação dos antecedentes e consequências de todos os requisitos.
III. uma das atividades necessárias ao gerenciamento de alterações de requisitos é a avaliação de seus impactos em relação aos objetivos do projeto.
IV. como o gerenciamento de requisitos envolve o processamento de grandes quantidades de informações sobre os requisitos, é recomendável definir as ferramentas que serão usadas para o armazenamento dos requisitos, o gerenciamento de mudanças e para o gerenciamento da rastreabilidade.
Assinale a alternativa correta:
A - As afirmações I e IV estão corretas
B - As afirmações I e II estão corretas
C - As afirmações II, III e IV estão corretas
D - As afirmações II e IV estão corretas
E - As afirmações I, II e IV estão corretas
A engenharia de software, composta por um conjunto de elementos fundamentais disponibiliza ao desenvolvedor uma base para construção de um software de alta qualidade em termos de produtividade. O conjunto de elementos é composto por:
A - métodos, ferramentas e procedimentos
B - métodos e procedimentos
C - ferramentas e procedimentos
D - métodos e ferramentas
E - planejamento de desenvolvimento
Requisitos de software expressam as necessidades e restrições colocadas sobre um produto de software que contribui para a solução de um problema do mundo real. Analise as informações sobre os requisitos não funcionais, também chamados de requisitos de qualidade: 
I. São levantados e elicitados após os requisitos funcionais, uma vez que os requisitos funcionais determinarão as funcionalidades da interface.
II. Sempre serão definidos de forma mais concreta, através de requisitos funcionais, uma vez que o usuário manipula na interface somente as funcionalidades levantadas.
III. Podem complementar os requisitos funcionais
Assinale a alternativa correta:
A - Afirmativa II, apenas
B - Afirmativa III, apenas.
C - Afirmativas I e II, apenas.
D - Afirmativas II e III, apenas.
E - Afirmativas I, II e III.
A verificação e a validação de uma interface de usuário ocorre em três pontos distintos: análise, projeto e teste. Considerando um cenário de uma aplicação web, tal verificação pode ser realizada através de testes de interface, testes de usabilidade e testes de compatibilidade. 
PRESSMAN, R. Engenharia de Software: Uma Abordagem Profissional, 7 ed., Mc Graw Hill, 2011 (adaptado) 
Nesse contexto, avalie as afirmações a seguir. 
I. O teste de interface experimenta mecanismos de interação e valida aspectos estéticos da interface do usuário, apontando erros específicos de interface e e A verificação e a validação de uma interfacerros na maneira como interface implementa as semânticas de navegação, funcionalidade ou exibição de conteúdo.
II. O teste de usabilidade avalia o grau com o qual os usuários podem interagir efetivamente com a aplicação e o grau em que a aplicação dirige as ações do usuário.
III. O primeiro passo no teste de compatibilidade é definir uma série de configurações típicas encontradas do lado cliente e suas respectivas variantes, identificando características como plataforma, sistema operacional e navegador.
Assinale a alternativa correta:
A - I, apenas
B - III, apenas
C - I e II, apenas
D - II e III, apenas
E - I, II e III
A utilização do conceito de modularidade oferece resultados de curto prazo, uma vez que, ao dividir-se um grande problema em problemas menores, as soluções são encontradas com esforço relativamente menor. Este conceito tem sido utilizado já há bastante tempo, como forma de obtenção de um software que apresente algumas características interessantes. Assinale a alternativa correta:
I. Um projeto modular reduz a complexidade e facilita a modificação
II. Módulos independentes não são mais fáceis de manter e testar
III. Um modulo coeso realiza uma única tarefa dentro de um procedimento de software, requerendo pouca interação com procedimentos que estão sendo realizados em outras partes de um programa
IV. Um projeto modular resulta em implementação mais fácil pelo incentivo ao desenvolvimento paralelo de diferentes partes de um sistema
V. A independência funcional é a chave para um bom projeto, e o projeto é a chave da qualidade de software
Assinale a alternativa correta:
A - Somente as afirmativas I e III
B - Somente a afirmativa II
C - Afirmativas I, III e IV
D - Afirmativas I, III, IV e V
E - Somente a  afirmativa V
Os requisitos de software, podemos encontrar diferentes tipos de requisitos, como: funcionais, de domínio e não funcionais. Os requisitos de software expressam necessidades e restrições de um produto de software que contribui para a solução de um problema real. Avalie as afirmações sobre a descrição dos requisitos:
I. funcionais são somente requisitos de usuário.
II. funcionais e não-funcionais podem ser requisitos de usuário.
III. funcionais e não-funcionais podem ser requisitos de sistema.
Assinale a alternativa correta:
A - Apenas a afirmação I está correta
B - Apenas a afirmação II está correta
C - Apenas a afirmação III está correta
D - Apenas as afirmações I e III estão corretos
E - Apenas as afirmações II e III estão corretos
Conforme o modelo de qualidade definido na norma ISO/IEC 9126-1 (Organização Internacional para Padronização/Comissão Eletrotécnica Internacional), __________ diz respeito à capacidade do software manter seu nível de desempenho, sob condições estabelecidas, por um período de tempo:
A - Usabilidade 
B - Funcionalidade
C - Eficiência
D - Manutenibilidade
E - Confiabilidade
NÃO faz parte dos princípios da metodologia Scrum:
A - Documentação e testes constantes são feitos à medida que o produto é construído.
B - Equipes pequenas são organizadas para maximizar a comunicação, minimizar o overhead e compartilhar conhecimento tácito e informal.
C - Há incrementos frequentes e regulares de software, que podem ser inspecionados, ajustados, testados, documentados e expandidos.
D - O processo deve ser adaptável a mudanças técnicas e de negócio.
E - O trabalho e os membros da equipe são divididos em partições de alto acoplamento.
A engenharia de software considera diversos aspectos para a garantia da qualidade. Os requisitos funcionais definem como um sistema deverá se comportar em relação as suas funcionalidades básicas, já os requisitos não funcionais avaliam outros aspectos do software. Avalie quais requisitos não funcionais devem ser considerados em um software: 
A - Segurança, desempenho, estresse e sistema.
B - Usabilidade, segurança, aceitação e confiabilidade.
C - Segurança, desempenho e confiabilidade.
D - Segurança, aceitação, testabilidade e confidencialidade.
E - Usabilidade, confidencialidade, aceitação e confiabilidade.Os requisitos fazem parte da produção do software e desempenham um papel fundamental, sendo considerados fator determinante para o sucesso ou o fracasso de um projeto de software. Com relação aos requisitos de software é correto afirma:
A - O documento de especificação de requisitos é um documento restrito à equipe de desenvolvimento de software.
B - As necessidades do usuário são informações que substituem os requisitos do software.
C - Os requisitos de produto e os requisitos organizacionais são tipos de requisitos funcionais
D - Os requisitos funcionais descrevem as funcionalidades, os recursos e as características do software.
E - Os requisitos não funcionais referem-se diretamente às características do software.
Os requisitos de software expressam necessidades e restrições de um produto de software que contribui para a solução de um problema real. Na área de conhecimento dos requisitos de software, os requisitos funcionais podem ser também definidos como requisitos de:
A - qualidade.
B - capacidade.
C - segurança.
D - desempenho.
E - manutenção.
Uma interface de programação de aplicativo, mais conhecida como API (Application Programming Interface)é m conjunto de assinaturas que são exportadas e disponíveis para os usuários de uma biblioteca ou uma estrutura para gravar seus aplicativos, tem por objetivo:
A - melhorar o desempenho da aplicação.
B - possibilitar a comunicação entre os aplicativos sem conhecimento ou intervenção dos usuários
C - flexibilidade e a adaptabilidade dos programas orientados a objetos.
D - detectar e processar erros ou eventos excepcionais
E - transformar um modelo em uma implementação usando um conjunto de definições sobre o ambiente de hardware e software de destino.
O uso de ____________ ajuda a alcançar os objetivos do projeto em termos de eficiência, qualidade e custo. 
A - Inspeção
B - Depuração
C - Análise Estática
D - Padrões em construção
E - Integração
_______ diz respeito ao relacionamento entre o nível de desempenho do software e a quantidade de recursos utilizados sob condições estabelecidas:
A - Confiabilidade.
B - Eficiência.
C - Funcionalidade.
D - Manutenibilidade.
E - Usabilidade.
___________ incluem semáforos e monitores:
A - Asserções e programação defensiva.
B - Concorrência simultânea.
C - O projeto e uso da API.
D - Parametrização.
E - Problemas de tempo de execução.
Projeto ________ visa a definir os grandes componentes estruturais do software e seus relacionamentos:
A - Arquitetural.
B - Da interface.
C - De análise.
D - De comunicação.
E - De requisitos.
A hierarquia de controle nada mais é do que a representação, usualmente sob a forma hierarquizada, da estrutura do software no que diz respeito aos seus componentes. Seu objetivo consiste em:
A - Apresentar detalhes procedimentais ou de sequenciamento entre processos.
B - Demonstrar detalhes do sequenciamento entre os componentes.
C - Estabelecer as relações entre os diferentes componentes do software, explicitando os níveis de abstração aos quais eles pertencem.
D - Identificar os componentes mais utilizados no sistema.
E - Representar as relações entre os componentes externos do sistema.
As escolhas de subconjuntos de linguagem de programação e padrões de uso são um auxílio importante para alcançar maior segurança. Os padrões que afetam diretamente as questões de construção incluem:
Sendo assim, analise as sentenças a seguir e assinale V se a sentença for verdadeira e F se a sentença for falsa:
· (   )Métodos de comunicação
· (   )Linguagens de programação
· (   )Padrões de modificabilidade
· (   )Plataformas
· (   )Ferramentas
A sequência correta é:
A - V, F, V, V e V
B - F, V, V, F e V
C - V, V, F, F e V
D - V, V, F, V e V
E - F, V, F, V e V
Pode-se afirmar que a construção de software está envolvida com todas as áreas de conhecimento da engenharia de software. O SWEBOK (IEEE, 2004), apresenta cinco pilares para auxiliar a fase da construção do software, que são:
A - Validação, mudança, verificação, reuso e construção
B - Especificação, projeto de software, desenvolvimento, testes e homologação
C - Minimizar a complexidade, antecipar a mudança, construir para a verificação, reuso e padrões em construção
D - Desenvolvimento, testes, homologação, reuso e padrões em construção
E - Geração de código, desenvolvimento, verificação, reuso e usar padrões 
O conceito de modularidade tem sido utilizado já há bastante tempo, como forma de obtenção de um software que apresente algumas características interessantes. Quanto a modularização NÃO é correto afirmar que:
A - A independência funcional é a chave para um bom projeto, e o projeto é a chave da qualidade de software.
B - Módulos independentes não são mais fáceis de manter e testar.
C - Um modulo coeso realiza uma única tarefa dentro de um procedimento de software, requerendo pouca interação com procedimentos que estão sendo realizados em outras partes de um programa.
D - Um projeto modular reduz a complexidade e facilita a modificação.
E - Um projeto modular resulta em implementação mais fácil pelo incentivo ao desenvolvimento paralelo de diferentes partes de um sistema.
_________: refere-se ao uso de elementos existentes na solução de problemas diferentes.
A - Atender a mudança.
B - Construir.
C - Minimizar a complexidade.
D - Usar padrões em construção.
E - Utilizar o reuso.
_______ refere-se ao esforço necessário para se utilizar um produto de software, bem como o julgamento individual de tal uso por um conjunto de usuários:
A - Confiabilidade.
B - Eficiência.
C - Funcionalidade.
D - Manutenibilidade.
E - Usabilidade.
Projeto ________ descreve como o software deverá se comunicar dentro dele mesmo, com outros sistemas e com pessoas que o utilizam.
A - Arquitetural.
B - Da interface.
C - De análise.
D - De comunicação.
E - De requisitos.
Os tipos mais comuns de teste de construção são:
A - Teste de aceitação e teste de integração.
B - Teste de caixa preta e teste de integração.
C - Teste unitário e teste de aceitação.
D - Teste unitário e teste de caixa preta.
E - Teste unitário e teste de integração.
NÃO é um dos princípios do projeto de software:
A - O projeto deve exibir uniformidade e integração.
B - O projeto deve ser estruturado para acomodar modificações.
C - O projeto não deve reinventar a roda.
D - O projeto não deve ser relacionável ao modelo de análise.
E - O projeto não pode ser bitolado.
O engenheiro de software deve minimizar a complexidade, utilizando a tecnologia para construção de softwares. Avalie os benefícios do uso das tecnologias e realize a associação entre elas:
Relacione o segundo grupo com os enumerados no primeiro grupo.
I. Middleware
II. O projeto e uso da API
III. Concorrência simultânea
IV. Teste unitário e teste de integração
(   )Variável protegida
(   )Redução de falhas e de custo de correção
(   )Fornece serviços acima da camada do sistema operacional
(   )Conecta sistemas e aplicações
Marque a alternativa que tem a ordem correta de numeração do segundo grupo:
A - I, III, IV e II
B - II, IV, III e I
C - IV, III, II e I
D - III, IV, I e II
E - III, II, I e IV
Existem inúmeras técnicas para garantir a qualidade do código à medida que ele é construído. As principais técnicas utilizadas para a qualidade da construção incluem:
A - Teste de unidade e teste de depuração, uso de programação defensiva, inspeções, revisões técnicas e análise estática.
B - Teste de unidade e teste de depuração, uso de programação ofensiva, inspeções, revisões técnicas e análise estática.
C - Teste de unidade e teste de integração, uso de programação defensiva, depuração, inspeções, revisões técnicas e análise estática.
D - Teste de unidade e teste de integração, uso de programação defensiva, depuração, inspeções, revisões técnicas e análise simultânea.
E - Teste de unidade e teste de integração, uso de programação ofensiva, depuração, inspeções, revisões táticas e análise estática.
Pode-se afirmar que a construção de software está envolvida com todas as áreas de conhecimento da engenharia de software.O SWEBOK (IEEE, 2004), apresenta cinco pilares para auxiliar a fase da construção do software, que são:
A - Complexidade, antecipar a mudança, verificação, reuso e padrões em construção.
B - Complexidade, atender a mudança, construir com verificação, reuso e usar padrões.
C - Complexidade, mudança, verificação, reuso e construção.
D - Minimizar a complexidade, antecipar a mudança, construir para a verificação, reuso e padrões em construção.
E - Minimizar a complexidade, atender a mudança, construir, verificação e padrões em construção.
_______ é uma classificação ampla para software que fornece serviços acima da camada do sistema operacional ainda abaixo da camada do programa aplicativo:
A - API.
B - GIT.
C - Middleware.
D - Profilers.
E - Reuso.
Especificamente, as escolhas de subconjuntos de linguagem de programação e padrões de uso são um auxílios importante para alcançar maior segurança. Os padrões que afetam diretamente as questões de construção NÃO incluem:
A - Ferramentas.
B - Linguagens de programação.
C - Métodos de comunicação.
D - Padrões de modificabilidade.
E - Plataformas.
Existem inúmeras técnicas para garantir a qualidade do código à medida que ele é construído. Assinale a afirmativa que melhor define as técnicas utilizadas para a qualidade da construção:
A - Teste de unidade e teste de integração, uso de programação defensiva, depuração, inspeções, revisões técnicas e análise estática
B - Teste de unidade e teste de integração, uso de programação ofensiva, depuração, inspeções, revisões táticas e análise estática
C - Teste de unidade e teste de integração, uso de programação defensiva, depuração, inspeções, revisões técnicas e análise simultânea
D - Teste de unidade e teste de depuração, uso de programação defensiva, inspeções, revisões técnicas e análise estática
E - Teste de unidade e teste de depuração, uso de programação ofensiva, inspeções, revisões técnicas e análise estática
Entre as atividades de configuração de software NÃO está:
A - A auditoria de configuração de software.
B - A identificação de configuração de software.
C - O controle de configuração de software.
D - O levantamento de requisitos operacionais.
E - O registro de status de configuração de software.
________ indica a capacidade do software ser transferido facilmente de um ambiente (plataforma) para outro:
A - Confiabilidade.
B - Funcionalidade.
C - Manutenibilidade.
D - Portabilidade.
E - Usabilidade.
Em relação a Qualidade e Teste de Software, quando um produto é previamente testado e enviado para uma nova avaliação, considere:
I- Todas as partes alteradas nos documentos, funcionalidades e informações devem ser testadas como se fosse um produto novo.
II- Todas as partes inalteradas que sejam influenciadas pelas partes alteradas ou por mudanças em um requerido sistema (de acordo com os conhecimentos específicos do testador) devem ser testadas por amostragem.
III- Todas as outras partes que não foram alteradas ou influenciadas pelas alterações, devem ser testadas como sendo um novo produto.
Está correto o que afirma-se em:
A - I apenas.
B - I e III apenas.
C - I, II e III.
D - II apenas.
E - III apenas.
A __________________ é necessária quando os requisitos de sistema mudam em resposta ás mudanças organizacionais ou de negócio:
A - Manutenção adaptativa.
B - Manutenção comparativa.
C - Manutenção corretiva.
D - Manutenção de aperfeiçoamento.
E - Manutenção inicial.
A __________________ realiza alterações no software para que possa ser executado sobre o novo ambiente:
A - Manutenção adaptativa.
B - Manutenção comparativa.
C - Manutenção corretiva.
D - Manutenção de aperfeiçoamento.
E - Manutenção inicial.
Considere: O objetivo é executar o sistema sob o ponto de vista de seu usuário final, varrendo as funcionalidades em busca de falhas em relação aos objetivos originais. Os testes são executados em condições similares àquelas que um usuário utilizará no seu dia-adia de manipulação do sistema. A afirmativa refere-se ao teste de:
A - Aceitação.
B - Integração.
C - Operação.
D - Sistema.
E - Unidade.
Testes de software são destinados a mostrar que um programa atende a seus requisitos e, na descoberta de possíveis erros, onde o software se comporta de maneira incorreta. Testes baseados em requisitos são:
A - Aqueles que se utilizam de modelos orientados a objetos para a criação de massas de testes requisitados pelos usuários.
B - Uma abordagem de teste de release em que são imaginados possíveis cenários típicos de uso.
C - Uma abordagem de teste de release utilizado no desenvolvimento dirigido a testes.
D - Uma abordagem para o desenvolvimento de programas em que se intercalam testes de desenvolvimento de código.
E - Uma abordagem sistemática para projetos de caso de teste em que é considerado cada requisito e derivado um conjunto de testes para eles.
É uma técnica sistemática para construir a arquitetura do software enquanto, ao mesmo tempo, conduz testes para descobrir erros associados às interfaces. Trata-se, especificamente, de:
A - Análise bottom-up.
B - Arquitetura top-down.
C - Teste de integração.
D - Teste de mesa.
E - Teste funcional.
É uma técnica sistemática para construir a arquitetura do software enquanto, ao mesmo tempo, conduz testes para descobrir erros associados às interfaces. Trata-se, especificamente, de:
A - Análise bottom-up.
B - Arquitetura top-down.
C - Teste de integração.
D - Teste de mesa.
E - Teste funcional.
A __________________ consiste na correção de erros observados durante a fase de operação:
A - Manutenção adaptativa.
B - Manutenção comparativa.
C - Manutenção corretiva.
D - Manutenção de aperfeiçoamento.
E - Manutenção inicial.
NÃO são características dos atributos de qualidade de software categorizados no modelo de qualidade externa e interna da NBR ISO/IEC 9126:
A - Eficiência e manutenibilidade.
B - Especificidade e granularidade.
C - Funcionalidade e eficiência.
D - Portabilidade e confiabilidade.
E - Usabilidade e confiabilidade.
O teste que concentra-se nos requisitos funcionais documentados pela especificação do programa, e não em detalhes internos do código, é denominado teste:
A - Beta.
B - Caixa branca.
C - Caixa preta.
D - De caminho básico.
E - De fluxo de dados.
Segundo a IEEE (2004), um ponto importante na fase de manutenção é fazer uma análise de impacto do software existente, antes de realizar uma mudança e estabelecer algumas tarefas de análise de impacto. Onde deve-se primeiramente:
A - Analisar as solicitações de mudanças.
B - Ignorar o problema.
C - Listar as modificações.
D - Pesquisar opções para implementar a modificação.
E - Realizar as modificações mais fáceis primeiro.
O processo de manutenção contém as atividades e tarefas necessárias para modificar um produto de software existente, preservando a sua integridade. A primeira atividades necessárias para manter a integridade na realização da manutenção de software é:
A - Análise do problema e da modificação.
B - Execução do Processo.
C - Implementação da Modificação.
D - Migração.
E - Revisão e Aceitação da Modificação.
Algumas vezes as mudanças são decorrentes de problemas que devem ser tratados com urgência. Entre os motivos principais para estas urgências estão:
I- Corrigir um defeito grave no sistema, que compromete o andamento normal da aplicação
II-Defeitos oriundos de alterações realizadas no ambiente operacional que comprometem a continuidade do funcionamento do sistema
III- A implementação de mudanças inesperadas no funcionamento do negócio que executa o sistema, oriunda da concorrência ou uma nova legislação que afete o sistema
Está correto o que consta em:
A - I apenas.
B - I e II apenas.
C - I e III apenas.
D - I, II e III.
E - II e III apenas.
No que se refere a testes de software, é correto afirmar que:
A - O teste da caixa branca (teste estrutural), baseia-se em testar as estruturas do código fonte, como comandos condicionais e de repetição.
B - O teste da caixa preta (teste funcional), baseia-se em analisar os arquivos de log do sistema procurando por mensagensde funcionamento inconsistente.
C - O teste de operação é a fase onde é testada a ergonomia da interface de uso do software.
D - Um caso de teste é uma categoria de possíveis resultados na execução de testes.
E - Um teste bem sucedido é um teste que não encontra nenhum erro no software.
________ diz respeitos as funções definidas para o software. Nesse item se analisa se software funciona adequadamente e atende aos requisitos especificados:
A - Confiabilidade.
B - Funcionalidade.
C - Manutenibilidade.
D - Portabilidade.
E - Usabilidade.
Os requisitos não funcionais surgem por meio das necessidades dos usuários, como restrições de orçamento, políticas organizacionais ou mesmo por fatores externos, como regulamentos de segurança e legislações de privacidade. Dentre a classificação dos requisitos não funcionais estão os requisitos de produto, os quais:
A - Abrangem todos os requisitos que derivam de fatores externos ao sistema e seu processo de desenvolvimento. Podem incluir requisitos reguladores, que definem o que deve ser feito para que o sistema seja aprovado para uso.
B - Definem os requisitos do processo de desenvolvimento, como, por exemplo, a linguagem de programação, o ambiente de desenvolvimento ou normas do processo a serem usadas.
C - Especificam o comportamento do produto de software e referem-se a atributos de qualidade que o software deve apresentar, tais como facilidade de uso, eficiência, confiabilidade e portabilidade.
D - Incluem os requisitos legais, os quais devem ser seguidos para garantir que o sistema opere dentro da lei, e os requisitos éticos, os quais asseguram que o sistema será aceitável para seus usuários e o público geral.
E - São os requisitos gerais de sistemas derivados das políticas e procedimentos da organização do cliente e do desenvolvedor, como, por exemplo, os requisitos de processo operacional.
Podemos afirmar que requisitos de software é um conjunto de atividades que tem como principal objetivo ajudar a equipe de projeto a:
A - Avaliar os requisitos quanto à qualidade, garantindo que ambiguidades, inconsistências, omissões e erros tenham sido detectados e corrigidos.
B - Construir um modelo técnico refinado de funções, características e restrições do software.
C - Identificar, controlar e rastrear requisitos e modificações de requisitos em qualquer época, à medida que o projeto prossegue.
D - Negociar com os clientes os conflitos de prioridade de requisitos e identificar e analisar os riscos associados a cada requisito.
E - Utilizar ferramentas de engenharia de software para modelar os requisitos do sistema, através da UML.
Em relação a requisitos de software, considere:
I. O modo como um sistema deve reagir a certas entradas e o comportamento em que o sistema deve ter em certas situações e, em alguns casos, especificar o que o sistema não deve fazer, são chamados de requisitos não-funcionais
II. As restrições aos serviços ou funções de um sistema, como, por exemplo, processos de desenvolvimento ou utilização de padrões, são requisitos de funcionamento do sistema ou requisitos funcionais
III. Requisitos organizacionais são derivados de metas, políticas e procedimentos das organizações. Contêm requisitos de entrega, requisitos de implementação e requisitos de padrões
Está correto o que afirma-se em:
A - I apenas
B - I e II apenas
C - I, II e III
D - II e III apenas
E - III apenas
A engenharia de requisitos ajuda os engenheiros de software a compreender melhor o problema que eles vão trabalhar para resolver. Ela inclui um conjunto de tarefas que levam a um entendimento de qual será o impacto do software sobre o negócio, do que o cliente quer e de como os usuários finais vão interagir com o software. A função de negociação no processo de engenharia de requisitos:
A - Ajuda o cliente a definir o que é necessário.
B - Define o escopo e a natureza do problema a ser resolvido.
C - Discutir os requisitos que apresentam problemas, definir quais são as prioridades e chegar a um acordo sobre o conjunto de requisitos.
D - Especifica, revisa e valida o problema de modo a garantir que seu entendimento e o entendimento do cliente sobre o problema coincidam.
E - Refina e modifica os requisitos. É uma ação de modelagem de análise composta de várias tarefas de modelagem e refinamento.
De maneira geral, o planejamento de um processo de gerenciamento de configuração de software deve ser aderente ao contexto organizacional, sempre observando:
A - As políticas de restrições.
B - As regras de configuração do software.
C - O calendário de distribuição do software.
D - O retorno do projeto para a empresa.
E - O valor do projeto no mercado.
___________ é o conjunto de assinaturas que são exportadas e disponíveis para os usuários de uma biblioteca ou uma estrutura para gravar seus aplicativos:
A - Asserções e programação defensiva.
B - Concorrência simultânea.
C - O projeto e uso da API.
D - Parametrização.
E - Problemas de tempo de execução.

Outros materiais