Software crisis: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Nessun oggetto della modifica
Riga 1:
Il '''software crisis''' è un termine usato nei primi giorni dell'[[Ingegneria del software]]. Il termine era usato per 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.
Il '''software crisis''' was a term used in the early days of [[software engineering]], before it was a well-established subject. The term was used to describe the impact of rapid increases in computer power and the complexity of the problems which could be tackled. In essence, it refers to the difficulty of writing correct, understandable and verifiable computer programs. The roots of the software crisis are complexity, expectations, and change.
 
Requisiti in conflitto contnuamente impedivano lo sviluppo del software. Per esempio mentre gli utenti domandano un largo numero di funzionalità, i comittenti generalmente chiedono di minimizzare i costi dello sviluppo e i tempi.
Conflicting requirements have always hindered the software development process. For example, while users demand a large number of features, customers generally want to minimise the amount they must pay for the software and the time required for its development.
 
TheIl notion ofconcetto adi software crisis emergedera atemerso thealla endfine ofdel the 1960s1960. AnUn earlyvecchio useuso ofdel thetermine term isera in [[Edsger Dijkstra]]'s 1972 ACM Turing Award Lecture, "The Humble Programmer" (EWD340), publisheddi in[[Edsger Dijkstra]] del 1972 thepublicato in [[Communications of the ACM]]. Dijkstra states:
 
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)].
 
TheLe causescause of thedella software crisis wereera linkedcolelgate toalla thecomplessità overalldei complexity of theprocessi software processe andalla therelativa relativeimmaturità immaturitydell'ingegneria ofdel software engineering as a profession. TheLa crisiscrisi manifestedsi itselfmanifestava in severaldiversi waysmodi:
* ProjectsProgetti runningoltre il over-budget.
* Progetti oltre i limiti di tempo
* Projects running over-time.
* Software wasdi ofscarsa low quality.qualità
* Software oftenche didspesso notnon meetrispettava requirements.i requisiti
* Progetti ingestibili e codice difficile da manutenere
* Projects were unmanageable and code difficult to maintain.
 
La crisi del software condusse quindi alla nascita dell'Ingegneria del software e ai primi modelli come il [[modello a cascata]].
The software crisis was addressed by the implementation of various [[Software_development#Processes_and_methodologies|processes and methodologies]] most notably Royce's [[waterfall model]].
 
[[Categoria:Informatica]]