Provas - Eng Software

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 23

PROVAS

1. No contexto do processo de desenvolvimento de software, avalie a relação entre os


conceitos e definições a seguir:

[1] MVC
[A] Determina arquitetura física do sistema.
[2] Modelo de implantação
[B] Um padrão de arquitetura.
[3] Modelo de interação
[C] Define aspectos dinâmicos do sistema.
Assinale a opção que corretamente relaciona os referidos conceitos e definições:

Resposta: A- [1][B] - [2][A] - [3][C].

2. Durante a codificação do software, podemos adotar a estratégia de teste em forma de


espiral, sendo a mesma percorrida a partir do interior, aumentando o nível de
abstração a cada volta. Considerando a referida estratégia, assinale a sequência
correta de execução dos testes:

Resposta: C- Teste de Unidade, Teste de Integração, Teste de Validação e Teste de Sistema.

3. A avaliação do impacto de mudança de um requisito, muitas vezes, faz com que


seja necessário retornar à sua fonte. Na validação dos requisitos, a equipe deve
estar atenta, portanto, à :

Resposta: B- Rastreabilidade.

4. Os Objetivos do Gerenciamento de Riscos incluem aumentar a probabilidade e o


impacto de eventos positivos (oportunidades) e diminuir a probabilidade e o
impacto dos eventos adversos (ameaças). Neste contexto, avalie se as afirmativas a
seguir são Falsas ou Verdadeiras:

- avaliar e gerenciar os riscos do projeto de modo a maximizar a exposição aos eventos


positivos (oportunidades)

- minimizar a exposição aos eventos negativos

Resposta: B- [V] - [F] - [V]

5. Um software de gerência de configuração deve ser capaz de:

Resposta: D- gerenciar a evolução do software durante o seu processo de desenvolvimento.

Sobre Versionamento e Gerenciamento de Versões, considere as afirmações abaixo.


Resposta: D- Apenas I e III.

6. Considere que você trabalhe em uma empresa de desenvolvimento de software e que


a empresa tenha decidido desenvolver um novo editor de texto para colocar no
mercado. Esse editor deve ser um software que forneça recursos adicionais de apoio à
autoria, embasado no estilo de escrita do usuário, o que o torna um software de
funcionalidade mais complexa. Considere que a empresa deseje disponibilizar o
produto no mercado em versões que agreguem esse suporte de forma gradativa,
fazendo análise de risco para avaliar a viabilidade de desenvolvimento de uma nova
versão. Tendo de escolher um modelo de processo para desenvolver esse editor, e
conhecendo as características dos modelos existentes, entre os modelos abaixo, qual
é o modelo apropriado para esse caso?

Resposta: B- espiral

7. Com relação à forma como o RUP trata a análise de requisitos, assinale a


opção correta:

Resposta: E- A maior parte da análise de requisitos ocorre durante a fase de elaboração.

8. O guia PMBOK 4° edição tem uma área dedicada ao Gerenciamento da Qualidade


do Projeto − GQP. De acordo com o guia, é INCORRETO afirmar que:

Resposta: D- o GQP engloba o gerenciamento do projeto e o produto do projeto, e é a única


área do PMBOK que se aplica exclusivamente a projetos de software.

9. A respeito de qualidade de software e suas métricas, assinale a opção correta:

Resposta: B- A métrica de complexidade ciclomática é uma medida que pode estar


relacionada ao nível de compreensão do programa.

10. Considere as seguintes afirmativas sobre Requisitos de Software:

Resposta: B- Apenas a afirmativa I é verdadeira.

11. A Engenharia de Software é uma tecnologia em camada. Avalie a relação entre os


conceitos e definições a seguir:

FOCO NA QUALIDADE: Esta é a base que define os princípios de melhoria contínua do


processo de software, garantindo a integridade, segurança, manutenção e usabilidade do
software.
PROCESSO: É a camada que une todas as outras, estabelecendo uma estrutura para a entrega
eficaz da tecnologia de engenharia de software. Inclui atividades como comunicação,
planejamento, modelagem, construção e implantação.
MÉTODOS: Fornecem as técnicas de “como fazer” para construir o software. Incluem tarefas
como comunicação, análise de requisitos, modelagem de projeto, construção de programas,
testes e manutenção.
FERRAMENTAS: Oferecem suporte automatizado ou semi-automatizado para o processo e
para os métodos. Quando integradas, permitem que a informação criada por uma
ferramenta seja utilizada por outra, estabelecendo a engenharia de software apoiada por
computador.
Resposta: C- [1][B] - [2][A] - [3][C].

12. A ISO 9126 identifica seis atributos fundamentais de qualidade para o software. Avalie
se as afirmativas a seguir são Falsas ou Verdadeiras:

- CONFIABILIDADE, atributo associado ao tempo de disponibilidade do software.


- EFICIÊNCIA, atributo relacionado com a otimização dos recursos do sistema
- PORTABILIDADE, atributo associado à satisfação dos requisitos funcionais.

Resposta: B- [V] - [V] - [F].

13. Considere as seguintes afirmativas relacionadas com a etapa de projeto do


processo de desenvolvimento de software:
I- A partir do modelo de classes gerado na análise, aplica-se refinamentos que permitem
reduzir o grau de abstração do referido modelo.
II- Os aspectos dinâmicos, considerando que o paradigma dominante na indústria de software
é a orientação a objetos, são definidos nos modelos de classes.
III- A divisão lógica comumente aplicada no projeto de arquitetura, pode ser composta
das seguintes camadas: apresentação, aplicação, domínio e serviços técnicos.

Assinale a alternativa CORRETA:

A- Apenas a afirmativa I é verdadeira.


B- Apenas as afirmativas II e III são verdadeiras.
C- Apenas as afirmativas I e III são verdadeiras.
D- Apenas a afirmativa II é verdadeira.
E- As afirmativas I, II e III são verdadeiras.

Resposta: C- Apenas as afirmativas I e III são verdadeiras.

