Il termine software è utilizzato per indicare la parte immateriale del computer, a differenza di quella fisica definita hardware. Per software si intendono i programmi, ovvero gli insiemi di istruzioni che il computer esegue. Il software è diviso in due categorie: software di sistema e software applicativo.
Il software di sistema garantisce le funzioni base che permettono l’utilizzo del computer, mentre il software applicativo serve per risolvere specifici problemi.
Il sistema operativo è il software più importante presente sul computer. Senza l’installazione di un sistema operativo, nessun computer è in grado di funzionare. Esso gestisce tutti i componenti del computer e permette all’utente di dialogare con la macchina.
Il sistema operativo coordina le funzioni generali del computer. Fanno parte del sistema operativo:
il supervisore, che permette il funzionamento di tutto il sistema, carica i programmi in memoria e gestisce le unità periferiche;
i programmi che correggono gli errori;
i programmi che gestiscono le librerie di archivi elettronici;
i programmi che definiscono la configurazione hardware del sistema.
La capacità di un sistema operativo di gestire più processi (vale a dire programmi in esecuzione) contemporaneamente è detta multiprogrammazione o, nel caso di sistemi monoutente, multitask.
I sistemi operativi più noti sono:
MS DOS (Microsoft Disk Operating System), largamente diffuso fino alla nascita di Windows, che ora ha preso il suo posto. Non è dotato di una interfaccia grafica e quindi non è di facile utilizzo.
Windows, senza dubbio il sistema operativo più diffuso.
Mac OS della Apple, per i computer Macintosh e PowerPC.
Unix, sistema pensato per gli utenti più esperti e molto utilizzato sulle workstation.
Linux, una versione di Unix per PC. È un sistema operativo che rientra nella categoria Open Software, ossia software di dominio pubblico.
E' possibile individuare due tipi di software applicativi:
i software di tipo general purpose, come i software per l'automazione d'ufficio, la progettazione, il publishing e la multimedialità;
i software che svolgono funzioni specifiche, come la gestione di magazzini, paghe e stipendi, i conti correnti bancari, la contabilità, la fatturazione, l'anagrafe comunale, ecc.
Sono software applicativi anche i programmi per creare testi e presentazioni, i fogli elettronici, i database, i programmi di grafica e contabilità, ecc.
Gli elaboratori di testi sono programmi di videoscrittura e rappresentano il software applicativo maggiormente diffuso. Essi offrono funzionalità come salvare un testo su file, conservarlo, correggerlo, modificarlo, copiarlo, stamparlo. Il più noto programma di elaborazione di testi è Microsoft Word.
Il foglio elettronico permette di gestire ed elaborare dati numerici, creare tabelle, correlarle tra loro ed effettuare importanti analisi e statistiche. È possibile, inoltre, rappresentare i dati sotto forma di grafici.
I database sono programmi in grado di gestire archivi di tipologia e grandezza variabile, ordinando le informazioni in modo razionale e permettendo un facile recupero dei dati.
Un ruolo significativo è svolto dai programmi multimediali, che si caratterizzano per l’uso contemporaneo di dati di tipo differente: testi, immagini, animazioni, filmati e suoni. Sono impiegati nelle presentazioni, nell’insegnamento e nell’editoria elettronica.
L’interfaccia grafica, detta GUI (Graphic User Interface), consente di interagire intuitivamente con il computer. Utilizza rappresentazioni grafiche, come finestre e icone, per rappresentare comandi, file e applicazioni, rendendo più facile e immediato l’uso dei programmi. Tutte le operazioni come impartire comandi, scegliere opzioni, ecc. vengono svolte tramite il mouse.
Il processo di sviluppo di un software è composto da quattro fasi:
Analisi: è la prima fase del processo di sviluppo; ha lo scopo di identificare gli utenti del software per mettere in luce le loro esigenze, richieste ed eventuali problematiche. La figura professionale che si occupa di questa fase è l’analista;
Programmazione: è la fase in cui il programma viene scritto cercando di fare in modo che le regole, i comandi e i vocaboli siano il più vicino possibile al linguaggio dell’utente e al suo modo di esprimersi. Il programma cosi realizzato è definito programma sorgente. La figura professionale che si occupa di questa fase è il programmatore;
Traduzione: è la fase in cui il programma viene convertito nel linguaggio dell’elaboratore attraverso il compilatore, che traduce l’intero programma e lo rende disponibile per una successiva esecuzione e l’interprete, che traduce ed esegue passo passo le istruzioni;
Test: è la fase di verifica in cui vengono svolti i test per controllare se il software è funzionale allo scopo e se soddisfa tutte le caratteristiche stabilite.
Fondamenti