São softwares desenvolvidos pensando em disversos clientes, são exemplos: pacote de escritório, software de vendas, desenho de plantas entre outros.
Softwares sob encomenda
Nota:
São sistemas encomendados por um cliente com uma necessidade específica. São exemplos, software embarcado para um dispositivo específico, software para apoio de um processo de negócio específico entre outros.
Requisitos de Qualidade
Nota:
Qualidade não implica apenas no que o software faz, ela inclui o comportamento do software enquanto ele está em execução.
Manutenibilidade
Nota:
O software será escrito de forma que possa evoluir para atender às necessidades dos clientes.
Confiança e proteção
Nota:
Inclui características como confiabilidade, proteção e segurança.
Eficiência
Nota:
O software não deve desperdiçar os recursos do sistema como memória e ciclos do processador. Por tanto, a eficiência inclui a capacidade de respostas, tempo de processamento e utilizações de recursos de hardware.
Aceitabilidade
Nota:
O software deve ser aceitável para os tipos de usuários no qual ele foi projetado. Ou seja, compreensível, usável e compatível com outros sistemas que interagem com ele.
Aplicações
Stand-alone
Nota:
Aplicações utilizadas em um computador local. Normalmente não precisam de rede para serem utilizados. São exemplos: programas CAD e editores de texto.
Baseadas em transações
Nota:
São aplicações que executam em um computador remoto. Normalmente são conhecidos como aplicações web.
Sistemas de controle embutidos
Nota:
São softwares que tem a função de controlar e gerenciar dispositivos de hardware.
Processamento em lote
Nota:
São sistemas corporativos projetados para processar dados em grandes lotes.
Entretenimento
Nota:
sistemas cujo principal objetivo é entreter o usuário
Modelagem e simulação
Nota:
São sistemas que incluem vários objetos separados que interagem entre si. Cientistas desenvolvem esses aplicativos para modelar processos ou situações físicas e reais em um ambiente controlado.
Coleta de dados
Nota:
São sistemas que utilizam sensores para realizar coleta de dados em determinados ambientes e enviam para outros sistemas.
Engenharia de Software
Definição
Nota:
Segundo Ian Sommerville, a Engenharia de Software é uma disciplina de engenharia relacionada com todos os aspectos de produção de software, desde os estágios iniciais de especificação do sistema até a sua manutenção, ou seja, mesmo depois que este entrar em operação.