14. Ao analisar a aplicação da prototipação em seus projetos de software, decidiu-se


utilizar um processo que define 4 etapas para o desenvolvimento de protótipos,
sendo essas etapas:

I. Avaliar Protótipo.4
II. Estabelecer Objetivos do Protótipo. 1
III. Desenvolver o Protótipo.3
IV. Definir a Funcionalidade do Protótipo.2
A ordem sequencial correta para a execução dessas quatro etapas é
A) I, IV, II e III.
B) II, IV, III e I.
C) III, II, IV e I.
D) IV, I, II e III.
E) IV, II, I e III.

Resposta: B- II, IV, III e I.

15. 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 se afirma em:

A) I, apenas.
B) I, II e III.
C) II, apenas.
D) I e III, apenas.
E) III, apenas.

Resposta: A- I, apenas.

16. Considere as informações em relação ao desenvolvimento de sistemas:

I. executar um software com o objetivo de revelar falhas, mas que não prova a exatidão do
software.
II. correta construção do produto.
III. construção do produto certo.

Correspondem corretamente a I, II e III, respectivamente,

a) validação, verificação e teste.


b) verificação, teste, e validação.
c) teste, verificação e validação.
d) validação, teste e verificação.
e) teste, validação e verificação.

Resposta: B- verificação, teste e validação.

17. Sobre os sistemas de controle de versão, é correto afirmar que:

D- O SVN utiliza um modelo centralizado para o versionamento de sistemas, enquanto o GIT


apresenta um modelo distribuído, contendo cópias do repositório original em cada cliente.
18. A avaliação do impacto de mudança de um requisito, muitas vezes, faz com que
seja necessário retornar à sua fonte. Na validação dos requisitos, a equipe deve
estar atenta, portanto, à :

Resposta: A- Rastreabilidade.

19. O gerenciamento de riscos é o processo sistemático de identificação, análise e


respostas a riscos de projetos. Considerando que a metodologia aplicada à referida
área de conhecimento encadeia processos de acordo com a figura a seguir, assinale a
sequência correta:

Resposta: A- Identificação de risco, análise qualitativa, análise quantitativa, planejamento de


respostas a riscos.

20. A Engenharia de Requisitos inclui as atividades de descobrir, analisar, documentar e


verificar os serviços fornecidos pelo sistema e suas restrições operacionais. Considere
as seguintes afirmativas relacionadas com essa engenharia:

Resposta: E- Apenas as afirmativas II e III são verdadeiras.

1. Em relação ao desenvolvimento de software, é importante considerar o uso do


RUP (Rational Unified Process). De acordo com essa técnica, é correto afirmar que:
A- a disciplina Modelagem de Negócio apresenta maior atividade na fase de Construção.
B- B- a disciplina Configuração e Gerenciamento de Mudanças não é executada na fase de
Elaboração.
C- C- o número de iterações em cada uma de suas quatro fases é variável, conforme o
projeto.
D- D- a disciplina Requisitos apresenta menor atividade na fase de Concepção (Inception).
E- E- a disciplina de Teste não é executada na fase de Elaboração.

Resposta: C.

2. Uma das principais práticas de XP (Extreme Programming) é o Iteration Planning


Game. Entre as atividades realizadas em uma sessão de Iteration Planning, está a:
A- Definição, pelos programadores, de quais story cards serão implementados em uma
iteração.
B- B- Estimação, feita por cada programador, do tempo que será necessário para realizar
cada tarefa sob sua responsabilidade.
C- C- Estimação da data de entrega de um release baseado na estimativa de esforço de cada
story card.
D- D- Estimação do esforço que será necessário para implementar cada story card.
E- E- Designação, por parte do coach, dos programadores que irão realizar as tarefas
contidas na lista de tarefas.
Resposta: B.

3. Os projetos de software devem ter sua qualidade avaliada, e para tanto, selecionaram-
se fatores indicados na norma ISO 9126, que identifica alguns atributos importantes da
qualidade, dentre os quais, a:
A- manutenibilidade, que representa o período de tempo em que o software esteja
disponível para uso.
B- confiabilidade, que representa o período de tempo em que o software esteja disponível
para uso.
C- eficiência, que representa a facilidade com que o software pode ser transferido
entre ambientes computacionais.
D- usabilidade, que representa o nível em que o software utiliza-se de recursos do sistema,
de forma otimizada.
E- funcionalidade, que representa a facilidade com que o software pode ser
transferido entre ambientes computacionais.

Resposta: B.

4. Quanto à qualidade de software, assinale a alternativa que apresenta como


a confiabilidade pode ser medida.
A- Através da velocidade de processamento.
B- Considerando a habilidade de adaptar e estender o programa.
C- Considerando a facilidade de manutenção.
D- Através da frequência e severidade das falhas.
E- Considerando fatores como estética, consistência e documentação.

Resposta: D.

5. Preencha as lacunas e assinale a alternativa correta em relação ao gerenciamento de


configuração e mudança. O gerenciamento de configuração de software é um
conjunto de que foi desenvolvido para administrar as mudanças em
todo o ciclo de vida do software. Tais atividades são utilizadas para a
mudança, controlar a mudança, garantir que a mudança esteja sendo
adequadamente implementada e relatar a mudança a outras pessoas que possam ter
interesse nela.
A- atividades / identificar
B- B- rotinas / manter
C- C- atividades / conduzir
D- D- ferramentas / agilizar
E- E- etapas / corrigir

Resposta: A.

6. No contexto do gerenciamento de projetos, avalie a relação entre os conceitos


e definições a seguir:
[1] Grupos de processos de gerenciamento de projetos –

[A] Correspondem aos fluxos de processos ou ciclos de vida relacionados ao processo de


software.

[2] Ciclo de Vida do Projeto –

[B] Definida por seus requisitos de conhecimentos e descrita em termos dos processos que a
compõem: suas práticas, entradas, saídas, ferramentas e técnicas.

