Engenharia de Software Flashcards

1
Q
  1. (CESPE / CAU-BR – 2024) Uma vantagem do ciclo de vida do software em cascata é que ele permite modificações nos requisitos por meio de atualização das fases anteriores.
A

O modelo de ciclo de vida em cascata é caracterizado pela rigidez nas fases, onde cada uma deve ser concluída antes de iniciar a próxima.

Mudanças nos requisitos após a fase inicial podem ser muito custosas ou inviáveis, pois requerem revisão das fases já concluídas, o que o modelo não facilita.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. (CESPE / CAU-BR – 2024) No modelo em cascata, o ciclo de vida do software torna o processo de desenvolvimento estruturado.
A

O modelo em cascata é um dos mais antigos paradigmas de desenvolvimento de software, caracterizando-se por uma abordagem sequencial e estruturada, onde cada fase deve ser completada antes de iniciar a próxima.

Este modelo é conhecido por sua rigidez e por ser mais adequado a projetos com requisitos bem definidos e imutáveis.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. (CESPE / CAU-BR – 2024) Quando se utiliza um modelo incremental, frequentemente o primeiro incremento é um produto essencial; após esse primeiro, se libera uma série de incrementos, que oferecem, progressivamente, maior funcionalidade ao cliente à medida que cada incremento é entregue.
A

A descrição aborda o modelo incremental em projetos de software, uma técnica de desenvolvimento em que o produto é projetado, implementado e testado incrementalmente até que o produto final esteja completo.

Isso permite que versões iniciais do software sejam entregues aos clientes mais cedo e melhoradas através de versões subsequentes, baseadas em feedback e requisitos adicionais.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  1. (CESPE / TCE-SC – 2022) Os modelos de processo de software em cascata e incremental possuem abordagens distintas.

O primeiro considera as atividades fundamentais do processo, representando cada uma delas em fases distintas, tais como especificação de requisitos, implementação e teste; o segundo intercala as atividades de especificação, desenvolvimento e validação em uma série de versões do sistema, ao longo do seu ciclo de vida.

A

O modelo cascata é um processo de desenvolvimento de software linear e sequencial, onde o progresso flui em uma direção, como uma cascata, através das fases de concepção, iniciação, análise, design, construção, teste, implantação e manutenção.

O modelo incremental, por outro lado, divide o projeto em incrementos pequenos, permitindo que partes do projeto sejam desenvolvidas em paralelo e integradas conforme completadas, facilitando a entrega de múltiplas versões para revisão do usuário.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  1. (CESPE / PETROBRAS – 2022) No modelo de desenvolvimento Waterfall, a partir da coleta de requisitos e da elaboração do projeto desenvolve-se uma implementação inicial, que é apresentada para a apreciação dos usuários; esse ciclo continua com a criação de várias versões, até que o sistema final seja desenvolvido por meio da execução das etapas de desenvolvimento e testes de forma intercalada.
A

Na verdade, no Modelo Waterfall (Cascata), as fases são executadas de maneira sequencial e sem retorno a fases anteriores.

Não há ciclos de desenvolvimento com várias versões como descrito.

Este ciclo de revisão e desenvolvimento de várias versões é mais característico de modelos iterativos e incrementais.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. (CESPE / BANRISUL – 2022) Um dos problemas da aplicação do modelo cascata no desenvolvimento de um projeto reside no fato de que uma versão operacional do programa não estará disponível antes que o projeto esteja perto do final, por conta do estado de bloqueio que a natureza linear do ciclo de vida clássico produz.
A

Perfeito! O modelo cascata segue uma abordagem linear de desenvolvimento de software, onde cada etapa tem que ser concluída antes de a próxima etapa começar.

Isso significa que, ao longo do desenvolvimento, nenhuma versão operacional do programa estará disponível até que o projeto esteja próximo do final.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. (CESPE / BANRISUL – 2022) O modelo cascata é frequentemente inadequado para os casos de desenvolvimento de soluções de software em que há ritmo acelerado e volume intenso de mudanças de características, todavia ele pode servir como um modelo de processo útil em situações nas quais os requisitos são fixos.
A

Perfeito! O Modelo em Cascata é projetado para trabalhar com requisitos fixos.

Ele não é ideal para projetos que exigem mudanças frequentes, pois ele não é flexível o suficiente para lidar com mudanças.

Ele também não é ideal para projetos de grande volume ou de ritmo acelerado, pois o processo é muito linear e demorado.

Em projetos com requisitos fixos, no entanto, o modelo cascata pode ser útil porque permite gerenciar e controlar o processo de forma eficiente.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. (CESPE / BANRISUL – 2022) O modelo do ciclo de vida clássico sugere uma abordagem sequencial para desenvolvimento de software, começando com a especificação dos requisitos do cliente, avançando pelas fases de planejamento e modelagem, e culminando no suporte contínuo do software concluído.
A

Perfeito! O Modelo do Ciclo de Vida Clássico oferece uma abordagem estruturada para o desenvolvimento de software, a qual segue um conjunto de etapas comuns que devem ser cumpridas para garantir que o software desenvolvido atenda às necessidades do cliente.

Estas etapas permitem que o desenvolvedor defina os requisitos específicos do cliente, crie um plano detalhado para o desenvolvimento do software e crie um produto final que atenda às necessidades do cliente.

Além disso, as etapas do modelo do ciclo de vida clássico também oferecem suporte ao longo do ciclo de vida do software desenvolvido para garantir que o produto final atenda às expectativas do cliente.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. (CESPE / TJ-RJ - 2021) Na engenharia de software, pode-se dividir uma metodologia genérica em cinco macroatividades; entre elas, a que tem como objetivo criar um esboço do projeto a ser desenvolvido é:
    a) o planejamento.
    b) a modelagem.
    c) o emprego.
    d) a comunicação.
    e) a construção.
A

Trata-se da fase (atividade) de modelagem.

De acordo com Pressman: “Cria-se um “esboço” para que se possa ter uma ideia do todo – qual será o seu aspecto em termos de arquitetura, como as partes constituintes se encaixarão e várias outras características.

Se necessário, refina-se o esboço com mais detalhes, numa tentativa de compreender melhor o problema e como resolvê-lo”.

Gabarito: Letra B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  1. (CESPE / Polícia Federal – 2021) Uma das etapas descritas em um método desenvolvimento de sistema clássico é a análise e definição de requisitos, etapa em que as restrições e as metas do sistema são obtidas por meio de consulta a usuários, com o objetivo de realizar a especificação do sistema.
A

Nesta fase, o escopo deve ser refinado e os requisitos mais bem definidos.

Para entender a natureza do software a ser construído, o engenheiro de software tem de compreender o domínio do problema, as restrições, as metas, as funcionalidades e o comportamento esperados – ele pode o fazer por meio de diversas técnicas de levantamento de requisitos (Ex: entrevistas).

Uma vez capturados os requisitos do sistema a ser desenvolvido, estes devem ser modelados, avaliados e documentados.

Uma parte vital desta fase é a construção de um modelo descrevendo o que o software tem de fazer (e não como fazê-lo).

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  1. (CESPE / SERPRO – 2021) No modelo em cascata, dada a dificuldade natural para estabelecer todos os requisitos na fase inicial do projeto, os requisitos são definidos ao longo de todas as fases, acomodando-se gradualmente as incertezas e eventuais mudanças do projeto.
A

No modelo em cascata, todos os requisitos são levantados na fase inicial e, não, ao longo das outras fases.

Essa definição seria adequada para metodologias ágeis! Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  1. (CESPE / SERPRO – 2021) No modelo iterativo, as iterações na fase de construção concentram- se nas atividades de requisitos, gerenciamento, design e testes.
A

Um projeto que usa o desenvolvimento iterativo tem um ciclo de vida que consiste em várias iterações.

Uma iteração incorpora um conjunto quase sequencial de tarefas em modelagem de negócio, requisitos, análise e design, implementação, teste e implementação, em várias proporções, dependendo do local em que ela está localizada no ciclo de desenvolvimento.

As iterações nas fases de iniciação e de elaboração concentram-se nas atividades de gerenciamento, requisitos e design.

As iterações na fase de construção concentram-se no design, na implementação e no teste.

E as iterações na fase de transição concentram-se no teste e na implementação.

As iterações devem ser gerenciadas em um estilo com caixa de hora, ou seja, o planejamento de uma iteração deve ser considerado fixo e o escopo do conteúdo da iteração gerenciado ativamente para atender a esse planejamento.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  1. (CESPE / Ministério da Economia – 2020) Engenharia de software (ES) é um processo, expresso como o conjunto de todas as atividades relacionadas ao desenvolvimento, ao controle, à validação e à manutenção de um software operacional, abrangendo atividades técnicas e gerenciais.
A

Perfeito! Engenharia de Software é muito mais que apenas produzir software.

Como afirma Roger Pressman, trata-se da aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, na operação e na manutenção de software; isto é, a aplicação de engenharia ao software.

E como afirma Ian Sommerville, a engenharia de software não está relacionada apenas com os processos técnicos de desenvolvimento de software, mas também com atividades de gerenciamento de projeto de software e desenvolvimento de ferramentas, métodos e teorias que apoiem a produção de software.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  1. (CESPE / Ministério da Economia – 2020) Entre os modelos de processo aplicados ao desenvolvimento de software, o modelo cascata apresenta desvantagens por, entre outros motivos, não ter flexibilidade com requisitos, não produzir resultados tangíveis até a fase de codificação e dificultar o estabelecimento de requisitos completos antes de começar a codificar.
A

Questão um pouco estranha! Vejamos:

(1) uma de suas desvantagens é que ele realmente não possui flexibilidade com requisitos – uma vez especificados, não podem ser modificados;

(2) uma de suas desvantagens é que ele realmente não produz resultados tangíveis até a fase de codificação, mas eu salientaria que se trata de um resultado tangível para o usuário (Ex: software em funcionamento), visto que há outros resultados tangíveis, como artefatos produzidos em cada etapa;

(3) uma de suas desvantagens é que ele realmente obriga que os requisitos estejam completos antes de começar a codificação e nós sabemos que requisitos podem se modificar o tempo todo.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

10.(CESPE / TCE-RO – 2019) O modelo de desenvolvimento de sistemas cascata:

a) é voltado para requisitos de sistemas de software e, por isso, não engloba os requisitos de hardware.

b) prevê que os estágios sejam iniciados toda vez que a fase anterior tenha concluído a etapa de documentação.

c) envolve o feedback de uma fase para outra, por ser um modelo linear simples.

d) é sequencial, o que impede que os documentos produzidos em cada fase sejam modificados para refletirem as alterações feitas em cada um deles.

e) é consistente com outros modelos de processos de engenharia, apesar de haver uma divisão inflexível do projeto em estágios distintos.

A

(a) Errado, ele é utilizado para desenvolvimento de sistemas, que envolvem software e hardware.

Além disso, engloba os requisitos não-funcionais, que podem tratar de requisitos de hardware;

(b) Errado, não há obrigatoriamente uma documentação associada, apesar de ser o mais comum;

(c) Errado, não se trata de um modelo linear simples – envolve uma sequência de iterações das atividades de desenvolvimento;

(d) Errado, o modelo em cascata não impede que haja a modificação dos documentos;

(e) Correto, sua característica principal é que ele é um modelo rígido e sequencial.

Gabarito: Letra E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q
  1. (CESPE / EBSERH – 2018) O modelo de ciclo de vida em cascata tem como características o estabelecimento, no início do projeto, de requisitos de maneira completa, correta e clara, e a possibilidade de disponibilização de várias versões operacionais do software antes da conclusão do projeto.
A

O modelo de ciclo de vida em cascata realmente tem como característica o estabelecimento, no início do projeto, de requisitos de maneira completa, correta e clara.

No entanto, não há versões operacionais do software antes da conclusão do projeto, apenas ao fim – essa é uma característica do modelo iterativo e incremental.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q
  1. (CESPE / IPHAN – 2018) No modelo em cascata, com exceção do sequenciamento dos estágios de requisitos e de análise, os demais são executados em paralelo, iniciando-se antes do término do estágio seguinte.
A

Na verdade, todos os estágios são sequenciais – não há exceção.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q
  1. (CESPE / TCE-PR – 2016 – Item B) A engenharia de software refere-se ao estudo das teorias e fundamentos da computação, ficando o desenvolvimento de software a cargo da ciência da computação.
A

A Engenharia de Software tem por objetivos a aplicação de teoria, modelos, formalismos, técnicas e ferramentas da ciência da computação e áreas afins para a desenvolvimento sistemático de software.

Associado ao desenvolvimento, é preciso também aplicar processos, métodos e ferramentas sendo que a pedra fundamental que sustenta a engenharia de software é a qualidade.

Conforme vimos em aula, não se trata do estudo – trata-se da aplicação.

Além disso, o desenvolvimento também fica a cargo da engenharia de software.

Em geral, a ciência da computação trata da teoria e a engenharia de software trata da prática.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
  1. (CESPE / TCE/PR – 2016 – Item E) O conceito de software se restringe ao desenvolvimento do código em determinada linguagem e seu armazenamento em arquivos.
A

Em uma visão restritiva, muitas pessoas costumam associar o termo software aos programas de computador.

Software não é apenas o programa, mas também todos os dados de documentação e configuração associados, necessários para que o programa opere corretamente.

O software não é apenas o programa, mas também todos os dados de documentação e configuração associados, necessários para que o programa opere corretamente.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q
  1. (CESPE / TCE-PR – 2016) As fases do ciclo de vida de um software são:

a) concepção, desenvolvimento, entrega e encerramento.

b) iniciação, elaboração, construção e manutenção.

c) escopo, estimativas, projeto e processo e gerência de riscos.

d) análise, desenvolvimento, teste, empacotamento e entrega.

e) planejamento, análise e especificação de requisitos, projeto, implementação, testes, entrega e implantação, operação e manutenção.

A

Alguns autores afirmam que os modelos de ciclo de vida básicos, de maneira geral, contemplam pelo menos as fases de: Planejamento; Análise e Especificação de Requisitos; Projeto; Implementação; Testes; Entrega e Implantação; Operação; e Manutenção.

Logo, a questão trata da última opção.

Gabarito: Letra E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q
  1. (CESPE / TCE-PR – 2016 – Item A) A engenharia de software está relacionada aos diversos aspectos de produção de software e inclui as atividades de especificação, desenvolvimento, validação e evolução de software.
A

Sommerville afirma que um processo de software é um conjunto de atividades e resultados associados que produz um produto de software.

De acordo com ele, existem quatro atividades fundamentais de processo, que são comuns a todos os processos de software – são elas: Especificação de Software; Desenvolvimento de Software (Projeto e Implementação); Validação de Software; e Evolução de Software.

Dessa forma, a questão está correta.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q
  1. (CESPE / TCE-PR – 2016 – Item D) Um processo de software é composto por quatro atividades fundamentais: iniciação, desenvolvimento, entrega e encerramento.
A

Sommerville afirma que um processo de software é um conjunto de atividades e resultados associados que produz um produto de software.

De acordo com ele, existem quatro atividades fundamentais de processo, que são comuns a todos os processos de software – são elas: Especificação de Software; Desenvolvimento de Software (Projeto e Implementação); Validação de Software; e Evolução de Software.

Dessa forma, a questão está incorreta.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q
  1. (CESPE / TCE-PR – 2016) O modelo de desenvolvimento em cascata é utilizado em caso de divergência nos requisitos de um software, para permitir a evolução gradual do entendimento dos requisitos durante a implementação do software.
A

Essa questão trata, na verdade, do modelo iterativo e incremental e, não, em cascata.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q
  1. (CESPE / TCE-PR – 2016 – Item C) No modelo iterativo de desenvolvimento de software, as atividades são dispostas em estágios sequenciais.
A

A questão trata do modelo em cascata de desenvolvimento de software.

No modelo iterativo e incremental, as atividades são dispostas ao longo de diversas iterações

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q
  1. (CESPE / STJ – 2015) Embora os engenheiros de software geralmente utilizem uma abordagem sistemática, a abordagem criativa e menos formal pode ser eficiente em algumas circunstâncias, como, por exemplo, para o desenvolvimento de sistemas web, que requerem uma mistura de habilidades de software e de projeto.
A

Galera, basta pensar nas metodologias ágeis! O que são metodologias ágeis? São metodologias menos formais e são mais adequadas em determinadas circunstâncias.

Notem que isso não vai de encontro ao princípio da formalidade, na medida em que a questão deixa claro que se trata de uma abordagem “menos formal” e, não, “informal”.

Além disso, isso consta também do livro do Sommerville: “No entanto, engenharia tem tudo a ver com selecionar o método mais adequado para um conjunto de circunstâncias, então uma abordagem mais criativa e menos formal pode ser eficiente em algumas circunstâncias.

Desenvolvimento menos formal particularmente adequado para o desenvolvimento de sistemas Web, que requerem uma mistura de habilidades de software e de projeto”.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q
  1. (CESPE / STJ – 2015) O foco da engenharia de software inclui especificação do sistema, desenvolvimento de hardware, elaboração do projeto de componentes de hardware e software, definição dos processos e implantação do sistema.
A

Na verdade, pode até tratar eventualmente de alguns aspectos de hardware; mas desenvolvimento de hardware, não.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q
  1. (CESPE / STJ – 2015) As principais atividades de engenharia de software são especificação, desenvolvimento, validação e evolução.
A

Mais uma vez: Sommerville afirma que um processo de software é um conjunto de atividades e resultados associados que produz um produto de software.

De acordo com ele, existem quatro atividades fundamentais de processo, que são comuns a todos os processos de software – são elas: Especificação de Software; Desenvolvimento de Software (Projeto e Implementação); Validação de Software; e Evolução de Software.

A questão peca um pouco ao dizer que são atividades da engenharia de software.

O ideal seria dizer que são as atividades principais do processo de software.

Não sei se entraram com recurso e a banca recusou e se não entraram com recurso.

Percebam também que é a terceira vez esse tipo de questão cai em prova.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q
  1. (CESPE / TCE-RO – 2013) Engenharia de software não está relacionada somente aos processos técnicos de desenvolvimento de softwares, mas também a atividades como gerenciamento de projeto e desenvolvimento de ferramentas, métodos e teorias que apoiem a produção de softwares.
A

De acordo com Sommerville: “A engenharia de software não está relacionada apenas com os processos técnicos de desenvolvimento de software, mas também com atividades como o gerenciamento de projeto de software e o desenvolvimento de ferramentas, métodos e teorias que apoiem a produção de software”.

Logo, a questão está perfeita! Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q
  1. (CESPE / TCE-RO – 2013) Assim como a Engenharia de Software, existe também na área de informática a chamada Ciência da Computação.

Assinale a alternativa que melhor apresenta a diferença entre Engenharia de Software e Ciência da Computação.

a) A Ciência da Computação tem como objetivo o desenvolvimento de teorias e fundamentações. Já a Engenharia de Software se preocupa com as práticas de desenvolvimento de software.

b) A Engenharia de Software trata da criação dos sistemas de computação (softwares) enquanto a Ciência da Computação está ligada ao desenvolvimento e criação de componentes de hardware.

c) A Engenharia de Software trata dos sistemas com base em computadores, que inclui hardware e software, e a Ciência da Computação trata apenas dos aspectos de desenvolvimento de sistemas.

d) A Ciência da Computação trata dos sistemas com base em computadores, que inclui hardware e software, e a Engenharia de Software trata apenas dos aspectos de desenvolvimento de sistemas.

e) A Ciência da Computação destina-se ao estudo e solução para problemas genéricos das áreas de rede e banco de dados e a Engenharia de Software restringe- se ao desenvolvimento de sistemas.

A

A Engenharia de Software tem por objetivos a aplicação de teoria, modelos, formalismos, técnicas e ferramentas da ciência da computação e áreas afins para a desenvolvimento sistemático de software.

Associado ao desenvolvimento, é preciso também aplicar processos, métodos e ferramentas sendo que a pedra fundamental que sustenta a engenharia de software é a qualidade.

Essa questão parece contradizer o que diz Sommerville, mas não! A Engenharia de Software coloca em prática a teoria e fundamentação trazida pela Ciência da Computação.

A Engenharia de Software aplica a teoria, mas - grosso modo - ela não tem a finalidade principal de elaborá-la; a finalidade principal é de colocá-la em prática.

Já a Ciência da Computação é exatamente o contrário.

Enfim, a primeira opção foi retirada literalmente do Sommerville (Pág. 5, 8ª Ed.).

