São modelos de desenvolvimento que integram o processo do ci...
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?
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.
- 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