Produzir e manter softwares dentro de custos adequados é essencial para o funcionamento da economia nacional e internacional, pois diversas áreas da sociedade necessitam e utilizam softwares em seu cotidiano. A engenharia de software é o ramo da engenharia que se preocupa em desenvolver a custos adequados sistemas de softwares de alta qualidade. Pelo fato do software ser intangível, o mesmo não é limitado por materiais ou controlado por leis da física ou por processos de manufatura, porém a falta de restrições pode fazer com que o software se torne altamente complexo e de difícil entendimento.
O conceito de engenharia de software foi inicialmente proposto em 1986, em uma conferência organizada para discutir os problemas presentes no desenvolvimento de softwares em projetos importantes, pois cada vez mais os projetos estavam apresentando atrasos e produzindo produtos de softwares não confiáveis de e difícil manutenção. Essa época ficou conhecida como “Crise do software”, pois os custos com hardware estavam caindo e os custos com o software estavam aumentando.
Para tentar minimizar/solucionar os problemas encontrados no desenvolvimento de sistemas de software, foram criadas novas técnicas e métodos para controlar a complexidade inerente aos grandes sistemas de softwares, técnicas essas utilizadas até os dias atuais.
Mas o que é software?
Software não é apenas o programa, mas todos os dados de documentação e configuração necessárias para que o programa opere corretamente. Um sistema de software consiste
geralmente de: arquivos de configuração, que são utilizados para configurar o software desenvolvido; Documentação do sistema, que descreve a estrutura do sistema; a documentação do usuário, que explica como utilizar o sistema desenvolvido; e Web sites, utilizados para suprir informações sobre recentes modificações sobre o produto.
Existem dois tipos fundamentais de produtos de software. Os produtos genéricos, que são os softwares vendidos no mercado, como por exemplo: O Windows, Microsoft Office,
etc. E os produtos por encomenda, que são criados para os clientes a partir de necessidades específicas para resolver um determinado problema, como por exemplo: Um e-commerce, Um software de controle de estoque, etc.
O que é processo de software?
Processo de software é um conjunto de atividades e resultados associados que produz um produto de software. Existem quatro atividades fundamentais de processo que são comuns a
todos os processos de software. São elas:
- Especificação de software: clientes e engenheiros definem o software a ser produzido e as restrições para a sua operação;
- Desenvolvimento de software: o software é projetado e programado;
- Validação de software: o software é testado;
- Evolução de software: o software é modificado para se adaptar às mudanças dos requisitos do cliente e do mercado;
O que é modelo de processo de software?
Um modelo de processo de software é uma descrição simplificada desses processos de software que apresenta uma visão dele. Os modelos de processo incluem as atividades, que fazem parte do processo de software, os produtos de software e os papéis das pessoas envolvidas na engenharia de software.Material retirado de: SOMMERVILLE, I. Engenharia de software. 8.ed. São Paulo: Addison Wesley, 2007.