Gabarito: Letra A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q
  1. (CESPE / TRT10 – 2013) As atividades fundamentais relacionadas ao processo de construção de um software incluem a especificação, o desenvolvimento, a validação e a evolução do software.
A

Sommerville afirma que um processo de software é um conjunto de atividades e resultados associados que produz um produto de software.

De acordo com ele, existem quatro atividades fundamentais de processo, que são comuns a todos os processos de software – são elas: Especificação de Software; Desenvolvimento de Software (Projeto e Implementação); Validação de Software; e Evolução de Software.

Logo, a questão está corretíssima!

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q
  1. (CESPE / TRT10 – 2013) O ciclo de vida de um software, entre outras características, está relacionado aos estágios de concepção, projeto, criação e implementação.
A

Essa questão é péssima! Ela foi retirada do livro Sistemas de Informação: Uma Abordagem Gerencial (Steven R. Gordon, Judith R. Gordon).

Nesse livro, os autores de fato tratam o ciclo de vida de software como concepção, projeto, criação e implementação.

Essa é uma daquelas quase impossível de acertar! Esse não é um autor consagrado de Engenharia de Software.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q
  1. (CESPE / TRT-17 – 2013) O objetivo do RAD é separar os modelos da visualização e do controle.
  2. Ele fornece o controlador e facilita a escrita de moldes padronizados para a camada de visualização.
A

Galera, esse item não faz qualquer sentido! Não é possível nem avaliar de tão errado…

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q
  1. (CESPE / MEC – 2011) O processo de desenvolvimento de software é uma caracterização descritiva ou prescritiva de como um produto de software deve ser desenvolvido.
A

Metodologia de Desenvolvimento de Software É uma caracterização prescritiva ou descritiva de como um produto de software deve ser desenvolvido, isto é, define o quê, como e quando fazer algo – um exemplo clássico é o RUP! Segundo Pressman, um modelo prescritivo consiste em um conjunto específico de atividades de arcabouço, como – por exemplo – a NBR ISSO/IEC 12207, que estabelece uma estrutura comum para os processos de ciclo de vida de software.

Já um modelo descritivo apresenta o processo em detalhes, é como se fosse um guia para o desenvolvimento de software.

Ambas as formas podem ser utilizadas.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q
  1. (CESPE / MEC – 2011) Atividades comuns a todos os processos de software incluem a especificação, o projeto, a implementação e a validação.
A

Sommerville afirma que um processo de software é um conjunto de atividades e resultados associados que produz um produto de software.

De acordo com ele, existem quatro atividades fundamentais de processo, que são comuns a todos os processos de software – são elas: Especificação de Software; Desenvolvimento de Software (Projeto e Implementação); Validação de Software; e Evolução de Software.

Notem que o examinador dividiu a atividade de Desenvolvimento em Projeto e Implementação, mas não invalida a questão.

Professor, ele não falou sobre a evolução! Sim, mas a questão apenas afirma que essas são atividades comuns e, não, que são as únicas.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q
  1. (CESPE / TJ-ES – 2011) Entre as etapas do ciclo de vida de software, as menos importantes incluem a garantia da qualidade, o projeto e o estudo de viabilidade. As demais atividades do ciclo, como a implementação e os testes, requerem maior dedicação da equipe e são essenciais.
A

Para a definição completa do processo, cada atividade descrita no modelo de ciclo de vida deve ser decomposta e para suas subatividades, devem ser associados métodos, técnicas, ferramentas e critérios de qualidade, entre outros, formando uma base sólida para o desenvolvimento.

Adicionalmente, outras atividades, tipicamente de cunho gerencial, devem ser definidas, como controle e garantia da qualidade.

Não existe uma hierarquia de etapas mais importantes e menos importantes! Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q
  1. (CESPE / TJ-ES – 2011) O modelo de processo incremental de desenvolvimento de software é iterativo, assim como o processo de prototipagem. Contudo, no processo incremental, diferentemente do que ocorre no de prototipagem, o objetivo consiste em apresentar um produto operacional a cada incremento.
A

De fato, no modelo iterativo e incremental, apresenta-se sempre um produto a cada incremento.

Já na prototipação, não.

Idealmente, ele serve apenas para identificar requisitos.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q
  1. (CESPE / AL-ES – 2011) O ciclo de vida RAD (Rapid Application Development), por privilegiar a rapidez do desenvolvimento, não possui etapa de modelagem.
A

Como não?

Existe Modelagem de Negócio, Dados e Processo!

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q
  1. (CESPE / DETRAN/ES – 2010) Segundo princípio da engenharia de software, os vários artefatos produzidos ao longo do seu ciclo de vida apresentam, de forma geral, nível de abstração cada vez menor.
A

Galera, vamos pensar um pouco! A abstração é a subtração de detalhes – focar-se no que é mais relevante e ignorar detalhes menos relevantes.

No início do ciclo de vida, os artefatos são bastante abstratos.

Temos, por exemplo, uma modelagem do negócio, um documento de requisitos funcionais, a abstração vai diminuindo e temos a modelagem visual de análise, depois a modelagem do projeto, até chegar ao código-fonte e ao executável do software.

Nesse ponto, temos o menor nível de abstração (com muitos detalhes!).

Compreenderam?

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q
  1. (CESPE / TRE-BA – 2010) Entre os desafios enfrentados pela engenharia de software estão lidar com sistemas legados, atender à crescente diversidade e atender às exigências quanto a prazos de entrega reduzidos.
A

Bem, essa questão é bastante intuitiva.

De fato, a engenharia de software tem que lidar com sistemas legados, atender à crescente diversidade e atender às exigências quanto aos (curtos) prazos de entrega.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q
  1. (CESPE / TRE-BA – 2010) Um modelo de processo de software consiste em uma representação complexa de um processo de software, apresentada a partir de uma perspectiva genérica.
A

Um modelo de processo é uma representação abstrata de um esqueleto de processo, incluindo tipicamente algumas atividades principais, a ordem de precedência entre elas e, opcionalmente, artefatos requeridos e produzidos.

Em geral, um modelo de processo descreve uma filosofia de organização de atividades, estruturando-as em fases e definindo como essas fases estão relacionadas.

Logo, um modelo de processo de software ou modelo de ciclo de vida trata da representação abstrata/simplificada de um processo de software, apresentada a partir de uma perspectiva específica.

Note: Sommerville afirma que cada modelo representa uma perspectiva particular de um processo.

No entanto, esses modelos são genéricos no sentido de que podem ser adaptados e aplicados a uma ampla gama de projetos de desenvolvimento de software.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q
  1. (CESPE / EMBASA – 2010) Ciclo de vida de um software resume-se em eventos utilizados para definir o status de um projeto.
A

O ciclo de vida de software é um conjunto de estágios (e, não, eventos) utilizados para definir o status de um software (e, não, projeto).

Sommerville afirma, por exemplo, que um ciclo de vida é composto por estágios que demonstram atividades fundamentais de desenvolvimento.

Questão errada!

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q
  1. (CESPE / DETRAN-ES – 2010) Quando um aplicativo de software desenvolvido em uma organização atinge, no fim do seu ciclo de vida, a fase denominada aposentadoria, descontinuação ou fim de vida, todos os dados por ele manipulados podem ser descartados.
A

Essa questão é um absurdo! Observem que ela afirma “podem ser descartados”.

Ora, é evidente que podem ser descartados.

No entanto, o gabarito oficial é errado!

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q
  1. (CESPE / BASA – 2010) No modelo em cascata, o projeto segue uma série de passos ordenados.

Ao final de cada projeto, a equipe de projeto finaliza uma revisão.

O desenvolvimento continua e, ao final, o cliente avalia a solução proposta.

A

De acordo com Vasconcelos (2006), no Modelo em Cascata, o projeto segue uma série passos ordenados, ao final de cada fase, a equipe de projeto finaliza uma revisão.

Além disso, o desenvolvimento não continua até que o cliente esteja satisfeito com os resultados alcançados.

A questão afirma que a equipe de projeto finaliza uma revisão ao final de cada projeto, mas na verdade é ao final de cada fase.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q
  1. (CESPE / ANAC – 2009) O termo engenharia pretende indicar que o desenvolvimento de software submete-se a leis similares às que governam a manufatura de produtos industriais em engenharias tradicionais, pois ambos são metodológicos.
A

Perfeito! A Engenharia busca os princípios mais consolidados de outras engenharias mais tradicionais – engenharia mecânica, civil, elétrica, etc.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

40.(CESPE / TCE-TO – 2009 – Item A) Quanto maior e mais complexo o projeto de software, mais simples deve ser o modelo de processo a ser adotado.

A

Galera, não existe essa relação! Em geral, quanto mais complexo o projeto mais complexo o modelo.

No entanto, isso também não é uma regra.

Hoje em dia, existem projetos megacomplexos feitos utilizando metodologias ágeis, por exemplo.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q
  1. (CESPE / TCE-TO – 2009 – Item B) O modelo de ciclo de vida do software serve para delimitar o alvo do software. Nessa visão, não são consideradas as atividades necessárias e o relacionamento entre elas.
A

A escolha de um modelo de ciclo de vida (para concursos, sinônimo de modelo de processo) é o ponto de partida para a definição de um processo de desenvolvimento de software.

Um modelo de ciclo de vida, geralmente, organiza as macro-atividades básicas do processo, estabelecendo precedência e dependência entre as mesmas.

Logo, o alvo do software serve para delimitar o modelo de ciclo de vida a ser escolhido.

Primeiro, define-se o alvo do software para, só então, escolher o modelo de ciclo de vida mais adequado.

Ademais, são consideradas as atividades necessárias e o relacionamento entre elas.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q
  1. (CESPE / INMETRO – 2009) Em uma empresa que tenha adotado um processo de desenvolvimento de software em cascata, falhas no levantamento de requisitos têm maior possibilidade de gerar grandes prejuízos do que naquelas que tenham adotado desenvolvimento evolucionário.
A

VANTAGENS

  • É simples de entender e fácil de aplicar, facilitando o planejamento.
  • Fixa pontos específicos para a entrega de artefatos.
  • Funciona bem para equipes tecnicamente fracas.
  • É fácil de gerenciar, devido a sua rigidez.
  • Realiza documentação extensa por cada fase ou estágio.
  • Possibilita boa aderência a outros modelos de processo.
  • Funciona bem com projetos pequenos e com requisitos bem conhecidos.

DESVANTAGENS

  • Divisão inflexível do projeto em estágios distintos.
  • Dificuldade em incorporar mudanças de requisitos.
  • Clientes só visualizam resultados próximos ao final do projeto.
  • Atrasa a redução de riscos.
  • Apenas a fase final produz um artefato de software entregável.
  • Cliente deve saber todos os requisitos no início do projeto.
  • Modelo inicial (Royce) não permitia feedback entre as fases do projeto.
  • Pressupõe que os requisitos ficarão estáveis ao longo do tempo.
  • Não funciona bem com projetos complexos e OO, apesar de compatível.

O Modelo em Cascata, de fato, não reage bem a mudanças; já Modelo evolucionário é mais adaptável a mudanças por se utilizar de iterações.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q
  1. (CESPE / INMETRO – 2009) Em um processo de desenvolvimento em cascata, os testes de software são realizados todos em um mesmo estágio, que acontece após a finalização das fases de implementação.
A

POR SOMMERVILLE
Análise e Definição de Requisitos
Projeto de Sistema e Software
Implementação e Teste de Unidade
Integração e Teste de Sistema
Operação e Manutenção

POR ROYCE
Requisitos de Sistema
Requisitos de Software
Análise
Projeto
Codificação
Teste
Operação

POR PRESSMAN (4ª ED)
Modelagem e Engenharia do Sistema/Informação
Análise de Requisitos de Software
Projeto
Geração de Código
Teste e Manutenção

POR PRESSMAN (6ª ED)
Comunicação
Planejamento
Modelagem
Construção
Implantação

Todos em um mesmo estágio, não.

A grande maioria dos testes ocorrem, de fato, após a finalização das fases de implementação.

No entanto, podem ocorrer testes unitários durante a própria implementação.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q
  1. (CESPE / IPEA – 2009) No modelo em cascata de processo de desenvolvimento, os clientes devem definir os requisitos apenas durante a fase de projeto; e os projetistas definem as estratégias de projeto apenas durante a fase de implementação.

As fases do ciclo de vida envolvem definição de requisitos, projeto, implementação, teste, integração, operação e manutenção.

Em cada fase do ciclo de vida, podem ser produzidos diversos artefatos.

A

Essa questão não faz sentido! Os clientes definem os requisitos durante a fase de Definição de Requisitos.

Já os projetistas definem as estratégias de projeto apenas durante a fase Projeto.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q
  1. (CESPE – 2009 – INMTRO – Analista de Sistema) No desenvolvimento de software, o modelo em cascata é estruturado de tal maneira que as fases que compõem o desenvolvimento são interligadas. Nessa situação, o final de uma fase implica o início de outra.
A

No Modelo em Cascata, uma fase só se inicia após o término e aprovação da fase anterior, isto é, há uma sequência de desenvolvimento do projeto.

Por exemplo, a Fase 4 só é iniciada após o término e aprovação da Fase 3.

A Fase 5 só é iniciada após o término e aprovação da Fase 4.

Logo, está em conformidade com a definição.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q
  1. (CESPE / TRE-MT – 2009 – Item A) O modelo em cascata é apropriado para software em que os requisitos ainda não foram bem compreendidos, pois é focado na criação de incrementos.
A

A utilização do Modelo em Cascata deve ocorrer preferencialmente quando os requisitos forem bem compreendidos e houver pouca probabilidade de mudanças radicais durante o desenvolvimento do sistema.

Logo, questão totalmente errada! Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q
  1. (CESPE / UNIPAMPA – 2009 – Item D) O modelo em cascata sugere uma abordagem sistemática e sequencial para o desenvolvimento de software.

Sua natureza linear leva a estados de bloqueio nos quais, para que nova etapa seja iniciada, é necessário que a documentação associada à fase anterior tenha sido aprovada.

A

No Modelo em Cascata, uma fase só se inicia após o término e aprovação da fase anterior, isto é, há uma sequência de desenvolvimento do projeto.

Por exemplo: a Fase 4 só é iniciada após o término e aprovação da Fase 3.

A Fase 5 só é iniciada após o término e aprovação da Fase 4.

Não basta terminar uma fase, é necessário que ela tenha sido aprovada.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q
  1. (CESPE / UNIPAMPA – 2009) No modelo de desenvolvimento incremental, a cada iteração são realizadas várias tarefas.

Na fase de análise, pode ser feito o refinamento de requisitos e o refinamento do modelo conceitual.

A

Perfeito, é a fase seguinte à fase de requisitos e busca refiná-los.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q
  1. (CESPE / INPE – 2008) O ciclo de vida do software tem início na fase de projeto.
A

Mais uma vez: alguns autores afirmam que os modelos de ciclo de vida básicos, de maneira geral, contemplam pelo menos as fases de: Planejamento; Análise e Especificação de Requisitos; Projeto; Implementação; Testes; Entrega e Implantação; Operação; e Manutenção.

Logo, ele não começa com projeto! Como você começa com projeto sem sequer levantar os requisitos? Era possível responder usando só lógica!

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q
  1. (CESPE / TST – 2008) No modelo de desenvolvimento sequencial linear, a fase de codificação é a que gera erros de maior custo de correção.
A

Galera, erro na fase de requisitos que não foi corrigido e foi descoberto no final do processo de desenvolvimento, terá um custo de correção altíssimo, visto que provavelmente terá que se refazer tudo novamente.

Ora, se eu peço a construção de um carro e você constrói uma moto, o custo para corrigir esse erro será altíssimo.

Portanto não confundam essas duas coisas! Percebam o que eu disse: quanto mais tarde se descobre um erro, mais caro se torna sua correção.

Dizendo isso de outra forma: erros nas fases iniciais possuem custo de correção altíssimo.

Uma coisa é o momento em que o erro ocorre (quanto mais cedo, mais caro); outra coisa é o momento em que um erro é identificado (quanto mais tarde, mais caro).

Percebam que erros nas fases iniciais possuem custos de correção mais altos.

Logo, o maior custo está na fase de codificação? Não, está na fase de requisitos que é a fase inicial!

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q
  1. (CESPE / SERPRO – 2008) O modelo em cascata consiste de fases e atividades que devem ser realizadas em sequência, de forma que uma atividade é requisito da outra.
A

No Modelo em Cascata, uma fase só se inicia após o término e aprovação da fase anterior, isto é, há uma sequência de desenvolvimento do projeto.

Por exemplo, a Fase 4 só é iniciada após o término e aprovação da Fase 3.

A Fase 5 só é iniciada após o término e aprovação da Fase 4.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q
  1. (CESPE / MPE-AM – 2008) O modelo de desenvolvimento sequencial linear tem como característica principal a produção de uma versão básica, mas funcional, do software desde as primeiras fases.
A

VANTAGENS

  • É simples de entender e fácil de aplicar, facilitando o planejamento.
  • Fixa pontos específicos para a entrega de artefatos.
  • Funciona bem para equipes tecnicamente fracas.
  • É fácil de gerenciar, devido a sua rigidez.
  • Realiza documentação extensa por cada fase ou estágio.
  • Possibilita boa aderência a outros modelos de processo.
  • Funciona bem com projetos pequenos e com requisitos bem conhecidos.

DESVANTAGENS

  • Divisão inflexível do projeto em estágios distintos.
  • Dificuldade em incorporar mudanças de requisitos.
  • Clientes só visualizam resultados próximos ao final do projeto.
  • Atrasa a redução de riscos.
  • Apenas a fase final produz um artefato de software entregável.
  • Cliente deve saber todos os requisitos no início do projeto.
  • Modelo inicial (Royce) não permitia feedback entre as fases do projeto.
  • Pressupõe que os requisitos ficarão estáveis ao longo do tempo.
  • Não funciona bem com projetos complexos e OO, apesar de compatível.

Pelo contrário, somente nas fases finais que se tem uma versão! Essa definição está mais com cara de modelo de desenvolvimento em prototipagem.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q
  1. (CESPE / TJ-DF – 2008) No modelo de desenvolvimento incremental, embora haja defasagem entre os períodos de desenvolvimento de cada incremento, os incrementos são desenvolvidos em paralelo.
A

Questão perfeita! Os incrementos são codificados não exatamente em paralelo – há uma pequena defasagem.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q
  1. (CESPE / TST – 2008) O modelo RAD (Rapid Application Development) consiste em uma forma de prototipação para esclarecer dúvidas da especificação do software.
A

RAD é um processo de desenvolvimento de software iterativo e incremental que enfatiza um ciclo de desenvolvimento curto.

Ele não é uma forma de prototipação, apesar de poder utilizá-la.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q
  1. (CESPE / TRE-MA – 2008) O modelo RAD (Rapid Application Development) é uma adaptação de alta velocidade do modelo sequencial linear, conseguido por meio da construção embasada em componentes.
A

O RAD (Rapid Application Development) realmente é uma adaptação de alta velocidade do modelo sequencial linear (cascata).

Além disso, ele se utiliza realmente de componentes prontos para o desenvolvimento rápido.

Por que ele é considerado uma adaptação do modelo em cascata? Porque ele funciona como vários modelos em cascata trabalhando iterativamente.

E qual o nome disso? Isso se chama Modelo iterativo e incremental! Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q
  1. (CESPE / TRE-MA – 2008) O uso de uma abordagem de construção embasada em componentes faz que o desenvolvimento no modelo RAD (Rapid Application Development) seja considerado mais rápido
A

Perfeito, ela se utiliza de uma construção baseada em componentes, fazendo com que o desenvolvimento seja mais rápido.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q
  1. (CESPE / MPE-AM – 2008) O modelo de desenvolvimento incremental combina características do modelo de desenvolvimento sequencial linear com características do modelo RAD, embora isso resulte em projetos que sistematicamente apresentam maior duração que aqueles feitos com os dois modelos de desenvolvimento originais.
A

Modelo Incremental não combina características do Modelo Sequencial Linear com RAD.

Aliás, RAD é Incremental!

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q
  1. (CESPE / TSE – 2006 – Item D) O modelo em cascata organiza o desenvolvimento em fases.

Esse modelo encoraja a definição dos requisitos antes do restante do desenvolvimento do sistema.

Após a especificação e a análise dos requisitos, têm-se o projeto, a implementação e o teste.

A

POR SOMMERVILLE
Análise e Definição de Requisitos
Projeto de Sistema e Software
Implementação e Teste de Unidade
Integração e Teste de Sistema
Operação e Manutenção