[3] Área de conhecimento –

[C] Ciclo vida relacionado com as etapas de gerenciamento do projeto.

Assinale a opção que corretamente relaciona os referidos conceitos e definições:

A- [1][A] - [2][B] - [3][C]


B- [1][C] - [2][B] - [3][A]
C- [1][C] - [2][A] - [3][B]
D- [1][B] - [2][C] - [3][A]
E- [1][B] - [2][A] - [3][C]

Resposta: C.

7. Considerando as etapas de implantação e manutenção do processo de


desenvolvimento de software, avalie os conceitos a seguir: • : de
forma simplificada, é um conjunto de tarefas que visam gerenciar as alterações
durante o desenvolvimento do software, sendo a mesma aplicada em todas as etapas
do processo de desenvolvimento de software. • : requer a
avaliação do mérito técnico, efeitos colaterais em potencial, o impacto global em
termos de configuração e funcionalidade e o custo de uma determinada alteração.
• : gerencia as versões do software distribuído aos clientes.
Assinale a alternativa que preenche as lacunas na sequência correta:
A- Gestão de configuração, Processo de controle de alterações, Gerenciamento de
releases.
B- Gestão de configuração, Processo de controle de alterações, Gerenciamento de
release.
C- Processo de controle de alterações, Gestão de configuração, Gerenciamento de
releases.
D- Processo de controle de alterações, Gerenciamento de releases, Gestão de
configuração.
E- Gestão de configuração, Gerenciamento de releases, Processo de controle de
alterações.

Resposta: A.
8. O processo unificado (RUP) reúne boas práticas de especificação e de projeto de
sistemas, sendo um modelo genérico de processo organizado em fases que podem
gerar um conjunto de produtos de trabalho. Considerando isso, assinale a opção que
identifica a fase do RUP na qual devem estar incluídos o refinamento e a expansão
dos casos de uso preliminares, dos requisitos não funcionais e da descrição da
arquitetura do software.
A- concepção
B- produção
C- construção
D- transição
E- elaboração

Resposta: E.

9. Os projetos de software devem ter sua qualidade avaliada, e para tanto, selecionaram-
se fatores indicados na norma ISO 9126, que identifica alguns atributos importantes da
qualidade, dentre os quais, a:
A- confiabilidade, que representa o período de tempo em que o software esteja
disponível para uso.
B- manutenibilidade, que representa o período de tempo em que o software esteja
disponível para uso.
C- eficiência, que representa a facilidade com que o software pode ser transferido entre
ambientes computacionais.
D- usabilidade, que representa o nível em que o software utiliza-se de recursos do
sistema, de forma otimizada.
E- funcionalidade, que representa a facilidade com que o software pode ser transferido
entre ambientes computacionais.

Resposta: A.

10. O engenheiro de software avalia que na sua equipe, em datas próximas da data de
entrega de uma versão do sistema, a produtividade e o nível de estresse da equipe
são impactados. Ele deseja automatizar o processo, de forma a mitigar esses efeitos.
Para tanto:
A- como parte da integração contínua, ele automatiza o processo de agregar novas
mudanças na forma de recursos e funcionalidades, em uma nova versão.
B- como parte da implantação contínua, ele automatiza o processo de forma que impeça
que a nova versão do sistema entre em produção, caso o teste falhe.
C- como parte da implantação contínua, ele elabora uma série de testes para garantir
que ao implementar uma nova rotina ou funcionalidade as outras partes do sistema
continuem operando normalmente.
D- como parte da entrega contínua, ele automatiza uma série de rotinas para que o
sistema seja automaticamente posto em produção.
E- como parte da entrega contínua, ele elabora smoke tests para garantir o
funcionamento do sistema, antes de enviá-lo para produção.

Resposta: B.
11. O conjunto de atividades destinadas a gerenciar as alterações de software,
identificando os artefatos que precisam ser alterados, estabelecendo relações entre
eles, definindo mecanismos para gerenciar diferentes versões desses artefatos,
controlando as alterações impostas e relatando as alterações feitas, caracteriza a
gestão de Alternativas

A processos de negócio.

B configuração de software.

C recursos de produto.

D recursos humanos.

E qualidade de software.

Resposta: B.

No contexto da etapa de projeto do processo de desenvolvimento de software, avalie a


relação entre os conceitos e definições a seguir:

[1] Implantação –

[A] Inclui a correção de defeitos não identificados nas etapas anteriores do processo de
desenvolvimento de software.

[2] Manutenção –

[B] Permite a modificação de um software existente a partir de alterações significativas nas


regras de negócio.

[3] Reengenharia de software –

[C] Etapa do processo de desenvolvimento de software relacionada com a transferência do


sistema da comunidade de desenvolvimento para a comunidade de usuários. Assinale a opção
que corretamente relaciona os referidos conceitos e definições:

A- [1][B] - [2][A] - [3][C].

B- [1][A] - [2][B] - [3][C].

C- [1][C] - [2][B] - [3][A].

D- [1][C] - [2][A] - [3][B].

E- [1][B] - [2][C] - [3][A].

Resposta: D.

Uma equipe de desenvolvimento adota o método SCRUM para gerenciar seu projeto. Para
iniciar a reunião de planejamento da Sprint, deve(m)-se definir e atualizar:
A- a função de cada membro da equipe de desenvolvimento
B- as tarefas necessárias para cada história do usuário
C- o plano de retrospectiva da Sprint
D- o plano de revisão da Sprint
E- o Backlog do Produto

Resposta: E.

Uma equipe responsável pela qualidade de um software deve atentar-se para um outro tipo
de teste, o teste de validação. Esse tipo de teste foca na visão do usuário, sendo realizado
após o empacotamento do produto e parte dos critérios de validação presentes na
especificação dos requisitos de software do produto em desenvolvimento. Considerando o
exposto, assinale a alternativa que melhor descreve o conceito de teste beta.

