3.1 Tipi di Software: i software di base e i software applicativi
Il software comprende tutte le componenti che non si possono toccare, ma senza le quali tutto l’insieme di chip, circuiti elettronici e schede non servirebbe a niente. E’ solo grazie ai programmi che possiamo interagire in modo semplice ed efficace con il computer
Infatti la CPU comprende solo dei numeri, delle sequenze di 1 e di 0. Solo persone competenti come gli informatici sono in grado di scrivere dei programmi in “Linguaggio Macchina”. Il “linguaggio macchina” è composto da una serie molto ampia di sequenze numeriche di 16 bit (2 byte) ciascuna. Ogni sequenza corrisponde ad un istruzione che la CPU eseguirà.
E’ per questo che a questi linguaggi di “programmazione a basso livello”, estremamente complesso, si sono inventati linguaggi più semplici definiti “linguaggi ad alto livello”. Di questi linguaggi ne esistono diversi: il C, il C++, il COBOL, il BASIC, il PASCAL e Java. Questi linguaggi, incomprensibili dalla CPU verranno poi trasformati in sequenze numeriche attraverso l’uso di particolari programmi chiamati “compilatori”. Questi software sono anche chiamati “Software per gli sviluppatori di programmi”.
A questi linguaggi, che servono per dare istruzioni alla CPU, si ricorda la presenza anche di particolari programmi che hanno il compito di riconoscere le varie periferiche. Questi programmi sono necessari alla CPU per gestire e colloquiare con le periferiche, prendono il nome di “driver”.
Al computer sono necessari anche una serie di “programmi di utilità” che lo mettono nelle condizioni di gestire copie e salvataggi di dati.
L’insieme di questi tutti questi programmi vanno a comporre il “Software di Base”, ovvero l’insieme di programmi senza i quali nulla sarebbe possibile (nemmeno accendere il Pc).
Tra i Software che rendono possibile il funzionamento del computer c’è il “Sistema Operativo”. Il “Sistema Operativo” rappresenta, infatti, un insieme di software di base che costituiscono l’interfaccia tra l’utente e l’hardware. Come abbiamo detto prima sarebbe estremamente complesso agire direttamente sull’hardware: il Sistema Operativo rappresenta perciò una parte di Software che ci permette di gestire il funzionamento dell’intero sistema in modo molto semplice.
Il Sistema Operativo tuttavia, appartenendo al software di base, non rende possibile l’esecuzione di applicazioni precise, per esempio scrivere testi, giocare ai videogame, modificare immagini, consultare pagine web, ecc…
Per l’esecuzione di queste applicazioni sono necessari i “Software Applicativi”. Questi tipi di software verranno analizzati nel cap. 3.3 .
3.2 I Sistemi Operativi
3.2.1 Le funzioni principali di un Sistema Operativo
Il Sistema Operativo svolge un ruolo indispensabile per il funzionamento del PC. Si potrebbe definire il “Software Madre” all’interno del quale vengono avviati tutti i vari “software applicativi”, permette all’utente di interagire nel modo più semplice possibile, permettere la gestione dei file, delle cartelle, ecc…
Il sistema operativo viene lanciato (avviato) direttamente all’accensione del computer. Dato che i Sistemi Operativi sul mercato sono diversi è possibile installarne sul proprio Pc diversi.
Naturalmente non è possibile avviarne più di uno alla volta. Sarà necessario partizionare il disco rigido (dividere il disco in due parti indipendenti: sarà come avere due dischi distinti) e all’avvio del PC si dovrà scegliere il sistema operativo desiderato.
3.2.2 I principali Sistemi Operativi
Esistono diversi Sistemi Operativi.
Uno dei primi (1981) fu MS-DOS. Letteralmente MicroSoft-Disk Operating System, nacque in seguito alla diffusione dei primi Pc da parte della IBM. Tuttavia la sua “interfaccia poco intuitiva” (no user-friendly) non ne permetteva l’utilizzo ad utenti che non ne conoscevano i comandi. Infatti il “dos” rispondeva a delle istruzioni testuali che venivano digitate dall’utente attraverso la tastiera; se i comandi non erano corretti il sistema operativo si interrompeva senza procedere.
Questo tipo di interfaccia testuale è il principale motivo per cui MS-DOS non è più utilizzato. Contemporaneamente alla diffusione di MS-DOS, nacque un altro sistema operativo, battezzato dall’industria americana Apple, “MacOS”. La grande innovazione che portò MacOS (Macintosh Operating System) fu l’interfaccia grafica. Attraverso un puntatore, muovibile attraverso un “Trackball” (vedi cap. 2.3.2), era possibile cliccare su delle icone e su delle finestre. Fu un grande passo avanti per lo sviluppo dei sistemi operativi, ma uno dei difetti di MacOS è che funzionava solo su particolari tipi di computer (i “Macintosh”) che sfruttavano una tecnologia particolare. Questi tipi di computer non erano compatibili con i personal computer IBM (i più diffusi).
Così un’industria di Seattle mise a punto una nuova interfaccia grafica per MS-DOS. Un’interfaccia che evitava all’utente i difficili comandi di MS-DOS. Attraverso l’utilizzo di un puntatore (muovibile dal Mouse) era possibile cliccare su delle icone che permettevano l’apertura di finestre: nacque così il primo Windows.
Windows 3.1 segnò l’inizio della fortuna della Microsoft di Bill Gates. Dopo pochi anni Windows da semplice interfaccia divenne un vero e proprio sistema operativo che determinò, con gli anni, la scomparsa di MS-DOS. Seguirono così Windows 95, 98, 98 SE (second edition), NT (New Tecnology), 2000 (versione migliorata di win NT), ME (Millenium Edition) e l’ultimo XP.
Esistono tuttavia anche altri sistemi operativi, che si possono scaricare gratuitamente da internet (versioni “Freeware”), di qualità superiore (più stabili ed efficienti) e che permettono l’utilizzo in multiutenza (consentono l’accesso a più utenti). Il più diffuso è LINUX. Tutto nacque dal lavoro di Linus Thorvald che sviluppò le basi di un sistema operativo nuovo “UNIX”. Al termine del suo progetto diffuse gratuitamente i risultati della sua opera dando la possibilità di modificarlo a piacere. L’esperienza “LINUX” è in continua evoluzione, uno dei sistemi operativi più noti è distribuito dalla RED HAT. Anche questi tipi di sistemi operativi si basano su un interfaccia grafica piuttosto intuitiva, tuttavia rimangono sistemi operativi in alcune loro parti abbastanza complessi.
3.2.3 Le Interfacce Grafiche (GUI)
L’interfaccia grafica introdotta nei sistemi operativi e nei software applicativi, prende il nome di GUI (Graphical User Interface), ed è stata la principale causa di successo. Se i computer sono arrivati in molte case lo si deve alla facilità con la quale ognuno li può utilizzare.
E’ possibile interagire con il computer attraverso il mouse. Cancellare un file è possibile semplicemente trascinando l’icona del file all’interno del cestino (con MS-DOS si doveva digitare dal prompt “del ‘nome_unità’:’nome_file.estensione'”). L’accessibilità di questi sistemi operativi si intuisce mettendo a confronto i manuali di funzionamento. Un manuale di Windows 95, per esempio, è di neanche cento pagine, mentre un manuale di una qualsiasi versione di MS-DOS supera le 400.
3.3 I principali Software Applicativi
Iniziamo ora ad analizzare quei software che ci permettono di eseguire particolari applicazioni.
3.3.1 Elaboratore di Testi
Esistono programmi per l’elaborazione di testi, detti anche “programmi di videoscrittura”. In Windows ci sono versioni molto semplici (Blocco note e WordPad) e più complesse come “Microsoft Word”.
Questi programmi vengono utilizzati principalmente per la scrittura di testi, dato che che ne è possibile il salvataggio e la modifica ogni volta che lo si ritiene opportuno. Alcuni “elaboratori di testo” (come Word) sono in grado, inoltre, di segnalare eventuali errori ortografici, e alcune inesattezze grammaticali (es. ripetizioni e anacoluti).
Al di fuori di Windows esistono altri editor di testi: WordPro (di Lotus) e Word-Perfect (della Corel).
3.3.2 Gestori di Fogli Elettronici
I fogli elettronici sono utilizzati da coloro che vogliono effettuare calcoli in modo comodo e veloce. A partire da funzioni matematiche complesse questo tipo di programma permette anche la definizione di grafici.
Un foglio elettronico appare sottoforma di tante celle ognuna è definita dal numero di riga e da una lettera di colonna (tipo battaglia navale). E’ possibile scrivere delle formule che comprendono come variabili i valori contenuti in determinate celle, riducendo notevolmente i tempi di calcolo.
Questo genere di programmi è utilizzato sopratutto per la gestione delle contabilità (non solo aziendali).
Il più noto è quello di Windows: “Microsoft Excel”. Abbastanza famoso è anche 123 di Lotus.
3.3.3 Programmi di Presentazione
Vengono utilizzati per le presentazioni di progetti, di piani di lavoro o di tesi. E’ possibile, infatti, creare una serie di diapositive comprendenti immagini, didascalie, grafici, suoni o brevi filmati. Queste diapositive (o slide) saranno poi riprodotte in sequenza, proiettandole attraverso un proiettore collegato alla porta d’uscita del monitor.
Il programma più noto è ancora una volta quello di Windows: “Microsoft PowerPoint”.
3.3.4 Gestori di Database
Questo genere di programmi è utile a coloro che vogliono creare degli archivi. Il Database è infatti una specie di archivio elettronico, provvisto di una serie di “Record”. Ogni Record contiene tutte le informazioni di un singolo elemento che si intende catalogare.
E’ possibile, per esempio, catalogare i libri della propria libreria o la propria collezione di CD musicali. Ad ogni CD corrisponderà una “scheda” (un “record”) che contiene le sue principali informazioni(es. Titolo, Artista, Anno, Genere, Prezzo, Data di Acquisto,…). E’ possibile poi ordinare i record in ordine alfabetico, e consultarli in modo pratico e veloce.
Questi tipi di programmi sono utilizzati, già da molti anni, dagli uffici anagrafici, dalle aziende ospedaliere, dalle biblioteche, dai grandi magazzini, ecc…
Il programma per la creazione e la gestione di Database di Windows è “Microsoft Access”.
3.3.5 Programmi per la consultazione di pagine Web: i Browser
Con la diffusione di “internet” è diventato uno dei programmi più utilizzati. Per visitare una pagina Web (le pagine che si consultano in internet) sono necessari particolari programmi che riescano a caricare correttamente testi, immagini e animazioni. Questi programmi sono chiamati Browser, dall’inglese “scorripagine”.
I Browser più noti sono “Netscape Navigator” (completamente gratuito) e “Microsoft Internet Explorer” (nel pacchetto di Windows). Si stanno, però, diffondendo anche altri Browser. Uno dei più efficienti, oltre ad essere gratuito, è Opera.
L’utilizzo dei Browser è di estrema facilità: una volta avviati è sufficiente digitare l’indirizzo della pagina che si vuole consultare (es. www.nomesito.it) e la pagina verrà caricata automaticamente.
Ad Internet verrà dedicato più ampio spazio nel cap. 4.5 .
3.3.6 Programmi per l’utilizzo di Posta Elettronica
Questo tipo di programmi permettono di inviare e di ricevere dei messaggi elettronici chiamate e-mail. Le e-mail (electronic mail – posta elettronica) possono contenere, oltre a testi, anche interi file (immagini, musiche, file di testo, fogli elettronici, database …).
Il grande vantaggio offerto dalla posta elettronica è che le e-mail arrivano al destinatario istantaneamente: appena aprirà il “programma per la ricezione della posta” potrà leggere il nostro messaggio. Oltre alla possibilità di inviare le e-mail a più destinatari contemporaneamente, è possibile fare in modo che alla loro apertura ritorni un messaggio (una sorta di raccomandata con ricevuta di ritorno).
I programmi più utilizzati sono “Microsoft Outlook Express” ed “Eudora”, anche se è possibile consultare ed inviare le e-mail attraverso il Browser all’interno di alcuni siti web che offrono questo tipo di servizio.
Al funzionamento della posta elettronica verrà dedicato più ampio spazio nel cap. 4.5.6 .
3.3.7 Programmi di Grafica
Questi programmi permettono l’apertura di foto o immagini, oltre a dare la possibilità all’utente di creare disegni.
Al semplicissimo “Paint” del pacchetto Windows, seguono editor di immagini più complessi come “Paint Shop Pro”, “Corel Draw” e “Microsoft Photo Editor”. Quest’ultimi sono anche detti programmi di “fotoritocco” e si sono diffusi anche grazie alla presenza sul mercato degli scanner. E’ possibile, infatti, effettuare simpatiche modifiche a foto o immagini (es. fotomontaggi). Alcuni di questi programmi offrono anche la possibilità di creare delle animazioni.
Si stanno sviluppando anche molti software per la realizzazione di immagini tridimensionali.
3.3.8 Programmi di progettazione (CAD)
Esistono anche programmi di grafica utilizzati nell’ambito professionale: è il caso dei programmi di CAD. Letteralmente Progettazione Assistita da Computer (Computer Aided Design), il CAD è molto utilizzato da architetti e ingegneri.
Attraverso questi software è possibile realizzare disegni in scala. I programmi CAD sono inoltre provvisti di librerie, che contengono tutti i simboli tecnici necessari.
Se si vuole disegnare il progetto di una casa è possibile utilizzare la “struttura a layer”. Per esempio: se si disegna la struttura dell’edificio con un colore, gli impianti elettrici di un altro e l’impianto idraulico di un altro ancora, sarà possibile, interdicendo la visualizzazione di determinati colori, vedere solo certe parti del nostro progetto.
Un’altra utile funzione dei programmi CAD è quella di poter visualizzare il nostro progetto (es. una villa) in tre dimensioni (come se fosse già stata costruita!).
I programmi CAD sono in continua evoluzione (vengono prodotte nuove versioni quasi ogni anno). I più noti sono ExtraCad ed AutoCad. I loro costi possono anche essere di qualche migliaia di euro.
3.3.9 I Videogame
Il computer sta diventando sempre di più un modo per passare il proprio tempo libero. Oltre a navigare in Internet, molti lo utilizzano anche per giocare. Il sempre crescente sviluppo dei videogame (videogiochi) lo si deve soprattutto al miglioramento della grafica. Immagini sempre più realistiche e sofisticate stanno facendo la fortuna delle grandi case produttrici.
3.4 Lo sviluppo del Software
Lo sviluppo del software si articola in diverse fasi: “analisi”, “progettazione”, “programmazione” e “test”.
A una prima fase nella quale si considera il tipo di utenza alla quale il software sarà rivolto, segue una seconda. La fase di “progettazione è curata dall’analista informatico, che dovrà, valutando le richieste e le aspettative degli utenti, delineare come dovrà essere strutturato il programma.
Nella “fase di programmazione” il “programmatore”, tenendo conto delle indicazioni dell’analista, dovrà di fatto scrivere il programma. I programmi sono scritti utilizzando determinati linguaggi chiamati “linguaggi di programmazione” (vedi cap. 3.1 ).
Prima di mettere in commercio il prodotto, sarà necessario testare tutte le sue funzioni, in modo da garantirne la qualità.