POR ROYCE
Requisitos de Sistema
Requisitos de Software
Análise
Projeto
Codificação
Teste
Operação

POR PRESSMAN (4ª ED)
Modelagem e Engenharia do Sistema/Informação
Análise de Requisitos de Software
Projeto
Geração de Código
Teste e Manutenção

POR PRESSMAN (6ª ED)
Comunicação
Planejamento
Modelagem
Construção
Implantação

Perfeito! De fato, segue essa ordem!

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q
  1. (CESPE / MPE-AM – 2005) O modelo RAD (rapid application development) é específico para projetos de software que empregam linguagens de programação de terceira geração.
A

Não existe qualquer limitação quanto a isso! Em geral, ele mais utilizado com linguagens de programação de quarta geração, mas não se limita a elas.

Lembrando que, grosso modo, as linguagens de 1ª Geração são as Linguagens de Máquina (Ex: Binário);

2ª Geração são Linguagens de Montagem (Ex: Assembler);

as Linguagens de 3ª Geração são as Linguagens de Alto Nível (Ex: Java, C++, etc);

e as Linguagens de 4ª Geração são as Linguagens de Altíssimo Nível com objetivos específicos (Ex: SQL para Bancos de Dados, APEX para RAD, MatLab para cálculo numérico).

Gabarito: Letra E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
65
Q
  1. (CESPE / IGEPREV – 2005) O modelo Rapid Application Development (RAD) é apropriado para projetos que envolvem grandes riscos técnicos.
A

Pelo contrário, é apropriado para projetos que envolvem pequenos riscos técnicos.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q
  1. (CESPE / ANS – 2005) O modelo Rapid Application Development (RAD) é uma adaptação do modelo em espiral para atender a projetos de software fundamentados em componentes.
A

Na verdade, ele é uma adaptação de alta velocidade do modelo em cascata.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q
  1. (CESPE / AL-ES – 2005 – Item B) O modelo de desenvolvimento em cascata descreve ciclos sequenciais, incrementais e iterativos, possuindo, entre outras, as fases de requisitos e implementação.
A

Não! Ele não descreve ciclos, muito menos ciclos iterativos.

Na verdade, essa é a definição de Modelo Iterativo e Incremental.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
68
Q
  1. (CESPE / STJ – 2004) O modelo de desenvolvimento seqüencial linear, também chamado modelo clássico ou modelo em cascata, caracteriza-se por não acomodar adequadamente as incertezas que existem no início de um projeto de software, em especial as geradas pela dificuldade do cliente de explicitar todos os requerimentos que o programa deve contemplar.
A

Como uma fase só se inicia após o término da fase anterior, só é possível em geral verificar se houve erros nas últimas fases – como pode ser visto na imagem abaixo.

Em outros modelos, os riscos são reduzidos desde as primeiras fases do processo de desenvolvimento.

Logo, lembrem-se que ele acumula riscos e não lida bem com requisitos voláteis.

Gabarito: Correto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
69
Q
  1. (CESPE / ABIN – 2004) O modelo de desenvolvimento seqüencial linear, também denominado modelo em cascata, é incompatível com o emprego de técnica de análise orientada a objetos no desenvolvimento de um sistema de informação.
A

VANTAGENS

  • É simples de entender e fácil de aplicar, facilitando o planejamento.
  • Fixa pontos específicos para a entrega de artefatos.
  • Funciona bem para equipes tecnicamente fracas.
  • É fácil de gerenciar, devido a sua rigidez.
  • Realiza documentação extensa por cada fase ou estágio.
  • Possibilita boa aderência a outros modelos de processo.
  • Funciona bem com projetos pequenos e com requisitos bem conhecidos.

DESVANTAGENS

  • Divisão inflexível do projeto em estágios distintos.
  • Dificuldade em incorporar mudanças de requisitos.
  • Clientes só visualizam resultados próximos ao final do projeto.
  • Atrasa a redução de riscos.
  • Apenas a fase final produz um artefato de software entregável.
  • Cliente deve saber todos os requisitos no início do projeto.
  • Modelo inicial (Royce) não permitia feedback entre as fases do projeto.
  • Pressupõe que os requisitos ficarão estáveis ao longo do tempo.
  • Não funciona bem com projetos complexos e OO, apesar de compatível.

Ele é compatível, mas não é recomendado! Por que, não? Imagina um projeto super complexo que utiliza uma análise orientada a objetos (que é um modelo mais sofisticado que a análise estruturada).

Lembre-se que, no Modelo em Cascata, você não pode errar, porque se você errar, os riscos de o projeto falhar são enormes! Por essa razão, ele não é recomendável, apesar de compatível!

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
70
Q
  1. (CESPE / TRE-AL – 2004) O modelo cascata ou ciclo de vida clássico necessita de uma abordagem sistemática, que envolve, em primeiro lugar, o projeto e, em seguida, a análise, a codificação, os testes e a manutenção.
A

POR SOMMERVILLE
Análise e Definição de Requisitos
Projeto de Sistema e Software
Implementação e Teste de Unidade
Integração e Teste de Sistema
Operação e Manutenção

POR ROYCE
Requisitos de Sistema
Requisitos de Software
Análise
Projeto
Codificação
Teste
Operação

POR PRESSMAN (4ª ED)
Modelagem e Engenharia do Sistema/Informação
Análise de Requisitos de Software
Projeto
Geração de Código
Teste e Manutenção

POR PRESSMAN (6ª ED)
Comunicação
Planejamento
Modelagem
Construção
Implantação

Primeiro Projeto e depois Análise? Não, Análise vem antes do Projeto!

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
71
Q
  1. (CESPE / BASA – 2004) O modelo embasado em prototipagem é um modelo de processo incremental que enfatiza um ciclo de desenvolvimento extremamente curto.

A primeira fase do processo é a modelagem de negócio e a última é a fase de teste e entrega.

A

Ciclo de desenvolvimento curto? Isso é RAD e, não, Prototipagem! O RAD é um modelo iterativo e incremental, que enfatiza o ciclo de desenvolvimento curto (60 a 90 dias).

Esse desenvolvimento ocorre tão rápido, porque é utilizada o reúso de componentes a exaustão.

Como muitos componentes já estão testados, pode-se reduzir o tempo total de desenvolvimento.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
72
Q
  1. (FCC / TST – 2012) A Engenharia de Software:

a) é uma área da computação que visa abordar de modo sistemático as questões técnicas e não técnicas no projeto, implantação, operação e manutenção no desenvolvimento de um software.

b) consiste em uma disciplina da computação que aborda assuntos relacionados a técnicas para a otimização de algoritmos e elaboração de ambientes de desenvolvimento.

c) trata-se de um ramo da TI que discute os aspectos técnicos e empíricos nos processos de desenvolvimento de sistemas, tal como a definição de artefatos para a modelagem ágil.

d) envolve um conjunto de itens que abordam os aspectos de análise de mercado, concepção e projeto de software, sendo independente da engenharia de um sistema.

e) agrupa as melhores práticas para a concepção, projeto, operação e manutenção de artefatos que suportam a execução de programas de computador, tais como as técnicas de armazenamento e as estruturas em memória principal.

A

De acordo com Pressman: “A Engenharia de Software ocorre como consequência de um processo chamado Engenharia de Sistemas.

Em vez de se concentrar somente no software, a engenharia de sistemas focaliza diversos elementos, analisando, projetando, e os organizando em um sistema que pode ser um produto, um serviço ou uma tecnologia para transformação da informação ou controle”.

Logo, vamos aos julgamentos:

(a) Perfeito, observem as palavras-chave: modo sistemático; questões técnicas e não técnicas; projeto, implantação, operação e manutenção de desenvolvimento de software.

(b) Técnicas para otimização de algoritmos e elaboração de ambientes de desenvolvimento? Não, isso não é Engenharia de Software.

(c) Pessoal, discordo do gabarito! Certa vez, um aluno me disse que talvez fosse porque aspectos empíricos são mais voltados para metodologias ágeis.

Sim, é verdade! No entanto, a engenharia de software trata também de metodologias ágeis.

Se alguém encontrar o erro, avise :-]

(d) A Análise de Mercado serve mais como uma técnica para Análise de Interfaces, mas pode ser vista como um dos aspectos que envolvem a Engenharia de Software.

Pressman afirma que: “A Análise de Mercado pode ser inestimável na definição de segmentos de mercado e no entendimento de como cada segmento poderia usar o software de modos sutilmente diferentes”.

De todo modo, a questão está errada porque a Engenharia de Software depende da Engenharia de Sistema (como é mostrado acima).

(e) Suportam a execução? Não, suportam o desenvolvimento de programas de computador.

Gabarito: Letra A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
73
Q
  1. (FCC / TRT6 – 2012) Considere: é uma disciplina que se ocupa de todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até a manutenção desse sistema, depois que ele entrou em operação.

Seu principal objetivo é fornecer uma estrutura metodológica para a construção de software com alta qualidade.

A definição refere-se:

a) ao ciclo de vida do software.

b) à programação orientada a objetos.

c) à análise de sistemas.

d) à engenharia de requisitos.

e) à engenharia de software.

A

Engenharia de Software é uma disciplina de engenharia que se ocupa de todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até a manutenção desse sistema, após sua entrada em produção.

A meta principal da Engenharia de Software é desenvolver sistemas de software com boa relação custo-benefício.

Essa é a pura definição de Engenharia de Software!

Gabarito: Letra E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
74
Q
  1. (FCC / MPE-AP – 2012) Um processo de software é um conjunto de atividades relacionadas que levam à produção de um produto de software.

Existem muitos processos de software diferentes, mas todos devem incluir quatro atividades fundamentais: especificação, projeto e implementação, validação e:

a) teste

b) evolução.

c) prototipação.

d) entrega.

e) modelagem.

A

As atividades são Especificação de Software; Desenvolvimento de Software (Projeto e Implementação); Validação de Software; e Evolução de Software.

Logo, trata-se da evolução!

Gabarito: Letra B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
75
Q
  1. (FCC / TJ-RJ – 2012 – Item E) Dos diferentes modelos para o ciclo de vida de desenvolvimento de um software é correto afirmar que o modelo em cascata é o mais recente e complexo.
A

Citado inicialmente em 1970 por W. Royce, também designado Cascata ou Clássico ou Sequencial ou Linear ou Tradicional ou Waterfall ou Rígido ou Monolítico (todos esses nomes já caíram em prova!).

Esse nome é devido ao encadeamento simples de uma fase com a outra.

Os estágios do modelo demonstram as principais atividades de desenvolvimento.

Mais recente? Não, muito antigo! Complexo? Não, possui um encadeamento simples de fases.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
76
Q
  1. (FCC / INFRAERO – 2011) Em relação à Engenharia de Software, é INCORRETO afirmar:

a) O design de software, ao descrever os diversos aspectos que estarão presentes no sistema quando construído, permite que se faça a avaliação prévia para garantir que ele alcance os objetivos propostos pelos interessados.

b) A representação de um design de software mais simples para representar apenas as suas características essenciais busca atender ao princípio da abstração.

c) Iniciar a entrevista para obtenção dos requisitos de software com perguntas mais genéricas e finalizar com perguntas mais específicas sobre o sistema é o que caracteriza a técnica de entrevista estruturada em funil.

d) No contexto de levantamento de requisitos, funcionalidade é um dos aspectos que deve ser levado em conta na abordagem dos requisitos funcionais.

e) A representação é a linguagem do design, cujo único propósito é descrever um sistema de software que seja possível construir.

A

Descrever um sistema de software que seja possível construir não é o único, mas um dos objetivos da representação.

Ela auxilia a comunicação entre as partes interessadas e serve também como documentação.

Gabarito: Letra E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
Q
  1. (FCC / TRE-AM – 2010) A Engenharia de Software:

a) não tem como método a abordagem estruturada para o desenvolvimento de software, pois baseia-se exclusivamente nos modelos de software, notações, regras e técnicas de desenvolvimento.

b) se confunde com a Ciência da Computação quando ambas tratam do desenvolvimento de teorias, fundamentações e práticas de desenvolvimento de software.

c) tendo como foco apenas o tratamento dos aspectos de construção de software, subsidia a Engenharia de Sistemas no tratamento dos sistemas baseados em computadores, incluindo hardware e software.

d) tem como foco principal estabelecer uma abordagem sistemática de desenvolvimento, através de ferramentas e técnicas apropriadas, dependendo do problema a ser abordado, considerando restrições e recursos disponíveis.

e) segue princípios, tais como, o da Abstração, que identifica os aspectos importantes sem ignorar os detalhes e o da Composição, que agrupa as atividades em um único processo para distribuição aos especialistas.

A

(a) Errado.

Pelo contrário, ela se baseia em uma abordagem estruturada e sistemática! A IEEE define engenharia de software como a aplicação de uma abordagem sistemática, disciplinada e quantificável de desenvolvimento, operação e manutenção de software.

Já Friedrich Bauer conceitua como a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja confiável e que trabalhe em máquinas reais.

(b) Errado.

Na verdade, Engenharia de Software é uma disciplina da Ciência da Computação.

A Engenharia de Software tem por objetivos a aplicação de teoria, modelos, formalismos, técnicas e ferramentas da ciência da computação e áreas afins para a desenvolvimento sistemático de software.

Associado ao desenvolvimento, é preciso também aplicar processos, métodos e ferramentas sendo que a pedra fundamental que sustenta a engenharia de software é a qualidade.

(c) Apenas o tratamento dos aspectos de construção de software? Só construção? Não!

(d) Correto, é exatamente isso!

(e) Composição? Não, Decomposição! Divide-se o problema em partes para que cada uma possa ser resolvida de uma forma mais específica.

Além disso, a abstração ignora detalhes! Gabarito: Letra D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
78
Q
  1. (FCC / DPE/SP – 2010) A Engenharia de Software:

I. não visa o desenvolvimento de teorias e fundamentações, preocupando-se unicamente com as práticas de desenvolvimento de software.

II. tem como foco o tratamento dos aspectos de desenvolvimento de software, abstraindo-se dos sistemas baseados em computadores, incluindo hardware e software.

III. tem como métodos as abordagens estruturadas para o desenvolvimento de software que incluem os modelos de software, notações, regras e maneiras de desenvolvimento.

IV. segue princípios, tais como, o da Abstração, que identifica os aspectos importantes sem ignorar os detalhes e o da Composição, que agrupa as atividades em um único processo para distribuição aos especialistas.

É correto o que se afirma em:

a) III e IV, apenas.

b) I, II, III e IV.

c) I e II, apenas.

d) I, II e III, apenas.

e) II, III e IV, apenas.

A

(I) Errado, Sommerville diz: “Computer science focuses on theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software”.

No entanto, ele não diz que a engenharia de software se preocupa unicamente com as práticas de desenvolvimento de software.

(II) Errado, Pressman diz: “System engineering is concerned with all aspects of computer-based systems development including hardware, software, and process engineering” – a questão trata da Engenharia de Sistemas.

(III) Correto, de fato ela tem como métodos as abordagens estruturadas para o desenvolvimento de software que incluem os modelos de software, notações, regras e maneiras de desenvolvimento.

(IV) Errado, o princípio da abstração ignora os detalhes; e o princípio da composição não existe – o que existe é o princípio da decomposição.

E ele divide o problema em partes menores.

Em suma, nenhuma das opções nos atende! Vocês sabem qual opção a banca marcou como correta? A Letra D!!! E ela voltou atrás com os recursos? Não!!! Pois é, galera! Acostumem-se com isso :(

Gabarito: Letra D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
79
Q
  1. (FCC/ AFR/SP – 2009) A engenharia de software está inserida no contexto:

a) das engenharias de sistemas, de processo e de produto.

b) da engenharia de sistemas, apenas.

c) das engenharias de processo e de produto, apenas.

d) das engenharias de sistemas e de processo, apenas.

e) das engenharias de sistemas e de produto, apenas.

A

A engenharia de sistemas está preocupada com todos os aspectos do desenvolvimento de sistemas computacionais, incluindo engenharia de hardware, engenharia de software e engenharia de processos.

Percebam, então, que a Engenharia de Sistemas está em um contexto com várias outras engenharias.

Gabarito: Letra A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
80
Q
  1. (FCC / SEFAZ-SP – 2009 – Item B) O processo de engenharia de software denominado ciclo de vida clássico refere-se ao modelo incremental.
A

Citado inicialmente em 1970 por W. Royce, também designado Cascata ou Clássico ou Sequencial ou Linear ou Tradicional ou Waterfall ou Rígido ou Monolítico (todos esses nomes já caíram em prova!).

Esse nome é devido ao encadeamento simples de uma fase com a outra.

Os estágios do modelo demonstram as principais atividades de desenvolvimento.

Logo, modelo clássico se refere a modelo em cascata, sequencial, linear, tradicional, waterfall, rígido ou monolítico.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
81
Q
  1. (FGV / TJ-SE – 2023) O gerente de TI de sua empresa solicitou a implementação de um pequeno sistema para geração da folha salarial.

Como será um sistema simples, com regras imutáveis e bem definidas, o analista já definiu os requisitos e efetuou a modelagem do sistema.

Após o final da implementação, será iniciada a fase de testes e, por fim, a implantação no setor financeiro.

De acordo com esse contexto, o modelo de ciclo de vida adotado foi:

a) RUP;

b) modelo incremental;

c) prototipagem;

d) modelo evolutivo;

e) modelo em cascata.

A

(a) Errado.

O RUP é um processo iterativo e incremental que inclui várias iterações e refinamentos;

(b) Errado.

O modelo incremental envolve a entrega de partes do software em incrementos funcionais;

(c) Errado.

A prototipagem foca na criação de protótipos funcionais para refinar requisitos;

(d) Errado.

O modelo evolutivo envolve o desenvolvimento evolutivo e a adaptação contínua do software;

(e) Correto.

O modelo em cascata segue uma abordagem sequencial e sistemática, como descrito, onde cada fase começa apenas após a conclusão da anterior.

Gabarito: Letra E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
82
Q
  1. (FGV / COMPESA – 2016) Observe a figura a seguir, que representa um modelo de processo de software.Este modelo, algumas vezes chamado ciclo de vida clássico, sugere uma abordagem sequencial e sistemática para o desenvolvimento de software nos casos em que os requisitos de um problema são bem compreendidos e quando o trabalho flui da comunicação ao emprego de forma relativamente linear.

O modelo apresentado é denominado:

a) incremental.

b) cascata.

c) evolucionário.

d) unificado

e) especializado.

A

Palavras-chave: ciclo de vida clássico; abordagem sequencial e sistemática; útil quando requisitos são bem compreendidos.

Trata-se do famoso Modelo em Cascata (Waterfall).

Gabarito: Letra B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
83
Q
  1. (FGV / BADESC – 2010) De acordo com Pressman, a engenharia de software é baseada em camadas, com foco na qualidade.

Essas camadas são:

a) métodos, processo e teste.

b) ferramentas, métodos e processo.

c) métodos, construção, teste e implantação.

d) planejamento, modelagem, construção, validação e implantação.

e) comunicação, planejamento, modelagem, construção e implantação.

A

Bastava lembrar da imagem para responder à questão!

      Ferramentas
        ---------------
          Métodos
   -------------------------
           Processo    ---------------------------------
    Foco na qualidade ---------------------------------------

Gabarito: Letra B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
84
Q
  1. (FGV / Fiocruz – 2010) Rapid Application Development (RAD) é um modelo de processo de software incremental que enfatiza um ciclo de desenvolvimento curto, com o uso de uma abordagem de construção baseada em componentes.

Nesse modelo, três das principais fases são abrangidas pelas modelagens:

a) do negócio, dos recursos financeiros e das funções gerenciais.

b) do gerenciamento, dos recursos de TI e dos processos.

c) do planejamento, dos dados e das funções gerenciais.

d) do planejamento, dos recursos de TI e dos projetos

e) do negócio, dos dados e dos processos.

A

Nesse modelo, três das principais fases são abrangidas pelas modelagens: Modelagem de Negócios, Modelagem de Dados e Modelagem de Processos.

Gabarito: Letra E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
85
Q
  1. (FGV / CODESP-SP – 2010) A UML é uma linguagem visual para modelar sistemas orientados a objetos, sendo independente tanto de linguagens de programação quanto de processos de desenvolvimento.

Nesse contexto, analise a figura abaixo, que representa um modelo de ciclo de vida para desenvolvimento de sistemas.

Essa abordagem divide o desenvolvimento de software em ciclos, em que, em cada ciclo, podem ser identificadas as fases de análise, projeto, implementação e testes.