A- Teste realizado pela equipe de qualidade com supervisão dos usuários finais em um
ambiente não controlado. Os erros são analisados e resolvidos pela própria equipe de
qualidade.
B- Teste conduzido nas instalações dos usuários finais, sem a presença do desenvolvedor,
em um ambiente não controlado. Os erros, reais ou não, são entregues aos
desenvolvedores, de forma parcial e não linear.
C- Teste conduzido pelo desenvolvedor com a supervisão dos usuários finais em um
ambiente controlado. Os erros são registrados pelos usuários e reportados
posteriormente.
D- Teste conduzido nas instalações dos usuários finais, com a presença do desenvolvedor,
em um ambiente controlado. Os erros são simulados para testar estresse e
recuperação de dados.
E- Teste conduzido nas instalações do desenvolvedor com os usuários finais em ambiente
controlado. Os desenvolvedores registram os erros e problemas encontrados.

Resposta: B.

Na engenharia de software, o gerenciamento de configuração de software tem como objetivo:

A- planejar a elaboração dos pacotes de instalação e desinstalação automáticos do


software e de seus componentes nos computadores onde o sistema será executado.
B- gerenciar a carga dos dados oriundos de sistemas legados e controlar a consistência
desses dados.
C- documentar todo o processo de instalação do software, incluindo os pré-requisitos de
software e hardware para o correto funcionamento do sistema.
D- fornecer uma interface de gerenciamento, onde o administrador e os usuários, com o
devido privilégio, podem alterar a forma como o sistema se comporta.
E- gerenciar mudanças e seu impacto no desenvolvimento do software.

Resposta: E.
Sobre Ciclo de Vida de Desenvolvimento de Software, é correto afirmar:

I- O desenvolvimento em cascata tem como base a ideia de desenvolver uma


implementação inicial, mostrar e discutir tal implementação com o usuário e fazer
seu aprimoramento por meio de versões subsequentes, até que um sistema
adequado tenha sido desenvolvido.
II- No modelo de processo de desenvolvimento em espiral, cada loop na espiral
representa uma fase do processo de software. Este modelo exige a consideração
direta dos riscos técnicos em todos os estágios do projeto e, se aplicado
adequadamente, deve reduzir os riscos antes que eles se tornem problemáticos.
III- O Rapid Application Development (Desenvolvimento Rápido de Aplicação) é um
modelo de processo de software incremental que enfatiza um ciclo de
desenvolvimento rápido. Este modelo é uma adaptação de modelo cascata, no qual
o desenvolvimento rápido é conseguido com o uso de uma abordagem de
construção baseada em componentes.
IV- O modelo incremental combina elementos do modelo em cascata aplicado de
maneira iterativa. Em um processo de desenvolvimento incremental, os clientes
identificam (esboçam) as funções a serem fornecidas pelo sistema e a importância das
mesmas. Em seguida, é definida uma série de estágios de entrega, com cada estágio
fornecendo um subconjunto das funcionalidades do sistema. Assinale a alternativa
correta.

A- Somente as afirmativas III e IV são corretas.


B- Somente as afirmativas I, II e IV são corretas.
C- Somente as afirmativas I e III são corretas.
D- Somente as afirmativas I e II são corretas.
E- Somente as afirmativas II, III e IV são corretas.

Resposta: E.

Uma das classificações mais utilizadas para o acompanhamento da qualidade de software


corresponde à categorização dos fatores de qualidade de McCall. Essa categorização
estabelece as seguintes três categorias:

A- Atribuição, Revisão e Especificação.


B- Especificação, Funcionalidade e Atributos.
C- Revisão, Transição e Operação do Produto.
D- Medição, Qualificação e Indicadores.
E- Indicadores, Transição e Medição.

Resposta: C.

O marco de referência do desenvolvimento de um software, com o qual é possível definir a


versão de cada item de configuração que fará parte da entrega e validação de um build, é
denominado:
A- Sincronização de Mudanças Concorrentes
B- Linha de Base
C- Auditoria de Mudanças
D- Encerramento do Projeto
E- Solicitação de Mudança

Resposta: B.

Sobre os sistemas de controle de versão, é correto afirmar que:

A- Uma das vantagens em se utilizar um sistema de controle de versão centralizado está


no fato de ser possível recuperar o conteúdo original a partir os repositórios presentes
nos clientes.
B- Dado seu comportamento centralizado, o GIT possui a desvantagem de ter um único
ponto de falha, onde uma falha no servidor central ocasionará a perda completa do
repositório, não sendo possível recuperar a partir do conteúdo existente nos clientes.
C- O SVN utiliza um modelo centralizado para o versionamento de sistemas, enquanto o
GIT apresenta um modelo distribuído, contendo cópias do repositório original em cada
cliente.
D- Uma das características dos sistemas de controle de versão é controlar de forma
anônima as alterações que são realizadas no sistema versionado, obtendo somente
um controle das alterações feitas no decorrer do tempo. Em um sistema de controle
de versão distribuído, há um único servidor contendo todos os arquivos versionados.
E- Os clientes obtêm somente parte do repositório armazenado no servidor, não
possuindo a sua visão completa.

Resposta: C.

Qual é a função do Gerenciamento de Configuração de Software?

A- garantir que o software atenda aos requisitos de qualidade.


B- fornecer uma interface de gerenciamento para os usuários.
C- controlar as mudanças e a evolução do software.
D- definir os requisitos de software e hardware.
E- gerenciar as operações do sistema.

Resposta: C.

1. O que é necessário para garantir o correto funcionamento do sistema de software?


A- fornecer uma interface de gerenciamento para os usuários.
B- definir os requisitos de software e hardware.
C- controlar as mudanças e a evolução do software.
D- garantir que o software atenda aos requisitos de qualidade.
E- gerenciar as operações do sistema.

Resposta: B.

2. Qual é a principal função de um sistema de controle de versão?


A- garantir a qualidade do software.
B- fornecer uma interface de gerenciamento para os usuários.
C- controlar as mudanças e evolução do software.
D- definir os requisitos de software e hardware.
E- gerenciar as operações do sistema.

