Comment les exigences système minimales sont-elles déterminées?

17

Nous avons tous vu d'innombrables exemples de logiciels livrés avec des "exigences système minimales" comme les suivants:

  • Windows XP / Vista / 7
  • 1 Go de RAM
  • 200 Mo de stockage

Comment sont-ils généralement déterminés? Évidemment, il existe parfois des contraintes spécifiques (si le programme prend 200 Mo sur le disque, c'est une exigence difficile). Mis à part ces situations, plusieurs fois pour des choses comme la RAM ou le processeur, il s'avère que plus / plus vite est mieux sans contrainte dure. Comment sont-ils déterminés? Les développeurs inventent-ils simplement des chiffres qui semblent raisonnables? Le contrôle qualité passe-t-il par un processus rigoureux testant diverses exigences jusqu'à ce qu'il trouve les paramètres les plus bas avec des performances acceptables? Mon instinct me dit que ce devrait être le dernier mais c'est souvent le premier en pratique.

Michael McGowan
la source
Il n'y a pas de réponse définitive, mais il y a une question sur Stack Overflow qui pourrait être pertinente pour vos intérêts: stackoverflow.com/questions/398586/…
Thomas Owens
Généralement, ils n'ont aucun sens ces jours-ci, car vous ne savez pas ce que les autres logiciels feront sur le système.
Ian
2
Je ne sais pas quel type de logiciel vous concevez @Ian, mais mon logiciel recevra toujours toute l'attention de mes utilisateurs ... ils lisent et mémorisent également le manuel d'utilisation :-P
Michael McGowan
J'apprécie vraiment que cette question ait 16 votes et les réponses vont 8, 4, 2 ...
Kyle Delaney

Réponses:

9

Souvent, les exigences minimales sont définies en examinant les types de systèmes que les clients du marché cible utiliseraient réellement pour le produit en question et en choisissant un seuil raisonnable qui n'aliène pas le client cible et est quelque chose que le service d'assurance qualité peut tester avec un minimum tracas supplémentaires.

Si vous vous attendez à ce que la plupart de vos clients installent votre produit sur des ordinateurs de bureau relativement récents, par exemple, vous regarderez probablement autour de vous et verrez que presque n'importe quel ordinateur de bureau bas de gamme pour la maison sera livré avec 2 Go de RAM . Ainsi, un ordinateur récent a très probablement au moins 1 Go de RAM, même s'il a quelques années. Si très peu de vos clients souhaitent utiliser une machine qui ne dispose que de 512 Mo de RAM, les revenus de ces ventes seront probablement plus que compensés par les demandes de support (les machines plus anciennes sont susceptibles d'avoir beaucoup d'autres problèmes et incompatibilités qui causeront des problèmes et généreront plus d'appels au service d'assistance que les autres clients). Il pourrait donc être plus rentable d'éviter de vendre à ces clients.

C'est à peu près le même calcul qui permet de déterminer les navigateurs Web et les résolutions d'écran que vous souhaitez prendre en charge. Même si le site peut fonctionner correctement sur IE 6 en 640x800, si 99% de vos utilisateurs utilisent des navigateurs Web plus récents et ont des résolutions d'écran plus grandes, vous feriez probablement mieux de spécifier que vous supportez IE 7 et supérieur et n'essayez pas de maintenir une ancienne boîte / machine virtuelle IE 6 pour les tests de régression que vous ne répondez au 1% de votre marché cible qui utilise de très anciennes versions de navigateur.

Justin Cave
la source
5

Betas.

En règle générale, une société de logiciels publiera une version bêta de son produit (quelques mois à quelques semaines avant la sortie de la production, selon la taille et la complexité du produit). Ces versions bêta peuvent avoir des métriques intégrées pour surveiller et signaler à un serveur les performances de l'application par rapport aux spécifications du système. Cela, ou ils s'appuieront simplement sur ces bêta-testeurs pour rapporter fidèlement leurs spécifications système et leurs performances perçues.

Étant donné un échantillon suffisamment large de données, il n'est pas difficile d'extrapoler une configuration système moyenne.

Orties de Jarrod
la source
3

Plusieurs facteurs sont généralement pris en compte.

Certains sont des exigences strictes : j'ai une dépendance qui nécessite 1 Go de RAM, j'utilise des fonctionnalités incompatibles avec IE 6, etc.

Certaines sont mes attentes par rapport au marché par rapport aux efforts de test : si je ne pense pas que de nombreux clients utiliseront XP, je pourrai avoir besoin d'au moins Vista et ne pas avoir à tester sur XP (ce qui économise beaucoup de temps et d'efforts de test), si je m'attends à ce que les clients ont des ordinateurs haut de gamme, je peux avoir besoin d'un processeur plus rapide (ce qui fait gagner beaucoup de temps à mes testeurs aussi), etc.

«Configuration minimale requise» est en réalité une déclaration du système minimal officiellement pris en charge. Vous pouvez essayer d'exécuter le logiciel sur un système moindre et vous réussirez peut-être, mais s'il ne fonctionne pas bien, ne vous plaignez pas car nous vous en avons averti.

jimreed
la source
2

Certaines exigences peuvent être déterminées en fonction des bibliothèques que vous avez incluses, par exemple la fonction Win32 API CreateFile indique qu'elle nécessite Windows 2000 Professionnel comme client pris en charge minimum. Que ce soit le cas ou non, vous courriez un risque réel de dire que vous avez un min. exigence de Windows 98.

Je pense que les exigences minimales en mémoire sont délicates en raison de l'allocation dynamique et de la récursivité. Vous pouvez estimer une taille de pile (les appels de fonction récursifs peuvent être un problème ici) et vous pouvez estimer la taille de votre tas en fonction de la façon dont vous pensez que votre programme sera exécuté. À la fin de la journée, je pense que c'est probablement un stade approximatif.

Les exigences du processeur, qui ne sont pas basées sur l'utilisation du jeu d'instructions ou les fonctionnalités spéciales du chipset, sont généralement des estimations, je pense, d'autant plus que je sais que j'ai exécuté beaucoup de jeux sur un P4 qui nécessitaient au moins un Core 2 Duo ... J'étais reconnaissant qu'il ait fonctionné, donc je ne me suis pas plaint de problèmes de performances :-)

Je suis d'accord avec les commentaires sur les navigateurs, les résolutions, etc ... cela devient "ce que vous voulez supporter" par opposition à une exigence technique. De même que mon commentaire sur le processeur ci-dessus, cela peut fonctionner, et si c'est le cas, super! Si ce n'est pas le cas ... eh bien, il est inférieur aux minimums et non pris en charge;)

J'espère que cela aide.

Stephen
la source
1

N'oubliez pas l'apport des services commerciaux et marketing. Si vous savez que la plupart des ordinateurs de l'entreprise X que vous essayez de vendre sont d'une spécification donnée, cela peut également faire une "demande" d'ingénierie marketing :) Vous pourriez vous demander comment les ventes connaissent le type d'ordinateurs d'un client a. Jetez simplement un œil discret au numéro de modèle Dell / HP / quel que soit le modèle sur une machine lors d'un appel de vente - la plupart des entreprises ont des contrats de service afin de ne pas se faufiler dans les entrailles de leur PC (ce que vous voyez est ce que vous obtenez).

anon
la source