Come vengono determinati i requisiti minimi di sistema?


17

Abbiamo visto tutti innumerevoli esempi di software forniti con "requisiti minimi di sistema" come il seguente:

  • Windows XP / Vista / 7
  • 1 GB di RAM
  • 200 MB di memoria

Come vengono generalmente determinati? Ovviamente a volte ci sono vincoli specifici (se il programma richiede 200 MB su disco, allora questo è un requisito difficile). A parte queste situazioni, molte volte per cose come la RAM o il processore si scopre che più / più veloce è meglio senza alcun vincolo rigido. Come vengono determinati? Gli sviluppatori inventano solo numeri che sembrano ragionevoli? Il controllo qualità passa attraverso alcuni rigorosi processi che verificano vari requisiti fino a quando non trovano le impostazioni più basse con prestazioni accettabili? Il mio istinto dice che dovrebbe essere il secondo, ma è spesso il primo in pratica.


Non c'è una risposta definitiva, ma c'è una domanda su Stack Overflow che potrebbe essere rilevante per i tuoi interessi: stackoverflow.com/questions/398586/…
Thomas Owens

Per lo più sono insignificanti in questi giorni poiché non sai cosa faranno altri software sul sistema.
Ian,

2
Non so che tipo di software progetti @Ian, ma il mio software otterrà sempre l'attenzione completa e indivisa dei miei utenti ... leggono e memorizzano anche il manuale dell'utente :-P
Michael McGowan,

Apprezzo molto che questa domanda abbia 16 voti e che le risposte vadano 8, 4, 2 ...
Kyle Delaney,

Risposte:


9

Spesso, i requisiti minimi sono fissati osservando i tipi di sistemi che i clienti del mercato target utilizzerebbero effettivamente per il prodotto in questione e selezionando un limite ragionevole che non alienare il cliente target ed è qualcosa che il reparto QA può testare con un minimo seccatura aggiuntiva.

Se ti aspetti che la maggior parte dei tuoi clienti installerà il tuo prodotto su computer desktop relativamente recenti, ad esempio, probabilmente ti guarderai intorno e vedrai che quasi tutti i computer desktop di fascia bassa per la casa verranno spediti con 2 GB di RAM . Quindi è molto probabile che un computer recente abbia almeno 1 GB di RAM anche se ha un paio d'anni. Se pochissimi dei tuoi clienti vorranno utilizzare una macchina che ha solo 512 MB di RAM, le entrate di queste vendite saranno probabilmente più che compensate dalle richieste di supporto (le macchine più vecchie avranno probabilmente molti altri problemi e incompatibilità che causeranno problemi e genereranno più chiamate all'help desk rispetto ad altri clienti). Quindi potrebbe essere più redditizio evitare di fare vendite a quei clienti.

Questo è più o meno lo stesso calcolo che serve per capire quali browser Web e risoluzioni dello schermo si desidera supportare. Anche se il sito potrebbe funzionare correttamente su IE 6 in 640x800, se il 99% dei tuoi utenti utilizza browser Web più recenti e hanno risoluzioni dello schermo più grandi, probabilmente stai meglio specificando che supporti IE 7 e versioni successive e non stai cercando di mantenere una vecchia scatola IE 6 / VM per i test di regressione di quanto tu stia approvando per l'1% del tuo mercato di destinazione che utilizza versioni di browser molto vecchie.


5

Beta.

In genere, una società di software rilascerà una versione beta del proprio prodotto (da pochi mesi a qualche settimana prima del rilascio della produzione, a seconda delle dimensioni e della complessità del prodotto). Queste versioni beta potrebbero avere metriche integrate per monitorare e riportare a un server le prestazioni dell'applicazione rispetto alle specifiche di sistema. Ciò, o si baseranno semplicemente su questi beta tester per riferire fedelmente con le loro specifiche di sistema e le prestazioni percepite.

Dato un set di dati sufficientemente ampio, non è difficile estrapolare un requisito di sistema medio.


3

Esistono diversi fattori che vengono generalmente considerati.

Alcuni sono requisiti difficili : ho una dipendenza che richiede 1 GB di RAM, utilizzo funzionalità incompatibili con IE 6, ecc.

Alcune sono le mie aspettative sul mercato rispetto allo sforzo di test : se non credo che molti clienti useranno XP, posso richiedere almeno Vista e non dover testare su XP (risparmiando molto tempo e sforzo di test), se mi aspetto i clienti che dispongono di computer di fascia alta posso richiedere un processore più veloce (risparmiando molto tempo anche ai miei tester), ecc.

I "Requisiti minimi di sistema" sono in realtà una dichiarazione del sistema minimo ufficialmente supportato. Puoi provare a eseguire il software su un sistema inferiore e potresti avere successo, ma se non funziona bene non lamentarti di usarlo perché ti abbiamo avvisato.


2

Alcuni requisiti possono essere determinati in base alle librerie che hai incluso, ad esempio la funzione CreateFile dell'API Win32 afferma che richiede Windows 2000 Professional come client minimo supportato. Che lo faccia o meno, correresti un rischio reale di dire che hai un minuto. requisito di Windows 98.

Penso che i requisiti minimi di memoria siano difficili, a causa dell'allocazione dinamica e della ricorsione. Puoi stimare una dimensione dello stack (le chiamate di funzioni ricorsive potrebbero essere un problema qui) e puoi stimare la dimensione del tuo heap in base a come pensi che il tuo programma verrà eseguito. Alla fine della giornata penso che sia probabilmente un campo da baseball.

I requisiti del processore, che non si basano sull'uso del set di istruzioni o sulle funzionalità speciali presenti nel chipset, sono generalmente stime che penso, soprattutto perché so di aver eseguito molti giochi su un P4 che richiedevano un minimo di un Core 2 Duo ... ero grato che funzionasse, quindi non mi sono lamentato di eventuali problemi di prestazioni :-)

Sono d'accordo con i commenti su browser, risoluzioni, ecc ... diventa "ciò che vuoi supportare" invece di un requisito tecnico. Analogamente al mio commento sul processore sopra, potrebbe funzionare e, se lo fa, fantastico! Se non lo fa ... beh, è ​​al di sotto dei minimi e non supportato;)

Spero che sia d'aiuto.


1

Non dimenticare l'input dei reparti vendite e marketing. Se sai che la maggior parte dei computer in affari X che stai cercando di vendere sono di una determinata specifica, che può anche fare una "richiesta" di marketing di ingegneria :) Potresti chiedere come le vendite conoscono il tipo di computer un client ha. Basta dare un'occhiata discreta al numero Dell / HP / qualunque sia il numero di modello su una macchina durante una chiamata di vendita - la maggior parte delle aziende ha contratti di servizio in modo che non stiano andando in giro nelle viscere dei loro PC (quello che vedi è quello che ottieni).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.