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

Alternativa correta: E - I, II, III e IV.

Para resolver esta questão, é essencial compreender que os modelos de desenvolvimento de software desempenham um papel crucial no estabelecimento de processos sistemáticos, que asseguram a integração de práticas de segurança ao longo do ciclo de vida do software. Analisemos cada modelo:

  • Modelo espiral: Este modelo enfatiza a avaliação de riscos em cada etapa do ciclo de vida. É altamente iterativo e permite a incorporação de elementos de segurança desde as fases iniciais do desenvolvimento. A natureza iterativa possibilita a constante revisão e adaptação de medidas de segurança.
  • Modelo cascata: Embora seja um modelo linear e sequencial que pode parecer rígido, a segurança pode ser integrada nas fases de requisitos, design, implementação e teste. Cada fase deve ser concluída antes de prosseguir para a próxima, permitindo a inclusão de revisões de segurança em cada transição de fase.
  • Modelo iterativo: A abordagem iterativa melhora o software através de sucessivas versões. Em cada iteração, características de segurança podem ser adicionadas, testadas e refinadas, tornando o software mais seguro ao longo do tempo.
  • Modelo ágil: Modelos ágeis como Scrum e XP incentivam a colaboração contínua, feedback e adaptação. A segurança é tratada como um requisito que deve ser continuamente avaliado e aprimorado ao longo de ciclos curtos de desenvolvimento.

Concluímos que todos os modelos mencionados podem ser adaptados para integrar práticas de segurança durante o desenvolvimento de software. A integração de segurança não é exclusiva a qualquer modelo em particular, mas sim uma prática que pode ser incorporada em todos eles.

Portanto, a alternativa correta é a E, que inclui todos os quatro modelos citados - espiral, cascata, iterativo e ágil - como capazes de integrar o processo do ciclo de vida de um software seguro.

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