Cada um dos ciclos considera um subconjunto de requisitos, e estes são desenvolvidos uma vez que sejam alocados a um ciclo de desenvolvimento.

Esse modelo de ciclo de vida é denominado:

a) clássico;

b) em cascata;

c) prototipação;

d) estruturado por fases;

e) incremental e iterativo.

A

Uma informação bizarra: a questão menciona uma figura, mas a prova não trouxe figura alguma e a questão não foi anulada.

De toda forma, a abordagem em ciclos em que, em cada ciclo, podem ser identificadas as fases de análise, projeto, implementação e testes, sendo que cada um dos ciclos considera um subconjunto de requisitos, e estes são desenvolvidos uma vez que sejam alocados a um ciclo de desenvolvimento é o modelo iterativo e incremental.

Gabarito: Letra E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
86
Q
  1. (FGV / Senado Federal – 2008) Considere as seguintes assertivas sobre modelos de processos de software:

I. No modelo em cascata, a fase seguinte não deve iniciar antes que a fase precedente tenha sido concluída.

II. No modelo evolucionário, a mudança constante tende a corromper a estrutura do software

III. A explícita consideração dos riscos no modelo em espiral distingue esse modelo dos modelos em cascata e evolucionário.

As assertivas corretas são:

a) somente I.

b) somente I e II.

c) somente I e III.

d) somente II e III.

e) I, II e III.

A

(I) Correto, uma fase só se inicia após o término e aprovação da fase anterior;

(II) Correto, muitas mudanças tendem a corromper a estrutura do software e isso as tornam difíceis e caras;

(III) Correto, a ideia do modelo espiral é representar um processo de software orientado a riscos, o que o diferencia dos demais modelos.

Gabarito: Letra E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
87
Q
  1. (UFRR / UFRR – 2023) O modelo em cascata é um modelo de processo de software no qual as fases são executadas em uma ordem específica, cada uma produzindo um conjunto específico de artefatos, antes de passar para a próxima fase.

O modelo em cascata é útil em projetos em que os requisitos estão bem definidos e estabelecidos e onde as mudanças durante o processo de desenvolvimento são mínimas.

Nesse sentido, pode-se afirmar que a principal característica do modelo em cascata é:

a) ser orientado a objetos.

b) ser sequencial e linear.

c) ser baseado em prototipação.

d) ser iterativo e incremental.

e) ser sequencial e incremental.

A

(a) Errado.

O modelo em cascata não é especificamente orientado a objetos; essa é uma característica que pode ou não ser aplicada dependendo da abordagem de programação escolhida, não do modelo de processo;

(b) Correto.

O modelo em cascata é conhecido por sua abordagem sequencial e linear, onde cada fase deve ser completada antes que a próxima comece, sem sobreposições ou iterações frequentes;

(c) Errado.

A prototipação não é uma característica central do modelo em cascata, pois este enfatiza a finalização de uma fase antes do início da outra, ao contrário da prototipação que envolve revisões iterativas;

(d) Errado.

“Iterativo e incremental” descreve modelos de processo que permitem revisões e desenvolvimentos em etapas, características não presentes no modelo em cascata;

(e) Errado.

Embora o modelo em cascata seja sequencial, ele não é incremental no sentido de desenvolvimento de software, pois não envolve adições pequenas e contínuas, mas sim fases completas e distintas.

Gabarito: Letra B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
88
Q
  1. (CESGRANRIO / TRANSPETRO – 2023)

Alguns modelos de ciclo de vida de software se caracterizam por serem processos de desenvolvimento sequenciais, isto é, cada fase do processo deve ser concluída antes do início da próxima.

Nessa categoria de processos, estão os modelos:

a) incremental e em cascata

b) iterativo e em espiral

c) ágil e em espiral

d) em V e em cascata

e) em V e incremental

A

(a) Errado.

O modelo incremental não é estritamente sequencial, pois permite desenvolvimento em partes menores que podem sobrepor-se em termos de fases de desenvolvimento;

(b) Errado.

Os modelos iterativo e em espiral não são puramente sequenciais, pois permitem revisões e iterações em cada fase do desenvolvimento;

(c) Errado.

Os modelos ágil e em espiral não se caracterizam por um processo estritamente sequencial; ambos promovem flexibilidade e iterações frequentes;

(d) Correto.

Tanto o modelo em V quanto o modelo em cascata são processos de desenvolvimento sequenciais, em que uma fase precisa ser completamente finalizada antes que a próxima comece.

O modelo em V é uma extensão do modelo em cascata que adiciona fases de teste correspondentes às fases de desenvolvimento;

(e) Errado.

Embora o modelo em V seja sequencial, o modelo incremental, como mencionado, não segue um processo estritamente sequencial e sim um desenvolvimento por partes.

Gabarito: Letra D

89
Q
  1. (FUNDATEC / PROCERGS – 2023) Na Engenharia de Software, qual alternativa descreve corretamente o que é o modelo de desenvolvimento de software em cascata?

a) Um modelo de desenvolvimento de software iterativo e incremental, em que o software é construído em pequenas etapas e entregas frequentes.

b) Um modelo de desenvolvimento de software baseado em testes, em que os testes são criados antes do código e o desenvolvimento é feito em pequenas iterações.

c) Um modelo de desenvolvimento de software em que as atividades de desenvolvimento são organizadas em fases sequenciais, em que uma fase só começa após a conclusão da anterior.

d) Um modelo de desenvolvimento de software que enfatiza a interação e colaboração contínua entre desenvolvedores, clientes e usuários finais.

e) Nenhuma das alternativas anteriores está correta.

A

(a) Errado.

Essa descrição se encaixa mais com modelos ágeis ou incrementais;

(b) Errado.

Isso descreve o desenvolvimento orientado a testes (Test-Driven Development - TDD);

(c) Correto.

O modelo em cascata é caracterizado por fases sequenciais e distintas, onde cada uma deve ser concluída antes de iniciar a próxima;

(d) Errado.

Essa descrição é mais adequada para métodos ágeis;

(e) Errado.

A alternativa C descreve corretamente o modelo em cascata.

Gabarito: Letra C

90
Q
  1. (FUNDATEC / PROCERGS – 2023) Há quatro atividades fundamentais comuns a todos os processos de software.

Assinale a alternativa que as apresenta na sequência correta do desenvolvimento de um sistema de software.

a) Análise, codificação, evolução e validação.

b) Requisito, validação, implementação e manutenção.

c) Especificação, desenvolvimento, validação e evolução.

d) Codificação, testagem, análise e manutenção.

e) Implementação, testagem, manutenção e retirada.

A

(a) Errado.

A sequência “análise, codificação, evolução e validação” não segue a ordem lógica do desenvolvimento de software, onde validação geralmente ocorre após a codificação, não no final;

(b) Errado.

“Requisito” não é uma fase; a fase correta seria “especificação de requisitos”, e a sequência não segue a lógica convencional de desenvolvimento de software;

(c) Correto.

Esta é a sequência correta e convencional no desenvolvimento de software:

 Especificação: definir claramente o que o software deve fazer.

 Desenvolvimento: inclui o design e a codificação do software.

 Validação: testar o software para garantir que atende aos requisitos especificados.

 Evolução: modificar o software para atender a mudanças nas necessidades dos clientes.

(d) Errado.

“Codificação” antes de “análise” está fora de ordem; a análise geralmente precede a codificação e o design no desenvolvimento de software;

(e) Errado.

“Implementação” como a primeira fase é imprecisa sem a especificação de requisitos, e “retirada” não é uma das atividades fundamentais comuns.

Gabarito: Letra C

91
Q
  1. (UFRRJ / UFRRJ – 2023) Os modelos de processo prescritivos definem um conjunto conhecido de elementos de processo além de definirem um fluxo de trabalho estável e previsível.

Um desses modelos é o Modelo Cascata, conhecido como Modelo Clássico, que:

a) prevê instrumentos de detecção de erros graves antes de o programa operacional ser revisto.

b) produz entregáveis de projetos funcionais em marcos definidos ao longo do desenvolvimento.

c) prevê o detalhamento dos requisitos em diferentes etapas do processo de desenvolvimento do software.

d) é indicado para solucionar problemas bem compreendidos e com baixa expectativa de mudança ao longo do desenvolvimento.

e) apresenta um fluxo incremental e sistemático, em que a fase anterior do ciclo de vida do software deverá ser finalizada para iniciar a seguinte dentro do mesmo incremento.

A

(a) Errado.

O Modelo Cascata não se foca especificamente em detecção de erros graves antes da revisão operacional; essa não é uma característica definidora;

(b) Errado.

Embora o Modelo Cascata produza entregáveis, não é caracterizado por marcos funcionais ao longo do desenvolvimento como em modelos incrementais;

(c) Errado.

O detalhamento dos requisitos no Modelo Cascata ocorre principalmente na fase inicial e não em diferentes etapas;

(d) Correto.

Ele é mais adequado para projetos com requisitos bem definidos e que são pouco propensos a mudanças durante o desenvolvimento, devido à sua estrutura rígida e sequencial;

(e) Errado.

Esta descrição aplica-se mais a modelos incrementais do que ao modelo em cascata, em que cada fase começa apenas após a conclusão da anterior, mas não dentro de incrementos, pois é um modelo sequencial puro.

Gabarito: Letra D

92
Q
  1. (IDECAN / SEFAZ-RR – 2023) Em um modelo de processo prescritivo de desenvolvimento de software, as atividades e tarefas ocorrem sequencialmente, com diretrizes de progresso definidas.

Selecione a alternativa que mostra o modelo de processo prescritivo e sequencial mais antigo de desenvolvimento de software.

a) Espiral

b) Cascata

c) V

d) Kanban

e) XP

A

O modelo em cascata é reconhecido como um dos primeiros modelos de processo de desenvolvimento de software – e é explicitamente prescritivo e sequencial.

Gabarito: Letra B

93
Q
  1. (Avança SP / Câmara Municipal de Sorocaba – 2022) Conhecido como um dos primeiros modelos de desenvolvimento e derivado de processos mais gerais da engenharia de sistemas o modelo cascata é conhecido assim por causa do encadeamento entre uma fase e outra.

É o exemplo de um processo dirigido a planos.

Com base nesse modelo, avalie as afirmações a seguir:

I - Na primeira etapa é feito o levantamento de requisitos com o cliente, para entender suas expectativas e definir quais funcionalidades devem ser implementadas no sistema.

II - O modelo cascata é inflexível, já que uma vez iniciado, todas as etapas são executadas e o primeiro resultado só é visto no final.

III - Outro problema do modelo em cascata é a falta de feedback do cliente, já que a interação dele com a equipe de desenvolvimento geralmente acontece somente no início e no fim do projeto.

Estão corretas as afirmações:

a) I, II e III.

b) I e II, apenas.

c) II e III, apenas.

d) I e III, apenas.

e) I, apenas.

A

(I) Correto.

É um passo essencial do modelo cascata iniciar com o levantamento de requisitos detalhados;

(II) Correto.

A natureza inflexível do modelo é conhecida, pois após o início do desenvolvimento, revisões e mudanças são difíceis de implementar sem recomeçar todo o processo;

(III) Correto.

Devido ao modelo sequencial e faseado do cascata, feedback iterativo do cliente é limitado, o que pode levar a problemas se requisitos mudarem ou não forem completamente compreendidos inicialmente.

Gabarito: Letra A

94
Q
  1. (IBFC / DETRAN-AM – 2022) Segundo PRESSMAN (2011) este ciclo de vida é considerado como clássico por ter uma abordagem sequencial e sistemática para o desenvolvimento de software.

Esse ciclo de vida é especificamente denominado como:

a) modo prototipado

b) modelo cascata

c) processo unificado

d) modelagem espiral

A

(a) Errado.

O modo prototipado não é caracterizado por ser um ciclo de vida clássico, sequencial e sistemático, pois foca na criação de protótipos rápidos para testar funcionalidades;

(b) Correto.

O modelo cascata é frequentemente descrito como clássico no contexto do desenvolvimento de software, devido à sua abordagem linear e sequencial, onde cada fase deve ser completada antes da próxima iniciar;

(c) Errado.

O processo unificado (Rational Unified Process) é iterativo e incremental, não seguindo uma estrutura estritamente sequencial como o modelo clássico descrito;

(d) Errado.

A modelagem espiral é um modelo iterativo que enfatiza a análise de riscos em cada volta do ciclo, diferindo da abordagem clássica e sequencial do modelo cascata.

Gabarito: Letra B

95
Q
  1. (VUNESP / TJM-SP – 2021) O modelo de desenvolvimento de software RAD (Rapid Application Development) conta com uma fase de Modelagem, que compreende a modelagem de:

a) Negócio, Dados e Processo.

b) Teste, Integração e Negócio.

c) Protótipo, Entrega e Dados.

d) Comunicação, Integração e Teste.

e) Entrega, Comunicação e Protótipo.

A

RAD conta com uma fase de modelagem que compreende modelagem de negócio, modelagem de dados e modelagem de processo.

Gabarito: Letra A

96
Q
  1. (VUNESP / PRODEST-ES – 2014) No modelo de ciclo de vida de software conhecido como RAD (Rapid Application Development) há duas atividades, cujas tarefas podem ser distribuídas por diversas equipes.

Essas atividades são:

a) comunicação e modelagem

b) comunicação e planejamento.

c) integração e construção.

d) modelagem e construção.

e) planejamento e integração.

A

Modelagem de Negócio, Dados e Processos são frequentemente condensados na etapa de Modelagem e Geração da Aplicação, Teste e Modificação são frequentemente condensados na etapa de Construção.

Logo, trata-se de Modelagem e Construção.

Gabarito: Letra D

97
Q
  1. (VUNESP / SPTrans – 2012) Uma das abordagens do processo de desenvolvimento da engenharia de software prevê a divisão em etapas, em que o fim de uma é a entrada para a próxima.

Esse processo é conhecido como modelo:

a) Transformação.

b) Incremental.

c) Evolutivo.

d) Espiral.

e) Cascata.

A

No Modelo em Cascata, uma fase só se inicia após o término e aprovação da fase anterior, isto é, há uma sequência de desenvolvimento do projeto.

Por exemplo, a Fase 4 só é iniciada após o término e aprovação da Fase 3.

A Fase 5 só é iniciada após o término e aprovação da Fase 4.

Logo, conforme vimos em aula, trata-se do Modelo em Cascata.

Gabarito: Letra E

98
Q
  1. (CESGRANRIO / UNIRIO – 2019) O modelo de processo incremental é iterativo por natureza e produz a cada incremento uma versão operacional do produto, diferente de outros modelos, como, por exemplo, a prototipagem.

Esse modelo incremental:

a) gera incrementos logo nas primeiras etapas, mas estes não podem ser entregues ao cliente.

b) possui unicamente atividades de codificação e teste nos seus incrementos.

c) deve ter, no máximo, 1 a 5 sprints quando planejados e gerenciados com métodos ágeis.

d) possui atividades de teste fora do incremento, realizadas por outra equipe que vai integrando incrementalmente o produto a cada etapa do teste.

e) combina elementos do modelo cascata, aplicado de maneira iterativa, sendo também essa filosofia incremental usada em processos ágeis.

A

(a) Errado, eles podem ser entregues aos clientes;

(b) Errado, há outras atividades como planejamento, requisitos, etc;

(c) Errado, não existe limite de sprints – que é um conceito de uma metodologia ágil chamada Scrum;

(d) Errado, testes são realizados dentro das etapas do incremento;

(e) Correto.

Gabarito: Letra E

99
Q
  1. (CESGRANRIO / Transpetro – 2018) O modelo em cascata ou linear é um modelo de processo de software que, a princípio, só deve ser usado se o(s):

a) feedback do usuário é necessário ao longo do desenvolvimento.

b) requisitos devem mudar ao longo do projeto.

c) requisitos são bem conhecidos.

d) riscos de negócio não são conhecidos.

e) usuários não sabem bem o que desejam.

A

(a) Errado, não se deve utilizar o modelo em cascata nesse caso, visto que o feedback só é necessário nas fases finais;

(b) Errado, não se deve utilizar o modelo em cascata nesse caso, visto que requisitos não devem mudar ao longo do projeto;

(c) Correto, o modelo em cascata é recomendado quando requisitos são bem conhecidos;

(d) Errado, para utilizar o modelo em cascata, os riscos devem ser bem conhecidos;

(e) Errado, o modelo em cascata não é recomendável quando os usuários não sabem bem o que desejam.

Gabarito: Letra C

100
Q
  1. (CESGRANRIO / Transpetro – 2018) Que tipo de processo de desenvolvimento de software visa a, inicialmente, prover todas as funcionalidades do sistema com uma fidelidade baixa e, por meio de ciclos, ir aumentando cada vez mais a fidelidade até que todas as funcionalidades estejam suportadas com a fidelidade máxima?

a) Preditivo

b) Linear

c) Iterativo

d) Incremental

e) Ágil

A

A questão trata do modelo em prototipagem, que é um tipo de modelo evolucionário, que é necessariamente um modelo iterativo.

Gabarito: Letra C

101
Q
  1. (CESGRANRIO / Transpetro – 2012) Na engenharia de software, existem diversos modelos de desenvolvimento de software, e, dentre eles, o modelo em cascata, o qual, no contexto do desenvolvimento de sistemas de software complexos, recomenda:

a) distribuir a elicitação dos requisitos desde o início até o fim do desenvolvimento.

b) dividir o desenvolvimento do produto de software em fases lineares e sequenciais.

c) enfatizar a avaliação e mitigação de riscos durante o desenvolvimento.

d) realizar entregas incrementais do produto de software ao longo do desenvolvimento.

e) usar prototipagem rápida para estimular o envolvimento do usuário no desenvolvimento.

A

Recomenda dividir o desenvolvimento do produto de software em fases lineares e sequenciais.

Vocês se lembram que o Modelo em Cascata é um modelo sequencial linear? Pois é!

Gabarito: Letra B

102
Q
  1. (CESGRANRIO / EPE – 2012) Uma das críticas feitas ao modelo do ciclo de vida do desenvolvimento de software em cascata refere-se a:

a) exigência de conhecimento de avaliação e gerenciamento de risco para evitar grandes surpresas no projeto.

b) comprometimentos na qualidade e nas possibilidades de manutenção a longo prazo, parecendo um protótipo.

c) pouca flexibilidade para mudanças futuras, exigindo compromissos nas fases iniciais do projeto.

d) pouca visibilidade das etapas do processo, tornando cara a documentação de todas as versões dos sistemas.

e) exigências de velocidade as quais levam o engenheiro de software a utilizar linguagens, algoritmos ou ferramentas ineficientes ao longo de todo o projeto.

A

É conhecida a pouca flexibilidade do Modelo em Cascata em se adaptar a mudanças conforme o projeto progride.

Mudanças nas fases iniciais do projeto têm menor impacto do que as que são necessárias nas fases finais do projeto.

Por isso, o Modelo em Cascata é usado preferencialmente em projetos com requisitos muito bem definidos e com pouca volatilidade.

Gabarito: Letra C

103
Q
  1. (CESGRANRIO / PETROBRÁS – 2011) A especificação de uma Metodologia de Desenvolvimento de Sistemas tem como pré-requisito indispensável, em relação ao que será adotado no processo de desenvolvimento, a definição do:

a) Engenheiro Responsável pelo Projeto

b) Documento de Controle de Sistemas

c) Software para Desenvolvimento

d) Ciclo de Vida do Software

e) Bloco de Atividades

A

A escolha de um modelo de ciclo de vida (para concursos, sinônimo de modelo de processo) é o ponto de partida para a definição de um processo de desenvolvimento de software.

Um modelo de ciclo de vida, geralmente, organiza as macro-atividades básicas do processo, estabelecendo precedência e dependência entre as mesmas.

Bem, essa questão foi bem escrita (finalmente)! Percebam que ele diferencia metodologia de desenvolvimento de software do ciclo de vida de software.

Por exemplo: primeiro, eu defino que eu vou utilizar um ciclo de vida evolutivo e depois eu decido que eu vou utilizar a metodologia de desenvolvimento em espiral.

Gabarito: Letra D

104
Q
  1. (CESGRANRIO / PETROBRÁS – 2010) No Ciclo de Vida Clássico, também chamado de Modelo Sequencial Linear ou Modelo Cascata, é apresentada uma abordagem sistemática composta pelas seguintes atividades:

a) Análise de Requisitos de Software, Projeto, Geração de Código, Teste e Manutenção.

b) Modelagem e Engenharia do Sistema/Informação, Análise de Requisitos de Software, Projeto, Geração de Código, Teste e Manutenção.

