Software crisis: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Thijs!bot (discussione | contributi)
m robot Aggiungo: ja:ソフトウェア危機
m Annullata la modifica di 62.177.28.254 (discussione), riportata alla versione precedente di Egidio24
Etichetta: Rollback
 
(26 versioni intermedie di 22 utenti non mostrate)
Riga 1:
Il '''softwareSoftware crisis''' (''crisi del software'') è un termine usato neiai primi giorniprimordi dell'[[Ingegneriaingegneria del software]] per descrivere l'impatto della rapida crescita della potenza degli [[elaboratore|elaboratori]] e la complessità dei problemi che dovevano essere affrontati. Le parole chiave della software crisis erano '''complessità''', '''attese''' e '''cambiamento'''.
{{S|informatica}}
 
==Descrizione==
Il '''software crisis''' è un termine usato nei primi giorni dell'[[Ingegneria del software]] per descrivere l'impatto della rapida crescita della potenza degli elaboratori e la complessità dei problemi che dovevano essere affrontati. Le parole chiave della software crisis erano '''complessità''', '''attese''' e '''cambiamento'''.
I requisiti, continuamente in conflitto tra loro, impedivano lo sviluppo del software. Per esempio, mentre gli utenti domandavano un largo numero di funzionalità, i comittenticommittenti, generalmente, chiedevano di minimizzare i costi dello sviluppo ed i tempi.
 
Il concetto di software crisis era emersoemerse alla fine deldegli [[anni 1960|anni '60]]. Un vecchio uso del termine era in ACM Turing Award Lecture, "The Humble Programmer" (EWD340), di [[Edsger Dijkstra]] del 1972 publicatopubblicato in [[Communications of the ACM]].
I requisiti, continuamente in conflitto tra loro, impedivano lo sviluppo del software. Per esempio, mentre gli utenti domandavano un largo numero di funzionalità, i comittenti, generalmente, chiedevano di minimizzare i costi dello sviluppo ed i tempi.
 
Dijkstra affermava<ref>
Il concetto di software crisis era emerso alla fine del 1960. Un vecchio uso del termine era in ACM Turing Award Lecture, "The Humble Programmer" (EWD340), di [[Edsger Dijkstra]] del 1972 publicato in [[Communications of the ACM]].
{{cita pubblicazione |cognome=Dijkstra affermava|nome=Edsger |anno=1979 |titolo=The Humble Programmer |rivista=Classics in Software Engineering |editore=Yourdon Press |url=https://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF |lingua=Inglese }}</ref>: "''{{Citazione|The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem''"| [http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF [Edsger Dijkstra:]], The Humble Programmer (PDF, 473Kb)].}}
 
Le cause della software crisis eraerano collegate alla complessità dei processi software ed alla relativa immaturità dell'ingegneria del software. La crisi si manifestava in diversi modi:
Dijkstra affermava: "''The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem''" [http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF Edsger Dijkstra: The Humble Programmer (PDF, 473Kb)].
 
Le cause della software crisis era collegate alla complessità dei processi software ed alla relativa immaturità dell'ingegneria del software. La crisi si manifestava in diversi modi:
* Progetti oltre il budget
* Progetti oltre i limiti di tempo
* Software di scarsa qualità
* Software che spesso non rispettava i requisiti
* Progetti ingestibili e codice difficile da manuteneremantenere.
 
La crisi del software condusse, quindi, alla nascita dell'Ingegneria del software ed ai primi modelli di sviluppo, come il [[modello a cascata]].
 
Per superare la crisi, infatti, si dovettero introdurre:
* [[Management]];
* Organizzazione, attraverso l'analisi e la progettazione;
* Teorie e Tecniche, tra cui la [[programmazione strutturata]] e la [[programmazione ad oggetti]];
*Teorie e Tecniche
* Strumenti, tra cui gli [[ambiente di sviluppo integrato|Integrated development environment]];
*Strumenti
* Metodologie, tra cui il [[modello a cascata]] e la [[metodologia agile]].
*Metodologie
 
== Note ==
[[Categoria:Ingegneria del software]]
<references/>
 
{{SPortale|informatica|ingegneria}}
[[de:Softwarekrise]]
 
[[en:Software crisis]]
[[Categoria:Storia dell'informatica]]
[[he:משבר התוכנה]]
[[Categoria:Ingegneria del software]]
[[ja:ソフトウェア危機]]
[[pt:Crise do software]]
[[zh:软件危机]]