Software crisis: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Vitalij zad (discussione | contributi)
m Formattazione della citazione
m Annullata la modifica di 62.177.28.254 (discussione), riportata alla versione precedente di Egidio24
Etichetta: Rollback
 
(10 versioni intermedie di 9 utenti non mostrate)
Riga 1:
Il '''softwareSoftware crisis''' (''crisi del software'') è un termine usato neiai primi giorniprimordi dell'[[ingegneria 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|terminologia informatica}}
 
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'''.
 
==Descrizione==
I requisiti, continuamente in conflitto tra loro, impedivano lo sviluppo del software. Per esempio, mentre gli utenti domandavano un largo numero di funzionalità, i committenti, 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 pubblicato in [[Communications of the ACM]].
 
Dijkstra affermava<ref>
{{cita pubblicazione |quotes= |cognome=Dijkstra |nome=Edsger |linkautore= |coautori= |anno=1979 |mese= |titolo=The Humble Programmer |rivista=Classics in Software Engineering |editore=Yourdon Press |città= |volume= |numero= |pagine= |id= |pmid= |url=httphttps://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF |lingua=Inglese |accesso= |abstract= }}</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| [[Edsger Dijkstra]], The Humble Programmer}}
 
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:
* 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 mantenere.
 
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 ==
<references/>
 
{{Portale|informatica|ingegneria}}
 
[[Categoria:Storia dell'informatica]]
[[Categoria:Ingegneria del software| ]]
 
{{Portale|informatica|ingegneria}}