c) Modelagem e Engenharia do Sistema/Informação, Projeto, Geração de Código, Teste e Manutenção.

d) Levantamento de Requisitos de Software, Projeto, Geração de Código e Manutenção e Análise de Requisitos de Software.

e) Levantamento de Requisitos de Software, Projeto, Geração de Código, Teste Progressivo e Manutenção.

A

POR SOMMERVILLE
Análise e Definição de Requisitos
Projeto de Sistema e Software
Implementação e Teste de Unidade
Integração e Teste de Sistema
Operação e Manutenção

POR ROYCE
Requisitos de Sistema
Requisitos de Software
Análise
Projeto
Codificação
Teste
Operação

POR PRESSMAN (4ª ED)
Modelagem e Engenharia do Sistema/Informação
Análise de Requisitos de Software
Projeto
Geração de Código
Teste e Manutenção

POR PRESSMAN (6ª ED)
Comunicação
Planejamento
Modelagem
Construção
Implantação

A Letra B está correta de acordo com o Pressman 4ª Edição, mas está errada de acordo com o Pressman 6ª Edição.

Ademais, na questão ele sequer disse que era de acordo com o Pressman.

Portanto, percebam que é um assunto polêmico e que as bancas deveriam ignorar, mas eventualmente elas cobram mesmo assim.

Gabarito: Letra B

105
Q
  1. (IBFC / EBSERH – 2020) O ciclo de vida do software é a estrutura que contém processos, atividades e tarefas envolvidas no desenvolvimento, operação e manutenção de um produto de software.

Assinale a alternativa que identifica corretamente o modelo mais antigo de ciclo de vida de software:

a) Espiral

b) Evolutivo

c) Incremental

d) Prototipagem

e) Cascata

A

O modelo mais antigo de ciclo de vida de software – também conhecido como modelo clássico – é o modelo em cascata.

Gabarito: Letra E

106
Q
  1. (INSTITUTO AOCP / Prefeitura de Novo Hamburgo - RS – 2020) Existem diversos modelos de desenvolvimento de software na literatura.

Sabendo disso é correto afirmar que o modelo que se baseia na ideia de desenvolver uma versão inicial do produto, apresentá-la para os comentários dos clientes e continuar o desenvolvimento, por meio da criação de diversas versões, até que um produto final adequado seja alcançado, é o:

a) modelo orientado a objetos.

b) modelo orientado ao reúso.

c) modelo incremental.

d) modelo cascata.

e) modelo híbrido.

A

A ideia de desenvolver uma versão inicial do produto, apresentá-la para os comentários dos clientes e continuar o desenvolvimento, por meio da criação de diversas versões, até que um produto final adequado seja alcançado, é a definição clássica do Modelo Incremental.

Gabarito: Letra C

107
Q
  1. (INSTITUTO AOCP / UFPB – 2019) Existem diferentes processos de software, porém todos devem ser compostos por quatro etapas fundamentais.

Assinale a alternativa que apresenta essas etapas.

a) 1. Análise de Software; 2. Desenvolvimento de Software; 3. Validação de Software; 4. Evolução de Software.

b) 1. Especificação de Software; 2. Projeto e Implementação de Software; 3. Validação de Software; 4. Evolução de Software.

c) 1. Análise de Requisitos; 2. Projeto e Implementação de Software; 3. Teste de Software; 4. Evolução de Software.

d) 1. Análise de Requisitos; 2. Projeto e Implementação de Software; 3. Validação de Software; 4. Suporte Técnico.

e) 1. Especificação de Software; 2. Desenvolvimento de Software; 3. Teste de Software; 4. Implantação de Software.

A

Existem dezenas de classificações de fases de processos de software.

Eu não gosto desse tipo de questão porque é quase impossível saber à qual dessas classificações a questão se refere.

No caso dessa questão, ela considerou que as quatro etapas fundamentais são: Especificação de Software, Projeto e Implementação de Software, Validação de Software e Evolução de Software.

Essas etapas são parecidas com as fases do ciclo de vida do Ian Sommerville: Especificação, Desenvolvimento, Validação e Evolução.

É igual, professor? Não, mas é o que mais se aproxima! Reitero: eu detesto questões desse tipo porque cabe praticamente qualquer resposta.

Gabarito: Letra B

108
Q
  1. (Inaz do Pará / CORE-SP – 2019) “O Modelo em Cascata (do inglês: Waterfall Model) é um modelo de desenvolvimento de software sequencial no qual o processo é visto como um fluir constante para frente (como uma cascata)” Disponível em: https://pt.wikipedia.org/wiki/Modelo_em_cascata. Acesso em: 13.12.2018

No que tange ao processo de desenvolvimento de software em cascata, qual a afirmativa correta?

a) O modelo em cascata ou clássico também pode ser conhecido como “Bottom-UP”.

b) Este modelo está defasado e não é mais utilizado, tendo sido descontinuado desde a década de 90.

c) As fases do modelo em cascata seguem a seguinte ordem: (1) Requerimento, (2) Verificação, (3) Projeto, (4) Implementação e (5) Manutenção.

d) As fases do modelo são como uma cascata, mantendo o fluxo do trabalho de cima para baixo, não podendo voltar às fases iniciais, somente pular etapas para frente.

e) A saída produzida em cada fase será utilizada como entrada da fase seguinte, tornando o modelo em cascata um modelo simples de entender e controlar.

A

(a) Errado, ele é conhecido como um modelo top-down – assim como uma cascata;

(b) Errado, ele está defasado, mas continua sendo utilizado em diversos locais;

(c) Errado, as fases dependem do autor, mas nenhum apresenta as fases da questão;

(d) Errado, não é permitido pular etapas para frente;

(e) Correto, a saída de uma fase é realmente utilizada como entrada para a fase seguinte, tornando-o um modelo simples de entender e controlar.

Gabarito: Letra E

109
Q
  1. (IESES / SCGás – 2019) Assinale a alternativa que completa as lacunas corretamente.

Considerando que o encadeamento entre uma fase e outra é uma das características do modelo em cascata, ou ciclo de vida de software. Este modelo é um exemplo de ________________.

Neste tipo de processo você _______________e programar todas as atividades do processo antes de ________________.

a) um estágio – escrever – encerrar o projeto.

b) um processo dirigido a planos - deve planejar - começar a trabalhar nelas.

c) um estágio – deve planejar – encerrar o projeto.

d) um processo dirigido a planos – escrever – encerrar o projeto

A

Considerando que o encadeamento entre uma fase e outra é uma das características do modelo em cascata, ou ciclo de vida de software.

Este modelo é um exemplo de um processo dirigido a planos.

Neste tipo de processo você deve planejar e programar todas as atividades do processo antes de começar a trabalhar nelas.

Gabarito: Letra B

110
Q
  1. (INSTITUTO AOCP / UFPB – 2019) Há casos em que os requisitos de um problema são bem compreendidos, por exemplo, quando o trabalho flui da comunicação ao emprego de forma relativamente linear.

Sobre o modelo cascata, empregado na engenharia de software, assinale a alternativa correta.

a) O modelo cascata, algumas vezes denominado ciclo de vida clássico, sugere uma abordagem sequencial e sistemática para o desenvolvimento do software, começando com o levantamento de necessidades por parte do cliente, avançando pelas fases de planejamento, modelagem, construção, emprego e culminando no suporte contínuo do software concluído.

b) O modelo cascata é projetado para o desenvolvimento do software de forma incremental.

c) O modelo cascata nada mais é que a criação de protótipos.

d) No modelo cascata, o software é desenvolvido em uma série de versões evolucionárias. Nas primeiras iterações, a versão pode consistir em um modelo ou em um protótipo.

e) O modelo cascata combina fluxos de processo linear e paralelo dos elementos. Esse modelo aplica as sequências lineares de forma escalonada. Cada sequência linear produz incrementos entregáveis do software.

A

(a) Correto;

(b) Errado, esse seria o modelo iterativo e incremental;

(c) Errado, esse seria o modelo em prototipação;

(d) Errado, esse seria o modelo evolucionário;

(e) Errado, não há fluxos paralelos.

Gabarito: Letra A

111
Q
  1. (AOCP / EMPREL – 2019) O ciclo de vida clássico, que foi o primeiro modelo publicado de desenvolvimento de software, é conhecido como:

a) Cascata.

b) Espiral.

c) Incremental.

d) Evolucionário.

e) Prototipação.

A

O ciclo de vida clássico é conhecido como modelo em cascata.

Gabarito: Letra A

112
Q
  1. (IBFC / Emdec – 2019) Sobre alguns modelos do ciclo de vida de desenvolvimento de software, assinale a alternativa correta.

a) Incremental

b) Curva

c) Estrela

d) Circular

A

Circular, Estrela e Curva não são modelos de ciclo de desenvolvimento de software – incremental, sim.

Gabarito: Letra A

113
Q
  1. (SELECON / Prefeitura de Boa Vista - RR – 2019) No que tange à Engenharia de Software, um dos ciclos de vida para o desenvolvimento de sistemas preconiza que os requisitos do cliente são obtidos e, de acordo com a funcionalidade, são agrupados em módulos.

Após este agrupamento, a equipe, junto ao cliente, define a prioridade em que cada módulo será desenvolvido, escolha baseada na importância daquela funcionalidade ao negócio do cliente.

Cada módulo passa por todas as fases de projeto, conforme se observa na figura a seguir, e será entregue ao cliente um software operacional.

Assim, o cliente receberá parte do produto final em menos tempo.

Esse ciclo de vida é conhecido como:

a) cascata

b) espiral

c) incremental

d) evolutivo.

A

Esse ciclo que se repete iterativamente incrementando funcionalidades é conhecido como iterativo e incremental (ou simplesmente incremental).

Gabarito: Letra C

114
Q
  1. (FAURGS / BANRISUL – 2018) se preocupa com todos os aspectos do desenvolvimento de sistemas computacionais, incluindo engenharia de hardware, software e processo; e é uma disciplina da engenharia que se preocupa com todos aspectos da produção de software, desde os estágios iniciais da especificação do sistema até sua manutenção, quando o sistema já está sendo usado.

Assinale a alternativa que completa, correta e respectivamente, as lacunas do texto acima.

a) Engenharia de Domínio – Engenharia de Software

b) Engenharia Reversa – Engenharia de Sistemas

c) Engenharia de Sistemas – Engenharia de Domínio

d) Engenharia de Sistemas – Engenharia de Software

e) Engenharia Reversa – Engenharia de Domínio

A

Engenharia de Sistemas se preocupa com todos os aspectos do desenvolvimento de sistemas computacionais, incluindo engenharia de hardware, software e processo; e Engenharia de Softaware é uma disciplina da engenharia que se preocupa com todos aspectos da produção de software, desde os estágios iniciais da especificação do sistema até sua manutenção, quando o sistema já está sendo usado.

Gabarito: Letra D

115
Q
  1. (FAURGS / BANRISUL – 2018) Considere as seguintes afirmações sobre Princípios de Engenharia de Software.

I - São utilizadas diferentes técnicas de engenharia de software para cada tipo de sistema, porque cada software tem características bastante diversas.

II - Uma característica fundamental de um sistema de software é a eficiência, pois o software não deve desperdiçar os recursos do sistema, como memória e ciclos do processador. Eficiência inclui capacidade de resposta, tempo de processamento, uso da memória, etc.

III - Engenheiros de software não devem preocupar-se apenas com questões técnicas, devendo se comportar de forma ética e moralmente responsável, pois têm responsabilidades com a profissão de engenharia e com a sociedade.

Quais estão corretas?

a) Apenas I.

b) Apenas I e II.

c) Apenas I e III.

d) Apenas II e III.

e) I, II e III.

A

(I) Correto, cada software tem características particulares;

(II) Correto, eficiência está diretamente ligada a recursos gastos em relação à precisão e integridade com que os usuários atingem as suas metas;

(III) Correto, engenharia de software envolve tanto aspectos técnicos quanto aspectos éticos, morais, econômicos, etc.

Gabarito: Letra E

116
Q
  1. (FAURGS / TJ-RS – 2018) Considere as seguintes afirmações sobre o modelo cascata de desenvolvimento de software.

I - É um exemplo de processo dirigido a planos; em princípio, deve-se planejar todas as atividades do processo antes de se começar a trabalhar nelas.

II - É consistente com outros modelos de processos de engenharia e a documentação é produzida em cada fase do ciclo.., Dessa forma, o processo torna-se visível e os gerentes podem monitorar o progresso de acordo com o plano de desenvolvimento.

III- Sua maior vantagem é a divisão inflexível do projeto em estágios distintos, de forma que os compromissos devem ser assumidos em um estágio inicial do processo, o que facilita que atendam às mudanças de requisitos dos clientes.

Quais estão corretas?

a) Apenas I.

b) Apenas I e II.

c) Apenas I e III.

d) Apenas II e III.

e) I, II e III.

A

(I) Correto, trata-se realmente de uma metodologia dirigida a planos;

(II) Correto, o modelo em cascata é – sim – consistente com outros modelos de processos de engenharia e temos uma documentação ao fim de cada fase. Isso torna o processo visível e o monitoramento do progresso mais simples;

(III) Errado, essa é sua maior desvantagem, visto que dificulta que atendam às mudanças de requisitos dos clientes.

Gabarito: Letra B

117
Q
  1. (FAURGS / BANRISUL – 2018) Há vários modelos de processo de software, sendo que cada um define um fluxo de processo que invoca cada atividade do desenvolvimento de forma diversa. O modelo __________________ , algumas vezes chamado ciclo de vida clássico, é um exemplo de processo dirigido a planos, pois deve-se planejar todas as atividades (estágios) do processo antes de começar a trabalhar nelas. Em princípio, o estágio seguinte não deve ser iniciado até que o estágio anterior seja concluído, mas na prática este processo não é um modelo linear simples, envolvendo o feedback de um estágio a outro. Assim os documentos e artefatos produzidos em cada estágio podem ser modificados para refletirem as alterações em cada um deles. Este modelo é consistente com outros modelos de processo de engenharia, e a documentação é produzida em cada estágio do ciclo. Desta forma, o processo torna-se visível e os gerentes podem monitorar o progresso de acordo com o plano de desenvolvimento. Seu maior problema é a divisão inflexível do projeto em estágios distintos e, por isso, deve ser usado apenas quando os requisitos são bem compreendidos e pouco provavelmente venham a ser radicalmente alterados durante o desenvolvimento.

Assinale a alternativa que preenche corretamente a lacuna do texto acima:

a) cascata (waterfall)

b) espiral

c) orientado a desenvolvimento incremental

d) baseado em componentes

e) prototipação

A

Modelo de ciclo de vida clássico? Modelo em Cascata (Waterfall).

Gabarito: Letra A

118
Q
  1. (COSEPE / UFPI – 2018) O modelo cascata é um dos paradigmas mais antigos da engenharia de software.

Dentre os problemas às vezes encontrados quando se aplica o modelo cascata, tem- se:

a) A etapa de comunicação ser responsável pelo levantamento das necessidades.

b) A existência de uma variação na representação do modelo, denominada de modelo V.

c) O modelo ser equivocadamente aplicado a problemas com requisitos bem definidos e razoavelmente estáveis.

d) O uso do fluxo sequencial proposto pelo modelo, visto que projetos reais raramente seguem tal fluxo.

e) A existência de somente cinco etapas no modelo, da comunicação ao emprego.

A

(a) Errado.

Isso não é um problema do modelo em cascata;

(b) Errado, Isso não é um problema do modelo em cascata;

(c) Errado.

Essa é uma característica do modelo e, não, um problema;

(d) Correto.

De acordo com Pressman, projetos reais raramente seguem o fluxo sequencial que o modelo propõe.

Embora o modelo linear possa conter iterações, ele o faz indiretamente.

Como consequência, mudanças podem provocar confusão à medida que a equipe de projeto prossegue;

(e) Errado.

Isso não é um problema do modelo em cascata.

Gabarito: Letra D

119
Q
  1. (Gestão Concursos / EMATER – 2018) O processo de um software é um conjunto de atividades que conduz ao desenvolvimento do produto software e o modelo de processo é uma descrição simplificada do processo.

Qual é a característica que define o modelo cascata?

a) Atividades intercaladas.

b) Atividades sequenciais.

c) Rápida entrega do software.

d) Existência de componentes reusáveis.

A

(a) Errado, atividades são sequenciais;

(b) Correto, atividades são sequenciais;

(c) Errado, não há garantia de rápida entrega de software;

(d) Errado, em geral não se utiliza componentes reusáveis.

Gabarito: Letra B

120
Q
  1. (FADESP / IF-PA – 2018) O modelo de desenvolvimento de software em cascata, também conhecido como ciclo de vida clássico, sugere uma abordagem sistemática e sequencial para o desenvolvimento de softwares que começa com a especificação dos requisitos e termina na manutenção do software acabado.

Nos últimos anos, este modelo de ciclo de desenvolvimento vem sofrendo várias críticas quanto a sua eficácia.

Assim, é correto afirmar que um dos possíveis problemas do ciclo de vida clássico é:

a) a exigência do modelo para que o cliente estabeleça todos os requisitos explicitamente.

b) a construção problemática dos componentes, caso o sistema não possa ser adequadamente modularizado.

c) a responsabilidade do levantamento das necessidades pela etapa de comunicação.

d) a aplicação do modelo de forma incorreta a problemas com requisitos bem definidos e razoavelmente estáveis.

e) a existência de somente cinco etapas no modelo, da comunicação à imantação.

A

(a) Correto, um dos principais problemas é que o cliente deve estabelecer todos os reqisitos explicitamente no início do projeto;

(b) Errado, isso não tem nenhuma relação com o modelo em cascata;

(c) Errado, esse não é um problema do modelo em cascata – é apenas uma característica;

(d) Errado, esse não é um problema específico do modelo em cascata;

(e) Errado, esse não é um problema do modelo em cascata – é apenas uma característica.

Gabarito: Letra A

121
Q
  1. (QUADRIX / CRM-PR – 2018) É no estágio final do modelo em cascata, ou ciclo de vida de software, operação e manutenção, que o software é colocado em uso.
A

Pefeito! No modelo em cascata, o software só entra em uso no final do ciclo de vida.

Gabarito: Correto

122
Q
  1. (QUADRIX / CRM-PR – 2018) O modelo em cascata é composto por três estágios, que são independentes entre si: análise e definição de requisitos; implementação e teste unitário; e operação e manutenção.
A

Segundo Sommerville, as etapas do modelo em cascata são: análise e definição de requisitos; projeto de sistema e software; implementação e teste de unidade; integração e teste de sistema; e operação e manutenção.

Logo, faltam dois estágios!

Gabarito: Errado

123
Q
  1. (FAURGS / UFRGS – 2018) Considere as afirmações abaixo sobre Engenharia de Software: I - A Engenharia de Software não se preocupa apenas com os processos técnicos do desenvolvimento de software.

Ela também inclui atividades como gerenciamento de projeto de software e desenvolvimento de ferramentas, métodos e teorias para apoiar a produção de software.

II - Por ser uma abordagem sistemática para a produção de software, a Engenharia de Software propõe técnicas e métodos universais que são adequados a todos os sistemas e a todas as empresas.

III - Um processo de software é uma sequência de atividades que leva à produção de um produto de software.

Quais estão corretas?

a) Apenas I.

b) Apenas I e II.

c) Apenas I e III.

d) Apenas II e III.

e) I, II e III.

A

(I) Correto, questão retirada litealmente do livro do Sommerville;

(II) Errado, um processo de software não pode ser definido de forma universal.

Para ser eficaz e conduzir à construção de produtos de boa qualidade, um processo deve ser adequado às especificidades do projeto em questão.

Deste modo, processos devem ser definidos caso a caso, considerando-se diversosaspectos específicos do projeto em questão;

(III) Correto, um processo de software é realmente uma sequência de atividades que leva à produção de um produto de software.

Gabarito: Letra C

124
Q
  1. (FAURGS / BANRISUL – 2018) Considere as seguintes afirmações sobre processos de software.

I - Um processo de software é um conjunto de atividades relacionadas que levam à produção de um produto de software.

II - Os processos ágeis são uma categoria de processo de software em que o planejamento não é gradativo e, por isso, torna-se mais difícil alterar o processo de maneira que reflita as necessidades de mudança dos clientes.

III - Em organizações nas quais a diversidade de processos de software é reduzida, os processos de software podem ser melhorados pela padronização.

Isso possibilita uma melhor comunicação, além de redução no período de treinamento, e torna mais econômico o apoio ao processo automatizado.

Quais estão corretas?

