Progettazione software rispetto alla progettazione di prodotti fisici

4

Ho ricevuto un sacco di domande a cui rispondere per preparare un esame e questo non sono sicuro di quale sia la chiara differenza:

"Spiega la differenza tra la progettazione di software e la progettazione di prodotti fisici"

Ho un'opinione su questo, ma più ci penso più ci si sente come se non ci fosse una vera differenza se non che gli strumenti e le formule usati quando si fabbricano oggetti fisici sono stati stabiliti centinaia di anni fa e le euristiche / i modelli hanno stato sul posto da sempre.

Ho anche pensato che, una volta disegnato un cucchiaio e realizzato, non si evolva nel tempo, soddisfa i suoi requisiti ed è così, mentre per il software arrivano sempre nuovi requisiti, quindi devi considerare una certa qualità attributi al riguardo.

Questo deriva dalla mia classe di architettura software se voi ragazzi avete bisogno di un contesto.

Quali sono le differenze tra la progettazione del software e la progettazione fisica e sono fuori luogo con la mia risposta?

    
posta Patrick.SE 09.06.2013 - 23:16
fonte

2 risposte

7

Nessuna vera differenza? Le differenze sono enormi .

L'aspetto principale è che il software non ha essenzialmente costi di produzione. Il costo marginale della produzione di software è quasi nulla, con quasi tutti i costi legati al lavoro di progettazione.

Quando si progetta un processo fisico, molti dei vincoli di progettazione sono dominati dalle difficoltà nella produzione effettiva del progetto. Il processo di creazione di un progetto e pianificazione di come realizzarlo è di per sé una disciplina ingegneristica e i costi di produzione possono spesso superare i costi di progettazione. E poiché i dispositivi fisici devono esistere nel mondo reale e devono essere costruiti con materiali reali, le differenze nel design possono comportare un aumento dei costi di produzione. Se puoi progettare la tua parte da lamiera stampata invece di richiedere a un macchinista di fresarla, puoi tagliare il costo per parte da diversi dollari a pochi centesimi.

Quando si fanno copie di software, è banale fare copie. Vuoi riempire il tuo disco rigido con diversi miliardi di copie di alcuni software? Nessun problema, e ognuno sarà una copia perfetta. Ma vuoi fare un miliardo di copie di un bene fisico? Non è così facile, anche se hai il materiale in giro. Ognuna di quelle parti prodotte sarà leggermente diversa.

Nel regno dei prodotti fisici, non ci sono dimensioni esatte, tutto ha delle tolleranze, tutto ha elementi di variabilità che devono essere tenuti in considerazione. Se si sta creando un prodotto software, è possibile testare il software, quindi è possibile copiarlo tutte le volte che lo si desidera. Quando realizziamo prodotti fisici, non solo dobbiamo testare alcune parti rappresentative del design per verificare il nostro design, ma dobbiamo testare ogni singolo dispositivo che esce dalla fabbrica.

Quando acquisti un'auto, qualcosa come 1/4 del costo dell'auto è rappresentata dal costo per produrre effettivamente le materie prime dell'auto, e il resto è il costo di produzione degli strumenti strong>. Se un produttore di automobili riuscisse a rimuovere una singola vite dal design di un motore, farebbe risparmiare abbastanza sui costi di produzione che potrebbero pagare due ingegneri per un anno intero solo per farlo.

Uno stampo a iniezione economico per pezzi in plastica può costare $ 50.000. Immagina quanto sarebbe diverso lo sviluppo del software se costasse $ 50 ogni volta che premi F5 nel tuo IDE per provare a eseguire il tuo software.

Ulteriori informazioni in Da Craft to Science

    
risposta data 10.06.2013 - 01:10
fonte
1

Spesso uso questa distinzione tra software e cose fisiche quando descrivo perché creare software è difficile.

Gli utenti pensano che sia questa cosa lanosa all'interno del computer, non puoi toccarla, non capiscono perché si rompe ecc.

I venditori pensano di poter solo promettere il mondo a un cliente e tu lo sviluppatore / i sarà in grado di lanciarlo insieme senza troppi pensieri (o troppi cambiamenti nella scala cronologica!)

Quindi direi che una grande differenza sono le persone coinvolte. Nel software può essere molto difficile legare le persone al concordare una specifica, o semplicemente non deviare da quella specifica nel tempo.

Idealmente, la loro non sarebbe una grande differenza tra i due, ma poiché il tuo software vive semplicemente dietro al monitor, non si rendono conto di quanto grande sia un cambiamento se tu dovessi, ad esempio, aver visto le gambe fuori da un tavolo da sostituire con le nuove fantastiche gambe 2.0

    
risposta data 10.06.2013 - 14:59
fonte

Leggi altre domande sui tag