Resposta: C.

3. Qual é a importância do Gerenciamento de Configuração de Software?


A- garantir que o software atenda aos requisitos de qualidade.
B- definir os requisitos de software e hardware.
C- controlar as mudanças e a evolução do software.
D- fornecer uma interface de gerenciamento para os usuários.
E- gerenciar mudanças e seu impacto no desenvolvimento do software.

Resposta: E.

4. Sobre Ciclo de Vida de Desenvolvimento de Software, é correto afirmar:


I- O desenvolvimento em cascata tem como base a ideia de desenvolver uma
implementação inicial, mostrar e discutir tal implementação com o usuário e
fazer seu aprimoramento por meio de versões subsequentes, até que um sistema
adequado tenha sido desenvolvido.
II- No modelo de processo de desenvolvimento em espiral, cada loop na espiral
representa uma fase do processo de software. Este modelo exige a consideração
direta dos riscos técnicos em todos os estágios do projeto e, se aplicado
adequadamente, deve reduzir os riscos antes que eles se tornem problemáticos.
III- O Rapid Application Development (Desenvolvimento Rápido de Aplicação) é
um modelo de processo de software incremental que enfatiza um ciclo de
desenvolvimento rápido. Este modelo é uma adaptação de modelo cascata, no
qual o desenvolvimento rápido é conseguido com o uso de uma abordagem de
construção baseada em componentes.
IV- O modelo incremental combina elementos do modelo em cascata aplicado de
maneira iterativa. Em um processo de desenvolvimento incremental, os clientes
identificam (esboçam) as funções a serem fornecidas pelo sistema e a importância
das mesmas. Em seguida, é definida uma série de estágios de entrega, com cada
estágio fornecendo um subconjunto das funcionalidades do sistema.

Assinale a alternativa correta.

A- Somente as afirmativas III e IV são corretas.


B- Somente as afirmativas I, II e IV são corretas.
C- Somente as afirmativas I e III são corretas.
D- Somente as afirmativas I e II são corretas.
E- Somente as afirmativas II, III e IV são corretas.

Resposta: E.

5. Uma das classificações mais utilizadas para o acompanhamento da qualidade


de software corresponde à categorização dos fatores de qualidade de McCall.
Essa categorização estabelece as seguintes três categorias:
A- Atribuição, Revisão e Especificação.
B- Especificação, Funcionalidade e Atributos.
C- Revisão, Transição e Operação do Produto.
D- Medição, Qualificação e Indicadores.
E- Indicadores, Transição e Medição.

Resposta: C.

6. O marco de referência do desenvolvimento de um software, com o qual é possível


definir a versão de cada item de configuração que fará parte da entrega e validação
de um build, é denominado:
A- Sincronização de Mudanças Concorrentes
B- Linha de Base
C- Auditoria de Mudanças
D- Encerramento do Projeto E- Solicitação de Mudança

Resposta: B.

7. Sobre os sistemas de controle de versão, é correto afirmar que:


A- Uma das vantagens em se utilizar um sistema de controle de versão centralizado está
no fato de ser possível recuperar o conteúdo original a partir os repositórios presentes
nos clientes.
B- Dado seu comportamento centralizado, o GIT possui a desvantagem de ter um único
ponto de falha, onde uma falha no servidor central ocasionará a perda completa do
repositório, não sendo possível recuperar a partir do conteúdo existente nos clientes.
C- O SVN utiliza um modelo centralizado para o versionamento de sistemas, enquanto o
GIT apresenta um modelo distribuído, contendo cópias do repositório original em cada
cliente.
D- Uma das características dos sistemas de controle de versão é controlar de forma
anônima as alterações que são realizadas no sistema versionado, obtendo somente
um controle das alterações feitas no decorrer do tempo. Em um sistema de controle
de versão distribuído, há um único servidor contendo todos os arquivos versionados.
E- Os clientes obtêm somente parte do repositório armazenado no servidor, não
possuindo a sua visão completa.

Resposta: C.
1. Qual é a importância da aplicação de metodologias na Engenharia de Software?
A- Permitir a decomposição de problemas complexos em partes menores e gerenciáveis.
B- Garantir que o software seja desenvolvido sem testes.
C- Focar exclusivamente na codificação sem planejamento prévio.
D- Evitar a necessidade de comunicação com os usuários. E- Diminuir a importância do
planejamento e modelagem.

Resposta: A.

2. Sobre Ciclo de Vida de Desenvolvimento de Software, é correto afirmar:


I- O desenvolvimento em cascata tem como base a ideia de desenvolver uma
implementação inicial, mostrar e discutir tal implementação com o usuário e
fazer seu aprimoramento por meio de versões subsequentes, até que um sistema
adequado tenha sido desenvolvido.
II- No modelo de processo de desenvolvimento em espiral, cada loop na espiral
representa uma fase do processo de software. Este modelo exige a consideração
direta dos riscos técnicos em todos os estágios do projeto e, se aplicado
adequadamente, deve reduzir os riscos antes que eles se tornem problemáticos.
III- O Rapid Application Development (Desenvolvimento Rápido de Aplicação) é
um modelo de processo de software incremental que enfatiza um ciclo de
desenvolvimento rápido. Este modelo é uma adaptação de modelo cascata, no
qual o desenvolvimento rápido é conseguido com o uso de uma abordagem de
construção baseada em componentes.
IV- O modelo incremental combina elementos do modelo em cascata aplicado de
maneira iterativa. Em um processo de desenvolvimento incremental, os clientes
identificam (esboçam) as funções a serem fornecidas pelo sistema e a importância
das mesmas. Em seguida, é definida uma série de estágios de entrega, com cada
estágio fornecendo um subconjunto das funcionalidades do sistema.

Assinale a alternativa correta.

A- Somente as afirmativas III e IV são corretas.