a) Apenas I.

b) Apenas I e II.

c) Apenas I e III.

d) Apenas II e III.

e) I, II e III.

A

(I) Correto, definição perfeita de processo de software;

(II) Errado, não vimos metodologias ágeis, mas é justamente o contrário: ocorre um planejamento gradativo tornando mais fácil aterar o processo de maneira que reflita as necessidades de mudança dos clientes;

(III) Correto, organizações com menos diversidade de processos de software evidentemente podem melhorá- los com maior facilidade, possibilitando melhor padronização, comunicação, treinamento e economia.

Gabarito: Letra C

125
Q
  1. (IBADE / IPM - JP – 2018) No que diz respeito à Engenharia de Software, um modelo de processo é visualizado como um ciclo de vida constituído da especificação, do desenvolvimento, da validação e da evolução, e as representa como fases do processo, cada uma separada das outras, tais como especificação de requisitos, projeto de software, implementação e testes.

Esse modelo de processo é denominado Modelo:

a) baseado em Prototipação.

b) baseado em Eventos.

c) em Espiral.

d) em Árvore.

e) em Cascata.

A

Quando a questão afirma que cada fase é separada das outras, podemos inferir que elas ocorrem de forma sequencial.

Logo, trata-se do Modelo em Cascata.

Gabarito: Letra E

126
Q
  1. (AOCP / UNIR – 2018) No modelo cascata, o resultado de cada fase envolve um ou mais documentos que são aprovados e assinados.

A fase seguinte só é iniciada após a conclusão da fase precedente, mas, na prática, eles se sobrepõem e trocam informações. Durante o projeto, são identificados problemas com os requisitos; durante a codificação, são verificados problemas do projeto, e assim por diante. O processo não é um modelo linear simples, mas envolve uma sequência de iterações das atividades de desenvolvimento.

A

Questão retirada literalmente do livro do Ian Sommerville.

De fato, intercorrências de uma fase podem auxiliar em outras fases na prática! Gabarito: Correto

127
Q
  1. (COMPERVE / UFRN – 2018) Considere as afirmativas apresentadas abaixo a respeito dos modelos de processos de software cascata (waterfall) e incremental.

I Uma das vantagens do modelo de processo cascata é que ele antecipa eventuais correções a serem feitas nos requisitos do software.

II O modelo de processos cascata é recomendado quando os requisitos são estáveis e claros.

III No desenvolvimento incremental, a arquitetura e o projeto do software tendem a manter-se estáveis.

IV No desenvolvimento incremental, o acompanhamento e o progresso das atividades são avaliados pela entrega de artefatos.

Estão corretas as afirmativas:

a) II e IV.

b) I e IV.

c) I e III.

d) II e III.

A

(I) Errado.

Pelo contrário, ele atrasa a redução de riscos e eventuais correções;

(II) Correto.

O modelo em cascata é realmente recomendado quando os requisitos são estáveis e claros;

(III) Errado.

No desenvolvimento incremental, a arquitetura e o projeto tendem a se manter instáveis;

(IV) Correto.

O acompanhamento e o progresso das atividades são – de fato – avaliados pela entrega dos artefatos a cada iteração.

Gabarito: Letra A

128
Q
  1. (IESES / CEGÁS – 2017) Assinale a alternativa que preenche as lacunas corretamente relativa a definição abaixo para Engenharia de Software.

De acordo com a IEEE Engenharia de Software é a aplicação de uma abordagem sistemática, e quantificável no desenvolvimento, e manutenção de softwares.

a) Incremental – documentação.

b) Estruturada – implantação.

c) Disciplinada – operação.

d) Completa – implementação.

A

A definição oficial da IEEE afirma que engenharia de software é a aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, operação e manutenção de softwares.

A questão cobra simplesmente um decoreba de definição!

Gabarito: Letra C

129
Q
  1. (COPESE / UFPI – 2014) O modelo RAD (Rapid Application Development) é um modelo incremental que enfatiza um ciclo de desenvolvimento curto, sendo construído baseado em componentes.
A

Perfeito! Incremental? Sim! Ciclo de desenvolvimento curto? Sim! Baseado em componentes? Sim!

Gabarito: Correto

130
Q
  1. (MPE-RS / MPE-RS – 2012) O ciclo de vida básico de um software compreende:

a) a implementação, a implantação e o teste.

b) a análise, a segurança e o controle de usuários.

c) a implementação, a análise e o teste.

d) a implementação, a validação e as vendas.

e) a análise, o projeto, a implementação e o teste.

A

Alguns autores afirmam que os modelos de ciclo de vida básicos, de maneira geral, contemplam pelo menos as fases de: Planejamento; Análise e Especificação de Requisitos; Projeto; Implementação; Testes; Entrega e Implantação; Operação; e Manutenção.

Aqui temos que escolher a mais correta, na medida em que a primeira, terceira e última opções estão corretas.

Nesse sentido, a última opção é a mais correta!

Gabarito: Letra E

131
Q
  1. (Instituto Cidade / TCM-GO – 2012) De acordo com a engenharia de software, como todo produto industrial, o software possui um ciclo de vida.

Cada fase do ciclo de vida possui divisões e subdivisões.

Em qual fase avaliamos a necessidade de evolução dos softwares em funcionamento para novas plataformas operacionais ou para a incorporação de novos requisitos?

a) Fase de operação;

b) Fase de retirada;

c) Fase de definição;

d) Fase de design.

e) Fase de desenvolvimento;

A

A fase retirada é um grande desafio para os tempos atuais.

Diversos softwares que estão em funcionamento em empresas possuem excelente níveis de confiabilidade e de correção.

No entanto, eles precisam evoluir para novas plataformas operacionais ou para a incorporação de novos requisitos.

A retirada desses softwares legados em uma empresa é sempre uma decisão difícil: como abrir mão daquilo que é confiável e ao qual os funcionários estão acostumados, após anos de treinamento e utilização? Portanto, processos de reengenharia podem ser aplicados para viabilizar a transição ou migração de um software legado para um novo software de forma a proporcionar uma retirada mais suave.

A avaliação da necessidade de evolução do software em funcionamento para novas plataformas operacionais ou para a incorporação de novos requisitos realmente ocorrem na fase de retirada.

Gabarito: Letra B

132
Q
  1. (UPANET / JUCEPE – 2012) O Desenvolvimento Rápido de Aplicações (RAD – Rapid Application Development) pode fazer uso do processo de desenvolvimento conjunto de aplicações (JAD – Joint Application Development) para coletar dados e analisar requisitos.
A

Questão estranha! Pode usar o JAD? Claro, É uma técnica para levantar requisitos.

Por que não poderia?

Gabarito: Correto

133
Q
  1. (FUNIVERSA / IPHAN – 2009) A Engenharia de Software resume-se em um conjunto de técnicas utilizadas para o desenvolvimento e manutenção de sistemas computadorizados, visando produzir e manter softwares de forma padronizada e com qualidade.

Ela obedece a alguns princípios como (1) Formalidade, (2) Abstração, (3) Decomposição, (4) Generalização e (5) Flexibilização.

Assinale a alternativa que apresenta conceito correto sobre os princípios da Engenharia de Software.

a) A flexibilização é o processo que permite que o software possa ser alterado, sem causar problemas para sua execução.

b) A formalidade é a maneira usada para resolver um problema, de forma genérica, com o intuito de poder reaproveitar essa solução em outras situações semelhantes.

c) A generalização preocupa-se com a identificação de um determinado fenômeno da realidade, sem se preocupar com detalhes, considerando apenas os aspectos mais relevantes.

d) Pelo princípio da decomposição, o software deve ser desenvolvido de acordo com passos definidos com precisão e seguidos de maneira efetiva.

e) A abstração é a técnica de se dividir o problema em partes, de maneira que cada uma possa ser resolvida de uma forma mais específica.

A

A Engenharia de Software possui alguns princípios, tais como: Formalidade, em que o software deve ser desenvolvido de acordo com passos definidos com precisão e seguidos de maneira efetiva; Abstração, preocupa-se com a identificação de um determinado fenômeno da realidade, sem se preocupar com detalhes, considerando apenas os aspectos mais relevantes.

Há a Decomposição, em que se divide o problema em partes, de maneira que cada uma possa ser resolvida de uma forma mais específica; Generalização, maneira usada para resolver um problema, de forma genérica, com o intuito de reaproveitar essa solução em outras situações; Flexibilização é o processo que permite que o software possa ser alterado, sem causar problemas para sua execução.

Logo, a flexibilização é o processo que permite que o software possa ser alterado, sem causar problemas para sua execução.

Gabarito: Letra A

134
Q

(TRT/10 – 2013) A engenharia de software engloba processos, métodos e ferramentas.
Um de seus focos é a produção de software de alta qualidade a custos adequados.

A

A engenharia de software tem por objetivos a aplicação de teoria, modelos, formalismos, técnicas e ferramentas da ciência da computação e áreas afins para a desenvolvimento sistemático de software.

Associado ao desenvolvimento, é preciso também aplicar processos, métodos e ferramentas sendo que a pedra fundamental que sustenta a engenharia de software é a qualidade. Ela não menciona foco na qualidade, mas não restringe também somente a processos, métodos e ferramentas.

Gabarito: Correto.

135
Q

(MEC – 2011) A engenharia de software, disciplina relacionada aos aspectos da produção de software, abrange somente os processos técnicos do desenvolvimento de software.

A

Ela abrange também com atividades como o gerenciamento de projeto de software e o desenvolvimento de ferramentas, métodos e teorias que apoiem a produção de software.

Gabarito: Errado.

136
Q

(Banco da Amazônia – 2010) Os princípios de engenharia de software definem a
necessidade de formalidades para reduzir inconsistências e a decomposição para lidar
com a complexidade.

A

A engenharia de software possui alguns princípios, dentre os quais: Formalidade, em que o software deve ser desenvolvido de acordo com passos definidos com precisão e seguidos de maneira efetiva;

Decomposição, em que se divide o problema em partes, de maneira que cada uma possa ser resolvida de uma forma mais específica. Logo, são princípios: Formalidade e Decomposição.

Gabarito: Correto

137
Q

(TCE/PR – 2016) A metodologia de processos genérica para a engenharia de software é
composta de seis etapas: comunicação, planejamento, modelagem, construção,
emprego e aceitação.

A

Essas etapas parecem as fases do ciclo de vida de acordo com o Pressman, que são: Comunicação, Planejamento, Modelagem, Construção e Implantação.

Percebam que ele troca Implantação por Emprego e Aceitação.

Gabarito: Errado.

138
Q

(TCE/TO – 2009) A escolha do modelo do ciclo de vida não depende de características
específicas do projeto, pois o melhor modelo é sempre o mais usado pela equipe do projeto.

A

Um processo de software não pode ser definido de forma universal. Eles devem ser definidos caso a caso, considerando-se diversos aspectos específicos do projeto em questão. Dessa forma, a afirmação não faz o menor sentido! A
escolha depende das características do projeto; além disso, não existe um “melhor” modelo.

Gabarito: Errado.

139
Q

(CGU – 2012) A escolha de um modelo é fortemente dependente das características do
projeto. Os principais modelos de ciclo de vida podem ser agrupados em três categorias
principais:

a) sequenciais, cascata e evolutivos.
b) sequenciais, incrementais e ágeis.
c) sequenciais, incrementais e evolutivos.
d) sequenciais, ágeis e cascata.
e) cascata, ágeis e evolutivos.

A

A maioria dos processos de software é baseada em três modelos gerais: modelo em cascata; desenvolvimento iterativo e engenharia de software baseada em componentes.

Isso entra em contradição com o que dizem outros autores, isto é, os principais modelos podem ser agrupados em três categorias: modelos sequenciais, modelos incrementais e modelos evolutivo.

Gabarito: Letra C.

140
Q

(TCE/TO – 2008) No ciclo de vida em cascata, é possível realizar alternadamente e
simultaneamente as atividades de desenvolvimento de software.

A

No modelo em cascata, uma fase só se inicia após o término e aprovação da fase anterior, isto é, há uma sequência de desenvolvimento do projeto.

Gabarito: Errado.

141
Q

(MEC – 2011) O modelo Waterfall tem a vantagem de facilitar a realização de mudanças
sem a necessidade de retrabalho em fases já completadas.

A

Trata-se do exato oposto – há dificuldade de lidar com requisitos voláteis, tendo em vista que dependendo do erro, é necessário refazê-lo desde seu início.

Gabarito: Errado.

142
Q

(CFM – 2018) Em relação ao Modelo V de ciclo de vida de um software, assinale a
alternativa correta.

a) O referido modelo é dirigido por testes.

b) O planejamento de testes é realizado durante as fases de levantamento de requisitos, design arquitetural e design detalhado.

c) É um modelo que trata a documentação como um artefato secundário.

d) Caracteriza-se como um modelo que tem foco primeiro na execução e depois na correção dos bugs conforme aparecem. Por ser um modelo objetivo, não há testes
referentes à arquitetura do sistema.

e) Trata-se de uma variação do Modelo Cascata e prevê uma fase de validação e de verificação para cada fase de construção.

A

(a) Errado, apesar de realizar testes a cada fase, ele não é dirigido a testes e, sim, dirigido a planos;

(b) Errado, mas – honestamente – eu não vejo erro algum nesse item. Caso alguém saiba, favor me contar;

(c) Errado, é um artefato primário;

(d) Errado, ocorre uma correção de erros a cada fase da construção;

(e) Correto.

143
Q

(Senado Federal – 2013) No modelo evolucionário, a mudança constante tende a
corromper a estrutura do software.

A

Mudanças constantes acabam mexendo na estrutura do software, o que realmente tende a corrompê-la.

Gabarito: Correto.

144
Q

(TRT/CE – 2017) Os modelos de processo em que o sistema é dividido em pequenos
subsistemas funcionais que, a cada ciclo, são acrescidos de novas funcionalidades são
denominados:

a) evolutivos.
b) unificados.
c) sequenciais.
d) incrementais.

A

O modelo de processo que divide o sistema em pequenos subsistemas funcionais que, a cada ciclo, são acrescidos de novas funcionalidades é o modelo incremental.

Gabarito: Letra D.

145
Q

(IPEA/2003) O RAD (Rapid Application Development) é um modelo de processo de
software incremental que assume um ciclo de desenvolvimento curto e utiliza uma
abordagem de construção com base em componentes.

A

Ele realmente é um modelo de processo incremental e ele – de fato – assume um ciclo de desenvolvimento curso com uma abordagem baseada em componentes.

Gabarito: Correto.

146
Q

(CONAB/2006) O modelo de processo de desenvolvimento de software incremental que
enfatiza um ciclo de desenvolvimento extremamente curto, que compreende as fases de modelagem do negócio, modelagem dos dados, modelagem do processo, geração da
aplicação, além de teste e entrega, e que o desenvolvimento é conseguido pelo uso de
construção baseada em componentes, é conhecido como modelo:

a) sequencial linear;
b) RAD (Rapid Application Development);
c) de prototipagem;
d) espiral;
e) de desenvolvimento concorrente.

A

desenvolvimento extremamente curto, modelo incremental, baseado em componentes… só pode se referir ao RAD.

Gabarito: Letra B

147
Q
  1. (CESPE / CNPQ – 2024) O envolvimento do cliente, o uso do protótipo em produção parcial, o rápido planejamento e o fácil gerenciamento são vantagens da prototipação.
A

Normalmente, protótipos não são desenvolvidos com a intenção de serem usados em produção, mesmo que parcialmente.

Eles são criados principalmente para validar ideias, conceitos e requisitos junto aos usuários ou stakeholders antes do desenvolvimento da solução final.

Utilizar um protótipo em um ambiente de produção pode levar a problemas de estabilidade, segurança e manutenção,
visto que protótipos frequentemente não são construídos com a robustez necessária para
ambientes de produção.

Gabarito: Errado

148
Q
  1. (CESPE / MC – 2022) Conforme o modelo espiral da figura a seguir, o software será desenvolvido em uma série de versões evolucionárias, consistindo em um protótipo, nas primeiras iterações, e, progressivamente, em versões cada vez mais sofisticadas, nas iterações posteriores.
A

A figura ilustra o modelo espiral de desenvolvimento de software, que enfatiza a importância de avaliação e redução de riscos.

Em cada ciclo espiral, novos elementos do projeto são planejados, analisados e desenvolvidos.

Este modelo permite a criação de protótipos nas fases iniciais e refinamentos contínuos, assegurando que cada iteração do produto agregue valor e funcionalidades adicionais, ao mesmo tempo em que o feedback e o conhecimento do risco são melhorados progressivamente.

Gabarito: Correto

149
Q
  1. (CESPE / FUNPRESP-EXE - 2022) No modelo em espiral de desenvolvimento de software, cada giro ou loop da espiral representa uma fase do processo de software.
A

O modelo espiral é uma abordagem iterativa e evolutiva ao desenvolvimento de software, que
combina elementos de design sequencial (modelo cascata) e prototipagem.

Em cada ciclo da espiral, o projeto passa por quatro fases: planejamento, análise de riscos, engenharia e avaliação do cliente.

Esta abordagem é particularmente útil para projetos grandes, complexos e de alto risco.

Gabarito: Correto

150
Q
  1. (CESPE / BANRISUL – 2022) Uma descrição ideal de um componente de software reutilizável deve ser feita com base no modelo 3C, que significa composição, conteúdo e contexto.
A

O modelo 3C para descrever um componente de software reutilizável envolve:

  1. Composição: Elementos que formam o componente e suas inter-relações.
  2. Conteúdo: Funcionalidades e características oferecidas.
  3. Contexto: Ambiente e condições de uso do componente.

Esse modelo padroniza a documentação para facilitar a reutilização em diversos sistemas.

Gabarito: Errado

151
Q
  1. (CESPE / MPC-SC – 2022) No processo de desenvolvimento de software, a prototipação pode ajudar tanto na elicitação de requisitos do sistema quanto no estudo de soluções específicas do software de modo a apoiar o projeto de interface de usuário.
A

Perfeito! A prototipação é um processo útil para ajudar a desenvolver e obter feedback sobre o
design de um software.

No processo de elicitação de requisitos, a prototipação pode ajudar a identificar quais são as necessidades do usuário e quais funcionalidades precisam ser incluídas no
sistema.

Isso também ajuda a verificar se o projeto está abrangendo todas as necessidades do usuário.

Além disso, a prototipação também pode ser usada para explorar diferentes soluções para
o design da interface do usuário.

Isso permite que os desenvolvedores experimentem diferentes soluções para ver qual é a melhor maneira de atender às necessidades do usuário.

Gabarito: Correto

152
Q
  1. (CESPE / MPC-SC – 2022) Usabilidade consiste em determinar, em uma solução de software,
    quão fácil é corrigir um problema após a sua detecção, uma vez que a engenharia de usabilidade refere-se à capacidade de diagnosticar o problema e modificar os componentes necessários para corrigi-lo.
A

A afirmativa está incorreta.

Usabilidade não se refere à correção de problemas ou à facilidade de diagnóstico e modificação de componentes, como descrito.

Usabilidade trata de quão fácil é para os usuários interagirem com um sistema de software, focando em aspectos como eficiência, efetividade e satisfação do usuário ao realizar tarefas.

O que foi descrito na questão está mais relacionado à manutenibilidade, que envolve a capacidade de diagnosticar e corrigir problemas no software.

Gabarito: Errado

153
Q
  1. (CESPE / MPC-SC – 2022) No modelo espiral de Boehm, cada volta na espiral representa uma fase do processo de software: na parte mais interna, enfoca-se a viabilidade do sistema e, no ciclo seguinte, a definição de requisitos, assim por diante, executando-se, ao longo dos ciclos, a análise de riscos, prototipação e codificação.
A

A afirmativa está correta. No modelo espiral de Boehm, cada volta na espiral representa uma fase do processo de desenvolvimento de software.

A parte mais interna se concentra na viabilidade do sistema, seguida pela definição de requisitos e outras fases como análise de riscos, prototipação e codificação.

O modelo é iterativo e permite revisitar etapas conforme o projeto avança, sempre com ênfase na análise de riscos em cada ciclo.

Gabarito: Correto

154
Q
  1. (CESPE / DPE-RO – 2021) Um analista deve escolher uma metodologia de desenvolvimento
    para elaborar o planejamento do ciclo de vida de um produto de software de larga escala.

O sistema é inédito e o reúso de código semelhante não deve ser considerado como base para o novo desenvolvimento. O analista deve considerar, ainda, a necessidade de reduzir os riscos em todas as fases do projeto, pois é provável que os requisitos sejam aprimorados e mudem ao longo do processo.

