Engenharia de Software Flashcards
(218 cards)
- (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.
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
- (CESPE / CAU-BR – 2024) No modelo em cascata, o ciclo de vida do software torna o processo de desenvolvimento estruturado.
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
- (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 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
- (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.
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
- (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.
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
- (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.
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
- (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.
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
- (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.
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
- (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.
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
- (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.
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
- (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.
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
- (CESPE / SERPRO – 2021) No modelo iterativo, as iterações na fase de construção concentram- se nas atividades de requisitos, gerenciamento, design e testes.
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
- (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.
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
- (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.
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
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) 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
- (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.
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
- (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.
Na verdade, todos os estágios são sequenciais – não há exceção.
Gabarito: Errado
- (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 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
- (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.
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
- (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.
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
- (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.
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
- (CESPE / TCE-PR – 2016 – Item D) Um processo de software é composto por quatro atividades fundamentais: iniciação, desenvolvimento, entrega e encerramento.
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
- (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.
Essa questão trata, na verdade, do modelo iterativo e incremental e, não, em cascata.
Gabarito: Errado
- (CESPE / TCE-PR – 2016 – Item C) No modelo iterativo de desenvolvimento de software, as atividades são dispostas em estágios sequenciais.
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