Tecnologie Informatiche
n°5
IL SOFTWARE
Col termine software (SW) si indicano i programmi in generale, ma di questi ne esistono differenti e diverse
tipologie che potremmo raggruppare in queste due categorie:
-
il SW DI SISTEMA: cui è demandata la gestione dell’hardware e degli altri programmi, in pratica è il
SW che fa funzionare il computer;
-
il SW APPLICATIVO: rappresentato dai programmi di scrittura, calcolo, grafica, la gestione di
risorse in rete che abitualmente utilizziamo. Fanno parte dei software applicativo anche i
linguaggi di programmazione.
IL SOFTWARE DI SISTEMA
Del SW di sistema fanno parte: il SISTEMA OPERATIVO, le UTILITY, il SW DRIVER, il SW DI RETE.
Le utility sono programmi di utilità che aggiungono funzionalità al sistema operativo, ad esempio il
programma che aiuta la ricerca dei file sul computer è una utility, come lo è il programma che permette di
regolare data ed ora, o quello che consente di comprimere più file e così via.
I driver, da non confondere con drive (periferica I/O che legge e scrive su CD e DVD ad esempio), sono i
programmi che consentono al sistema operativo di “riconoscere” una nuova periferica e quindi di poter
gestire il traffico dei dati da e per essa.
Il SW di rete è quello che consente di gestire le risorse di computer collegati tra di loro in una rete. È il SW
che ad esempio permette di leggere i dati sull’HD di un altro computer o che ci permette di condividere la
stampante da più postazioni.
IL SISTEMA OPERATIVO è il programma fondamentale di ciascun computer, senza di esso non sarebbe
possibile far “girare” programmi o utilizzare le periferiche.
All’accensione del computer avviene la fase di bootstrap durante la quale si effettua il controllo della
configurazione del sistema e delle componenti hardware disponibili e il caricamento dei moduli
fondamentali del sistema operativo dal disco fisso alla RAM (altri moduli del SO verranno caricati in seguito
all’occorrenza).
Allo spegnimento il sistema operativo deve eliminare tutti i file temporanei e chiudere le applicazioni attive
(avvertendo l’utente di eventuali lavori non salvati).
I moderni sistemi operativi hanno l’importante caratteristica di essere multi-tasking ovvero consentono di
utilizzare più programmi contemporaneamente.
Inoltre, i sistemi operativi sono multi-utente ovvero dopo il riconoscimento, il sistema operativo predispone
l’ambiente di lavoro e le impostazioni predefinite per quell’utente che può così accedere soltanto ai propri
dati, senza doverli condividere con altri utenti dello stesso computer. Questa fase si indica con il termine
identificazione e avviene mediante il login, ovvero tramite password, al termine della fase di bootstrap.
Il SO ha le seguenti funzioni:
Page 1 of 6
Tecnologie Informatiche
•
n°5
organizza tutto il traffico dei dati sia in input sia in output gestendo il funzionamento delle
periferiche;
•
gestisce le memorie di massa organizzando sia l’archiviazione che la ricerca ed il recupero dei dati;
•
durante
la
fase
di
elaborazione
dei
dati
distribuisce
ai
vari
programmi
impegnati
contemporaneamente (multitasking) le risorse del sistema, soprattutto RAM e accesso alla CPU;
•
gestisce l’interfaccia computer/utente, ovvero gestisce le modalità di comunicazione dell’uomo col
computer
•
consente l’accesso di più persone allo stesso computer garantendone la privacy e la sicurezza dei
documenti non condivisi
•
segnala guasti dell’hardware e malfunzionamenti del software.
I primi SO come il PCOS (Personal Computer Operative System) utilizzato da Olivetti o il DOS (Disc
Operating System) utilizzato da IBM nei primi personal computer degli anni ’80 erano sistemi operativi a
LINEA DI COMANDO, ovvero per ogni operazione che si richiedeva al computer l’utente doveva scrivere
una riga di testo contenente l’ordine relativo, il tutto con un adeguato lessico ed un’adeguata sintassi, (per
comunicare con la macchina occorreva imparare una vera e propria lingua). Bastava dimenticare un segno
di punteggiatura o digitare male una lettera ed era tutto da riscrivere.
Oggi i SO che utiliziamo sui nostri computer sono tutti ad INTERFACCIA GRAFICA, molto più intuitivi e
facili da usare, basati su disegni (ICONE) sui quali agire cliccando col mouse e che non richiedono
particolari studi preventivi.
MACINTOSH, più noto semplicemente come Mac è il sistema operativo dei computer
Apple. Mac OS (Macintosh Operative System) è stato il primo SO ad utilizzare già nel
1984 un interfaccia grafico ed un mouse che ne consentisse la gestione, comandando un
puntatore mobile sullo schermo in grado di selezionare, trascinare, ridimensionare oggetti
grafici, ecc.
MAC OS ha da sempre puntato sulla facilità ed intuitività d’uso, ma pur essendo il sistema operativo più
semplice da utilizzare, soprattutto con la sua ultima versione, MAC OS X, è sicuramente
il SO più efficiente ed affidabile per personal computer.
La solidità e potenza dei computer Apple / Macintosh trova la sua massima applicazione
nell’ambito dell’editoria,
della grafica, dell’elaborazione
dell’immagine e della
progettazione.
Nella sua storia ben due volte, prima della caduta del muro di Berlino e nei primi anni di questo secolo,
Apple / Macintosh ha ricevuto dal Pentagono il divieto di esportazione di modelli d’avanguardia per la loro
potenza di calcolo ritenuta eccessiva e pericolosa se in mano a paesi ostili.
WINDOWS, adottato
come sistema operativo sui computer IBM e divenuto di
conseguenza il sistema operativo di tutti i computer costruiti su licenza IBM come: HP,
Page 2 of 6
Tecnologie Informatiche
n°5
Siemens, Acer, Compaq e decine e decine di altri marchi più o meno noti che formano la vasta galassia dei
computer IBM COMPATIBILI, degli ASSEMBLATI e dei CLONI, è sicuramente il sistema operativo più
conosciuto e diffuso al mondo.
Dalla metà degli anni ’90 anche Windows utilizza una GUI (Grafical User Interface) interfaccia grafica.
Essendo il sistema operativo più diffuso, Windows vanta anche la migliore compatibilità con periferiche e
SW, poiché i suoi utenti costituiscono un vasto mercato. In quasi tutti gli ambienti di lavoro le workstation
utilizzano Windows, in una delle sue varie versioni professionali, con applicativi sviluppati ad hoc.
Si può sicuramente dare a Windows il merito della grande diffusione delle tecnologie che ricadono nel
settore dell’OFFICE AUTOMATION e del TELELAVORO.
LINUX e UNIX sono due altri SO molto diffusi. Entrambi di tipo OPEN SOURCE.
LINUX diffuso soprattutto negli ambienti universitari, oltre ad essere gratuito, offre ottime
prestazioni dal punto di vista della stabilità e della
versatilità ed adattabilità a
differenti esigenze.
UNIX è nato nel lontano 1969, prodotto dal colosso americano delle
telecomunicazioni
AT&T/BELL
(oggi non
esiste
più
in
quanto smembrato
dall’antitrust), per la gestione dei mainframe delle grandi reti aziendali e pubbliche. Oggi
è molto utilizzato per la gestione delle comunicazioni in internet.
I SOFTWARE APPLICATIVI
Un programma applicativo è un programma che mette a disposizione gli strumenti necessari alla
realizzazione di documenti. In pratica un applicativo costruisce un ambiente di lavoro virtuale e
specializzato. Un software applicativo viene venduto sotto forma di pacchetti (packages) contenenti i
manuali e i CD per l’installazione. Vi sono infatti vari tipi di applicativi ciascuno con un proprio campo di
applicazione:
•
OFFICE AUTOMATION (lavoro da ufficio)
o Videoscrittura (word processor): Word e Adobe Acrobat permettono di usare il computer
come una sofisticata macchina da scrivere
o Foglio elettronico (spread sheet) Excel e Calc permettono di creare tabelle, inserire dati da
cui ottenere grafici
o Presentazione: Power Point e Impress permettono di realizzare diapositive visualizzabili a
computer o proiettabili.
o Impaginazione (desktop publishing): Publisher permettono di l’impostazione grafica di libri,
riviste, locandine, pubblicità.
o Archiviazione (database): Access permettono di archiviare grandi quantità di dati organizzati
in tabelle.
Page 3 of 6
Tecnologie Informatiche
n°5
o Contabilità aziendale: permettono di gestire il magazzino, la contabilità generale, le vendite,
gli ordini di una azienda.
•
GRAFICA
o CAD (Computer Aided Design): Autocad programmi orientati alla progettazione e al disegno
tecnico, alcuni permettono di ottenere rappresentazioni tridimensionali e vengono utilizzati
anche a livello industriale.
o Fotoritocco: Photoshop permettono di elaborare immagini fotografiche
o Grafica: Corel Draw permettono di modificare o realizzare disegni
•
MULTIMEDIALITA’
o Audio/video player: Media Player permettono la riproduzione di brani musicali e video in
diversi formati e la copia su supporti diversi
o Masterizzazione: CloneCD e Nero Burning permettono di copiare CD e DVD (operazione
illecita).
•
INTERNET
o Software di navigazione (browser): Explorer e Mozzilla permettono di navigare su Internet
o Software di posta elettronica: Outlook permettono di inviare e ricevere email.
I programmi espressamente creati per risolvere i problemi di un cliente specifico si chiamano software ad
hoc oppure on demand.
Se il programmatore che ha creato il software richiede i diritti d’autore per poterlo vendere, il software
prende il nome di software proprietario. Il software proprietario viene venduto con la licenza d’uso
ovvero il permesso per l’uso del prodotto. In pratica viene fornito un numero di serie o l’identificativo del
prodotto stampato sulla copertina del CD o del DVD
che viene richiesto durante l’installazione del
software.
Se invece il software viene rilasciato a titolo gratuito prende il nome di freeware e per esso non è previsto
nessun costo economico.
Esistono anche software detti shareware ovvero distribuibili per essere condivisi. In questo caso gli autori
possono prevedere due modalità di condivisione:
•
A tempo: viene concesso l’uso gratuito del programma ma solo per un tempo limitato passato il
quale l’utente, se interessato, è costretto ad acquistare il software.
•
A versione limitata: viene concesso l’uso gratuito solo di una parte del programma privato di alcune
funzionalità fondamentali (ad esempio salvare o stampare) in modo che l’utente possa valutare il
prodotto ma non possa utilizzarlo nella sua totalità.
I programmi freeware e i programmi shareware non includono il codice sorgente quindi non sono
modificabili. Il software libero, conosciuto come Open Source (letteralmente sorgente aperto), indica il
software che può essere liberamente eseguito, copiato, distribuito e modificato o migliorato: perciò di
questo software è disponibile anche il codice sorgente.
Page 4 of 6
Tecnologie Informatiche
n°5
Il software libero è frutto di un intenso lavoro operato, spesso a titolo gratuito, da migliaia di programmatori
in tutto il mondo i quali, mettono a disposizione le proprie specifiche competenze, oltre che idee e tempo,
contribuiscono alla diffusione e alla crescita di programmi affidabili e ricchi di funzionalità.
Nel corso del tempo un sistema operativo o un applicativo software necessitano spesso di revisioni per
correggere errori, migliorare le prestazioni, aggiungere nuove funzionalità, adattarsi alle nuove richieste
fisiche dell'hardware, fornire modalità di interazione più facili per l'utente.
Questa attività di revisione produce versioni successive di un prodotto indicate con il termine di release. Ad
esempio un programma può avere una versione iniziale 1.0 e le successive 1.2, 1.3, o 2.0, 2,1 : dove la
variazione del numero decimale corrisponde a modifiche non sostanziali rispetto alla versione precedente
mentre la modifica del numero intero corrisponde all'aggiunta di nuove funzionalità importanti e migliorative.
Con il termine file (dall’inglese archivio) si indicano una serie di informazioni organizzate e memorizzate su
un supporto di memoria. Un file è identificato con un nome che ne identifica il contenuto e con l’estensione
che dipende dal programma con cui è stato creato:
.txt
testi creati con notepad
.doc e .rtf
testi creati con word
.xls
fogli elettronici create con excel
.mdb
database di access
.ppt
presentazioni di powerpoint
.gif e .jpg
immagini
.pdf
documenti di adobe
.wav e .mp3
file audio e musicali
.avi e .mov
filmati
.zip e .rar
file compressi
.tmp
file temporanei
.exe
file eseguibili
Page 5 of 6
Tecnologie Informatiche
n°5
I LINGUAGGI DI PROGRAMMAZIONE
Per realizzare un pacchetto applicativo occorre scrivere un programma anche molto complesso. Fanno
parte del software anche i linguaggi di programmazione. Essi sono gli ambienti che vengono utilizzati per
scrivere un programma ovvero per tradurre le procedure di risoluzione di un problema in una forma
comprensibile all’elaboratore.
I moderni linguaggi di programmazione sono di tipo “ad alto livello” ovvero usano termini vicini al linguaggio
naturale (molto diversi dal codice binario comprensibile ai dispositivi elettronici di cui è costituito il
computer). Per poter essere immesso sul mercato un pacchetto software attraversa le seguenti fasi che ne
costituiscono il processo di sviluppo:
•
la fase di analisi, ovvero l'indagine preliminare sul contesto in cui il prodotto software deve inserirsi,
sulle caratteristiche che deve esibire, ed eventualmente su costi e aspetti logistici della sua
realizzazione. Si può dire che l'analisi ha lo scopo di definire il problema da risolvere. Questa fase è
costituita anche da raccolta dei dati tramite colloqui tra cliente/committente e relativi sviluppatori.
•
la fase di progetto, in cui si definiscono le linee essenziali della struttura del sistema da realizzare,
in funzione dei requisiti evidenziati dall'analisi. Si può dire che il progetto ha lo scopo di definire la
soluzione del problema.
•
la fase di codifica del sistema, ovvero la sua realizzazione concreta; questa tipicamente consiste
nella realizzazione di uno o più programmi in un determinato linguaggio di programmazione. La
codifica ha lo scopo di realizzare la soluzione.
•
la fase di collaudo, volta a misurare in che modo il sistema realizzato soddisfa i requisiti stabiliti
nella fase di analisi, ovvero a valutarne la correttezza rispetto alle specifiche tramite test.
•
la fase di manutenzione, che comprende tutte le attività di modifica del software successive al suo
rilascio presso il cliente o la sua immissione sul mercato. Queste attività possono essere volte a
correggere errori del software del software, adattarlo a nuovi ambienti operativi o estenderne le
funzionalità.
I programmi vengono scritti con linguaggi di programmazione diverso a seconda del contesto operativo:
• GENERICO: Visual Basic facile da imparare e adatto a scrivere programmi di diverso tipo.
• SCIENTIFICO: Pascal e C adatti a risolvere problemi di tipo matematico- scientifico.
• AD OGGETTI: Java, C++, Delphi più recenti e di grande successo usati anche per produrre il
software dei cellulari di ultima generazione.
• INTERNET WEB: PHP, Javascript, HTML utilizzati per creare pagine di siti web.
Il programmatore scrive il programma sorgente che per diventare operativo deve essere tradotto in
linguaggio macchina. Questa operazione di traduzione prende il nome di interpretazione o compilazione
e da essa si ottiene il programma eseguibile. Le software house mettono in vendita solo quest’ultimo e
mantengono il più stretto riserbo sul codice sorgente.
Page 6 of 6