Qual è lo scopo dell’ingegneria del software?

Il problema nel rispondere a questo è che molte persone chiamano il lavoro "ingegneria del software" quando non lo è, così come molti lo chiamano "scienziato informatico" quando non lo è. Con questo in mente, ecco la mia risposta.

Tecnicamente uno scienziato informatico scopre nuovi e migliori modi per risolvere i problemi informatici (migliori algoritmi, linguaggi e metodi di programmazione, ecc.) Un ingegnere del software usa questi algoritmi, linguaggi e simili per progettare e costruire sistemi software che siano affidabili, affidabili, supportabili e con altri attributi di qualità. È un po' come la relazione tra un chimico e un ingegnere chimico. Uno sviluppa la teoria, l'altro realizza prodotti di alta qualità usando quella teoria. Di nuovo, tecnicamente, il vero scienziato informatico è uno scienziato e un vero ingegnere del software è un ingegnere - usando principi e tecniche di ingegneria per sviluppare software. Questo è il modo in cui la maggior parte delle società professionali di informatica definirebbe le cose.

In pratica, tuttavia, ci sono diversi problemi. 1) Molte università usano il nome di informatica per quello che equivale a una laurea in ingegneria del software. 2) La maggior parte dei datori di lavoro non conosce la differenza e assume solo persone con entrambe le lauree. 3) La maggior parte delle persone con lauree in informatica o ingegneria del software passano molto del loro tempo a scrivere software, spesso per applicazioni che non richiedono alta qualità o robustezza o manutenibilità a lungo termine. In altre parole, non utilizzano tutte le abilità che un buon studente di informatica o di ingegneria del software impara.

D'altra parte, se si ottiene un lavoro scrivendo software per un'organizzazione di software veramente professionale - per esempio, scrivendo software per la navigazione aerea o la gestione di un aeroporto o facendo il sistema di controllo del traffico aereo degli Stati Uniti si avrà bisogno di tutte le abilità di un vero ingegnere del software (e più).

Con questo in mente, vi consiglio di consultare lo SWEBOK, che documenta ciò che gli ingegneri del software professionali credono sia lo scopo dell'ingegneria del sodtware. È disponibile in forma stampata o come file PDF scaricabile su www.swebok.org. È stato sviluppato da un gruppo mondiale di centinaia di esperti del settore, e sponsorizzato dalle maggiori società tecniche e corporazioni. È mantenuto dalla IEEE Computer Society.