Como são determinados os requisitos mínimos do sistema?

17

Todos nós já vimos inúmeros exemplos de software que são fornecidos com "requisitos mínimos de sistema", como os seguintes:

  • Windows XP / Vista / 7
  • 1GB RAM
  • 200 MB de armazenamento

Como são geralmente determinados? Obviamente, às vezes há restrições específicas (se o programa ocupa 200 MB no disco, isso é um requisito difícil). Além dessas situações, muitas vezes para coisas como RAM ou processador, acontece que mais / mais rápido é melhor, sem restrições. Como isso é determinado? Os desenvolvedores apenas inventam números que parecem razoáveis? O controle de qualidade passa por algum processo rigoroso testando vários requisitos até encontrar as configurações mais baixas com desempenho aceitável? Meu instinto diz que deveria ser o último, mas geralmente é o primeiro na prática.

Michael McGowan
fonte
Não há resposta definitiva, mas há uma pergunta no Stack Overflow que pode ser relevante para seus interesses: stackoverflow.com/questions/398586/…
Thomas Owens
Hoje em dia eles não têm sentido, pois você não sabe o que outros softwares farão no sistema.
24711 Ian
2
Eu não sei que tipo de software que você projetar @Ian, mas meu software sempre terá a total atenção, indivisível dos meus usuários ... eles também ler e memorizar o usuário :-P Manual
Michael McGowan
Eu realmente aprecio que esta questão tem 16 votos e as respostas vão 8, 4, 2 ...
Kyle Delaney

Respostas:

9

Freqüentemente, os requisitos mínimos são estabelecidos observando os tipos de sistemas que os clientes-alvo do mercado realmente usariam para o produto em questão e escolhendo alguns pontos de corte razoáveis ​​que não alienam o cliente-alvo e é algo que o departamento de controle de qualidade pode testar com um mínimo aborrecimento adicional.

Se você espera que a maioria dos seus clientes instale seu produto em computadores desktop relativamente recentes, por exemplo, você provavelmente olharia em volta e veria que praticamente qualquer computador desktop de gama baixa para uso doméstico é fornecido com 2 GB de RAM . Portanto, é muito provável que um computador recente tenha pelo menos 1 GB de RAM, mesmo que tenha alguns anos. Se poucos de seus clientes quiserem usar uma máquina com apenas 512 MB de RAM, a receita dessas vendas provavelmente será mais do que compensada pelas solicitações de suporte (as máquinas mais antigas provavelmente terão muitos outros problemas e incompatibilidades que causarão problemas e gerarão mais chamadas ao suporte técnico do que outros clientes). Portanto, pode ser mais lucrativo evitar fazer vendas para esses clientes.

Esse é aproximadamente o mesmo cálculo usado para descobrir quais navegadores da web e resoluções de tela você deseja oferecer suporte. Mesmo que o site funcione bem no IE 6 em 640x800, se 99% dos usuários estiverem usando navegadores da Web mais recentes e tiverem resoluções de tela maiores, provavelmente será melhor especificar o suporte ao IE 7 e superior e não tentar manter um antigo IE 6 box / VM para testes de regressão do que você atende a 1% do seu mercado-alvo que está usando versões de navegadores realmente antigas.

Justin Cave
fonte
5

Betas.

Normalmente, uma empresa de software lança uma versão beta de seu produto (alguns meses a algumas semanas antes do lançamento da produção, dependendo do tamanho e da complexidade do produto). Essas versões beta podem ter métricas integradas para monitorar e reportar a um servidor o desempenho do aplicativo em relação às especificações do sistema. Isso, ou eles simplesmente confiarão nesses testadores beta para relatar fielmente suas especificações de sistema e desempenho percebido.

Dado um conjunto de dados de amostra grande o suficiente, não é difícil extrapolar um requisito médio do sistema.

Jarrod Nettles
fonte
3

Existem vários fatores que geralmente são considerados.

Alguns são requisitos rígidos : tenho uma dependência que requer 1 GB de RAM, uso funcionalidades incompatíveis com o IE 6, etc.

Algumas são minhas expectativas do mercado versus o esforço de teste : se eu não acho que muitos clientes usem o XP, posso exigir pelo menos o Vista e não ter que testar no XP (economizando muito tempo e esforço de teste), se eu esperar clientes para ter computadores de última geração, posso exigir um processador mais rápido (economizando muito tempo para meus testadores) etc.

"Requisitos mínimos do sistema" são realmente uma declaração do sistema mínimo oficialmente suportado. Você pode tentar executar o software em um sistema menor e obter sucesso, mas se não funcionar bem, não reclame de usar, porque nós o avisamos.

jimreed
fonte
2

Alguns requisitos podem ser determinados com base nas bibliotecas incluídas, por exemplo, a função CreateFile da API do Win32 afirma que requer o Windows 2000 Professional como o cliente mínimo suportado. Seja ou não, você estaria correndo um risco real de dizer que tem um minuto. requisito do Windows 98.

Acho que os requisitos mínimos de memória são complicados devido à alocação e recursão dinâmicas. Você pode estimar um tamanho de pilha (chamadas de função recursivas podem ser um problema aqui) e pode estimar seu tamanho de heap com base em como você acha que seu programa será executado. No final do dia, acho que provavelmente é uma estimativa.

Os requisitos do processador, que não são baseados no uso do conjunto de instruções ou nos recursos especiais encontrados no chipset, são geralmente estimativas, eu acho, especialmente porque eu sei que já joguei muitos jogos em um P4 que exigia um mínimo de Core 2 Duo ... Fiquei grato por ter rodado, então não reclamei de nenhum problema de desempenho :-)

Eu concordo com os comentários sobre navegadores, resoluções, etc ... torna-se "o que você deseja apoiar" em oposição a um requisito técnico. Da mesma forma que o comentário do meu processador acima, ele pode funcionar e, se funcionar, ótimo! Se não ... bem, está abaixo dos mínimos e não é suportado;)

Espero que ajude.

Stephen
fonte
1

Não esqueça as informações dos departamentos de vendas e marketing. Se você sabe que a maioria dos computadores do negócio X para os quais você está tentando vender são de uma determinada especificação, isso também pode fazer uma "solicitação" de marketing da engenharia :) Você pode perguntar como as vendas conhecem o tipo de computador que um cliente tem. Basta dar uma olhada discreta no número de modelo da Dell / HP / qualquer que seja o equipamento em uma máquina durante uma ligação de vendas - a maioria das empresas possui contratos de serviço para não ficar mexendo nas entranhas de seus PCs (o que você vê é o que obtém).

anon
fonte