Elementos Essenciais da Engenharia de Software
Os elementos essenciais se dividem em três:
- Métodos
- Ferramentas
- Procedimentos
Métodos
Os métodos da engenharia de software detalham o como fazer, e envolvem um amplo conjunto de atividades:
- Modelagem de negócios;
- Requisitos;
- Análise;
- Design;
- Implementação;
- Testes;
- Implantação;
- Gerenciamento.
Ferramentas
As ferramentas apoiam os métodos de maneira automatizada ou semi-automatizada. Há também ferramentas que se integram e interagem umas com as outras a fim de oferecem apoio a todos os métodos da engenharia de software, formando assim a Engenharia de Software Auxiliada por Computador (CASE - Computer-Aided Software Enginnering). Em linhas gerais, as ferramentas CASE se dividem em três tipos:
- Upper-Case: apoiam etapas iniciais como iniciação, planejamento, análise e projeto;
- Lower-Case: apoiam a parte física/infra da criação do software e levam em conta implementação, testes e manutenção;
- Integrated-Case: cobrem todo o SDLC.
Procedimentos
É o que liga os métodos as ferramentas. Os procedimentos da engenharia de software organizam as maneiras que o desenvolvimento de software é realizado.
- A sequência em que os métodos devem ser aplicados, os produtos que devem ser desenvolvidos;
- Os controles que devem ser aplicados para que a qualidade do software seja garantida;
- As formas de como as mudanças deve ser feitas;
- Os marcos de referências para que o processo de desenvolvimento do software possa ser avaliado;
Aqui entram os famosos paradigmas de desenvolvimento, tais como os tradicionais em cascata, em espiral, entre outros; como iterativo, incremental e os métodos ágeis, como o Extreme Programming (XP), Scrum, TDD, FDD, Crystal, DFDM etc., para o desenvolvimento de software.