Entre os riscos a serem mitigados, está o de não ter sido contratado pessoal de software suficiente para construir o produto, além de a equipe contratada não ter experiência suficiente no desenvolvimento de produtos em larga escala.

Ainda, há o risco de o fornecedor do hardware necessário ao projeto não entregar todas as estações clientes no prazo do contrato.

Nessa situação hipotética, para a metodologia do processo de software em questão, é mais
apropriado o uso do:

a) modelo codificar-e-corrigir.
b) modelo espiral.
c) modelo integração e configuração.
d) modelo em cascata.
e) modelo baseado em protótipos.

A

Observem que o analista busca reduzir o risco em todas as fases do projeto, logo podemos eliminar de cara o modelo em cascata, visto que ele atrasa a redução de riscos, fazendo-a somente nas fases finais.

Também podemos eliminar o modelo corrigir-e-codificar (Code and Fix), pois nele é difícil avaliar a qualidade e os riscos do projeto. Esse é mal considerado uma metodologia, dado que ele
envolve ir desenvolvendo e corrigindo erros por experimentação.

O modelo integração e configuração é baseado em reúso, logo também deve ser eliminado.

O modelo baseado em protótipos é utilizado quando o cliente não definiu detalhadamente os requisitos do software, logo não faz sentido aqui.

Por fim, o modelo mais adequado para a redução dos riscos é o modelo espiral, que é orientado à redução de riscos.

Gabarito: Letra B

155
Q
  1. (CESPE / Polícia Federal – 2021) Embora não seja dirigido a riscos, o modelo de desenvolvimento de sistemas espiral de Boehm inclui, em seu framework, a etapa de análise e
    validação dos requisitos.
A

Modelo em Espiral foi proposto originalmente, em 1988, por Boehm.

Sua ideia era representar um processo de software orientado a riscos.

Em vez de representar o processo como uma sequência de atividades com algum retorno entre uma atividade e outra, o processo é representado como uma espiral.

Ele combina atividades de desenvolvimento com aspectos gerenciais (Planejamento,
Tomada de Decisão, Análise de Riscos, etc).

Gabarito: Errado

156
Q
  1. (CESPE / SERPRO – 2021) No modelo formal, as etapas do desenvolvimento do software
    incluem especificação formal para definição de requisitos, refinamento para concepção de
    projeto e prova para a verificação.
A

No modelo formal de desenvolvimento de software, as etapas seguem um rigor matemático, usando notações e métodos formais para garantir a correção e consistência do sistema. As principais etapas incluem:

  1. Especificação formal: Os requisitos do sistema são descritos de forma precisa, utilizando notações matemáticas. Isso evita ambiguidades que podem surgir em descrições textuais.
  2. Refinamento: A especificação é gradualmente refinada para se transformar em um projeto de software, mantendo a consistência com os requisitos formais definidos anteriormente.
  3. Prova formal: Durante o desenvolvimento, são feitas provas matemáticas para verificar se o sistema atende aos requisitos especificados e se o refinamento foi realizado corretamente.

Esse modelo é muito utilizado em sistemas críticos, onde a precisão e a verificação rigorosa são essenciais.

Gabarito: Correto

157
Q
  1. (CESPE / SLU-DF – 2019) No modelo de desenvolvimento de software em cascata, a
    abordagem é orientada ao risco e as tarefas são organizadas nos seguintes ciclos: determinar objetivos, identificar e resolver riscos, desenvolver e testar, e planejar a próxima iteração.
A

Opa… as fases e a característica de ser orientado a risco tratam do modelo em espiral e, não, do modelo em cascata.

Gabarito: Errado

158
Q
  1. (CESPE / MPC-PA – 2019) Os modelos espiral e RAD (Rapid Application Development) são
    classificados, respectivamente, como modelos de processo de desenvolvimento de software dos tipos

a) incremental e sequencial.
b) evolutivo e incremental.
c) evolutivo e sequencial.
d) incremental e evolutivo.
e) evolutivo e evolutivo.

A

A resposta correta é b) evolutivo e incremental.

  • Modelo espiral: É classificado como evolutivo, pois o desenvolvimento ocorre em ciclos (ou “espirais”), onde o software é refinado em cada iteração. Ele se adapta a mudanças nos requisitos e foca na mitigação de riscos ao longo do projeto.
  • Modelo RAD (Rapid Application Development): É um modelo incremental, pois o desenvolvimento do software é feito por meio de componentes ou módulos que são desenvolvidos e entregues em incrementos. Esse modelo prioriza entregas rápidas e o envolvimento intenso do usuário no processo.

Portanto, o modelo espiral é evolutivo, enquanto o modelo RAD é incremental.

Gabarito: B

159
Q
  1. (CESPE / TRT-CE – 2017) Os modelos de processo em que o sistema é dividido em pequenos subsistemas funcionais que, a cada ciclo, são acrescidos de novas funcionalidades são denominados:

a) evolutivos.
b) unificados.
c) sequenciais.
d) incrementais.

A

O modelo de processo que divide o sistema em subsistemas funcionais que, a cada ciclo, são
acrescidas novas funcionalidades é o modelo incremental.

Gabarito: Letra D

160
Q
  1. (CESPE / MEC – 2014) No desenvolvimento de software de grande porte, não se usam, em
    conjunto, os seguintes modelos de processo de software genéricos: modelo em cascata,
    desenvolvimento evolucionário e engenharia de software embasada em computador.
A

A afirmação está incorreta.

No desenvolvimento de software de grande porte, é possível usar em conjunto diferentes modelos de processo de software genéricos, como o modelo em cascata, o desenvolvimento evolucionário e a engenharia de software embasada em computador (CASE - Computer-Aided Software Engineering).

Esses modelos podem ser combinados conforme as necessidades do projeto:

  • Modelo em cascata pode ser usado para partes do projeto que exigem uma abordagem mais linear e estruturada.
  • Desenvolvimento evolucionário é útil para componentes que precisam ser desenvolvidos de forma iterativa, permitindo ajustes e refinamentos ao longo do tempo.
  • Ferramentas CASE podem ser aplicadas para automatizar tarefas no desenvolvimento de software, melhorando a eficiência em qualquer um dos modelos utilizados.

Portanto, esses modelos podem ser usados juntos, dependendo das características e necessidades do projeto de grande porte.

Gabarito: Errado

161
Q
  1. (CESPE / TRT-10 – 2013) No modelo prototipação, a construção de software tem várias atividades que são executadas de forma sistemática e sequencial.
A

Na verdade, quem constrói software por meio de atividades executadas de forma sistemática e sequencial é o Modelo em Cascata; a prototipação é iterativa.

Gabarito: Errado

162
Q
  1. (CESPE / STF – 2013) O processo de software fundamentado no modelo em espiral presenta o processo em loops compostos basicamente por setores, como, por exemplo, definição de
    objetivos, avaliação de riscos, planejamento e desenvolvimento e avaliação.
A

A afirmação está correta.

O modelo espiral de desenvolvimento de software é organizado em loops (ou ciclos) que representam as diferentes fases do processo. Cada ciclo do espiral inclui as seguintes atividades principais:

  1. Definição de objetivos: Estabelece metas, alternativas e restrições para o ciclo.
  2. Avaliação de riscos: Identifica e analisa os riscos associados ao desenvolvimento e suas possíveis soluções.
  3. Planejamento: Planeja a próxima iteração, incluindo cronograma, recursos e atividades a serem realizadas.
  4. Desenvolvimento e avaliação: Conduz a implementação, validação e revisão do produto parcial, com base nos objetivos e planos estabelecidos.

Esse ciclo se repete, refinando o software e abordando novos riscos a cada iteração, até a conclusão do projeto. Portanto, a descrição está correta em relação às fases do modelo espiral.

Gabarito: Correto

163
Q
  1. (CESPE / ANT – 2013) O paradigma de programação orientada a aspectos traz soluções para alguns dos problemas existentes no paradigma orientado a objetos, como herança múltipla e sobrecarga de operadores.
A

A programação orientada a aspectos (AOP) não resolve problemas como herança múltipla ou sobrecarga de operadores.

O AOP foca em modularizar preocupações transversais, como log e segurança, melhorando a separação de responsabilidades no código.

Gabarito: Errado

164
Q
  1. (CESPE / SERPRO – 2013) A POA, uma evolução da programação orientada a objetos, é implementada nas linguagens Java, C++, Smalltalk e Prolog.
A

A Programação Orientada a Aspectos (POA) é, de fato, uma evolução da Programação Orientada a Objetos (POO), mas não é implementada diretamente nas linguagens mencionadas como Java, C++, Smalltalk e Prolog sem extensões ou bibliotecas específicas.

Embora algumas dessas linguagens (como Java e C++) tenham suporte a POA por meio de frameworks ou extensões (como AspectJ para Java), a POA não é uma característica nativa de todas as linguagens citadas. Por exemplo:

  • Java: Suporta POA através de frameworks como AspectJ.
  • C++: Também pode implementar POA, mas não é uma funcionalidade intrínseca da linguagem.
  • Smalltalk e Prolog não têm suporte nativo para POA de maneira convencional.

Gabarito: Errado

165
Q
  1. (CESPE / TRT17 – 2013) O modelo espiral de modelagem de processos para desenvolvimento de software é finalizado quando o software é implantado.
A

A afirmação está incorreta.

O modelo espiral de desenvolvimento de software não é finalizado apenas com a implantação do software.

Ele envolve um processo contínuo de iterações, que incluem definição de objetivos, avaliação de riscos, planejamento, desenvolvimento e avaliação.

A finalização ocorre somente após todas as iterações necessárias, podendo incluir atualizações e manutenções contínuas.

Gabarito: Errado

166
Q
  1. (CESPE / MEC – 2011) O modelo de processo denominado em espiral combina as atividades de desenvolvimento com o gerenciamento de riscos, de modo a minimizá-los e controlá-los.
A

O modelo em espiral realmente combina atividades de desenvolvimento com gerenciamento de riscos com o intuito de minimizá-los e controlá-los.

Gabarito: Correto

167
Q
  1. (CESPE / AL-ES – 2011) No ciclo de vida em espiral, a fase de análise de risco é realizada na etapa da modelagem do produto.
A

Na verdade, é realizada na etapa de planejamento e, não, de modelagem.

De acordo com o Pressman, as etapas são: comunicação, planejamento, modelagem, construção e implantação ou emprego, sendo que a análise de riscos está presente na etapa de planejamento.

Gabarito: Errado

168
Q
  1. (CESPE / FUB – 2011) Os diversos modelos de processo de software disponíveis permitem a representação abstrata de um processo de software sob diferentes perspectivas. No modelo evolucionário, sob a perspectiva da arquitetura, a velocidade de desenvolvimento faz que a produção de documentos que reflitam cada versão do sistema seja economicamente inviável, gerando problemas na validação independente de sistemas.
A

Se os sistemas são desenvolvidos rapidamente, não é viável economicamente produzir documentos para cada versão do sistema.

Gabarito: Correto

169
Q
  1. (CESPE / MEC – 2011) No modelo de prototipação, o processo de desenvolvimento de software é modelado como uma sequência linear de fases, enfatizando um ciclo de desenvolvimento de breve duração.
A

Não é linear, é iterativo!

A questão menciona uma sequência linear de fases, que lembra o Modelo em Cascata;

e um ciclo de desenvolvimento de breve duração, que lembra o Desenvolvimento
Rápido de Aplicações (RAD).

Gabarito: Errado

170
Q
  1. (CESPE / TRE-MT – 2010) A metodologia de prototipagem evolutiva é uma abordagem que
    visualiza o desenvolvimento de concepções do sistema conforme o andamento do projeto, por
    meio de protótipos visuais.
A

A prototipagem evolutiva é uma abordagem que visualiza o desenvolvimento de concepções do sistema conforme o andamento do projeto até chegar ao resultado final.

Esta metodologia baseia-se na utilização de prototipagem visual ou modelos do sistema final.

Logo, pode-se afirmar que é apresentado ao usuário funcionalidades por meio de protótipos visuais conforme o andamento do projeto.

Gabarito: Correto

171
Q
  1. (CESPE / INMETRO – 2010) Um dos benefícios da prototipação é a documentação
    normalmente gerada, que facilita a manutenção dos sistemas a longo prazo e a elaboração de casos de teste.
A

Trata-se justamente do inverso!

A documentação geralmente é prejudicada quando se utiliza a prototipação!

Imaginem só: você precisa entregar algo rápido para o usuário verificar se satisfaz seus requisitos, não é viável fazer uma documentação formal.

Gabarito: Errado

172
Q
  1. (CESPE / INMETRO – 2010) Na abordagem evolutiva para desenvolvimento de software, um protótipo do software é produzido e utilizado para identificar possíveis problemas com os requisitos, sendo descartado logo em seguida, e o desenvolvimento do software propriamente dito é, então, iniciado.
A

Se o protótipo é descartado, então não se trata de uma abordagem evolutiva!

Cuidado, porque esses nomes confundem:

existe modelo evolutivo e abordagem evolutiva – a Prototipação Throw away não é uma abordagem evolutiva, mas é parte do Modelo Evolutivo.

Gabarito: Errado

173
Q
  1. (CESPE / SERPRO – 2010) O modelo em espiral de ciclo de vida de software é iterativo e
    incremental, uma vez que a mesma sequência de atividades relacionadas à produção de
    software é realizada a cada ciclo da espiral.
A

Na verdade, ele é iterativo e evolucionário!

Gabarito: Errado

174
Q
  1. (CESPE / SERPRO – 2010) O modelo de desenvolvimento em espiral permite repensar o planejamento diversas vezes durante o desenrolar do projeto.
A

Trata-se do modelo iterativo, portanto permite replanejamento a cada nova iteração.

Gabarito: Correto

175
Q
  1. (CESPE / INMETRO – 2010) No modelo em espiral, um exemplo de modelo iterativo, cada loop da espiral representa uma fase do processo de software. Nesse modelo, os riscos não são considerados, pois podem impactar o projeto.
A

A afirmação está incorreta. No modelo em espiral, cada loop representa uma iteração do processo de desenvolvimento de software, e a avaliação de riscos é uma parte fundamental de cada iteração.

O modelo é projetado para identificar e mitigar riscos potenciais, ao contrário do que sugere a afirmação, que afirma que os riscos não são considerados.

Gabarito: Errado

176
Q
  1. (CESPE / TRE-MT – 2010) O modelo de desenvolvimento em espiral, que tem a codificação como segunda etapa, gera o código do sistema muito mais rapidamente que o modelo de prototipação.
A

Na verdade, é a quarta etapa e não gera o código mais rapidamente que o modelo de prototipação, que é bem mais rápido.

Gabarito: Errado

177
Q
  1. (CESPE / TRE-BA – 2010) Na engenharia de software baseada em componentes, na qual se
    supõe que partes do sistema já existam, o processo de desenvolvimento concentra-se mais na integração dessas partes que no seu desenvolvimento a partir do início. Essa abordagem é baseada em reúso para o desenvolvimento de sistemas de software.
A

Ora, a Engenharia é especializada em produzir componentes reusáveis. Engenheiros raramente fabricam um componente a partir do nada. Eles baseiam seus projetos em componentes exaustivamente testados em outros sistemas.

Quando se fala em Modelo baseado em
Componentes, refere-se a uma estratégia de engenharia de software na qual o processo de
desenvolvimento é voltado à reusabilidade.

Percebam, portanto, que há uma concentração dos esforços mais na integração de partes existentes do que no seu desenvolvimento desde o início.

Gabarito: Correto

178
Q
  1. (CESPE / UNIPAMPA – 2009) No modelo de desenvolvimento prototipagem, um protótipo é
    desenvolvido para ajudar no entendimento dos requisitos do sistema.
A

A Prototipagem é utilizada quando não se conhece bem os requisitos.

É uma forma de entendê-los melhor para posteriormente desenvolver o software.

Ela se configura como um processo iterativo,
interativo e rápido de desenvolvimento e o protótipo serve como um mecanismo de identificação dos requisitos do software, que servirão para uma futura especificação.

Finalmente, um protótipo é em geral desenvolvido para ajudar no entendimento dos requisitos do sistema.

Gabarito: Correto

179
Q
  1. (CESPE / TCE-RN – 2009) A prototipação, uma abordagem para desenvolvimento de software na qual se cria um modelo do software que será implementado, é composta de quatro etapas: planejamento, análise de risco, engenharia e avaliação do cliente.
A

As etapas são Comunicação, Plano Rápido, Modelagem de Plano Rápido, Construção do Protótipo, e Implantação, Entrega e Feedback.

As etapas mencionadas na questão são do Modelo em Espiral.

Gabarito: Errado

180
Q
  1. (CESPE / DETRAN-DF – 2009) O modelo de processo de desenvolvimento de software
    evolucionário parte do desenvolvimento de uma implementação inicial cujos resultados são apresentados aos clientes e refinados por meio de várias versões até que se alcance o sistema adequado. A prototipação, como processo, tem por objetivo compreender as especificações do software para se chegar aos requisitos para o sistema.
A

A questão afirma que a prototipação tem por objetivo (1) compreender as especificações do
software para (2) se chegar aos requisitos para o sistema.

Na verdade, é justamente o contrário!

Primeiro, eu levanto os requisitos do sistema e, depois, eu faço a especificação. Cabe ressaltar que a especificação é o detalhamento dos requisitos, logo ele não pode vir antes do levantamento dos requisitos.

Gabarito: Errado

181
Q
  1. (CESPE / UNIPAMPA – 2009) O modelo espiral admite retorno às fases anteriores de
    desenvolvimento, suportando ainda a execução paralela de fases.
A

Na verdade, ele não admite retorno às fases anteriores e, como é uma espiral, não permite a
execução paralela de fases.

Gabarito: Errado

182
Q
  1. (CESPE / ANATEL – 2009) Entre os modelos de ciclo de vida de software, o modelo espiral
    possui maior proximidade com as práticas da engenharia clássica empregadas, por exemplo, na construção de casas, quando comparado aos modelos cascata e de componentes reusáveis.
A

Na verdade, o modelo em cascata tem uma maior proximidade com as práticas de engenharia clássica.

Gabarito: Errado

183
Q
  1. (CESPE / INMETRO – 2009) Uma das características marcantes do modelo de desenvolvimento em espiral é o fato de ele ser cíclico, e não linear, como o modelo de desenvolvimento em cascata.
A

Perfeito! No entanto, cuidado para não escorregar no português: a questão parece ambígua, mas ela afirma que uma das características marcantes do modelo de desenvolvimento em espiral é o fato de o modelo espiral ser cíclico, diferente do modelo em cascata, que é linear.

Gabarito: Correto

184
Q
  1. (CESPE / UNIPAMPA – 2009) O modelo de desenvolvimento espiral foi desenvolvido somente para abranger as melhores características do ciclo de vida clássico.
A

Esse item não faz qualquer sentido!

Ele não é uma implementação do Modelo em Cascata – ele é um modelo híbrido que combina características do Modelo em Cascata com o Modelo de Prototipagem.

Gabarito: Errado

185
Q
  1. (CESPE / UNIPAMPA – 2009) No modelo de desenvolvimento em espiral, a análise de riscos
    não impacta na elaboração de um produto ou protótipo.
A

É claro que impacta – tanto que ela é considerada explicitamente.

Gabarito: Errado

186
Q
  1. (CESPE / TJDFT – 2008) A prototipação evolucionária não gera problemas de manutenção de sistema porque o desenvolvimento é rápido e não sofre grandes mudanças.
A

Na verdade, gera problemas, sim!

Muitas mudanças tendem a corromper a estrutura do software e isso as tornam difíceis e caras.

Observação: o ideal seria que a questão dissesse Modelo ou Abordagem Evolucionária e, não, Prototipação Evolucionária.

Gabarito: Errado

187
Q
  1. (CESPE / MPE-AM – 2008) No modelo de prototipação, a especificação de requisitos tem pouca importância, pois o software é continuamente adaptado em função dos desejos do usuário.
A

A prototipação serve não só para o levantamento de requisitos, mas também para sua especificação. Galera, como não tem importância? É exatamente para isso que ele serve!

Gabarito: Errado

188
Q
  1. (CESPE / TJDFT – 2008) A prototipação de um software é uma técnica de desenvolvimento não interativa porque o teste do sistema só ocorre na versão final.
A

A Prototipagem é utilizada quando não se conhece bem os requisitos.

É uma forma de entendê-los melhor para posteriormente desenvolver o software.

