Engenharia de Software é uma disciplina da Engenharia que cuida de diversos aspectos do trabalho de desenvolvimento de sistemas de software, envolvendo todas as etapas do ciclo do projeto, desde a definição de requisitos até a sua manutenção, que ocorre após a entrega do produto e o início de sua operação. Seu principal objetivo é fornecer uma estrutura metodológica para a construção de software com alta qualidade.
Podemos definir Engenharia de Software como um processo que envolve a criação e a utilização de sólidos princípios de engenharia a fim de obter software com as características:
- que possua alta qualidade;
- que seja produzido de maneira econômica;
- que seja confiável;
- que trabalhe eficientemente em máquinas reais;
- que seja entregue no prazo;
- que satisfaça o cliente.
De acordo com Pressman (2011, p. 3), a Engenharia de Software é uma tecnologia em camadas, apoiada fundamentalmente em um compromisso organizacional com a qualidade, como mostra a figura. Nesta abordagem, podemos observar que o alicerce da Engenharia de Software é a camada de processo, que funciona como um adesivo que mantém unidas as camadas ligadas à tecnologia.
O processo forma uma base que mantém unidas as camadas de tecnologia, permitindo o desenvolvimento de software com qualidade. Define o arcabouço que garante a efetiva utilização das técnicas de Engenharia de Software.
Os métodos fornecem as técnicas de “como fazer” a construção de software. Abrangem um amplo conjunto de tarefas que incluem comunicação, análise de requisitos, modelagem de projeto, construção de programas, testes e manutenção.
As ferramentas fornecem apoio automatizado ou semi-automatizado para o processo e seus métodos.
Fonte: PRESSMAN (2011, p.40)
Em função de sua indiscutível importância, caro aluno, as técnicas e métodos da Engenharia de Software são atualmente muito usadas, mas ainda não são usadas por todos e nem usadas da maneira correta.
Não podemos prosseguir falando da Engenharia de Software sem antes entendermos o software e seus fundamentos. Assim, os conceitos de software são apresentados aqui como uma referência inicial para o estudo do software, propriamente dito e de seus processos de desenvolvimento.
Pressman (2006, p. 4) conceitua o software como:
(1) Instruções (programas de computador) que, quando executadas, produzem a função e o desempenho desejados;
(2) Estruturas de dados que possibilitam que os programas manipulem adequadamente a informação;
(3) Documentos que descrevem a operação e o uso dos programas.
As normas de gestão de qualidade e garantia da qualidade apresentam definições de software e seus componentes e processos. De acordo com a norma NBR ISO 9000-3, que é uma interpretação da norma de garantia de qualidade ISO 9001 para aplicação aos produtos de software, há as seguintes definições:
- Software: Criação intelectual compreendendo os programas, procedimentos, regras e qualquer documentação correlata à operação de um sistema de processamento de dados.
- Produto de software: Conjunto completo de programas de computador, procedimentos e documentação correlata, assim como dados designados para entrega a um usuário.
- Item de software: Qualquer parte identificável de um produto de software em etapa intermediária ou na etapa final de desenvolvimento.
- Desenvolvimento: Todas as atividades a serem realizadas para a criação de um produto de software.
- Fase: Segmento definido do trabalho.
Como podemos observar, o conjunto de conceitos apresentados deixa claro que o software é um produto complexo que exige cuidados constantes, não podendo o controle da qualidade ser uma atividade secundária, devendo estar presente desde o início de seu desenvolvimento até a análise final de entrega.
Nenhum comentário:
Postar um comentário