São modelos de desenvolvimento que integram o processo do ci...

Próximas questões
Com base no mesmo assunto
Q2171827 Engenharia de Software

São modelos de desenvolvimento que integram o processo do ciclo de vida de um software seguro:

I. Modelo espiral.

II. Modelo cascata.

III. Modelo interativo.

IV. Modelo ágil.

Quais estão corretas?

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: E

Fundamento decisivo: O critério decisivo é classificar cada item como modelo ou abordagem de desenvolvimento reconhecido e compatível com a incorporação de práticas de segurança ao ciclo de vida; assim, espiral, cascata, interativo/iterativo e ágil atendem ao enunciado, o que sustenta a alternativa E.

Tema central: Modelos de desenvolvimento seguro
Análise das alternativas
A
Errada
Está errada porque exclui III e IV sem base técnica. A abordagem interativa/iterativa também pode incorporar segurança em ciclos sucessivos, e a abordagem ágil igualmente permite integrar práticas e controles de segurança ao processo. O erro da alternativa é restringir indevidamente o desenvolvimento seguro a modelos mais tradicionais.
B
Errada
Está errada porque exclui II e III. O modelo cascata é um modelo clássico de ciclo de vida e pode incluir atividades de segurança em requisitos, projeto, implementação, testes e manutenção. Já o modelo interativo/iterativo também é compatível com a integração contínua de requisitos e controles de segurança. Portanto, a exclusão desses itens contraria o critério da questão.
C
Errada
Está errada porque exclui I e IV. O modelo espiral é reconhecido justamente por seu tratamento iterativo de riscos, o que o torna claramente compatível com segurança ao longo do ciclo de vida. O modelo ágil também não é incompatível com software seguro, pois a segurança pode ser integrada aos ciclos curtos, revisões e testes. A alternativa falha ao negar validade a dois modelos compatíveis com desenvolvimento seguro.
D
Errada
Está errada porque exclui I e II. Tanto o espiral quanto o cascata são modelos reconhecidos de desenvolvimento de software e ambos podem estruturar um ciclo de vida com segurança integrada. O erro é supor que modelos tradicionais ou mais formais ficariam fora do desenvolvimento seguro, o que a base afasta expressamente.
E
Certa
A alternativa E está correta porque os quatro itens correspondem, em sentido técnico aceito pela questão, a modelos ou abordagens de desenvolvimento de software aos quais se podem integrar requisitos, práticas, verificações e controles de segurança ao longo do ciclo de vida. O modelo cascata estrutura fases sequenciais e pode incorporar segurança em cada uma delas; o espiral é iterativo e orientado a riscos, o que é compatível com o tratamento de riscos de segurança; o interativo, lido no sentido amplo de abordagem cíclica/iterativa admitido pela questão, permite reavaliar continuamente requisitos e controles; e o ágil também admite integração de segurança nos ciclos curtos de desenvolvimento. Logo, nenhum dos itens é incompatível, por definição, com software seguro.
Pegadinha da questão
A confusão explorada é tratar “software seguro” como se exigisse apenas metodologias especificamente voltadas à segurança, quando o critério correto é mais amplo: verificar se o modelo de desenvolvimento adotado permite incorporar segurança ao longo do ciclo de vida.
Dica para questões semelhantes
  • Quando o enunciado falar em integrar segurança ao ciclo de vida, não procure um modelo exclusivo de segurança; verifique se a abordagem de desenvolvimento comporta essa integração.
  • Não elimine cascata, espiral, iterativo/interativo ou ágil apenas por associação intuitiva com maior ou menor formalismo; o ponto é compatibilidade com práticas de segurança.
  • Se a banca usar formulação ampla, como nesta questão, a análise deve ser conceitual: reconhecer modelos de desenvolvimento válidos, e não hierarquizá-los.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Modelo interativo seria prototipagem?

Inferi com esse pensamento, haja vista que todo software a ser entregue ao cliente deve ser seguro.

