lunedì 4 maggio 2009

Il Ruolo Dell'Informatica

Attualmente, l'utilizzo dell'elaboratore elettronico nell'ambito aziendale può apparire come un fatto naturale e ampiamente consolidato.
In realtà, le procedure di automatizzazione legate all'introduzione del computer all'interno dell'azienda sono un fatto recente e quindi in continua fase di sviluppo.
Fino a non molti anni fa (inizi anni '80 del Novecento) in molte piccole e medie imprese, a causa degli elevati costi per l'organizzazione di un centro elaborazione dati interno, si utilizzavano ancora, per la gestione della contabilità, strumenti meccanici quali, ad esempio, le macchine contabili.
Il panorama è cambiato grazie alla riduzione dei costi dell'hardware e lo sviluppo delle reti di computer, che hanno permesso a tutte le imprese di realizzare reti locali di computer in grado di accedere anche a sistemi telematici geografici nazionali e internazionali.
In un sistema informativo non deve essere necessariamente presente una parte informatica, anche se allo stato attuale della tecnologia (elettronica e informatica), è difficile pensare un sistema come moderno ed efficiente se non ha a disposizione il supporto del computer.

domenica 3 maggio 2009

Il Sistema Informativo

Il sistema informativo aziendale è un concetto complesso e non sempre facilmente individuabile per mezzo di una semplice definizione.
In particolare, in una grande azienda pubblica oppure privata può non essere semplice isolare ed evidenziare gli elementi e le procedure che contribuiscono a determinare il sistema di informazione.
Per comprendere il significato dell'espressione "sistema informativo" si può procedere scomponendo e analizzando i due termini "sistema" e "informativo" che la compongono.


Sistema: indica un insieme di elementi che interagendo in modo attivo tra loro, concorrono alla realizzazione di obiettivi comuni.
Gli elementi sono risorse di tipo diverso quali i dati, le persone, le procedure e le tecnologie, tra le quali quelle informatiche.
Nei sistemi informativi reali non sempre tutti i tipi di risorse appena elencati possono essere presenti contemporaneamente; in alcuni casi, ad esempio, l'aspetto tecnologico-informatico è completamente assente.

Informativo: denota l'obiettivo primario del sistema che è quello di fornire informazioni a tutti gli utenti che possono essere sia interni all'azienda, come i dipendenti, sia esterni come collaboratori, consulenti, clienti e fornitori.


Sulla base di queste considerazioni possiamo definire un sistema informativo.

Un sistema informativo rappresenta un insieme di risorse e di procedure organizzate e coordinate con l'obiettivo di fornire servizi attraverso la diffusione di informazioni.

venerdì 10 ottobre 2008

Il compilatore

Un compilatore è un programma che viene utilizzato per la traduzione di un linguaggio di programmazione (codice sorgente) in istruzioni di un altro linguaggio (codice oggetto). Questo processo di traduzione si chiama compilazione.
L'operazione inversa alla compilazione è la decompilazione che viene effettuata attraverso l'utilizzo di un decompilatore e serve per tradurre il codice oggetto in codice sorgente.
Ci sono diversi compilatori in circolazione, dai compilatori gratuiti ai compilatori a pagamento.
Ogni compilatore si contraddistingue dagli altri per le funzionalità che presenta al suo interno e che mette a disposizione del programmatore.
Durante la fare di compilazione, il compilatore controlla che non vi siano errori di sintassi e in presenza di quest'ultimi, avvisa il programmatore attraverso dei messaggi d'errore.
Il codice oggetto prodotto dal compilatore non è ancora un codice eseguibile, ma può essere considerato come un codice intermedio.
Questo codice oggetto deve essere poi trasformato in codice eseguibile attraverso l'utilizzo di un linker, che aggiunge al codice oggetto del nostro programma, il codice oggetto delle librerie che abbiamo incluso nel nostro codice sorgente.
Per semplificare il significato di libreria, si può pensare ad un codice scritto esternamente al nostro programma.
Tale codice può essere incluso all'interno del nostro codice per aggiungere funzionalità al nostro programma senza dover riscrivere da capo il codice per implementare tali funzionalità.
Effettuata l'operazione del linker, il nostro programma può finalmente essere eseguito.

La programmazione

Cosa significa programmare? Programmare significa istruire il computer su come deve svolgere un determinato compito.
Nell'ambito della programmazione, il programmatore, ovvero chi scrive il programma, scrive a priori una serie di istruzioni che verranno successivamente impartite al computer per fargli raggiungere un determinato obiettivo.
Il programmatore può scrivere il suo programma in un linguaggio che è più vicino al linguaggio umano o più vicino al linguaggio macchina.
Il codice scritto dal programmatore prende il nome di codice sorgente.
Questo codice sorgente per poter essere eseguito dalla macchina deve poi essere ovviamente tradotto nel linguaggio utilizzato dalla macchina.
I linguaggi che il programmatore può utilizzare si dividono principalmente in due diverse categorie: linguaggi compilati e linguaggi interpretati.
La differenza sostanziale tra i due linguaggi è che il linguaggio interpretato viene salvato cosi com'è, e viene poi letto da un interprete, che è un programma che gira sul sistema operativo in uso, mentre un linguaggio compilato richiede invece che il codice, una volta terminato, sia processato da un compilatore che, convertendolo in linguaggio macchina, ne permette l'esecuzione da parte della CPU.
I linguaggi interpretati più famosi sono: Basic, Java, Perl, Python.
I linguaggi compilati più famosi sono: C, C++, Pascal e Cobol.
I linguaggi interpretati hanno il vantaggio di essere interpretati, ossia il codice sorgente non viene compilato subito in linguaggio macchina, ma viene interpretato istruzione per istruzione nel momento in cui viene eseguito.
Questo rende i linguaggi interpretati più lenti, ma li rende utilizzabili su molti sistemi operativi, a patto ovviamente di avere lo stesso interprete.
I programmi compilati invece sono più veloci, ma ovviamente possono essere eseguiti solo su un'architettura che è in grado di comprendere le istruzioni macchina contenute in tali programmi.
Questo significa, che se il codice sorgente è stato compilato in uno specifico linguaggio macchina, solo le macchine che comprendono tale linguaggio sono in grado di eseguire il programma.
In realtà Java è pseudocompilato, ossia viene tradotto in un linguaggio intermedio, detto bytecode, il quale è una specie di linguaggio macchina, che viene poi passato all'interprete, che deve essere disponibile per il tipo di macchina che si vuole utilizzare.
La programmazione è nata per permettere all'uomo di impartire istruzioni ad una macchina, che è in grado di risolvere algoritmi complessi in poco tempo al contrario dell'uomo che invece non è in grado di fornire le stesse prestazione in termini di velocità.
Inoltre la programmazione nasce proprio nel periodo di sviluppo tecnologico in cui l'uomo è riuscito a creare per la prima volta macchine in grado di risolvere algoritmi.
Le tecniche di programmazione più diffuse sono: la programmazione procedurale e la programmazione orientata agli oggetti.
La prima consiste nella creazione di blocchi di istruzioni separati, mentre la seconda consiste nella creazione di "oggetti" all'interno del programma, dotati di loro caratteristiche e che possono interagire tra di loro.
Nell'ambito della programmazione possono essere commessi 3 diversi tipi di errori: gli errori di logica, gli errori di sintassi e gli errori di runtime.
Gli errori di logica sono gli errori che vengono commessi durante la risoluzione dell'algoritmo (problema), e possono essere dovuti ad una non corretta interpretazione del problema, ad una mancata comprensione delle richieste di tale algoritmo, o semplicemente ad un errore commesso durante la fase di ragionamento.
Gli errori di sintassi sono gli errori che vengono commessi durante la stesura del codice sorgente, e indicano il non corretto utilizzo della sintassi utilizzata dal linguaggio di programmazione scelto.
Gli errori di runtime sono gli errori che possono verificarsi durante l'esecuzione vera e propria del nostro programma, e possono essere dovuti per esempio, ad un non corretto utilizzo della memoria del calcolatore.