B- Somente as afirmativas I, II e IV são corretas.
C- Somente as afirmativas I e III são corretas.
D- Somente as afirmativas I e II são corretas.
E- Somente as afirmativas II, III e IV são corretas.

Resposta: E.
3. Uma das classificações mais utilizadas para o acompanhamento da qualidade
de software corresponde à categorização dos fatores de qualidade de McCall.
Essa categorização estabelece as seguintes três categorias:
A- Atribuição, Revisão e Especificação.
B- Especificação, Funcionalidade e Atributos.
C- Revisão, Transição e Operação do Produto.
D- Medição, Qualificação e Indicadores.
E- Indicadores, Transição e Medição.

Resposta: C.

4. O marco de referência do desenvolvimento de um software, com o qual é possível


definir a versão de cada item de configuração que fará parte da entrega e validação
de um build, é denominado:
A- Sincronização de Mudanças Concorrentes
B- Linha de Base
C- Auditoria de Mudanças
D- Encerramento do Projeto
E- Solicitação de Mudança

Resposta: B.

5. Sobre os sistemas de controle de versão, é correto afirmar que:


A- Uma das vantagens em se utilizar um sistema de controle de versão centralizado está
no fato de ser possível recuperar o conteúdo original a partir os repositórios presentes
nos clientes.
B- Dado seu comportamento centralizado, o GIT possui a desvantagem de ter um único
ponto de falha, onde uma falha no servidor central ocasionará a perda completa do
repositório, não sendo possível recuperar a partir do conteúdo existente nos clientes.
C- O SVN utiliza um modelo centralizado para o versionamento de sistemas, enquanto o
GIT apresenta um modelo distribuído, contendo cópias do repositório original em cada
cliente.
D- Uma das características dos sistemas de controle de versão é controlar de forma
anônima as alterações que são realizadas no sistema versionado, obtendo somente
um controle das alterações feitas no decorrer do tempo. Em um sistema de controle
de versão distribuído, há um único servidor contendo todos os arquivos versionados.
E- Os clientes obtêm somente parte do repositório armazenado no servidor, não
possuindo a sua visão completa.

Resposta: C.

6. Sobre a Engenharia de Software, é correto afirmar que:


A- A Engenharia de Software é uma área da computação que se dedica à especificação,
desenvolvimento e manutenção de sistemas de software, utilizando princípios de
engenharia.
B- A Engenharia de Software é uma área da computação que se dedica à especificação,
desenvolvimento e manutenção de sistemas de hardware, utilizando princípios de
engenharia.
C- A Engenharia de Software é uma área da computação que se dedica à especificação,
desenvolvimento e manutenção de sistemas de hardware, utilizando princípios de
matemática.
D- A Engenharia de Software é uma área da computação que se dedica à especificação,
desenvolvimento e manutenção de sistemas de software, utilizando princípios de
matemática.
E- A Engenharia de Software é uma área da computação que se dedica à especificação,
desenvolvimento e manutenção de sistemas de hardware, utilizando princípios de
física.

Resposta: A.

7. Sobre o Ciclo de Vida do Software, é correto afirmar que:


A- O ciclo de vida do software é composto por fases sequenciais que devem ser seguidas
rigidamente, sem possibilidade de retorno a fases anteriores.
B- O ciclo de vida do software é composto por fases sequenciais que podem ser repetidas
ao longo do desenvolvimento do software.
C- O ciclo de vida do software é composto por fases independentes que podem ser
realizadas em qualquer ordem.
D- O ciclo de vida do software é composto por fases sequenciais que devem ser seguidas,
mas com possibilidade de pular algumas fases.
E- O ciclo de vida do software é composto por fases sequenciais que devem ser seguidas,
mas com possibilidade de retornar a fases anteriores.

Resposta: B.

8. Sobre a Engenharia de Requisitos, é correto afirmar que:


A- A Engenharia de Requisitos é a fase do desenvolvimento de software que se dedica à
codificação do sistema.
B- A Engenharia de Requisitos é a fase do desenvolvimento de software que se dedica à
descoberta, análise, documentação e verificação dos requisitos do sistema.
C- A Engenharia de Requisitos é a fase do desenvolvimento de software que se dedica à
manutenção do sistema.
D- A Engenharia de Requisitos é a fase do desenvolvimento de software que se dedica à
elaboração do sistema.
E- A Engenharia de Requisitos é a fase do desenvolvimento de software que se dedica à
execução do sistema.

Resposta: B.
9. Sobre a Gestão de Configuração de Software, é correto afirmar que:
A- A Gestão de Configuração de Software é responsável por gerenciar os recursos
humanos envolvidos no desenvolvimento do software.
B- A Gestão de Configuração de Software é responsável por garantir que o software seja
desenvolvido sem erros.
C- A Gestão de Configuração de Software é responsável por gerenciar as configurações
do hardware utilizado no desenvolvimento do software.
D- A Gestão de Configuração de Software é responsável por gerenciar as alterações no
software, estabelecendo relações entre os artefatos e controlando as mudanças.
E- A Gestão de Configuração de Software é responsável por gerenciar os processos de
negócio envolvidos no desenvolvimento do software.

Resposta: D.

10. Qual é a definição de Engenharia de Software?

Resposta: A Engenharia de Software é uma área da computação que se dedica à


especificação, desenvolvimento e manutenção de sistemas de software, utilizando princípios
de engenharia.

11. O que caracteriza o ciclo de vida do software?

Resposta: O ciclo de vida do software é composto por fases sequenciais que devem ser
seguidas, mas com possibilidade de retornar a fases anteriores.

12. O que é Engenharia de Requisitos?

Resposta: A Engenharia de Requisitos é a fase do desenvolvimento de software que se dedica


à descoberta, análise, documentação e verificação dos requisitos do sistema.

13. Qual é a responsabilidade da Gestão de Configuração de Software?

Resposta: A Gestão de Configuração de Software é responsável por gerenciar as alterações


no software, estabelecendo relações entre os artefatos e controlando as mudanças.

