Confira uma definição detalhada de ciclo de vida de desenvolvimento de sistemas e conheça o que é SDLC seguro
O ciclo de vida de desenvolvimento pode ser aplicado a sistemas técnicos e não técnicos. Na maioria dos casos de uso, um sistema é uma tecnologia de TI, como hardware e software.
Os gerentes de projeto e programa normalmente participam do SDLC, juntamente com engenheiros de sistema e software, equipes de desenvolvimento e usuários finais.
Todo sistema passará por um processo de desenvolvimento que pode ser pensado como iterativo, com várias etapas. Assim sendo, SDLC é usado para dar uma estrutura rígida e para definir as fases envolvidas no desenvolvimento.
Em suma, os benefícios de seguir um modelo SDLC claramente definido incluem:
- ter uma visão clara de todo o projeto, trabalhadores envolvidos, custos estimados e prazos;
- fornecer aos gerentes de projeto um custo base projetado do projeto;
- definir claramente os objetivos a serem alcançados e padrões a serem seguidos;
- dar aos desenvolvedores a possibilidade de mudar a rota em tempo hábil, caso algo não saia conforme o esperado.
Modelos de ciclo de vida de desenvolvimento de sistemas (SDLC)
Também é interessante saber que várias metodologias SDLC foram desenvolvidas para orientar os processos envolvidos, incluindo:
Modelo cascata
Bastante utilizado, é um processo de desenvolvimento sequencial que flui como uma cascata por todas as fases de um projeto (análise, design, desenvolvimento e teste, por exemplo), com cada fase terminando completamente antes da próxima começar.
É uma abordagem que segue um processo cronológico e funciona com base em datas, requisitos e resultados fixos.
Com ela, as equipes de execução individuais não precisam estar em constante comunicação e, a menos que sejam necessárias integrações específicas, geralmente são independentes. Os membros da equipe também tendem a trabalhar de forma independente e não devem fornecer relatórios com muita frequência.
Modelo incremental
É um processo onde os requisitos são divididos em vários módulos independentes do ciclo de desenvolvimento de software. Normalmente, é feito em etapas desde o projeto de análise, implementação, teste e manutenção.
Neste modelo, cada iteração passa pelas fases de requisitos, design, codificação e teste. E cada versão subsequente do sistema adiciona funções à versão anterior até que todas as funcionalidades projetadas tenham sido implementadas.
O sistema é colocado em produção quando o primeiro incremento é entregue— geralmente um produto principal onde os requisitos básicos são abordados e os recursos suplementares são adicionados nos próximos incrementos. Assim, uma vez que o produto principal é analisado pelo cliente, há o desenvolvimento do plano para o próximo incremento.
Modelo evolutivo
Semelhante ao incremental, neste modelo o requisito de software é primeiro dividido em vários módulos (ou unidades funcionais) que podem ser construídos e entregues de forma incremental.
O time primeiro desenvolve os módulos principais do sistema (aqueles que não precisam de serviços dos outros módulos). Com isso, o esqueleto inicial do produto é refinado em níveis crescentes de capacidade, adicionando novas funcionalidades em versões sucessivas.
Modelo espiral
Neste modelo, as fases são tratadas de modo cíclico com pouca flexibilidade para lidar com possíveis falhas ou bugs. Basicamente, a cada iteração, o usuário pode acessar a versões evolucionárias da aplicação.
No modelo espiral, cada etapa demanda bastante planejamento e atenção a potenciais problemas, inclusive fazendo testes constantes de funcionalidades e avaliando eventuais incompatibilidades.
Outro fator relevante é que, nesta abordagem, é preciso manter o cliente vinculado a cada etapa, aplicando feedbacks e orientando mudanças.
Basicamente, a espiral é dividida em alguns setores:
- definição de objetivos, desempenho mínimo e funcionalidades, bem como de escopo da etapa e suas restrições;
- análise de riscos e prototipagem de funcionalidades;
- criação e validação de um modelo de desenvolvimento em linha com as demandas;
- execução de cada demanda;
- avaliação de resultados;
- e planejamento da próxima fase/etapa.
Etapas do ciclo de vida de desenvolvimento de sistemas (SDLC)
SDLC pode ser composto de várias etapas, não havendo um número definido concreto. Cerca de sete ou oito passos aparecem comumente; no entanto, pode haver de cinco até 12 fases, conforme o projeto.
Normalmente, quanto mais etapas definidas em um modelo SDLC, mais granulares elas são.
Em geral, uma metodologia SDLC segue a seguinte sequência:
1. Análise. O sistema existente é avaliado; as deficiências são identificadas. Isso pode ser feito entrevistando os usuários do sistema e consultando o pessoal de suporte.
2. Plano e requisitos. Os novos requisitos do sistema são definidos. Em particular, as deficiências do sistema devem ser tratadas com propostas específicas de melhoria. Outros fatores incluem recursos, funções e capacidades necessários.
3. Projeto. O sistema proposto é projetado. Os planos são definidos em relação à construção física, hardware, sistemas operacionais, programação, comunicações e questões de segurança.
4. Desenvolvimento. O sistema é desenvolvido. Os novos componentes e programas devem ser obtidos e instalados. Os usuários devem receber treinamento para seu uso.
5. Teste. Todos os aspectos de desempenho devem ser testados. Se necessário, ajustes são feitos nesta fase. Testes realizados por equipes de garantia de qualidade ( QA ) podem incluir integração de sistemas e testes de sistemas.
6. Implantação. O sistema é incorporado em um ambiente de produção. Isso pode ser feito de várias maneiras.
O novo sistema pode ser implementado gradualmente, de acordo com a aplicação ou localização, e o sistema antigo substituído gradualmente.
Em alguns casos, pode ser mais econômico desligar o sistema antigo e implementar o novo sistema de uma só vez.
7. Manutenção. Esta etapa envolve a alteração e atualização do sistema uma vez que esteja instalado.
Os usuários do sistema devem ser mantidos atualizados sobre as últimas modificações e procedimentos.
Outras etapas que podem surgir nbo SDLC de algumas organizações incluem iniciação do projeto, especificações funcionais, especificações detalhadas, avaliação, fim de vida e outras etapas que podem ser criadas dividindo ainda mais as etapas anteriores.
Ciclo de desenvolvimento seguro
Um ciclo de desenvolvimento seguro, SDLC, é uma abordagem que considera que todo o processo de construção de um sistema, ou aplicativo, seja feito de forma segura.
Para que isso ocorra é necessário planejar testes de segurança que são realizados durante todas as fases de desenvolvimento. Isso quer dizer que, um ciclo de desenvolvimento seguro transforma a preocupação com segurança em algo contínuo e abrangente, dxe forma que seja possível detectar falhas de forma precoce, reduzindo os riscos nos sistemas corporativos e por consequência, dos negócios.
É necessário, por isso, incorporar práticas e disponibilizar ferramentas que permitam ao time de desenvolvimento tratar da segurança com um mínimo impacto em funcionalidades e prazos que se espera no SDLC. Conheça um pouco mais sobre estas ferramentas em nosso site, na área de soluções.
Gostou do artigo? Assine nossa newsletter e confira ainda mais informações sobre segurança e desenvolvimento de sistemas!