No fim da década de 60 ocorreu a denominada crise do software. Resumidamente, a demanda e necessidade por novos softwares em conjunto com a dificuldade na definição de processos para criá-los acarretou em um importante evento realizado na Alemanha, que mais tarde veio a ser o marco da engenharia de software, a Conferência de OTAN. Esta que instituiu novas práticas para o desenvolvimento de software.
A Engenharia de Software versa sobre a qualidade do software aglomerada ao baixo custo e facilidade, buscando o aumento da produtividade nos processos de desenvolvimento. Simplificadamente, seu objetivo é o desenvolvimento, gerenciamento e documentação do software. Bauer, em 1969, definiu a Engenharia de Software como sendo o estabelecimento e uso de sólidos princípios de engenharia para obter software economicamente confiável e que trabalhe de forma eficiente em máquinas reais.
Ela aborda tanto questões relacionadas ao ambiente de desenvolvimento do software, como métodos, processos e ferramentas para sua produção. Deve-se ter bastante cuidado na criação de um software, pois quando há um mau planejamento e desenvolvimento, os recursos a serem gastos para conserto e principalmente o tempo a ser disponibilizado para tal procedimento são aspectos inviáveis em qualquer mercado, sobretudo no tecnológico, onde essas duas características são indispensáveis.
O enfoque da Engenharia de Software é a análise e divisão do problema em pequenas partes, para que se possa realizar uma solução para cada uma delas e, depois de solucionadas, seja realizada a integração das mesmas. Para todo este controle, uma série de etapas devem ser seguidas, denominadas ciclo de um software. E o que vem a ser este ciclo? Basicamente, ele gira em torno de todas as fases determinadas de um software, desde o planejamento até o término, com o objetivo de cumprir todos ou, pelo menos, quase todos os requisitos idealizados. Por ser um ciclo, as etapas não podem ser atropeladas sem antes se obter a verificação da qualidade em cada uma delas.
Para cada verificação de etapa existem ferramentas disponibilizadas na web; e com tantas tecnologias disponíveis para tornar o trabalho mais fácil, o próprio desenvolvedor tem dúvidas sobre qual delas escolher e o porquê de algumas serem consideradas melhores que outras.
Este artigo analisará várias ferramentas que auxiliam a engenharia de software, desde o planejamento até a inspeção, ou seja, cobrindo todo o ciclo do software. Todos os programas apresentados possuem a vantagem de serem livres e atenderem a uma gama de necessidades nas organizações. Claro que tais ferramentas podem não atender a todas as necessidades, visto que cada organização estabelece padrões e possui necessidades específicas.
Neste artigo, o leitor encontrará ferramentas que atendem aos processos de desenvolvimento, modelagem do processo, execução do processo, gerência de configuração, testes e inspeção, respectivamente:
- Plataforma Eclipse;
- Software BizAgi;
- Aplicação Redmine;
- Sistema Subversion;
- Framework JUnit;
- Ferramenta Sonar.
O esforço exigido dos desenvolvedores para planejamento, gerenc ...