I. Modelo espiral

O modelo espiral é um modelo de desenvolvimento de software iterativo e incremental que combina elementos do modelo cascata e do modelo de prototipagem. Ele é dividido em quatro fases principais:

  • Planejamento: Nesta fase, são definidos os objetivos do projeto, os riscos envolvidos e o plano de desenvolvimento.
  • Desenvolvimento: Nesta fase, são desenvolvidas as funcionalidades do software, com base nos requisitos definidos na fase de planejamento.
  • Validação: Nesta fase, o software é validado com os usuários, para garantir que atende às suas necessidades.
  • Replanejamento: Nesta fase, são revisados os objetivos, os riscos e o plano de desenvolvimento, com base nos resultados da fase de validação.

O modelo espiral é uma abordagem flexível que permite adaptar o desenvolvimento do software às mudanças nas necessidades dos usuários ou nas condições do projeto.

II. Modelo cascata

O modelo cascata é um modelo de desenvolvimento de software linear que se divide em fases sequenciais:

  • Requisitos: Nesta fase, são definidos os requisitos do software, com base nas necessidades dos usuários.
  • Projeto: Nesta fase, é desenvolvido o projeto do software, com base nos requisitos definidos na fase anterior.
  • Implementação: Nesta fase, o software é implementado, com base no projeto definido na fase anterior.
  • Teste: Nesta fase, o software é testado, para garantir que atende aos requisitos definidos na fase de requisitos.
  • Implantação: Nesta fase, o software é implantado no ambiente de produção.

O modelo cascata é um modelo simples e fácil de entender, mas pode ser rígido e inflexível. Ele pode ser adequado para projetos de software com requisitos bem definidos e estáveis.

Fonte: Bard

III. Modelo interativo

O modelo interativo é um modelo de desenvolvimento de software iterativo e incremental que se baseia na interação constante entre os desenvolvedores e os usuários. Ele é dividido em fases, mas cada fase é dividida em iterações, que são ciclos curtos de desenvolvimento, teste e implantação.

Cada iteração começa com uma reunião com os usuários para definir os requisitos da iteração. Em seguida, os desenvolvedores implementam as funcionalidades definidas na reunião. Após a implementação, o software é testado e implantado para os usuários testarem. Os resultados dos testes são então analisados e utilizados para refinar os requisitos para a próxima iteração.

O modelo interativo é uma abordagem flexível que permite adaptar o desenvolvimento do software às mudanças nas necessidades dos usuários ou nas condições do projeto.

IV. Modelo ágil

O modelo ágil é uma família de modelos de desenvolvimento de software iterativo e incremental que se baseia nos seguintes princípios:

  • Foco no cliente: O foco principal do desenvolvimento é atender às necessidades do cliente.
  • Iteração e incremento: O desenvolvimento é realizado em ciclos curtos (iterações) que resultam em incrementos de software.
  • Colaboração: O desenvolvimento é um processo colaborativo entre desenvolvedores, clientes e outros stakeholders.
  • Adaptabilidade: O desenvolvimento é adaptável a mudanças nas necessidades dos clientes ou nas condições do projeto.

Os modelos ágeis mais populares são:

  • Scrum
  • Kanban
  • Extreme Programming (XP)

Os modelos ágeis são uma abordagem flexível que permite adaptar o desenvolvimento do software às mudanças nas necessidades dos clientes ou nas condições do projeto. Eles são adequados para projetos de software com requisitos que mudam com frequência ou que são complexos e difíceis de definir.

Fonte: Bard

Caberia recurso nessa questão, pois teoricamente todas as respostas estão corretas. Segundo a própria Microsoft, criadora da abordagem do Ciclo de Vida do Desenvolvimento Seguro (SDL):

"The practices described in the SDL approach can be applied to all types of software development and all platforms from classic waterfall through to modern DevOps approaches"

Fonte: https://www.microsoft.com/en-us/securityengineering/sdl

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo