Áreas chave na engenharia de software
Inúmeras instituições ao redor do mundo têm realizado esforços para aperfeiçoar a disciplina de engenharia de software e seus produtos. O IEEE tem patrocinado a composição e revisão do SWEBOK que é um documento que tem por objetivo servir de referência para a comunidade de engenharia de software. Conforme o próprio documento salienta, este manual não é completo, e exigirá que os interessados conheçam muito mais coisas sobre ciências da computação, gerenciamento de projetos e engenharia de sistemas do que o material nele contido. O objetivo deste manual é estabelecer uma normalização daquilo que se pode ser chamado de engenharia de software. SWEBOK(2004)
O SWEBOK(2004) define algumas áreas chaves de conhecimento, que devem ser levadas em conta em projetos de software. Estas são:
· Requisitos– Envolve a definição do software, o que ele deverá fazer para resolver os problemas do mundo real. Podem ser requisitos funcionais e não-funcionais.
· Design /projeto – Envolve a definição da arquitetura, componentes interfaces,
manipulação de eventos, tratamento de erros, estrutura do software.
· Construção– Trata-se da construção do projeto do software. Envolve
a codificação, validação, testes etc.
· Testes– Consiste na verificação do comportamento de um programa, por meio de um
conjunto finito de testes e cenários. Isto inclui os testes dos requisitos,
performance, heurísticas etc.
· Manutenção– Anomalias podem ocorrer em um software. Necessidades dos usuários se modificam com o tempo, novos sistemas podem precisar ser integrados, melhorias podem ser previstas.
· Gerência de configurações – Tem a principal preocupação de controlar sistematicamente as mudanças que ocorrem em um sistema / plataforma.
· Gerência de engenharia – Procura estabelecer um controle (cronograma, revisões,entregas etc) sobre o projeto de software bem como métricas que permitam o alcance dos objetivos.
· Processos– Visam definir, implementar, modificar, mensurar e melhorar os processos que são utilizados no desenvolvimento de um software.
· Ferramentas e métodos – Define o ferramental e os métodos de trabalho para a especificação e construção de um software.
· Qualidade– Cuida da qualidade do produto final. Envolve a cultura e ética organizacional, modelos de qualidade, validação, verificação e auditoria da qualidade.
Imagem 1:Áreas chave
fonte:SWEBOK(2004)
Imagem 2:Áreas chave
fonte:SWEBOK(2004)