1. Qual é a finalidade da etapa de levantamento de requisitos em


um projeto de software?

Resposta: A finalidade é definir e documentar as necessidades dos clientes.

2. Quais são as categorias em que os requisitos são comumente


tipificados em um documento de requisitos?

Resposta: Os requisitos são tipificados em requisitos funcionais, não


funcionais e de domínio.

3. O que são requisitos de domínio em Engenharia de Software?


Resposta: Requisitos de domínio são conhecidos como "regras de negócio"
e apresentam-se como restrições aos requisitos funcionais.

4. Qual a importância da rastreabilidade dos requisitos durante


o desenvolvimento de software?

Resposta: A rastreabilidade dos requisitos garante que as especificações


geradas estejam de acordo com a documentação de requisitos.

5. Quais são as técnicas mais utilizadas para levantar requisitos


em Engenharia de Software?

Resposta: As técnicas mais utilizadas são observação, entrevista, pesquisa,


JAD e brainstorming.

6. O que é o método JAD (Joint Application Design) e como ele difere


das entrevistas individuais?

Resposta: O JAD é um método de projeto interativo que substitui as


entrevistas individuais por reuniões de grupo.

7. Explique a técnica de observação (etnografia) no levantamento


de requisitos.

Resposta: A observação permite ao engenheiro de software imergir no


ambiente de trabalho e observar as tarefas em execução.

8. Qual a diferença entre requisitos funcionais e não funcionais em


um projeto de software?

Resposta: Requisitos funcionais estão relacionados aos serviços fornecidos


pelo sistema, enquanto os não funcionais são restrições operacionais.

9. Por que os requisitos de domínio são conhecidos como "regras


de negócio"?

Resposta: Os requisitos de domínio são restrições aos requisitos funcionais e


detalham as regras de negócio identificadas no problema.

10. O que é o documento de requisitos e qual o seu objetivo em um


projeto de software?

Resposta: O documento de requisitos documenta todas as necessidades dos


clientes e obtém um aceite sobre o que será entregue em termos de
produto.
O processo de desenvolvimento de software, muitas vezes denominado ciclo de vida do software ou
processo de software, descreve as fases e atividades associadas à criação e manutenção de sistemas de
software.

Resposta: Para permitir que um engenheiro de software, que não trabalhou no desenvolvimento, entenda
a solução.

Técnica comumente utilizada na identicação de riscos, se realiza através de uma reunião com uma equipe
multidisciplinar, a reunião é promovida por meio de um facilitador e tem como objetivo listar os riscos do
projeto.
Marque a alternativa que indica a técnica descrita acima.

Resposta: Brainstorm

Após atuar como programador em uma empresa de desenvolvimento de software por aproximadamente
10 anos, um funcionário que se destacou por nunca atrasar um cronograma foi nomeado gerente de
projetos. Ao assumir o primeiro projeto, o funcionário foi informado que sua principal responsabilidade era
a realização da entrega conforme o cronograma estabelecido no contrato. Para o gerenciamento de tempo,
o gerente de projetos irá utilizar o PMBOK. Considerando essa situação, é correto armar que o gerente de
projetos deverá coordenar processos de:

Resposta: Definição e sequenciamento de atividades, estimativa de recursos e duração da atividade,


desenvolvimento e controle do cronograma.

Considerando o uso do RUP (Rational Unified Process), deve-se considerar que, segundo essa técnica:

Resposta: o número de iterações em cada uma de suas quatro fases é variável, conforme o projeto.

Os projetos de software devem ter sua qualidade avaliada, e para tanto, selecionaram-se fatores indicados
na norma ISO 9126, que identica alguns atributos importantes da qualidade, dentre os quais, a:

Resposta: confiabilidade, que representa o período de tempo em que o software esteja disponível para
uso.

O engenheiro de software avalia que na sua equipe, em datas próximas da data de entrega de uma versão
do sistema, a produtividade e o nível de estresse da equipe são impactados. Ele deseja automatizar o
processo, de forma a mitigar esses efeitos. Para tanto:

Resposta: como parte da implantação contínua, ele automatiza o processo de forma que impeça que a
nova versão do sistema entre em produção, caso o teste falhe.

Considerando as áreas de conhecimento do gerenciamento de projetos, avalie as seguintes afirmativas:


• __________________ é a área de conhecimento que permite identificar os pacotes de trabalho.
• O sequenciamento das atividades, definido pelo diagrama de redes do projeto, é elaborado na área de
conhecimento ______________________.
• O Termo de Abertura do Projeto é o documento que autoriza a alocação de recursos ao projeto, sendo
elaborado na área de conhecimento ___________________.

Resposta: Gerenciamento do Escopo do Projeto, Gerenciamento do Cronograma do Projeto,


Gerenciamento da Integração do Projeto.

Gerência de Configuração de Software é um conjunto de atividades de apoio, que permite a


absorçãocontrolada das mudanças, inerentes ao desenvolvimento de software, mantendo a estabilidade na
evolução do projeto. Podemos dividir o Gerenciamento de Configuração de Software em três níveis:

Tomando por base a figura anterior, assinale a alternativa que define, corretamente, cada nível do
Gerenciamento de Configuração de Software.

Resposta: Controle de versão: identifica em qual versão está o software e quais as caracteriscas de cada
versão. Controle de mudanças: identifica quais foram as mudanças, efetuadas na versão. Integração
contínua: tem como características testar as mudanças, assim que são realizadas.
A respeito do conceito de pull request no Git, assinale a alternativa correta.

Resposta: É uma solicitação que um usuário faz para ter permissão de acesso a arquivos de um outro
repositório.

A especificação de um processo de desenvolvimento de software requer a definição de como as atividades


serão encadeadas, também denominada de fluxo de processo ou ciclo de vida. Avalie se as afirmativas a
seguir são Falsas ou Verdadeiras:

Resposta: C- [V] - [V] – [V]

