1.5 Classificação de Software
A classificação de software evoluiu ao longo do tempo, acompanhando as transformações tecnológicas e as novas demandas da sociedade digital. Tradicionalmente, conforme apresentado por Roger S. Pressman em Engenharia de Software: Uma Abordagem Profissional (2016), software é mais que código; engloba programas, estruturas de dados e documentação. Ele classifica o software em categorias funcionais baseadas no contexto de uso, incluindo software de sistema, software de aplicação, software científico / engenharia, software embarcado e software de produto.
No entanto, com o avanço da internet, da computação em nuvem e da inteligência artificial, essa classificação foi ampliada. A classificação moderna de software combina categorias clássicas com novas abordagens como cloud, mobile e inteligência artificial, refletindo a evolução tecnológica. Podemos classificar os softwares em:
- Software de Sistema: são os que fazem o hardware funcionar e permitem outros softwares rodarem, ex: sistemas operacionais, compiladores, drivers;
- Software de Aplicação: Desenvolvido para resolver necessidades específicas do usuário final, ex: sistemas bancários, sistemas empresariais como ERP / CRM;
- Software Científico/Engenharia: caracterizado por algoritmos complexos, processamento de números e modelagem, ex: softwares de astronomia, vulcânica, dinâmica de fluídos;
- Software Embarcado (Embedded): rodam dentro de dispositivos físicos, ex: controle de micro-ondas, sistemas de freio de carro, equipamentos médicos, aviônicos;
- Software de Produto: projetado para atender às necessidades de um mercado específico, focando na resolução de problemas do usuário;
- Software Web (Cloud / SaaS): softwares baseados na web que variam de simples sistemas online a plataformas SaaS completas;
- Software de Desenvolvimento: usados parar criar outros softwares, ex: IDEs, compiladores, frameworks;
- Softwares de Entretenimento: voltados para o lazer, ex: jogos, streaming, etc;
- Softwares mobile: criados para dispositivos móveis, ex: Apps IOS, Android;
- Software de Inteligência Artificial (IA): utiliza algoritmos não numéricos para resolver problemas complexos que não são tratáveis por algoritmos simples, como redes neurais, reconhecimento de voz e robótica;
Bibliografia:
PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia de software: uma abordagem profissional. 8. ed. São Paulo: Bookman, 2016.