Ingegneria del software: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
corretta la frase finale per collegarsi alla sezione sui cicli di vita del software
Storia: esteso il paragrafo
Riga 3:
 
==Storia==
La necessità di creare una disciplina che si occupi della realizzazione dei software nasce, intorno alla fine degli anni '60, dall'esigenza di sviluppare prodotti sempre più complessi ed evoluti che rispondano a richieste di grandi utenze.<br>
Più precisamente dal 1950 al 1965 lo sviluppo del personal software era alquanto limitato: molti programmi venivano sviluppati per batch, gli informatici erano pochi ed apprendevano sul campo. Ciò che veniva sviluppato era pensato per un unico cliente, inoltre ad ogni progetto lavorava ed avrebbe lavorato una sola persona, senza scrivere alcuna documentazione.<br>
Il software come prodotto industriale, diventa anche oggetto di un attento esame per evolvere la capacità di realizzazione dello stesso.
 
Nasce in pratica un concetto simile alle ottimizzazioni da catena di montaggio per le industrie del secolo scorso che avevano similmente stravolto il modo di produrre apparecchiature meccaniche.
Si cerca di identificare quei punti focali che devono governare la realizzazione di un buon prodotto software e soprattutto si cerca di definire formalmente cosa possa descrivere un ''buon'' prodotto software.
 
Fino alla nascita dell'ingegneria del software, la realizzazione di prodotti per computer era una mera attività di programmazione eseguita attraverso l'applicazione di discipline come:
 
* [[Algoritmi]]
* [[Struttura dati|Strutture Dati]]
Riga 15 ⟶ 12:
* [[Linguaggio di programmazione|Linguaggi di Programmazione]]
 
Con l'avvento delle tecnologie informatiche anche nel settore industriale e commerciale, bacini di utenze non più tecniche si trovano a sentire l'esigenza di informatizzare le proprie strutture. Nascono l'incontro tra i [[requisiti]] dell'azienda cliente e le funzionalità che il programmatore deve realizzare.
 
Dal 1965 al 1975 si assiste allo sviluppo di software pensato per più utenti e per i sistemi in real-time. In questo periodo iniziano conseguenzialmente gli sviluppi di pacchetti software, tuttavia si presentano anche numerosi problemi come la gestione e il mantenimento di un software.
Fino a questo stadio, laLa [[programmazione]] consisteva soprattutto nel mettere insieme una sequenza di istruzioni di codice per realizzare compiti ben specifici.
 
A partire dal 1972 e fino al 1988 vengono introdotte nuove tecnologie, nascono i sistemi distribuiti
e si afferma la figura del sistemista informatico esperto. Il costo dell'harware si abbassa considerevolmente e di conseguenza la tecnologia informatica comincia a diffondersi rapidamente. Il livello qualitativo del software si eleva, tuttavia il suo sviluppo è ancora limitato a progetti scientifici e militari, e solo successivamente, dopo aver affrontato una lunga fase di collaudo, il software viene introdotto nelle industrie.
Altri processi, voluti ad esempio da organizzazioniOrganizzazioni come il Pentagono, spingono fortemente lo studio di modelli che permettano di minimizzare fortemente la presenza di errori all'interno dei software.
 
Con l'avventointroduzione delle tecnologie informatiche anche nel settore industriale e commerciale, a partire dal 1988, bacini di utenze non più tecniche si trovano a sentire l'esigenza di informatizzare le proprie strutture. Nascono l'incontro tra i [[requisiti]] dell'azienda cliente e le funzionalità che il programmatore deve realizzare.<br>
In questo periodo nasce la programmazione orientata agli oggetti, si tende a controllare lo sviluppo del software cercando di sviluppare dei prodotti con una certa qualità anche a causa della concorrenza affermatasi tra le software house. Si cerca di curare al massimo l'interfaccia grafica presentata all'utente, in quanto anche il tipo di utenza è cambiato.<br>
Da queste esigenze nasce l'incontro tra i [[requisiti]] dell'azienda cliente e le funzionalità che il programmatore deve realizzare.
 
NasceSi in praticasviluppa un concetto simile alle ottimizzazioni da catena di montaggio per le industrie del secolo scorso che avevano similmente stravolto il modo di produrre apparecchiature meccaniche.
Si cerca di identificare quei punti focali che devono governare la realizzazione di un buon prodotto software e soprattutto si cerca di definire formalmente cosa possa descrivere un ''buon'' prodotto software.
 
Differenti utenze generano nuove esigenze nella realizzazione di un software.
Le aziende pongono ad esempio l'accento sulla necessità di definire processi di sviluppo del software che permettano di rispettare le scadenze fissate per ridurre i costi di realizzazione die prodotti stessi.
Altri processi, voluti ad esempio da organizzazioni come il Pentagono, spingono fortemente lo studio di modelli che permettano di minimizzare fortemente la presenza di errori all'interno dei software.
 
L'ingegneria del software racchiude questi e molti altri elementi creando una scienza che si preoccupa effettivamente di concretizzare come permettere non più ad una singola persona ma ad un team di tanti sviluppatori, di realizzare un ''buon'' software.