Última alteração: 19-09-2018
Resumo
Segundo Bauer 1969, “Engenharia de software é a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja confiável e que trabalhe eficientemente em máquinas reais”. Um tópico primordial da Engenharia de software é o conceito de ciclos de vida, o qual propõe o encadeamento das fases de maneira a sustentar a diversidade de projetos de desenvolvimento de software em relação aos seus requisitos, dividindo o procedimento em etapas, tais como, análise, projeto, implementação, teste e manutenção. Contribuindo assim, para limitar a porcentagem de erros e problemas durante o processo. Desde os anos 70, o modelo cascata foi a base da maior parte do desenvolvimento de projetos de software, em 1988, Barry Boehm sugeriu o modelo em espiral. Desse modelo destacam-se dois aspectos: a análise de risco e a prototipagem. A identificação e o gerenciamento de riscos é hoje uma atividade importantíssima no desenvolvimento de software devido à falta de conhecimento, técnicas e ferramentas adequadas. Este é um modelo guiado por risco, suporta sistemas complexos e/ou de grande porte, onde falhas não são toleráveis. O modelo espiral organiza o desenvolvimento como um processo iterativo em que vários conjuntos de fases se sucedem até se obter o sistema final. Iteração é o processo chamado na programação de repetição de uma ou mais ações, quatro etapas são repetidas em cada iteração, são elas: definição de objetivos, avaliação e redução de riscos, desenvolvimento e validação, e por fim, planejamento da próxima fase. Na definição de objetivos, são listadas alternativas e restrições, e cria-se um plano gerencial detalhado. Na análise de riscos, as alternativas, restrições e riscos anteriormente levantados são avaliados, protótipos são utilizados para ajudar. Na implementação, é escolhido um modelo apropriado para o desenvolvimento do sistema. Por fim, no planejamento da próxima fase ocorre a revisão do projeto e então decide-se da continuidade ou não do projeto em uma nova iteração. Dentre as principais vantagens do modelo de ciclo de vida em espiral estão a possibilidade de combinar com outros modelos de ciclo de vida, ajudar a aumentar a qualidade pelo planejamento e análise dos riscos, além de uma maior visibilidade para a gerência, principalmente das falhas. Benefícios que custam uma maior experiência da equipe de desenvolvimento, sobretudo dos responsáveis desta área, entretanto, é extremamente indicado para sistemas de alta densidade e risco elevado.