Ela se configura como um processo iterativo,
interativo e rápido de desenvolvimento e o protótipo serve como um mecanismo de identificação dos requisitos do software, que servirão para uma futura especificação.

Logo, ela é tanto iterativa (repete-se diversas vezes) quanto interativa (conta com a participação ativa dos usuários).

Gabarito: Errado

189
Q
  1. (CESPE / TJDFT – 2008) Uma das finalidades da prototipação é reduzir o esforço de
    desenvolvimento de um software.
A

A prototipação realmente ajuda a reduzir o esforço!

A prototipação (não importa qual tipo) ajuda a
esclarecer requisitos.

Caso eu não faça um protótipo, pode ocorrer de eu não compreender bem requisitos obscuros e, eventualmente, ter que refazer o desenvolvimento.

Gabarito: Correto

190
Q
  1. (CESPE / TJDFT – 2008) A prototipação evolucionária permite que a versão inicial do protótipo seja desenvolvida e refinada em estágios sequenciados, até que se chegue à versão final do sistema.
A

Na prototipação evolucionária, a versão é desenvolvida em estágios sequenciados e, não, o processo de desenvolvimento.

Esse é iterativo e, não, sequenciado.

No entanto, as versões são sequenciais, no sentido de que as versões seguem uma ordem.

Gabarito: Correto

191
Q
  1. (CESPE / TJDFT – 2008) O modelo em espiral é um modelo de processos de software que reúne a natureza iterativa da prototipação com os aspectos sistemáticos e controlados do modelo sequencial linear.
A

O Modelo em Espiral é também conhecido como prototipagem-em-etapas por combinar o modelo em cascata com a prototipação.

Gabarito: Correto

192
Q
  1. (CESPE / TJDFT – 2008) Empregando o modelo de desenvolvimento em espiral, o software é desenvolvido em uma série de versões intermediárias incrementais.
A

A questão fala que o software é desenvolvido em uma série de versões intermediárias incrementais.

Ora, modelos iterativos geram uma série de versões intermediárias; modelos incrementais geram incrementos.

Logo, pode-se assumir que a questão afirma que se trata de um modelo iterativo e incremental.

Pressman discorda, mas não é incomum autores tratarem o modelo em espiral como iterativo e incremental.

Gabarito: Correto

193
Q
  1. (CESPE / SERPRO – 2008) O modelo iterativo e o modelo em espiral possuem características
    semelhantes: ambos permitem que as atividades do processo sejam planejadas e avaliadas ao longo do ciclo de vida.
A

Perfeito! O modelo em espiral possui uma fase para planejar próximas fases.

Lembrando que o Modelo Espiral é um tipo de Modelo Iterativo.

Gabarito: Correto

194
Q
  1. (CESPE / MPE-AM – 2008) A utilização de um modelo de desenvolvimento embasado em
    componentes é uma forma de desenvolvimento em espiral que busca a reutilização de trechos de software desenvolvidos e testados em projetos anteriores e armazenados em um repositório.
A

De fato, ambos os modelos possuem características em comum, mas é muito forte afirmar que o modelo baseado em componentes é uma forma de desenvolvimento em espiral.

O modelo espiral preconiza a identificação de alternativas (reúso de componentes, comprar pronto).

Logo, acredito que essa questão caberia recurso.

Gabarito: Correto

195
Q
  1. (CESPE / SERPRO – 2008) Para a especificação de software e verificação de sistemas, uma alternativa que se fundamenta na matemática discreta e na lógica é o modelo incremental.
A

Na verdade, a alternativa mais adequada é a utilização de métodos formais.

Gabarito: Errado

196
Q
  1. (CESPE / TSE – 2007) Um possível objetivo da prototipação é criar rapidamente um sistema experimental que possa ser avaliado por usuários finais. Um protótipo aprovado pelos usuários pode vir a ser usado como ponto de partida para a construção do sistema.
A

Na maioria dos casos, o protótipo é inviável de ser utilizado por ser muito lento e/ou muito grande e/ou difícil de utilizar.

Em geral, os protótipos são descartados assim que os objetivos de levantamento de requisitos são alcançados.

No entanto, alguns preferem refiná-los iterativamente até evoluir ao sistema final requisitado pelo usuário.

Logo, trata-se de uma alternativa, isto é, pode-se utilizá-lo como ponto de partida para construção do sistema em vez de descartá-lo!

Gabarito: Correto

197
Q
  1. (CESPE / TRE-AL – 2004) No modelo de prototipação, o desenvolvedor cria inicialmente um modelo de software que será posteriormente implementado.
A

A metodologia de Prototipagem Evolutiva (ou Evolucionária) é uma abordagem que visualiza o
desenvolvimento de concepções do sistema conforme o andamento do projeto até chegar ao resultado final.

Esta metodologia baseia-se na utilização de prototipagem visual ou modelos do sistema final.

Estes modelos podem ser simples desenhos ou imagens do sistema.

Na maioria dos casos, o protótipo é inviável de ser utilizado, por ser muito lento e/ou muito grande e/ou difícil de utilizar.

Em geral, os protótipos são descartados assim que os objetivos de levantamento de requisitos são alcançados. No entanto, alguns preferem refiná-los iterativamente até evoluir ao sistema final requisitado pelo usuário. Captaram?

Cria-se, inicialmente, um modelo do sistema final! Além disso, o protótipo pode ser implementado e se tornar esse sistema final.

Galera, essa questão foi retirada literalmente do Pressman (1995):

“Prototyping is a process that enables the construction of a model of the software which is to be built”.

Qual o problema dessa questão? Sua tradução!

Pressman afirma que a Prototipação é um processo que permite ao desenvolvedor a construção de um modelo do software que será construído.

Em outras palavras, a prototipação é um
modelo/esboço do software que posteriormente será construído.

Pensem em um software qualquer! Antes de construir o software, faremos um modelo/esboço dele (não importando se
iremos descartá-lo ou não).

A questão não afirma em nenhum momento que o protótipo será evoluído ou descartado.

Gabarito: Correto

198
Q
  1. (CESPE / COHAB – 2004) O modelo espiral é um modelo de processo de software que combina a natureza iterativa da prototipagem com os aspectos controlados e sistemáticos do modelo sequencial linear.
A

O Modelo em Espiral é também conhecido como prototipagem-em-etapas por combinar o modelo em cascata com a prototipação.

Galera, eu não errei! Essa questão é quase idêntica à anterior: é o CESPE copiando do CESPE!

Gabarito: Correto

199
Q
  1. (CESPE / PBV-RR – 2004) O modelo em cascata é linear e sequencial. Modelos como o espiral e o Rational Unified Process pregam o desenvolvimento iterativo.
A

Ele realmente é linear e sequencial. Além disso, o modelo em espiral e o RUP são ambos iterativos.

Gabarito: Correto

200
Q
  1. (CESPE / BASA – 2004) O modelo em espiral evolui à medida que o processo avança, permitindo ao desenvolvedor e ao cliente entenderem melhor os riscos e reagirem em cada nível evolucionário.
A

De fato, ele evolui à medida que o processo avança, permitindo ao desenvolvedor e ao cliente entender melhor os riscos e como reagir a eles.

Gabarito: Correto

201
Q
  1. (CESPE / PBV-RR – 2004) O modelo em espiral para desenvolvimento de software é
    fundamentado no faseamento comumente adotado em projetos de engenharia a partir da
    década de 70 do século passado. Tal modelo considera as seguintes fases: análise de requisitos, definição, projeto, implementação, integração e testes, operação e manutenção.
A

As atividades (chamadas de fases na questão) são: Comunicação, Planejamento, Modelagem,
Construção e Implantação.

As fases mencionadas são do Modelo em Cascata.

Gabarito: Errado

202
Q
  1. (CESPE / PBV-RR – 2004) O modelo em espiral de desenvolvimento proposto por Boehm apresenta a análise de riscos como uma das suas fases essenciais.
A

Na verdade, a análise de riscos não é uma fase – é uma atividade. No entanto, a banca não entendeu dessa maneira :(

Gabarito: Correto

203
Q
  1. (CESPE / STJ – 2004) O modelo de desenvolvimento em espiral requer a consideração dos riscos técnicos em todos os estágios ou interações do projeto, o que permite reduzir os riscos antes que se concretizem.
A

Perfeito! Deve-se considerar os riscos técnicos em todos os estágios para reduzi-los antes que se concretizem.

Gabarito: Correto

204
Q
  1. (CESPE / TRE-AL – 2004) O modelo de desenvolvimento em espiral engloba o que há de melhor no modelo cascata e no modelo de prototipação, acrescentando a análise de risco, inexistente nestes dois modelos.
A

Existe – sim – análise de riscos no modelo em espiral. No entanto, isso não significa que ela seja inexistente no Modelo em Cascata e no Modelo de Prototipação, ela apenas não é explícita como no Modelo em Espiral.

Gabarito: Errado

205
Q
  1. (CESPE / SERPRO – 2004) Enquanto o reúso em engenharia de software convencional está
    geralmente limitado à extensão e à manutenção de um sistema específico, o reúso, em engenharia de software por componentes, é um requisito de desenvolvimento,
    independentemente do projeto em consideração.
A

A afirmativa está correta. Na engenharia de software convencional, o reúso geralmente ocorre de forma limitada, sendo mais comum durante a extensão ou manutenção de um sistema específico, aproveitando trechos de código ou componentes já existentes dentro de um projeto.

Já na engenharia de software por componentes, o reúso é um requisito essencial do desenvolvimento, não sendo restrito a um projeto em particular. Os componentes de software são projetados para serem modulares e reutilizáveis em diferentes sistemas e contextos. Assim, o foco está na criação de blocos de software que possam ser integrados em diversos projetos, promovendo maior eficiência e economia de tempo no desenvolvimento de novos sistemas.

Gabarito: Correto

206
Q
  1. (CESPE / SERPRO – 2004) O uso de componentes pode estar condicionado a regras de licenciamento. Essa preocupação, no entanto, não existe se os componentes forem
    classificados como software livre.
A

Há regras de licenciamento, sim. Não confundam componentes livres com componentes gratuitos.

Não é porque um software é classificado como software livre que ele é grátis ou não possui regras de licenciamento.

Gabarito: Errado

207
Q
  1. (FCC / TRF - 3ª REGIÃO – 2019) No modelo em espiral de processo de software (Boehm), antes
    de cada atividade de prototipação, é sempre realizada uma atividade de:

a) plano de desenvolvimento.
b) validação de requisitos.
c) teste de aceitação.
d) análise de riscos.
e) plano de ciclo de vida.

A

Antes de cada atividade de prototipação, é realizada a análise de riscos.

Gabarito: Letra D

208
Q
  1. (FCC / TRF - 3ª REGIÃO – 2019) Considere o modelo de ciclo de vida de software constituído
    por rotinas de trabalho com a participação de todos os membros da equipe, onde falhas não são toleráveis e por isso, entre as atividades, duas têm grande importância no processo: uma delas dedicada ao planejamento da etapa e outra à de análise de riscos. As atividades são apoiadas pela geração de protótipos. Suporta o desenvolvimento de sistemas complexos e de grande porte. Trata-se do modelo:

a) Interativo e Incremental.
b) RAD - Rapid Application Development.
c) Espiral.
d) Cascata.
e) Evolutivo.

A

Todas as características apresentadas no enunciado nos remetem ao modelo espiral – com ênfase na análise de riscos.

Gabarito: Letra C

209
Q
  1. (FCC / TRT16 – 2014) Os modelos de processo são uma representação abstrata de um processo de software, que podem ser usados para explicar diferentes abordagens para o
    desenvolvimento de sistemas. Analise as seguintes abordagens:

Desenvolvimento I: intercala as atividades de especificação, desenvolvimento e validação. Um sistema inicial é desenvolvido rapidamente baseado em especificações abstratas e depois é refinado com as entradas do cliente para produzir um produto que o satisfaça.

Modelo II: considera as atividades fundamentais do processo, compreendendo especificação, desenvolvimento, validação e evolução e as representa como fases de processo separadas, tais como especificação de requisitos, projeto de software, implementação, teste etc.

III: baseia-se na existência de um número significativo de partes reusáveis. O processo de
desenvolvimento do sistema enfoca a integração destas partes, ao invés de desenvolvê-las a partir do zero.

Os modelos de processo genéricos descritos em I, II e III são, correta e respectivamente,
associados a:

a) em Espiral - Baseado em Componentes - RAD

b) Evolucionário - em Cascata - Baseado em Componentes

c) Baseado em Componentes - Sequencial - Refactoring

d) Ágil - Sequencial - Unified Process

e) em Cascata - Ágil - Refactoring

A

A alternativa correta é a b) Evolucionário - em Cascata - Baseado em Componentes.

Aqui está o porquê:

  • Desenvolvimento I: Intercala as atividades de especificação, desenvolvimento e validação, com um sistema inicial que é refinado com as entradas do cliente. Isso corresponde ao modelo evolutivo, no qual o software é desenvolvido em incrementos e refinado com base no feedback.
  • Modelo II: Considera atividades do processo como fases separadas (especificação, projeto, implementação, teste). Isso corresponde ao modelo cascata, que segue uma sequência linear e rígida de etapas.
  • Modelo III: Baseia-se na integração de partes reusáveis em vez de desenvolvê-las do zero. Isso corresponde ao modelo baseado em componentes, que se concentra na reutilização e integração de componentes prontos.

Portanto, a sequência correta é Evolucionário - em Cascata - Baseado em Componentes.

Gabarito: Letra B

210
Q
  1. (FCC / DPE-SP – 2013) No desenvolvimento de software, podem ser utilizados os chamados
    modelos evolucionários, cujo objetivo é lidar com produtos que possam evoluir ao longo do
    tempo.

Assinale a alternativa que contém APENAS modelos evolucionários de desenvolvimento
de software.

a) UML e de qualidade.
b) Componentes e arquétipo.
c) Prototipagem e espiral.
d) Redes de Petri e certificação.
e) Semântico e validação.

A

A alternativa que contém apenas modelos evolucionários de desenvolvimento de software é a prototipagem e espiral.

Gabarito: Letra C

211
Q
  1. (FCC / TST – 2012) O Ciclo de Vida de um Sistema especifica todas as fases de desenvolvimento, desde sua concepção até o processo de manutenção e declínio. No que diz respeito ao desenvolvimento de software, existem alguns processos conhecidos. Um destes processos, possui característica iterativa e incremental, inicia cada fase do projeto realizando um planejamento prévio, realiza a execução da fase, verifica o progresso e os resultados da fase (riscos, lições aprendidas) e incrementa novos objetivos para a fase seguinte, seguindo para a próxima iteração. O processo de software em questão é o:

a) Modelo espiral.

b) Ciclo de vida em cascata.

c) Modelo de desenvolvimento evolucionário (prototipação).

d) Modelo de desenvolvimento ágil.

e) Método de desenvolvimento Cleanroom (Sala Limpa).

A

O modelo descrito na questão corresponde ao modelo em espiral, que é iterativo e incremental.

Ele envolve planejamento, execução, verificação dos resultados (com foco na avaliação de riscos e lições aprendidas) e o estabelecimento de novos objetivos para as fases seguintes, sendo caracterizado por ciclos sucessivos de refinamento do sistema.

Gabarito: Letra A

212
Q
  1. (FCC / TRE-CE – 2012) No desenvolvimento de software em espiral (Boehm), cada loop está
    dividido em quatro setores.

NÃO se trata da denominação de um destes setores:

a) levantamento.
b) definição de objetivos.
c) avaliação e redução de riscos
d) desenvolvimento e validação.
e) planejamento.

A

Os setores são:

  • determinar objetivos, alternativas e restrições;
  • avaliar alternativas, identificar e
    resolver riscos;
  • desenvolver e testar;
    e planejar próximas fases.

Logo, levantamento não é um dos setores.

Gabarito: Letra A

213
Q
  1. (FCC / TRT20 – 2010) À medida que se avança pelo modelo ocorre uma iteração e o software
    evolui para estágios superiores, normalmente com aumento da complexidade. Cada iteração
    está provida das atividades determinadas pelos quadrantes planejamento, avaliação de
    alternativas e riscos, desenvolvimento do software e avaliação do cliente.

No ciclo de vida de desenvolvimento de software, trata-se da propriedade do modelo:

a) Cascata.
b) Incremental.
c) Espiral.
d) Prototipação.
e) Balbúrdia.

A

O modelo descrito refere-se ao modelo em espiral, que é caracterizado por iterações nas quais o software evolui, e cada ciclo inclui atividades como planejamento, avaliação de alternativas e riscos, desenvolvimento, e avaliação do cliente.

Esse modelo foca na gestão de riscos e na evolução contínua do software.

Gabarito: Letra C

214
Q
  1. (FCC / MPE-RN – 2010) O modelo em espiral difere principalmente dos outros modelos de
    processo de software por:

a) não contemplar o protótipo.
b) reconhecer explicitamente o risco.
c) não ter fases.
d) possuir uma fase única evolucionária.
e) não contemplar o projeto do produto.

A

A principal característica do modelo em espiral é reconhecer explicitamente os riscos.

Gabarito: Letra B

215
Q
  1. (FCC / BAHIAGÁS – 2010) No modelo em espiral do processo de software cada loop na espiral representa:

a) uma disciplina de requisitos.
b) um enfoque de banco de dados.
c) uma tomada de decisão.
d) uma fase do processo.
e) um ciclo de programa.

A

Cada loop representa uma fase do processo de software.

Dessa forma, o loop mais interno pode estar relacionado à viabilidade do sistema;

o próximo loop, à definição de requisitos;

o próximo, ao projeto de sistema e assim por diante.

Gabarito: Letra D

216
Q
  1. (FGV / TJ-RN - 2023) A Equipe de Tecnologia da Informação (ETI) de um tribunal está envolvida no projeto TERC cujo ciclo de vida segue uma abordagem adaptativa (ágil).

Considerando o ciclo de vida empregado no TERC, a ETI:

a) especifica os requisitos do produto final antes do início do desenvolvimento;

b) solicita o envolvimento das partes interessadas chave em marcos específicos;

c) controla os riscos à medida em que surgem requisitos e restrições;

d) ajusta o ciclo de vida do projeto ao ciclo de vida do produto;

e) estabelece as fases do projeto com base em um ciclo de vida de desenvolvimento preditivo.

A

(a) Errado, isso seria típico do desenvolvimento em cascata;

(b) Errado, ele solicita o envolvimento das partes interessadas chave ao longo de todo o desenvolvimento;

(c) Correto, riscos são controlados à medida em que surgem requisitos e restrições;

(d) Errado, isso seria típico do desenvolvimento em cascata;

(e) Errado, isso também seria típico do desenvolvimento em cascata.

Gabarito: Letra C

217
Q
  1. (FGV / MPE-SC – 2022) Um Time de Desenvolvimento de Sistemas de Software (TDSS) decidiu adotar um modelo de processo de software prescritivo como padrão para novos desenvolvimentos de sistemas.

O modelo de processo adotado visa à redução do impacto de mudanças em requisitos, no qual a qualidade da documentação não é uma prioridade. O TDSS adotou o modelo de processo:

a) espiral;
b) cascata;
c) unificado;
d) evolutivo;
e) prototipagem.

A

O modelo de prototipagem é conhecido por ser evolutivo e iterativo, permitindo ajustes frequentes durante o desenvolvimento com base no feedback dos usuários.

Esse modelo busca reduzir o impacto de mudanças nos requisitos, já que os protótipos são desenvolvidos rapidamente e servem para validar as necessidades do cliente.

Além disso, ele não prioriza a qualidade da documentação, focando mais na criação de versões iniciais que podem ser aprimoradas conforme o entendimento do sistema evolui.

Gabarito: Letra E

218
Q
  1. (FGV / Fiocruz – 2010) Como modelo evolucionário do processo de software, uma característica da prototipagem é:

a) independer do estabelecimento e da definição de requisitos.

b) configurar um processo interativo e rápido de desenvolvimento.

c) iniciar o processo de desenvolvimento pela implantação e pelos testes.

d) gerar uma primeira versão do sistema completa e isenta de erros.

e) descartar a participação do cliente no processo de desenvolvimento e de implantação.

A

(a) Errado, claro que depende da definição de requisitos;

(b) Correto, é um processo interativo, iterativo e rápido de desenvolvimento;

(c) Errado. Você vai implantar e testar o que? Você primeiro tem que levantar, especificar e desenvolver;

(d) Errado, se é uma primeira versão, não é completa. Além disso, não há sistemas sem erros;

(e) Errado, você deve incentivar a participação do cliente.

Gabarito: Letra B