No contexto da metodologia ágil Scrum, avalie a relação entre os papéis e definições a seguir: Assinale a
opção que corretamente relaciona os referidos conceitos e definições:

Resposta: C- [1][C] - [2][A] – [3][B].

No que diz respeito aos processos e práticas no desenvolvimento ágil de software:

Resposta: a XP (Extreme Programming), é considerada um processo de desenvolvimento de software ágil


que exige entre outras coisas: padronização do código, interação contínua e teste.

Uma indústria de alimentos compra sementes de vários fornecedores. No recebimento das cargas, as
sementes passam por uma operação de classificação por cor, em uma esteira adquirida do fabricante MAQ,
equipada com sensores e software de processamento de imagens. Na etapa seguinte do processo, as
sementes são separadas em lotes, pelo critério de tamanho, e são, então, empacotadas. A separação dos
lotes é realizada por um mecanismo robótico, controlado por computador e que, pelo fato de sofrer
contínuo desgaste, necessita ser substituído a cada 1.000 horas de uso. Durante a última troca, em razão
da indisponibilidade do equipamento produzido pela empresa MAQ, a indústria instalou, com sucesso, um
equipamento robótico similar. Considerando o processo descrito, julgue os itens a seguir, relacionados aos
fatores de qualidade.

Resposta: Apenas um item está certo.

O Git é um sistema de controle de versão distribuído. Com respeito ao conceito de pull no Git, assinale a
alternativa correta.

Resposta: Atualiza o repositório local com todas as alterações feitas em outro repositório.

Considere as seguintes afirmativas:

I- Seu escopo não deve abordar a definição do que será gerenciado, entretanto, deve definir o esquema a
ser usado para identificar os itens de configuração.
II- Deve especificar as ferramentas usadas para o gerenciamento de configurações e os respectivos
processos de uso, porém não deve entrar no mérito de definição de políticas a serem adotadas no controle
de mudanças.
III- Deve estabelecer as responsabilidades pelos procedimentos de gerenciamento de configuração e ainda
descrever a estrutura do banco de dados para o registro das informações de configuração.
Um plano de gerenciamento de configurações de sistemas de software em desenvolvimento deve estar de
acordo com o que consta em:

Resposta: III, apenas.

Requisitos de um sistema são frequentemente classificados como funcionais, não funcionais e de domínio.
Qual a definição que melhor descreve requisitos não funcionais?

Resposta: São requisitos que não estão diretamente relacionados com as funções específicas do sistema

A gestão de requisitos é um conjunto de atividades que tem como principal objetivo ajudar a equipe de
projeto a:
Resposta: identificar, controlar e rastrear requisitos e modificações de requisitos em qualquer época, à
medida que o projeto prossegue.

Os engenheiros de software têm na atualidade uma série de desafios que devem ser superados no dia a dia
do trabalho. Os desafios podem ser agrupados em sete grandes categorias. Sobre essas categorias, analise
as afirmativas abaixo.

Resposta: as afirmativas I, II e III estão corretas.

Essa é a primeira estapa do processo de desenvolvimento de software. Usa-se diferentes técnicas, tais
como entrevistas, questionários na busca de uma comunicação mais efetiva com o usuário.

Resposta: levantamento de requisitos

Em engenharia de software, quando nos referimos a “fatoração” ou “refatoração”, estamos falando do


processo de reestruturar o código existente sem alterar seu comportamento externo…..

Resposta: não é as alterativas (Interação entre os objetos / Definição de atributos em classes / Aumento da
solução do problema / Modelagem de padrões)

A Unified Modeling Language (UML) e o Processo Unificado (Rational Unified …) criação de diagramas e a
comunicação de ideias complexas, o RUP …

Resposta: Na comunicação de ideias complexas através de diagranas

O fluxo de processo ou ciclo de vida é uma especificação do processo de desenvolvimento de software. No


fluxo serão apresentadas as formas como essas atividades serão encadeadas ….

Resposta: As duas afirmativas estão corretas e a segunda justifica a primeira.

O documento de requisitos, também conhecido como especificação de requisitos do software (SRS, do


inglês “software requirements specification”), é um dos ……

Resposta: Documentar as necessidades dos clientes e obter aceite sobre o que será entregue.

A Engenharia de Software é um campo desafiador e em constante evolução, marcada pela necessidade de


adaptação e inovação. Dentre os aspectos centrais desta disciplina estão os modelos de Processo de
Desenvolvimento de Software. Compreender esses modelos é fundamental para o sucesso na criação de
softwares eficazes e adaptáveis às necessidades em constante mudança dos usuários e do mercado.

Resposta: Permitir a decomposição de problemas complexos em partes menores e gerenciáveis.

“Gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às


atividades do projeto a fim de atender aos seus requisitos. Ele é realizado por meio da aplicação e
integração apropriadas de processos de gerenciamento de projetos agrupados logicamente.”Project
Management Institute; Project Management Body of Knowledge Guide 􀀆PMBok Guide) 􀀈 5ed. Newton
Square: Project Management Institute, 2013. Adaptado. Sobre o ciclo de vida do projeto, marque a
alternativa que apresenta a sequência correta.

Resposta: Iniciação, planejamento, execução, monitoramento e controle e encerramento.

A validação da unidade de software, muitas vezes referida como “teste unitário”, é uma etapa fundamental
no ciclo de desenvolvimento de software. Qual é o principal objetivo da validação da unidade de software?

Resposta: Testar componentes individuais de uma aplicação.

Os engenheiros de software são os profissionais responsáveis pela elaboração de softwares. Sobre o


conceito de software, analise as afirmativas abaixo.
I – Seguem instruções que devem ser executadas para o desenvolvimento de hardwares muito específicos.
II - Consiste em estruturas de dados que permitem aos programas manipular informações de forma
adequada.
III – Contém informação descritiva.
Marque a alternativa que apresenta a(s) afirmativa(s) correta(s).

Resposta: Apenas as afirmativas II e III estão corretas.

Você também pode gostar