Buscar

Exercicios - Engenharia de Software

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 38 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 38 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 38 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

Engenharia de Software
EXERCÍCIOS
Tema 02 - Módulo 01
Atividades de Classe
1. FCC – 2010 (adaptado) - Sobre a engenharia de software, considere:
● I. Atualmente, todos os problemas na construção de software de alta qualidade no prazo e
dentro do orçamento foram solucionados.
● II. Ao longo dos últimos 50 anos, o software evoluiu de um produto de indústria para um
ferramental especializado em solução de problemas e análise de informações específicas.
● III. Todo projeto de software é iniciado por alguma necessidade do negócio.
● IV. O intuito da engenharia de software é fornecer uma estrutura para a construção de
software com alta qualidade.
Está correto o que consta em:
A. III e IV, somente.
B. II e III, somente.
C. I, II e IV, somente.
D. II, III e IV, somente.
A alternativa "A" está correta.
● O software tem como um dos principais objetivos agregar valor ao negócio, permitindo a
automação de rotinas comumente associadas ao controle administrativo ou em apoio ao
processo de decisão. A Engenharia de Software permite o fornecimento dessa estrutura
disponibilizando processos, métodos e ferramentas.
2. Prefeitura Municipal de Manaus – 2010 - A Engenharia de Software compreende um
conjunto de etapas comumente citadas como paradigmas de Engenharia de Software. No
tocante a essas etapas, assinale a opção correta.
A. Os procedimentos da Engenharia de Software constituem o elo que mantém juntos
os métodos e as ferramentas.
B. Os métodos de Engenharia de Software proporcionam os detalhes de “o que fazer” para
construir o software.
C. As ferramentas de Engenharia de Software proporcionam apoio totalmente automatizado
aos métodos.
D. Os procedimentos da Engenharia de Software garantem o desenvolvimento dentro do
prazo.
A alternativa "A" está correta.
● A Engenharia de Software possui quatro camadas: qualidade, processo, métodos e
ferramentas. Cabe à camada de processo, a determinação das etapas de desenvolvimento
1
do software. Definido o processo, o engenheiro de software especifica os métodos e as
ferramentas que serão utilizadas.
2
Tema 02 - Módulo 02
Atividades de Classe
1. O processo da Engenharia de Requisitos inclui o levantamento de requisitos, que
corresponde à etapa de compreensão do problema aplicada ao desenvolvimento de
software, e tem como principal objetivo fazer com que usuários e desenvolvedores tenham
a mesma visão do problema a ser resolvido.
Neste contexto, (1) na etapa levantamento de requisitos, os desenvolvedores, juntamente com os
clientes, tentam levantar e definir as necessidades dos futuros usuários do sistema a ser
desenvolvido, prosseguimento no processo, temos (2) a etapa de validação dos requisitos onde os
analistas apresentam os modelos criados para representar o sistema aos futuros usuários para
que esses modelos sejam validados.
Considerando as afirmativas (1) e (2), escolha a opção correta:
A. Ambas as afirmativas são falsas.
B. A afirmativa 1 é verdadeira e a afirmativa 2 é falsa.
C. Ambas as afirmativas são verdadeiras, mas a (2) não é uma sequência correta de (1).
D. A afirmativa 1 é falsa e a afirmativa 2 é verdadeira.
A alternativa "C" está correta.
● Após a realização da etapa de levantamento dos requisitos, temos a etapa de análise,
onde o engenheiro de software gera os modelos, tal como, o modelo de casos de uso.
Após essa etapa, ocorre a validação dos requisitos pelos usuários do sistema.
2. Um engenheiro de software está identificando os requisitos não funcionais para um novo
projeto de software com elevado grau de complexidade em função dos requisitos
funcionais levantados até o momento. Neste ponto, o referido engenheiro identificou as tarefas
do processo de software adotado e necessita definir o encadeamento das tarefas, ou seja, o fluxo
de processo. Nesse caso, assinale qual a opção mais adequada:
A. Fluxo de Processo Linear.
B. Fluxo de Processo Paralelo.
C. Fluxo de Processo Iterativo.
D. Fluxo de Processo Evolucionário.
A alternativa "D" está correta.
● O Fluxo de Processo Evolucionário permite o versionamento do software e o melhor trato
da complexidade. A cada nova iteração, todas as tarefas são executadas, permitindo a
solução de um subconjunto de requisitos, e uma nova versão do software é gerada
3
Tema 02 - Módulo 03
Atividades de Classe
1. O gerente de projeto de um determinado projeto de software definiu o processo de
desenvolvimento com as atividades comumente utilizadas, tais como, levantamento de
requisitos, análise, projeto etc. O fluxo de processos adotado foi o evolucionário por permitir o
versionamento do software. A equipe do projeto, no momento, está definindo a duração de cada
atividade do processo de desenvolvimento de software e as respectivas dependências. Qual o
grupo de processos do PMBOK e a área de conhecimento do projeto encontra-se a equipe de
projeto?
A. Grupo de processos planejamento e área de conhecimento gerenciamento do
cronograma.
B. Grupo de processos execução e área de conhecimento gerenciamento da integração.
C. Grupo de processos execução e área de conhecimento gerenciamento do cronograma.
D. Grupo de processos planejamento e área de conhecimento gerenciamento do escopo.
A alternativa "A" está correta.
● A área de gerenciamento do escopo permite criar a EAP. Na sequência, ainda no grupo de
processos planejamento, podemos iniciar os processos da área de conhecimento
gerenciamento do cronograma que inclui a identificação das atividades e suas
dependências.
2. O engenheiro de software necessita definir o escopo do projeto de um determinado
software e decidiu utilizar o processo que permite a criação da Estrutura Analítica do
Projeto (EAP). Assinale a afirmativa correta relativa à EAP:
A. As entregas que sofrem decomposição na EAP são chamadas de pacotes de trabalho.
B. A EAP é elaborada no grupo de processo iniciação.
C. A área de conhecimento do processo “Criar a EAP” é gerenciamento do cronograma.
D. Após a criação da EAP, o engenheiro de software poderá iniciar os processos que
permitem o estabelecimento do cronograma do projeto.
A alternativa "D" está correta.
● A Estrutura Analítica de Projeto, ou simplesmente EAP, permite a representação gráfica do
escopo do projeto, sendo confeccionada no grupo de processos planejamento e pertence à
área de conhecimento gerenciamento de escopo. A criação da EAP permite, em
continuidade à etapa de planejamento, a execução de processo que conduzam ao
desenvolvimento do cronograma.
4
Tema 02 - Módulo 04
Atividades de Classe
1. Um engenheiro de software, responsável pelo gerenciamento de riscos, detectou um
risco relacionado ao uso de uma nova tecnologia de persistência de dados nunca utilizada
na empresa. Em uma reunião de Brainstorming, participantes do projeto apresentaram outros
riscos do projeto em desenvolvimento. Ao final da reunião, cada risco foi priorizado em função das
respectivas ameaças ao projeto, sendo gerada uma ata da reunião com o plano de respostas a
todos os riscos. No contexto do gerenciamento de risco, analise o final da referida reunião e
assinale a opção correta:
A. O gerente de riscos agiu corretamente, gerando uma evidência de tratativa dos riscos, ou
seja, o plano de respostas aos riscos.
B. O gerente de riscos realizou a análise quantitativa corretamente.
C. O gerente de riscos deveria ter realizado a análise quantitativa antes da geração do
plano de respostas aos riscos.
D. O gerente de riscos elaborou corretamente o plano de respostas a riscos.
A alternativa "C" está correta.
● A elaboração do plano de respostas a riscos ocorre após a análise quantitativa, pois essa
permite a análise numérica dos riscos que serão inseridos no referido plano.
2. COVEST- COPSET – 2019 (adaptada) Ao fazer seu plano de riscos, um analista elaborou
uma matriz de probabilidade e impacto. Sobre o emprego deste tipo de metodologia, é
correto afirmar que:
A. Deve-se evitar o uso de probabilidades numéricas, aplicando-se a terminologia “baixo,
médio ou alto” para indicar a chance de um determinado risco acontecer.
B.Uma matriz de probabilidade e impacto deve considerar, também, fatores qualitativos como
o agente responsável e o plano de ação a ser tomado.
C. Os riscos devem ser previstos e documentados livres de contexto, isto é, da forma mais
objetiva possível.
D. Nessa matriz, foram especificadas as combinações de probabilidade e o impacto
que levam à classificação dos riscos, podendo estes serem classificados
separadamente por objetivo, como custo, tempo e escopo.
A alternativa "D" está correta.
● A Análise qualitativa dos riscos permite definir, para cada risco identificado, uma
probabilidade e um grau de impacto, o que permite priorizar os riscos em função de seu
efeito sobre os resultados do projeto.
5
Tema 03 - Módulo 01
Atividades de Classe
1. (UFG - 2010 - UFG - Analista de TI - Desenvolvimento de Sistemas) Requisitos não
funcionais são restrições aos serviços de um sistema de software e ao processo de
desenvolvimento do sistema. A equipe de desenvolvimento de um sistema de controle de
tráfego aéreo deve considerar os requisitos não funcionais de:
A. Cadastro e monitoramento de aeronaves.
B. Alta disponibilidade e baixo tempo de resposta de usuário por evento.
C. Uso conjunto de método ágil de sistemas e linguagem de programação orientada a
objetos.
D. Alto desempenho e baixo tempo médio entre falhas.
A alternativa "B" está correta.
● Quando ocorre uma falha no software, o requisito não funcional de disponibilidade
contabiliza o tempo disponível para uso e o tempo necessário para a solução de um
problema, de modo que alta disponibilidade significa que o sistema está em condições de
uso a maior parte do tempo. O requisito não funcional tempo de resposta especifica o
tempo que o sistema responderá à determinada solicitação de serviço. Ambos os
requisitos são fundamentais para um sistema de controle de tráfego aéreo.
2. (FCC - 2019 - SEMEF Manaus - AM - Técnico de Tecnologia da Informação da Fazenda
Municipal) Considerando a análise de requisitos, as informações de rastreabilidade
desempenham um papel de grande importância. Assim, a equipe responsável da Fazenda
Municipal deve estar ciente de que a rastreabilidade de projeto significa:
A. Listar os compiladores utilizados no desenvolvimento de cada módulo de software.
B. Determinar o mapeamento entre os requisitos de projeto e os locais onde o sistema será
utilizado.
C. Determinar o desempenho de cada um dos requisitos do sistema.
D. Possuir o mapeamento entre os requisitos e os módulos de projeto que
implementam os requisitos.
A alternativa "D" está correta.
● A rastreabilidade, iniciada com o levantamento de requisitos, permite gerenciar volatilidade
dos requisitos durante o processo de desenvolvimento de software.
6
Tema 03 - Módulo 02
Atividades de Classe
1. Sobre as camadas do modelo de arquitetura MVC (Model - View-Controller) usado no
desenvolvimento web, é correto afirmar:
A. Todos os dados e a lógica do negócio para processá-los devem ser representados na
camada controller.
B. A camada model pode interagir com a camada view para converter as ações do cliente em
ações que são compreendidas e executadas na camada controller.
C. A camada view é a camada responsável por exibir os dados ao usuário. Em todos os
casos, essa camada somente pode acessar a camada model por meio da camada
controller.
D. A camada controller, geralmente, possui um componente controlador padrão, criado
para atender a todas as requisições do cliente.
A alternativa "D" está correta.
● O padrão de arquitetura de projeto MVC torna fácil a manutenção do software, permitindo
a implantação modular de forma rápida, cabendo à camada view gerar um evento a partir
de uma requisição do cliente. O referido evento é atendido por um controller.
2. O engenheiro de software está encerrando a etapa de análise e iniciando a etapa de
projeto. Assinale a afirmativa que NÃO é uma atividade de projeto:
A. Aumentar o grau de abstração do modelo de classes.
B. Identificar os métodos das classes a partir de modelos dinâmicos.
C. Definir o modelo lógico de banco de dados.
D. Utilizar padrões de projeto no diagrama de classes.
A alternativa "A" está correta.
● A etapa de projeto permite o refinamento de modelos de análise, tal como o modelo de
classes, de forma a diminuir o nível de abstração. Exemplo: o modelo de classes é
refinado aumentando o nível de detalhamento.
7
Tema 03 - Módulo 03
Atividades de Classe
1. (Secretaria da Fazenda do Estado da Bahia - Auditor Fiscal - Tecnologia da Informação -
FCC - 2019) Suponha que uma auditora fiscal da área de TI atue na etapa de testes e
avaliação da qualidade de um software em desenvolvimento. Como o software sofria
alterações a cada nova funcionalidade a ele incorporada, a auditora propôs que a equipe de testes
adotasse como padrão um tipo de teste que garantisse que as mudanças recentes no código
deixassem o resto do código intacto, visando impedir a introdução de erros. A equipe decidiu
realizar um tipo de teste para avaliar a parte modificada e as áreas adjacentes que podem ter sido
afetadas, dentro de uma abordagem baseada em risco. Assim, os testadores destacariam as
áreas de aplicação que poderiam ser afetadas pelas recentes alterações de código e
selecionariam os casos de testes relevantes para o conjunto de testes. Procedendo desta forma,
seriam realizados testes:
A. De revisão de funcionalidade.
B. Gama.
C. De aceite operacional.
D. De regressão.
A alternativa "D" está correta.
● Teste de regressão permite a reexecução de um subconjunto de testes previamente
executados, assegurando que as alterações ou inserções de novas funcionalidades não
impactaram outras partes do software.
2. Uma equipe de desenvolvedores do software está na fase final dos testes em ambiente
controlado e decidiu iniciar os testes de recuperação e segurança imediatamente. Assinale
a opção correta relativa ao início dos referidos testes:
A. A equipe está realizando incorretamente os testes de sistema antes de realizar, por
completo, os testes de validação.
B. A equipe está desenvolvendo corretamente os últimos testes antes de disponibilizar o
software aos usuários finais.
C. A equipe deveria estar iniciando os testes de integração.
D. A equipe deveria estar iniciando os testes de validação do tipo Aceite Formal.
A alternativa "A" está correta.
● Os testes de validação do tipo Aceite Alpha ocorrem em ambiente controlado; na
sequência, são realizados os testes de Aceite Beta e Formal, encerrando os testes de
validação. Após esses testes, são realizados os testes de sistema, que incluem, entre
outros, os testes de recuperação e segurança.
8
Tema 03 - Módulo 04
Atividades de Classe
1. O gerente de determinado projeto de software possui uma longa lista de requisitos
funcionais e não funcionais, em função da sua complexidade. As equipes de programadores
e de qualidade estão encerrando as etapas de implementação e testes, possibilitando a
implantação do software. Qual processo tem de estar bem definido e ajustado à complexidade do
software quando da execução da etapa implantação, em função dos defeitos que deverão ser
identificados em produção?
A. Processo de reengenharia.
B. Processo de controle de alterações.
C. Processo de controle de releases.
D. Processo de software.
A alternativa "B" está correta.
● Com certeza, ocorrerão erros em produção, gerando pedidos de manutenção do software.
A definição prévia de um processo de controle de alterações permitirá a realização de
manutenções sistemáticas e de forma planejada.
2. (CESGRANRIO - 2013 - BNDES - Profissional Básico - Análise de Sistemas –
Desenvolvimento) De modo geral, o processo de desenvolvimento de um software pode ser
organizado partindo de três fases importantes, que são as de definição, de
desenvolvimento e de manutenção. Na fase de manutenção, dentre outras atividades, são:
A. Levantados os requisitos dos usuários para a programação das diversas fases do projeto,
inclusive as operacionais e as preditivas.
B. Efetuados os testes de funcionalidade do software,revistos os objetivos para os quais ele
foi desenvolvido e redefinidas as funções em desacordo com esses objetivos.
C. Incluídas novas funções requeridas pelo cliente e feitas adaptações por
modificações de hardware.
D. Reavaliadas as bases operacionais, nas quais o software está sendo executado, e
prototipados os novos requisitos de hardware.
A alternativa "C" está correta.
● As alterações solicitadas durante a etapa de manutenção do software comumente incluem
erros gerados em etapas anteriores do processo de desenvolvimento de software. Devido
ao uso do software pelos usuários, poderão também surgir solicitações de novas
funcionalidades, bem como problemas decorrentes de atualização de hardware.
9
Tema 04 - Módulo 01
Atividades de Classe
1. (FGV - 2010 - BADESC - Analista de Sistemas - Desenvolvimento de Sistemas) O Modelo
Espiral, segundo Pressman (1995), incorpora as melhores características do Ciclo de Vida
Clássico e da Prototipação e acrescenta o seguinte elemento:
A. Análise dos riscos.
B. Análise de projetos.
C. Avaliação de usuários.
D. Refinamento de requisitos.
E. Refinamento de protótipos.
A alternativa "A" está correta.
● O modelo espiral é um modelo de processo de software evolucionário que une a natureza
iterativa da prototipação aos aspectos sistemáticos e controlados do modelo cascata,
enfatizando no segundo quadrante da espiral a análise de riscos.
2. Um gerente de projeto, junto à sua equipe de engenheiros de software, está definindo o
modelo de processo de software a ser adotado em determinado projeto de software. Os
requisitos do software são complexos e parcialmente identificados, o cliente impôs restrições de
prazo para que o software agregue valor no seu negócio. Nesse contexto, qual o modelo de
processo mais adequado?
A. Modelo de processo incremental.
B. Modelo de processo evolucionário.
C. Modelo espiral.
D. Modelo em cascata.
E. Modelo de processo iterativo.
A alternativa "B" está correta.
● O modelo de processo evolucionário é o mais adequado em função da complexidade dos
requisitos, estando eles parcialmente identificados. Esse modelo permite que os requisitos
parcialmente identificados sejam considerados em um primeiro incremento, permitindo um
melhor entendimento do domínio do problema e a identificação de novos requisitos para
incrementos posteriores. O modelo possibilita, também, a disponibilização de versões de
software agregando valor ao negócio do cliente.
10
Tema 04 - Módulo 02
Atividades de Classe
1. (Referência: CESPE - 2010 - TRE-MT - Analista Judiciário - Tecnologia da Informação) O
RUP (Rational Unified Process) é uma técnica usada na modelagem de sistemas. Com
relação a esse assunto, assinale a opção correta:
A. Uma das principais características do RUP é o uso da iteração que, por meio de
refinamentos sucessivos, melhora o entendimento do problema.
B. O RUP fornece uma metodologia que utiliza um conjunto de ferramentas, modelos e
entregáveis que interage diretamente com o código do sistema desenvolvido, agilizando o
processo de compilação.
C. Pelo fato de o RUP ser muito complexo, seu foco evita a redução dos riscos do projeto.
Essa fase é tratada diretamente na UML.
D. O RUP reduz sensivelmente os requisitos de documentação de um projeto.
E. O RUP tem dois modelos de comunicação: um para ambientes fora da equipe de
desenvolvimento e outro exclusivo para a equipe de desenvolvimento.
A alternativa "A" está correta.
● O RUP possui como princípio, entre outros, ser iterativo e incremental. Iterativo porque as
atividades se repetem a cada nova iteração, permitindo um melhor entendimento do
negócio, ou seja, compreensão gradativa dos requisitos de software à medida que o
desenvolvimento avança.
2. (Prefeitura Municipal de Jataí - Analista de Tecnologia da Informação (Quadrix - 2019)
A. Acerca da linguagem de modelagem unificada (UML), assinale a alternativa correta:
B. A UML é uma linguagem de código que tem a finalidade de criar, especificamente, o
modelo físico de determinado sistema.
C. Sua sintaxe foi projetada apenas para atender às linguagens‐alvo mais recentes, como a
JavaScript.
D. Apesar de ser uma ferramenta de modelagem muito poderosa, ela não é capaz de
capturar conhecimento e expressá‐lo.
E. A UML tem a finalidade de documentar e visualizar os artefatos que são especificados e
construídos na análise e no desenho de um sistema.
F. A melhor definição para a UML, de acordo com diversos analistas, é que ela é uma
linguagem de programação visual.
A alternativa "D" está correta.
● A UML é uma linguagem de modelagem que permite a especificação de artefatos de
software gerados nas etapas de análise e projeto de um processo de software.
11
Tema 04 - Módulo 03
Atividades de Classe
1. (Empresa Brasileira de Correios e Telégrafos (Correios) - FIP - 2009). Assinale a
alternativa que não apresenta características dos métodos ágeis de desenvolvimento de
software:
A. Entregas parciais do sistema em períodos curtos, que duram de semanas a meses, com
preferência para intervalos menores.
B. Atribuição dos requisitos de maior complexidade funcional e não funcional nas primeiras
interações com os clientes, de forma a priorizar os aspectos críticos do sistema.
C. Quantidade de código executável considerada a medida mais importante do progresso do
desenvolvimento de um software.
D. Mudanças nos requisitos, mesmo quando ocorrem próximas ao final do desenvolvimento.
E. Processos de desenvolvimento e recursos tecnológicos disponíveis considerados
mais importantes do que as interações entre os membros das equipes.
A alternativa "E" está correta.
● Um dos valores dos métodos ágeis inclui “indivíduos e interações, mais do que processos
e ferramentas”. Esse valor tem origem de uma rejeição dos proponentes dos modelos
ágeis aos processos prescritivos com rigoroso formalismo, incluindo os respectivos
métodos e ferramentas CASE sugeridas. Para esses proponentes, a comunicação entre
membros da equipe, incluindo clientes, é mais importante.
2. Um engenheiro de software, no contexto de um projeto alinhado à metodologia ágil XP,
está planejando as atividades relacionadas ao primeiro incremento, estabelecendo a
seguinte sequência: detalhamento das histórias de usuários em tarefas, elaboração dos cartões
CRC, codificação, elaboração dos testes unitários e execução dos testes. Assinale a opção
correta relativa à sequência descrita:
A. A elaboração dos testes deve ocorrer antes da codificação.
B. A codificação deve ocorrer antes da elaboração dos cartões CRC.
C. A elaboração dos cartões CRC deve ocorrer antes do detalhamento das histórias de
usuários em tarefas.
D. A codificação deve ser realizada antes da elaboração dos cartões CRC.
E. A sequência está correta.
A alternativa "A" está correta.
● A prática de desenvolvimento orientada a testes determina que os testes unitários sejam
escritos antes da codificação, técnica também conhecida como “test first”.
12
Tema 04 - Módulo 04
Atividades de Classe
1. (Tribunal de Justiça do Estado do Rio Grande do Norte (TJ-RN) - COMPERVE - 2020) O
Scrum é um framework dentro do qual as pessoas podem tratar e resolver problemas de
forma ágil. O coração do Scrum está em suas sprints. Segundo o Scrum Guide, em um projeto
que adota Scrum, a autoridade de cancelar uma sprint cabe ao
A. Time scrum.
B. Scrum Master.
C. Product Owner.
D. Team manager.
E. Gerente de projeto.
A alternativa "C" está correta.
● Somente o product owner tem a autoridade para cancelar um Sprint antes do prazo
estabelecido, embora o possa fazer sob influência das partes interessadas.
2. O Método AUP é considerado uma simplificação do RUP, em função de seu ajuste aos
valores do manifesto ágil. Qual atividade iterativa do AUP melhor representa a adesão ao
seguinte valor: “Software em funcionamento, mais do que documentação abrangente”?
A. Modelagem.
B. Implementação.
C. Testes.
D. Implantação.
E. Análise.
A alternativa "A" está correta.
● O RUP possui como atividades que exigem modelagem: modelagem de negócio,
levantamentode requisitos, análise e projeto. Podemos destacar que essas atividades
foram agregadas na atividade modelagem do processo ágil AUP.
13
Tema 05 - Módulo 01
Atividades de Classe
1. Considerando os conceitos relacionados com a qualidade de software, preencha as
lacunas nas afirmações abaixo.
● 1) ______________ é um lapso humano que resulta em um software incorreto.
● 2) ______________ é uma anomalia no produto.
● 3) ______________ ocorre quando uma unidade funcional de um sistema relacionado a
um software não mais consegue desempenhar as funções necessárias ou deixa de operar
dentro dos limites especificados.
As lacunas estão correta e respectivamente preenchidas em:
A. Erro - Falha - Defeito
B. Erro - Defeito - Falha
C. Defeito - Erro - Falha
D. Defeito - Falha - Erro
E. Falha - Erro - Defeito
A alternativa "B" está correta.
● Um erro é uma diferença detectada entre o resultado de uma computação e o resultado
correto ou esperado, ou seja, um problema introduzido no software pelo programador.
Defeito é uma manifestação de um erro no software e pode acarretar uma falha. Uma falha
é o resultado errado provocado por um defeito ou condição inesperada, causando a
suspensão da execução normal do software.
2. (Petrobras Transporte SA ‒Transpetro ‒ Analista de Sistemas ‒ Negócios ‒
CESGRANRIO ‒ 2018). O custo da qualidade inclui todos os custos feitos na busca da qualidade,
dividindo-se em custos de prevenção, de avaliação e de falha, interna e externa. Entre os custos
de prevenção está o das atividades de:
A. Testes e depuração
B. Coleta de dados e métricas de avaliação
C. Retrabalho necessárias para corrigir o erro
D. Condução de revisões técnicas para os produtos de engenharia de software
E. Gerência para planejar e coordenar todas as atividades de controle e garantia de
qualidade
A alternativa "E" está correta.
● Os custos de prevenção são caracterizados pelos esforços que a equipe de qualidade
aplica na tentativa de evitar que o processo de desenvolvimento de software ou o software
não apresentem defeitos, incluindo os custos relacionados com o planejamento da
qualidade.
14
Tema 05 - Módulo 02
Atividades de Classe
1. (Defensoria Pública do Estado do Rio de Janeiro ‒ DPE-RJ ‒ Analista ‒ Tecnologia da
Informação ‒ FGV-2019) A empresa “Armazéns do João”, com o propósito de adquirir um
software de controle de estoque, solicitou a um analista de sua equipe de informática que
verificasse a qualidade do software. A avaliação constatou que o software não possuía
documentação técnica, não havia comentários no código, e suas classes e métodos possuíam
nomes pouco significativos. Além disso, o software não garantia o acesso restrito a informações
confidenciais de forma consistente.
Com base nessas informações, o software não foi considerado de qualidade, pois não
atendia às características desejáveis para:
A. Manutenibilidade e confiabilidade
B. Confiabilidade e usabilidade
C. Usabilidade e segurança
D. Manutenibilidade e segurança
E. Portabilidade e manutenibilidade
A alternativa "D" está correta.
● A manutenibilidade é um aspecto da qualidade de software que se refere à facilidade de
um software de ser modificado a fim de corrigir defeitos, adequar-se a novos requisitos,
aumentar a suportabilidade ou se adequar a um ambiente novo. O desenvolvimento de
software seguro exige o cumprimento das necessidades de segurança do cliente.
2. (Fundação Papa João XXIII ‒ FUNPAPA ‒ Analista de Sistemas ‒ AOCP ‒ 2018) O
gerenciamento de qualidade de software para sistemas de software compreende melhorias
significativas no nível organizacional e de projeto. Com relação aos conceitos de qualidade de
software, é correto afirmar que:
A. No nível de projeto, o gerenciamento de qualidade está preocupado com o
estabelecimento de um framework de processos organizacionais e padrões que levem a
softwares de alta qualidade. Isso significa que a equipe de gerenciamento de qualidade
deve assumir a responsabilidade de definir os processos de desenvolvimento do software
que serão usados e os padrões que devem ser usados no software, bem como a
documentação relacionada, incluindo os requisitos de sistema, projeto e código.
B. No nível de projeto, o gerenciamento de qualidade envolve a aplicação de processos
específicos de codificação, verificando se os processos planejados foram seguidos, e a
garantia de que as saídas de projeto estejam em conformidade com os padrões aplicáveis
ao projeto.
C. No nível organizacional, o gerenciamento de qualidade está preocupado com o
estabelecimento de um plano de qualidade. O plano de qualidade deve definir as metas de
qualidade para o projeto e quais processos e padrões devem ser usados.
D. No nível organizacional, o gerenciamento de qualidade envolve a aplicação de processos
específicos de qualidade, verificando se os processos planejados foram seguidos, e a
15
garantia de que as saídas de projeto estejam em conformidade com os padrões aplicáveis
ao projeto.
E. No nível organizacional, o gerenciamento de qualidade está preocupado com o
estabelecimento de um framework de processos organizacionais e padrões que
levem a softwares de alta qualidade. Isso significa que a equipe de gerenciamento
de qualidade deve assumir a responsabilidade de definir os processos de
desenvolvimento do software que serão usados e os padrões que devem ser usados
no software, bem como a documentação relacionada, incluindo os requisitos de
sistema, projeto e código.
A alternativa "E" está correta.
● De acordo com Sommerville (2011), o gerenciamento de qualidade de software para
sistemas de software tem três principais preocupações: 1. No nível organizacional, o
gerenciamento de qualidade está preocupado com o estabelecimento de um framework de
processos organizacionais e padrões que levem a softwares de alta qualidade. Isso
significa que a equipe de gerenciamento de qualidade deve assumir a responsabilidade de
definir os processos de desenvolvimento do software que serão usados e os padrões que
devem ser usados no software, bem como a documentação relacionada, incluindo os
requisitos de sistema, projeto e código. 2. No nível de projeto, o gerenciamento de
qualidade envolve a aplicação de processos específicos de qualidade, verificando que os
processos planejados foram seguidos, e a garantia de que as saídas de projeto estejam
em conformidade com os padrões aplicáveis ao projeto. 3. No nível de projeto, o
gerenciamento de qualidade também está preocupado com o estabelecimento de um
plano de qualidade. O plano de qualidade deve definir as metas de qualidade para o
projeto e quais processos e padrões devem ser usados.
16
Tema 05 - Módulo 03
Atividades de Classe
1. (Universidade Federal de Pernambuco ‒ UFPE ‒ Analista de Tecnologia da Informação ‒
Sistemas ‒ COVEST-COPSET ‒ 2019) 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 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.
B. Como parte da entrega contínua, ele automatiza uma série de rotinas para que o sistema
seja automaticamente posto em produção.
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 integração contínua, ele automatiza o processo de agregar novas
mudanças na forma de recursos e funcionalidades, em uma nova versã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.
A alternativa "A" está correta.
● Sempre que ocorre uma falha no teste de software, esse não deverá migrar do ambiente
de desenvolvimento para o ambiente de produção.
2. (Ministério Público do Estadode Alagoas ‒ MPE-AL ‒ Analista ‒ Desenvolvimento de
Sistemas ‒ FGV ‒ 2018) Eduardo é o líder técnico do sistema de vendas de uma rede de
farmácias. O sistema deve ser utilizado em mais de 40 unidades espalhadas por vários estados.
O sistema entrou em produção e, já na primeira semana de uso, ficou muito lento e diversas
vezes indisponível para os operadores das lojas. Diante desse cenário, assinale a opção que
indica a técnica de teste que foi negligenciada.
A. De fumaça
B. Funcional de limite
C. De desempenho
D. Caixa-branca
E. De análise de valor-limite
A alternativa "C" está correta.
● Teste de desempenho é similar ao teste de carga, mas com o intuito de testar o software a
fim de encontrar o seu limite de processamento de dados no seu melhor desempenho. No
teste, normalmente é avaliada a capacidade de resposta em determinados cenários e
configurações.
17
Tema 05 - Módulo 04
Atividades de Classe
1. Ministério Público de Contas do Estado do Pará ‒ MPC-PA ‒Analista ‒ Tecnologia da
Informação ‒ CESPE ‒ 2019) A métrica de qualidade de código que mede a complexidade
estrutural de um programa computando o número de caminhos linearmente independentes
ao longo do código-fonte é denominada:
A. Complexidade ciclomática
B. Complexidade de Halstead
C. Contagem de pontos de microfunção ponderados
D. Índice de manutenibilidade
E. Extensibilidade
A alternativa "A" está correta.
● Complexidade ciclomática é uma métrica de software usada para indicar a complexidade
de um programa de computador, por meio da medição da quantidade de caminhos de
execução independentes a partir de um código-fonte.
2. (Assembleia Legislativa do Estado do Rio de Janeiro ‒ ALERJ ‒ Analista ‒ Tecnologia da
Informação‒ FGV ‒ 2017) Um sistema está sendo desenvolvido por uma empresa
terceirizada para apoiar as vendas de um mercado varejista da Grande São Paulo
denominado “Mendes Sá Colão”. Após o desenvolvimento do sistema, a empresa terceirizada
deverá passar o código-fonte para a área de TI da “Mendes Sá Colão”, que passará a ser
responsável pela continuidade do sistema. Foi ressaltada, também, a necessidade de que o
sistema, caso ocorra uma falha, recupere-se de forma automática e rapidamente.
Nesse caso, os atributos de qualidade do sistema com maior peso são:
A. Portabilidade e confiabilidade
B. Manutenibilidade e confiabilidade
C. Portabilidade e eficiência
D. Confiabilidade e usabilidade
E. Manutenibilidade e eficiência
A alternativa "B" está correta.
● A medição atributo da manutenibilidade irá possibilitar reduzir o esforço na alteração do
software após o recebimento do código-fonte do mesmo e a medição da confiabilidade
permitirá uma rápida resposta a uma falha, caso ocorra.
18
Tema 06 - Módulo 01
Atividades de Classe
1. (Defensoria Pública do Estado do Rio de Janeiro ‒ DPE-RJ ‒ Analista ‒ Tecnologia da
Informação ‒ FGV ‒ 2019). O software de controle de catracas “Sisentrada” foi
desenvolvido e entregue a seus diversos clientes. Um deles relatou um problema. O software
foi consertado e enviado novamente ao cliente, que percebeu que alguns erros já sanados em
versões anteriores voltaram a ocorrer.
No contexto da Engenharia de Software, a disciplina que é aplicada ao longo de todo o
ciclo de vida, na qual houve falha, é:
A. Gestão de Configuração de Software
B. Especificação de Requisitos
C. Gestão de Riscos
D. Medição
E. Comunicação com o Cliente
A alternativa "A" está correta.
● A Gestão de Configuração de Software é uma área da Engenharia de Software
responsável por fornecer o apoio para o desenvolvimento de software, sendo suas
principais atribuições o controle de versão, o controle de mudança e a auditoria das
configurações.
2. (FCC ‒ 2014 ‒ TRF ‒ 3ª REGIÃO ‒ Analista Judiciário ‒ Informática). A representação
abaixo mostra como uma ferramenta de software realiza o controle de versões.
Considere a figura acima e analise as seguintes afirmativas sobre gerência de configuração
e mudanças:
● I . A figura sugere que cada vez que se modifica o projeto, a ferramenta registra o estado
dos arquivos e armazena uma referência para essa captura. Se um dos arquivos não sofre
alteração, seu estado não é alterado, apenas é criado um link para a versão anterior que já
foi armazenada.
● II . Um Sistema de Controle de Versões (SCV) combina procedimentos e ferramentas para
gerir diferentes versões de objetos de configuração que são criados durante o processo de
19
software. Um SCV implementa ou está ligado a um banco de dados de projeto (repositório)
que guarda os objetos de configuração relevantes.
● III . Um repositório de gestão de configuração de software é um conjunto de estruturas de
dados que permite a uma equipe de software gerir as modificações de modo efetivo.
Propicia funções que impedem que as informações sejam compartilhadas entre vários
desenvolvedores para garantir a integridade dos dados, porém não consegue detectar
diferenças entre arquivos binários.
Está correto o que consta apenas em:
A. I e II
B. III
C. II e III
D. I e III
E. I
A alternativa "A" está correta.
● Um objeto de configuração, isto é, armazenado no banco de dados, torna-se uma
referência. O banco de dados registra somente os ICSs relevantes, ou seja, os que se
tornam referências, possibilitando que as informações sejam compartilhadas entre vários
desenvolvedores.
20
Tema 06 - Módulo 02
Atividades de Classe
1. (Secretaria Municipal de Finanças, Tecnologia da Informação e Controle Interno de
Manaus ‒ Amazonas ‒ Técnico de Informática ‒ FCC ‒ 2019). No repositório SVN, o
comando usado para criar uma cópia de trabalho do repositório para poder editar é o:
A. CHECK-OUT
B. DIFF
C. PERFORM
D. COMMIT
E. UPDATE
A alternativa "A" está correta.
● O Subversion (SVN) é um sistema de controle de versão open source que gerencia
arquivos e diretórios controlando as alterações realizadas ao longo do tempo, sendo
possível recuperar versões anteriores ou visualizar o histórico de alterações. Tem como
ponto forte a utilização em rede, possibilitando que vários usuários possam trabalhar
colaborativamente. A operação que permite gerar uma cópia do repositório para edição é o
check-out.
2. Questão número dois do módulo 2.(Secretaria de Estado da Fazenda de Santa Catarina ‒
SEFAZ-SC ‒ Auditor Fiscal ‒ FCC ‒ 2018). Um dos primeiros passos para controlar a
mudança é identificar os itens de software a serem controlados. Isto envolve, entre outros
elementos, entender que a configuração de software se trata de uma:
A. Agregação ou item de hardware ou software ou ambos projetados para serem gerenciados
como uma única entidade.
B. Instância identificada de um item de software.
C. Versão específica de um item que foi acordada como tal.
D. Versão formalmente aprovada de um item que é formalmente designado e corrigido em um
momento específico durante o ciclo de vida do item.
E. Característica funcional e física do hardware ou software, conforme estabelecido na
documentação técnica ou obtido em um produto.
A alternativa "E" está correta.
● A gestão de configuração de software requer a identificação de todos os itens que
coletivamente definem a configuração do software, incluindo hardware e software.
21
Tema 06 - Módulo 03
Atividades de Classe
1. (Secretaria Municipal de Finanças, Tecnologia da Informação e Controle Interno de
Manaus ‒ Amazonas ‒ Web designer ‒ FCC ‒ 2019). Um técnico em web design tem a
incumbência de verificar a possibilidade de uso de um Gerenciamento de Repositório
(SVN), sendo que em sua pesquisa este técnico verificou que, neste repositório, a operação
de:
A. Salvar no repositório mudanças feitas em uma cópia de trabalho corresponde à
operação denominada commit.
B. Criar um repositório corresponde à operação de check-out.
C. Descartar modificações feitas no repositório corresponde à operação denominada status.
D. Sincronizar uma cópia de trabalho com o repositório corresponde a uma operação de
revisão.
E. Criar uma cópia de trabalho, a partir do repositório, corresponde à operação denominada
commit.
A alternativa"A" está correta.
● Em um sistema de controle de versão distribuído, os desenvolvedores trabalham nos
arquivos necessários e mantêm as novas versões em seu repositório particular, quando
terminam de fazer alterações é efetivado o commit dessas alterações e eles atualizam
esse repositório privado. O envio dessas alterações para o repositório do projeto
denomina-se push.
2. Um engenheiro de software necessita realizar uma alteração em um determinado
componente de software armazenado no repositório do projeto. Inicialmente, realiza um
__________, transfere o componente para __________. Após a realização da alteração, realiza o
__________ do componente, liberando a nova versão do componente atualizada no repositório do
projeto. O sistema de gerenciamento de versão, por meio de um gerente de configuração, realiza
o __________ , a fim de que seja gerado o código executável pelo ________.
Assinale a opção que permite o correto preenchimento das lacunas:
A. check-out, área de trabalho particular, check-out, check-in, plataforma de destino.
B. check-in, área de trabalho particular, check-out, check-out, servidor de construção.
C. check-out, área de trabalho particular, check-in, check-out, servidor de construção.
D. check-out, área de trabalho particular, check-in, check-out, plataforma de destino.
E. check-out, área de trabalho particular, check-in, check-in, servidor de construção.
A alternativa "C" está correta.
● Podemos deduzir a partir do processo ilustrado na Figura 8, no qual o desenvolvedor
realiza o check-in do código, a fim de evitar que duas pessoas alterem o mesmo
componente, transferindo o referido componente para sua área de trabalho; após a
realização da alteração, disponibiliza o componente no repositório do projeto por meio de
um check-out. O gerente de configuração libera o componente para a geração do
respectivo executável por meio de um segundo check-out, cabendo ao servidor de
construção a geração do sistema executável
22
Tema 06 - Módulo 04
Atividades de Classe
1. (Prefeitura Municipal de São Luís ‒ Auditor Fiscal ‒ FCC ‒ 2018). Um auditor fiscal fez
uma pesquisa na internet e obteve as seguintes informações:
Há vários critérios para escolher uma ferramenta para esta finalidade, como popularidade,
eficácia, desempenho, adequação e simplicidade. Este tipo de ferramenta serve para resolver três
problemas:
● I. Registrar a evolução do projeto.
● II. Possibilitar o trabalho em equipe.
● III. Criar e manter variações do projeto. Tanto o Subversion, quanto o Git e o Mercurial
atendem a estas necessidades.
O auditor estava pesquisando sobre ferramentas de:
A. Projeto e governança de portais corporativos
B. Controle de workflows e Business Process Management (BPM)
C. Gerenciamento Eletrônico de Documentos (GED) de projetos
D. Controle e gerenciamento de versão
E. Projetos de auditoria com base no PMBOK 5ª edição
A alternativa "D" está correta.
● Subversion, Git e Mercurial são ferramentas utilizadas no controle de versões de itens de
configuração de software.
2.(Companhia de Processamento de Dados do Estado da Bahia ‒ 2008). Assinale a
alternativa que não corresponde a uma ferramenta de Gerenciamento de Configuração de
Software.
A. CVS
B. Subversion
C. ClearCase
D. Ms-Project
E. JEDI
A alternativa "D" está correta.
● CVS, Subversion e Jedi são ferramentas de gerenciamento de versão open source, sendo
a ClearCase uma ferramenta comercial.
23
Exercícios - Avalie sua Aprendizagem
01) Em um projeto de software, a equipe de desenvolvimento se depara com a tarefa de
medir a qualidade do produto final. Eles consideram diferentes métricas para avaliar
aspectos como eficiência, confiabilidade e usabilidade.
A. Facilidade de manutenção.
B. Tempo de resposta do sistema.
C. Satisfação do usuário final.
D. Portabilidade entre diferentes plataformas.
E. Frequência de erros encontrados.
A alternativa "B" está correta.
● A métrica mais relevante para avaliar a eficiência de um software é o tempo de resposta do
sistema. Esta métrica reflete diretamente a rapidez com que o software executa tarefas e
responde às solicitações dos usuários, um aspecto crucial da eficiência.
02) 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.
● I- As operações de classificação e separação de sementes se interrelacionam e não
podem falhar, pois essa falha acarretaria prejuízos. O atributo de qualidade
correspondente a essas operações, e que deve ser observado pelo software, é a
interoperabilidade.
● II- Caso o responsável pela instalação do sistema robotizado não tenha encontrado
dificuldade em fazê-lo comunicar-se com o equipamento de outra marca, é correto concluir
que o sistema que controla o robô é portável.
● III- A maneira como ocorre a interação com o sistema computacional sugere que alguns
requisitos, como ergonomia, sejam observados na interface. Por isso, é correto concluir
que o software utilizado pela indústria contempla o fator denominado usabilidade.
Assinale a opção correta.
A. Apenas os itens I e III estão certos.
B. Apenas os itens II e III estão certos.
C. Todos os itens estão certos.
D. Apenas um item está certo.
E. Apenas os itens I e II estão certos.
A alternativa "D" está correta.
03) Em um projeto de software, a equipe enfrenta desafios ao integrar novas tecnologias.
Isso requer uma abordagem estratégica para gerenciar as complexidades e garantir uma
transição suave, alinhando-se com as melhores práticas da Engenharia de Software.
24
Qual é o aspecto mais crítico a ser considerado ao integrar novas tecnologias em um
projeto de software?
A. Enfatizar testes de usuário.
B. Gerenciamento de riscos.
C. Priorização de custos.
D. Foco no desenvolvimento ágil.
E. Adoção de ferramentas de colaboração.
A alternativa "B" está correta.
● Ao integrar novas tecnologias em um projeto de software, o gerenciamento de riscos é
crucial. Isso envolve a identificação, análise e mitigação de potenciais problemas que
podem surgir devido à introdução de novas tecnologias, garantindo assim uma transição
mais eficaz e alinhada com as práticas recomendadas da Engenharia de Software
04) 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).
A. Apenas as afirmativas II e III estão corretas.
B. Apenas a afirmativa III está correta.
C. Apenas as afirmativas I e III estão corretas
D. Apenas as afirmativas I e II estão corretas.
E. As afirmativas I, II e III estão corretas.
A alternativa "A" está correta.
● A afirmativa I está incorreta. O software não segue instruções para o desenvolvimento de
hardwares específicos. O software é uma entidade lógica separada do hardware e consiste
em programas e dados que fornecem instruções para um computador executar tarefas
específicas.
● A afirmativa II está correta. O software consiste em estruturas de dados que permitem aos
programas manipular informações de forma adequada.As estruturas de dados são usadas
para organizar, armazenar e manipular informações dentro de um programa.
● A afirmativa III está correta. O software contém informações descritivas, como códigos,
instruções, configurações, dados, entre outros, que são necessários para que um
programa ou sistema possa funcionar corretamente.
05) O projeto (ou "design", como é frequentemente chamado em inglês) é uma das etapas
cruciais no ciclo de vida do desenvolvimento de software.
O que são as entregas da etapa "projeto" do processo de desenvolvimento de software?
A. Código-fonte e executáveis.
B. Programadores e analistas.
C. Plantas baixas e projetos elétricos.
D. Frameworks e bibliotecas.
E. Diagramas e especificações textuais.
A alternativa "E" está correta.
● As entregas da etapa "projeto" são modelos, que incluem diagramas e especificações
textuais.
25
06) Em um projeto de software, a equipe enfrenta desafios ao implementar uma função de
login. A complexidade surge devido à necessidade de equilibrar segurança e usabilidade,
envolvendo autenticação multifatorial. Considerando as melhores práticas, qual abordagem seria
mais adequada? Qual é a abordagem mais adequada para implementar a função de login
considerando segurança e usabilidade?
A. Evitar autenticação multifatorial para simplificar o processo.
B. Ignorar a usabilidade em favor da segurança máxima.
C. Utilizar apenas senhas simples para facilitar o uso.
D. Implementar a autenticação multifatorial com biometria e senhas.
E. Usar somente verificações por e-mail para segurança.
A alternativa "D" está correta.
● A implementação da autenticação multifatorial, combinando biometria e senhas, oferece
um equilíbrio entre segurança e usabilidade. As outras alternativas falham ao priorizar
excessivamente a segurança ou a usabilidade, comprometendo o equilíbrio necessário em
um sistema de login
07) No que diz respeito aos processos e práticas no desenvolvimento ágil de software:
A. enfoca a integração contínua como uma prática de desenvolvimento de software,
incompatível com a XP (E xtreme Programming) e o Scrum, que permite aos
desenvolvedores agregarem alterações de código e realizarem testes.
B. enfoca, assim como o acceptance test-driven development, a qualidade do código
desenvolvido quanto a recursividade, declaração das variáveis e clean code, de modo a
torná-lo de fácil entendimento, modificação e testagem.
C. é, na XP (Extreme Programming), sustentado por meio de pequenos e frequentes releases
do sistema, e os clientes estão intimamente envolvidos na especificação e na priorização
dos requisitos do sistema.
D. 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.
E. pressupõe o uso do behavior driven development, que considera a linguagem de
programação a ser usada, da 4° geração em diante, com foco, principalmente, no
comportamento visual, interativo e cognitivo do sistema.
A alternativa "D" está correta.
● A resposta correta é: 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.
08) Uma equipe de desenvolvimento está implementando o Extreme Programming (XP).
Eles estão se concentrando em melhorar a qualidade do código e a resposta às mudanças de
requisitos.Qual prática é fundamental no Extreme Programming (XP) para atingir esses
objetivos?
A. Documentação extensiva do código
B. Desenvolvimento dirigido por testes
C. Planejamento detalhado a longo prazo
D. Revisões formais de design
E. Alocação de tarefas individuais
A alternativa "B" está correta.
26
● No Extreme Programming, o Desenvolvimento Dirigido por Testes é uma prática chave que
ajuda a garantir a qualidade do código e a capacidade de lidar com mudanças rápidas nos
requisitos.
09) 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:
A. II, apenas.
B. II e III, apenas.
C. I, apenas.
D. I, II, e III
E. III, apenas.
A alternativa "E" está correta.
● A resposta correta é: III, apenas.
10) Sobre os sistemas de controle de versão, é correto afirmar que:
A. 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.
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. 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.
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.
E. Em um sistema de controle de versão distribuído, há um único servidor contendo todos os
arquivos versionados. Os clientes obtêm somente parte do repositório armazenado no
servidor, não possuindo a sua visão completa.
A alternativa "A" está correta.
● A resposta correta é: 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.
11) Durante o desenvolvimento de software, a adaptação a mudanças é crucial. Uma equipe
deve estar preparada para alterar o curso do projeto conforme as exigências do mercado e as
necessidades do cliente evoluem. Qual habilidade é mais valiosa para uma equipe de
desenvolvimento de software face às mudanças constantes?
A. Capacidade analítica.
27
B. Gerenciamento de tempo.
C. Flexibilidade.
D. Comunicação eficaz.
E. Habilidade técnica.
A alternativa "C" está correta.
● A flexibilidade é a habilidade mais valiosa para uma equipe de desenvolvimento de
software em um ambiente de mudanças constantes. Essa capacidade permite que a
equipe se adapte rapidamente a novas exigências e necessidades, mantendo o projeto
alinhado com as expectativas do mercado e do cliente.
12) Ao selecionar um portfólio de projetos de software, uma empresa deve equilibrar
inovação e viabilidade. A escolha impacta diretamente o sucesso a longo prazo e a
sustentabilidade da organização no mercado competitivo. Qual fator é crucial na seleção de um
portfólio de projetos de software?
A. Tamanho da equipe.
B. Análise de mercado.
C. Velocidade de entrega.
D. Estimativa de lucro.
E. Viabilidade técnica.
A alternativa "E" está correta.
● Na seleção de um portfólio de projetos de software, a viabilidade técnica é um fator crucial.
Ela determina se as capacidades técnicas da empresa estão alinhadas com os objetivos
do projeto, garantindo que a inovação proposta seja realizável e sustentável a longo prazo.
13) Na fase inicial de um projeto de software, a definição clara de objetivos é fundamental.
Isso ajuda a equipe a manter o foco e a direção, além de facilitar a medição do progresso e do
sucesso do projeto. Qual é a chave para o sucesso na fase inicial de um projeto de software?
A. Planejamento financeiro.
B. Seleção de tecnologia.
C. Definição de objetivos.D. Análise competitiva.
E. Estruturação da equipe.
A alternativa "C" está correta.
● A definição clara de objetivos é a chave para o sucesso na fase inicial de um projeto de
software. Ela orienta a equipe, proporciona um sentido de direção e facilita a avaliação do
progresso, sendo essencial para a realização eficaz do projeto.
14) Em um projeto de software, a eficiência no uso dos recursos é essencial. A gestão
eficaz dos recursos determina a qualidade do produto final e a satisfação do cliente, sendo um
fator chave para o sucesso do projeto. Qual é o elemento mais importante na gestão eficaz
dos recursos em um projeto de software?
A. Alocação de orçamento.
B. Qualidade do código.
C. Cronograma de entrega.
D. Capacitação da equipe.
E. Comunicação interna.
A alternativa "A" está correta.
● A alocação de orçamento é o elemento mais importante na gestão eficaz dos recursos em
um projeto de software. Uma alocação adequada assegura que todos os aspectos do
28
projeto, desde a equipe até a tecnologia utilizada, recebam os recursos necessários para
uma execução bem-sucedida, impactando diretamente na qualidade e na entrega do
produto.
15) CS-UFG/2017 - adaptada) No gerenciamento de projeto existem possibilidades de fluxos
de processos. É necessário que uma metodologia seja aplicada de forma sistemática para gerar
o produto software desejado. Para que esse gerenciamento seja regulamentado existe a Project
Management Institute (PMI). Sobre o Project Management Institute (PMI), marque a
alternativa correta.
A. O Project Management Institute (PMI) é uma forma de PMBOK.
B. O Project Management Institute (PMI) é uma estrutura de apoio gerencial.
C. O Project Management Institute (PMI) é uma ferramenta de gestão de projetos.
D. O Project Management Institute (PMI) é uma certificadora de PMP.
E. O Project Management Institute (PMI) é um instrumento de elaboração de hardware.
A alternativa "D" está correta.
● A certificação mais conhecida do PMI é a Project Management Professional (PMP), que é
uma das certificações mais reconhecidas e respeitadas globalmente na área de
gerenciamento de projetos. O PMI estabelece os critérios e requisitos para a obtenção da
certificação PMP, bem como promove a disseminação de melhores práticas e
conhecimentos nesse campo.
16) A Engenharia de Software é uma tecnologia em camada. Avalie a relação entre os
conceitos e definições a seguir:
1] Camada qualidade [A] Determina as etapas de desenvolvimento do software.
[2] Camada de processo [B] Garante que os requisitos que atendem as expectativas do
usuário serão cumpridos
[3] Camada de métodos [C] Define os artefatos gerados em função da técnica de
modelagem adotada, tal como modelo de casos de uso ou
de classes.
Assinale a opção que corretamente relaciona os referidos conceitos e definições:
A. [1][A] - [2][B] - [3][C]
B. [1][B] - [2][C] - [3][A].
C. [1][B] - [2][A] - [3][C]
D. [1][C] - [2][A] - [3][B].
E. [1][C] - [2][B] - [3][A].
A alternativa "C" está correta.
17) 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. Sobre o fluxo de processos, analise as asserções I e II.
I - No fluxo de Processo Linear as atividades são executadas em sequência de forma
unidirecional.
PORQUE
II - No fluxo de processo paralelo as atividades podem ocorrer em paralelo.
Marque a alternativa que apresenta a relação correta entre as asserções I e II.
A. A primeira afirmativa é falsa e a segunda afirmativa é verdadeira.
B. As duas afirmativas estão corretas e a segunda justifica a primeira.
29
C. A primeira afirmativa é verdadeira e a segunda afirmativa é falsa.
D. As duas afirmativas são falsas.
E. As duas afirmativas estão corretas e a segunda não justifica a primeira.
A alternativa "E" está correta.
18) 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).
A. Apenas a afirmativa III está correta.
B. Apenas as afirmativas I e II estão corretas.
C. As afirmativas I, II e III estão corretas.
D. Apenas as afirmativas I e III estão corretas.
E. Apenas as afirmativas II e III estão corretas.
A alternativa "E" está correta.
19) Em um projeto de software, a equipe enfrenta desafios ao integrar novas tecnologias.
Isso requer uma abordagem estratégica para gerenciar as complexidades e garantir uma transição
suave, alinhando-se com as melhores práticas da Engenharia de Software. Qual é o aspecto
mais crítico a ser considerado ao integrar novas tecnologias em um projeto de software?
A. Gerenciamento de riscos.
B. Foco no desenvolvimento ágil.
C. Adoção de ferramentas de colaboração.
D. Enfatizar testes de usuário.
E. Priorização de custos
A alternativa "A" está correta.
● Ao integrar novas tecnologias em um projeto de software, o gerenciamento de riscos é
crucial. Isso envolve a identificação, análise e mitigação de potenciais problemas que
podem surgir devido à introdução de novas tecnologias, garantindo assim uma transição
mais eficaz e alinhada com as práticas recomendadas da Engenharia de Software
20) Em engenharia de software, o termo "requisito-chave" ou "requisito crítico" refere-se a
um requisito que é considerado essencial ou de alta prioridade para o sucesso do projeto. Qual é
o requisito-chave não funcional ao definir a interface gráfica com o usuário?
A. Segurança.
B. Integridade.
C. Funcionalidade.
D. Desempenho.
E. Usabilidade.
A alternativa "E" está correta.
● Ao definir uma interface entre o usuário e o sistema, o requisito-chave não funcional é a
usabilidade.
30
21) Durante a fase de testes de um novo sistema de reservas online, a equipe de qualidade
está empenhada em verificar a aderência do software aos requisitos definidos, além de sua
integração e funcionamento adequados. Qual é a principal atividade realizada na fase de
testes deste sistema de reservas online?
A. Validação da aderência do software aos requisitos.
B. Análise de mercado para futuras expansões.
C. Refinamento da interface do usuário.
D. Otimização da base de dados.
E. Desenvolvimento de documentação técnica.
A alternativa "A" está correta.
● A principal atividade durante a fase de testes de um software é a validação da aderência
do software aos requisitos estabelecidos. Isso inclui garantir que todas as funcionalidades,
desempenho e segurança do sistema de reservas online estejam de acordo com o que foi
especificado na fase de engenharia de requisitos.
22) A negociação de requisitos é uma fase crucial na Engenharia de Requisitos, uma
subárea da Engenharia de Software. O que é feito durante a etapa de Negociação no
processo de Engenharia de Requisitos?
A. Estabelecimento de um contrato entre clientes e equipe de projeto.
B. Priorização e resolução de conflitos entre os requisitos.
C. Geração de modelos para representar o sistema.
D. Construção de diagramas de classes da UML.
E. Levantamento detalhado dos requisitos funcionais.
A alternativa "B" está correta.
● Durante a etapa de Negociação, ocorre a priorização e a resolução de conflitos entre os
requisitos definidos nas etapas anteriores, envolvendo a avaliação de custos, riscos e
conflitos.
23) A ISO 9126 identifica seis atributos fundamentais de qualidade para o software. Avalie
se as afirmativas a seguir são Falsas ou Verdadeiras:
A. Confiabilidade, atributo associado ao tempo de disponibilidade do software.
B. Eficiência, atributo relacionado com a otimização dos recursos do sistema
C. Portabilidade, atributo associado à satisfação dos requisitos funcionais.
Assinale a opção correta:
A. [V] - [V] - [F].
B. [V] - [F] - [V].
C. [V] - [V] - [V].D. [F] - [V] - [V].
E. [V] - [F] - [F].
A alternativa "A" está correta.
31
24) Ao implementar um novo software de gestão empresarial, a equipe de desenvolvimento
se concentra em converter os modelos de projeto detalhados em código executável,
mantendo em mente os padrões de qualidade e requisitos de desempenho. Qual é o principal
foco da equipe durante a fase de implementação deste software de gestão empresarial?
A. Análise de requisitos do sistema.
B. Planejamento da infraestrutura de rede.
C. Tradução dos modelos de projeto em código.
D. Design de interface do usuário.
E. Teste de integração de sistemas
A alternativa "C" está correta.
● Na fase de implementação, o principal foco da equipe é traduzir os modelos de projeto em
código executável. Este processo envolve a codificação com base nos projetos e
especificações detalhados, garantindo que o software de gestão empresarial atenda aos
padrões de qualidade e desempenho requeridos.
25) Durante a fase de projeto de software de um aplicativo educacional, a equipe foca em
definir a arquitetura do sistema, incluindo padrões de design para facilitar a manutenção e a
escalabilidade futuras. Qual atividade é essencial na fase de projeto deste aplicativo
educacional?
A. Escolha do sistema de gerenciamento de banco de dados.
B. Implantação de módulos educacionais.
C. Definição do modelo de classes do sistema.
D. Testes de usabilidade com usuários finais.
E. Codificação das funcionalidades principais.
A alternativa "C" está correta.
● Na fase de projeto, a definição do modelo de classes do sistema é crucial. Esta atividade
envolve determinar a estrutura dos dados e a interação entre diferentes componentes do
sistema, o que é fundamental para um aplicativo educacional que necessita de uma
arquitetura bem planejada para suportar funcionalidades escaláveis e manuteníveis.
26) Em um projeto de software para uma instituição financeira, a equipe de engenharia de
requisitos enfrenta o desafio de identificar e documentar especificações detalhadas para
garantir a segurança e eficiência nas transações. Este processo é crucial para o
desenvolvimento subsequente. Qual das seguintes atividades é primordial na fase de
engenharia de requisitos deste projeto?
A. Teste de desempenho do software.
B. Documentação de requisitos funcionais e não funcionais.
C. Desenvolvimento de interfaces gráficas.
D. Codificação de algoritmos de segurança.
E. Implementação de protocolos de rede.
A alternativa "B" está correta.
32
● A documentação de requisitos funcionais e não funcionais é essencial na fase de
engenharia de requisitos, pois define claramente o que o sistema deve fazer (requisitos
funcionais) e as restrições operacionais (requisitos não funcionais), incluindo aspectos de
segurança e desempenho para sistemas financeiros.
27) Na etapa de projeto orientado a objetos, no contexto de um processo de
desenvolvimento de software, são desenvolvidas as atividades de:
A. teste de integração do sistema e análise de requisitos do sistema.
B. conversão das bases de dados do sistema e teste de integração do sistema.
C. análise de requisitos do sistema e definição da arquitetura do sistema.
D. identificação dos objetos do sistema e definição da arquitetura do sistema.
E. definição da arquitetura do sistema e conversão das bases de dados do sistema.
A alternativa "D" está correta.
● A resposta correta é: identificação dos objetos do sistema e definição da arquitetura do
sistema.
28) Durante a produção de um software, defeitos podem ser descobertos.Qual cenário
apresenta uma solução mais rápida para um defeito identificado na versão de software em
produção?
A. Continuar desenvolvendo a versão 2 com o defeito corrigido e liberá-la posteriormente.
B. Corrigir o defeito na versão 1 e liberá-la imediatamente, enquanto ajusta a versão 2
em desenvolvimento.
C. Ignorar o defeito.
D. Redesenvolver todo o software.
E. Aguardar o feedback dos usuários para a próxima iteração.
A alternativa "D" está correta.
● Tecnicamente, esta é a melhor solução, pois o usuário teria de aguardar a liberação da
versão 2, convivendo por um período com o impacto negativo do defeito do software no
ambiente de produção.
29) Em um projeto que adota o Processo Unificado, o gerente de projeto está avaliando a
fase de Elaboração. Ele busca garantir que as arquiteturas de software e hardware estejam
alinhadas com os requisitos do projeto. Qual é o principal objetivo da fase de Elaboração no
Processo Unificado?
A. Definir requisitos de usuário detalhados.
B. Realizar a codificação inicial do software.
C. Implementar todas as funcionalidades do produto.
D. Estabelecer a base arquitetural do sistema.
E. Testar o produto final.
A alternativa "D" está correta.
33
● Na fase de Elaboração do Processo Unificado, o foco é estabelecer a arquitetura básica do
sistema, assegurando que o projeto esteja no caminho certo antes de prosseguir para as
etapas de Construção e Transição
30) Ao adotar o Scrum, uma empresa busca melhorar a gestão do seu processo de
desenvolvimento. O foco está em incrementar a transparência e adaptabilidade.No Scrum, qual
é o papel responsável por remover impedimentos e facilitar o trabalho da equipe de
desenvolvimento?
A. Lead Developer.
B. Product Owner.
C. Chief Technology Officer.
D. Quality Assurance Manager.
E. Scrum Master.
A alternativa "E" está correta.
● No framework Scrum, o Scrum Master tem o papel vital de remover obstáculos que
possam impactar o desempenho da equipe e facilitar os processos para assegurar
eficiência e eficácia.
34
AVS
01) O processo de desenvolvimento de software permite uma melhor tratativa em relação à
complexidade de obtenção de um determinado produto "software", pois na maioria das
vezes é um trabalho multidisciplinar realizado por analistas, programadores, gerentes de projeto,
gerentes de teste e outros. Considerando que uma metodologia de processo genérica
encadeia atividades de acordo com a figura a seguir, assinale a sequência correta:
A. Comunicação, planejamento, modelagem, construção e entrega.
B. Planejamento, comunicação, modelagem, construção e entrega.
C. Comunicação, modelagem, planejamento, construção e entrega
D. Comunicação, planejamento, construção, modelagem e entrega.
E. Planejamento, modelagem, comunicação, construção e entrega.
02) Em um projeto de software, a equipe enfrenta desafios ao implementar uma função de
login. A complexidade surge devido à necessidade de equilibrar segurança e usabilidade,
envolvendo autenticação multifatorial. Considerando as melhores práticas, qual abordagem
seria mais adequada? Qual é a abordagem mais adequada para implementar a função de
login considerando segurança e usabilidade?
A. Ignorar a usabilidade em favor da segurança máxima.
B. Implementar a autenticação multifatorial com biometria e senhas.
C. Evitar autenticação multifatorial para simplificar o processo.
D. Usar somente verificações por e-mail para segurança.
E. Utilizar apenas senhas simples para facilitar o uso.
A alternativa "B" está correta.
● A implementação da autenticação multifatorial, combinando biometria e senhas, oferece
um equilíbrio entre segurança e usabilidade. As outras alternativas falham ao priorizar
excessivamente a segurança ou a usabilidade, comprometendo o equilíbrio necessário em
um sistema de login.
03) Em um projeto de software, a equipe enfrenta desafios ao integrar novas tecnologias.
Isso requer uma abordagem estratégica para gerenciar as complexidades e garantir uma transição
suave, alinhando-se com as melhores práticas da Engenharia de Software. Qual é o aspecto
mais crítico a ser considerado ao integrar novas tecnologias em um projeto de software?
A. Enfatizar testes de usuário.
B. Gerenciamento de riscos.
C. Priorização de custos.
D. Adoção de ferramentas de colaboração.
E. Foco no desenvolvimento ágil.
35
A alternativa "B" está correta.
● Ao integrar novas tecnologias em um projeto de software, o gerenciamento de riscos é
crucial. Isso envolve a identificação, análise e mitigação depotenciais problemas que
podem surgir devido à introdução de novas tecnologias, garantindo assim uma transição
mais eficaz e alinhada com as práticas recomendadas da Engenharia de Software
04) Durante a fase de projeto de software de um aplicativo educacional, a equipe foca em
definir a arquitetura do sistema, incluindo padrões de design para facilitar a manutenção e a
escalabilidade futuras. Qual atividade é essencial na fase de projeto deste aplicativo
educacional?
A. Codificação das funcionalidades principais.
B. Testes de usabilidade com usuários finais.
C. Implantação de módulos educacionais.
D. Escolha do sistema de gerenciamento de banco de dados.
E. Definição do modelo de classes do sistema
A alternativa "E" está correta.
● Na fase de projeto, a definição do modelo de classes do sistema é crucial. Esta atividade
envolve determinar a estrutura dos dados e a interação entre diferentes componentes do
sistema, o que é fundamental para um aplicativo educacional que necessita de uma
arquitetura bem planejada para suportar funcionalidades escaláveis e manuteníveis.
05) 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).
A. Apenas as afirmativas II e III estão corretas.
B. Apenas as afirmativas I e III estão corretas.
C. Apenas as afirmativas I e II estão corretas.
D. As afirmativas I, II e III estão corretas.
E. Apenas a afirmativa III está correta
A alternativa "D" está correta.
● A afirmativa I está incorreta. O software não segue instruções para o desenvolvimento de
hardwaresespecíficos. O software é uma entidade lógica separada do hardware e consiste
em programas e dadosque fornecem instruções para um computador executar tarefas
específicas.
36
● A afirmativa II está correta. O software consiste em estruturas de dados que permitem aos
programasmanipular informações de forma adequada. As estruturas de dados são usadas
para organizar, armazenare manipular informações dentro de um programa.
● A afirmativa III está correta. O software contém informações descritivas, como códigos,
instruções,configurações, dados, entre outros, que são necessários para que um programa
ou sistema possafuncionar corretamente.
06) Em um projeto de software para uma instituição financeira, a equipe de engenharia
de requisitos enfrenta o desafio de identificar e documentar especificações detalhadas para
garantir a segurança e eficiência nas transações. Este processo é crucial para o
desenvolvimento subsequente. Qual das seguintes atividades é primordial na fase de
engenharia de requisitos deste projeto?
A. Codificação de algoritmos de segurança.
B. Desenvolvimento de interfaces gráficas.
C. Teste de desempenho do software.
D. Documentação de requisitos funcionais e não funcionais.
E. Implementação de protocolos de rede.
A alternativa "D" está correta.
● A documentação de requisitos funcionais e não funcionais é essencial na fase de
engenharia de requisitos, pois define claramente o que o sistema deve fazer (requisitos
funcionais) e as restrições operacionais (requisitos não funcionais), incluindo aspectos de
segurança e desempenho para sistemas financeiros.
06) Em um projeto de software para uma instituição financeira, a equipe de engenharia de
requisitos enfrenta o desafio de identificar e documentar especificações detalhadas para
garantir a segurança e eficiência nas transações. Este processo é crucial para o
desenvolvimento subsequente.Qual das seguintes atividades é primordial na fase de
engenharia de requisitos deste projeto?
A. Teste de desempenho do software.
B. Implementação de protocolos de rede.
C. Codificação de algoritmos de segurança.
D. Desenvolvimento de interfaces gráficas.
E. Documentação de requisitos funcionais e não funcionais.
A alternativa "E" está correta.
● A documentação de requisitos funcionais e não funcionais é essencial na fase de
engenharia de requisitos, pois define claramente o que o sistema deve fazer (requisitos
funcionais) e as restrições operacionais (requisitos não funcionais), incluindo aspectos de
segurança e desempenho para sistemas financeiros.
37
08) Na etapa de projeto orientado a objetos, no contexto de um processo de
desenvolvimento de software, são desenvolvidas as atividades de:
A. identificação dos objetos do sistema e definição da arquitetura do sistema.
B. teste de integração do sistema e análise de requisitos do sistema.
C. conversão das bases de dados do sistema e teste de integração do sistema.
D. definição da arquitetura do sistema e conversão das bases de dados do sistema.
E. análise de requisitos do sistema e definição da arquitetura do sistema.
A alternativa "A" está correta.
● A resposta correta é: identificação dos objetos do sistema e definição da arquitetura do
sistema.
09) Ao selecionar um portfólio de projetos de software, uma empresa deve equilibrar
inovação e viabilidade. A escolha impacta diretamente o sucesso a longo prazo e a
sustentabilidade da organização no mercado competitivo. Qual fator é crucial na seleção de um
portfólio de projetos de software?
A. Viabilidade técnica.
B. Velocidade de entrega.
C. Análise de mercado.
D. Tamanho da equipe.
E. Estimativa de lucro.
A alternativa "A" está correta.
● Na seleção de um portfólio de projetos de software, a viabilidade técnica é um fator crucial.
Ela determina se as capacidades técnicas da empresa estão alinhadas com os objetivos
do projeto, garantindo que a inovação proposta seja realizável e sustentável a longo prazo
10) Durante a produção de um software, defeitos podem ser descobertos.
A. Continuar desenvolvendo a versão 2 com o defeito corrigido e liberá-la posteriormente.
B. Redesenvolver todo o software.
C. Ignorar o defeito.
D. Aguardar o feedback dos usuários para a próxima iteração.
E. Corrigir o defeito na versão 1 e liberá-la imediatamente, enquanto ajusta a versão 2
em desenvolvimento.
A alternativa "E" está correta.
● Tecnicamente, esta é a melhor solução, pois o usuário teria de aguardar a liberação da
versão 2, convivendo por um período com o impacto negativo do defeito do software no
ambiente de produção.
38

Continue navegando