Sistemi informativi, sistemi informatici e software Sistema informativo

Operatore Informatico Giuridico
Informatica Giuridica
A.A 2007/2008
I Semestre
Sistemi informativi,
sistemi informatici e software
Lezione 1
prof. Monica Palmirani
Sistema informativo e sistema informatico
• Sistema informativo: l’insieme di persone, norme e
regole, dispositivi tecnologici, processi aziendali che
permettono all’azienda di disporre delle informazioni
giuste al momento giusto
• Sistema informatico: la parte del sistema informativo
gestita tramite supporti informatici
1
Framework di Zachman
• L’informatica si fonda su tre grandi pilastri:
software, dati, rete
• Nel modello di Zachman sono rappresentati questi
pilastri nelle colonne e nelle righe i rispettivi attori che
svolgono ruoli e azioni diverse su ogni colonna
utilizzando prospettive, obiettivi, e strumenti diversi
• Questa rappresentazione realizza la modellazione
di un sistema informativo
• Colonne - dati, processi e comunicazioni
componenti di base di un sistema informativo
• Righe - decisore , responsabile, progettista, costruttore,
realizzatore e utilizzatore finale
(da http://www.zifa.com/)
2
Linguaggi di modellazione
• Ogni colonna ha i suoi strumenti di modellazione
• Ogni riga raffina dall’alto verso il basso aggiungendo
dettagli e granularità al modello
• Esempi di alcuni modelli sono:
– DFD – data flow diagram per i (3,processi)
– E-R – Entità relazione per i dati (2, data)
– UML – è un linguaggio di modellazione che
premette la rappresentare ogni colonna e ogni
riga. Metodo globale
Interpretaizione del modello di
Zachman
• 1,2,3 appartengono al “cosa fare” e al governo dei
flussi di decisioni, documentali, processi aziendali.
Questi livelli sono il sistema informativo.
• 4,5,6 appartengono al “come farlo” e appartengono
ai sistemi informatici.
• Gli strati 4,5,6 devono fornire l’infrastruttura per
garantire l’ottenimento degli obiettivi definiti in 1,2,3
• Il sistema informatico è funzionale agli obiettivi del
sistema informativo e non il contrario
• In passato invece il sistema informatico modellava le
decisioni strategiche (anni 80’)
3
Componenti dei sistemi informativi
• Dati
Analisi delle entità e delle relazioni, loro rappresentazione
tabellare; costruzione di una struttura data base
• Processi aziendali
Decomposizione, flusso dei dati, struttura dei moduli,
programmazione e codifica dei moduli
• Reti di comunicazione
Struttura di comunicazione e organizzativa
Estensioni recenti
Recentemente si sono aggiunte nuove colonne per la
gestione per la gestione della conoscenza (persone)
degli eventi (tempo), e delle componenti
motivazionali (motivazioni)
• Tempo
• Persone
• Motivazione
4
(da http://www.zifa.com/)
ENTERPRISE ARCHITECTURE - A FRAMEWORK
DATA
SCOPE
(CONTEXTUAL)
Planner
ENTERPRISE
MODEL
(CONCEPTUAL)
Owner
What
List of Things Important
to the Business
FUNCTION
How
List of Processes the
Business Performs
NETWORK
Where
List of Locations in which
the Business Operates
PEOPLE
Who
List of Organizations
Important to the Business
TIME
When
List of Events Significant
to the Business
TM
MOTIVATION
Why
List of Business Goals/Strat
ENTITY = Class of
Business Thing
Function = Class of
Business Process
Node = Major Business
Location
People = Major Organizations
Time = Major Business Event
Ends/Means=Major Bus. Goal/
Critical Success Factor
e.g. Semantic Model
e.g. Business Process Model
e.g. Logistics Network
e.g. Work Flow Model
e.g. Master Schedule
e.g. Business Plan
Ent = Business Entity
Reln = Business Relationship
Proc. = Business Process
I/O = Business Resources
Node = Business Location
Link = Business Linkage
People = Organization Unit
Work = Work Product
Time = Business Event
Cycle = Business Cycle
e.g. Logical Data Model
e.g. "Application Architecture"
e.g. "Distributed System
Architecture"
e.g. Human Interface
Architecture
SYSTEM
MODEL
(LOGICAL)
e.g. Processing Structure
Proc .= Application Function
I/O = User Views
Node = I/S Function
(Processor, Storage, etc)
Link = Line Characteristics
People = Role
Work = Deliverable
Time = System Event
Cycle = Processing Cycle
End = Structural Assertion
Means =Action Assertion
e.g. Physical Data Model
e.g. "System Design"
e.g. "System Architecture"
e.g. Presentation Architecture
e.g. Control Structure
e.g. Rule Design
Builder
Ent = Segment/Table/etc.
Reln = Pointer/Key/etc.
Proc.= Computer Function
I/O = Screen/Device Formats
Node = Hardware/System
Software
Link = Line Specifications
e.g. "Program"
e.g. "Network Architecture"
People = User
Work = Screen Format
e.g. Security Architecture
Cycle = Component Cycle
e.g. Data Definition
Ent = Field
Reln = Address
Proc.= Language Stmt
I/O = Control Block
Node = Addresses
Link = Protocols
SubContractor
FUNCTIONING
ENTERPRISE
e.g. DATA
e.g. FUNCTION
e.g. NETWORK
People = Identity
Work = Job
e.g. ORGANIZATION
Time = Execute
SYSTEM
MODEL
(LOGICAL)
Designer
TECHNOLOGY
CONSTRAINED
MODEL
(PHYSICAL)
Builder
End = Condition
Means = Action
e.g. Timing Definition
e.g. Rule Specification
Time = Interrupt
Cycle = Machine Cycle
End = Sub-condition
Means = Step
e.g. SCHEDULE
Owner
End = Business Objective
Means = Business Strategy
Ent = Data Entity
Reln = Data Relationship
DETAILED
REPRESENTATIONS
(OUT-OFCONTEXT)
Planner
ENTERPRISE
MODEL
(CONCEPTUAL)
e.g., Business Rule Model
TECHNOLOGY
MODEL
(PHYSICAL)
Designer
SCOPE
(CONTEXTUAL)
e.g. STRATEGY
DETAILED
REPRESENTATIONS
(OUT-OF
CONTEXT)
SubContractor
FUNCTIONING
ENTERPRISE
Hardware e Software - prima definizione
• Hardware: parte fisica del computer costituita da
parti elettroniche e meccaniche
• Firmware: insieme di microprogrammi registrati
sulle memorie permanenti dei dispositivi
elettronici, solitamente introdotti dal costruttore e
cablati nell’hardware
• Software: Insieme di programmi scritti in qualche
linguaggio di programmazione eseguibili dal
computer
5
Software - seconda definizione
• “Istruzioni che eseguite da un computer
svolgono una funzione prestabilita con
prestazioni prestabilite - (programma)
• strutture dati mediante le quali i programmi
trattano adeguatamente le informazioni (schemi logici e fisici dei dati)
• documenti che descrivono le operazioni e l’uso
dei programmi - (documentazione tecnica e
manuale utente)”
[R.S. Pressman,Principi di Ingegneria del software,
McGraw-Hill 2000]
Tipologia del software
• Software di base
– software al servizio di altri software
– sistema operativo: insieme di programmi che
governano le funzioni e le risorse primarie del
calcolatore
– esecuzione di programmi
– operazioni di ingresso/uscita
– gestione di file
– protezione
– rilevazione errori
• Software applicativo: dedicato ad uno scopo
applicativo
6
Strati del software
Utente
Programmi applicativi
Linguaggi e ambienti di
programmazione
Sistema operativo
Firmware
HARDWARE
Tipologie di software
• software real-time - software dedicato alla
sorveglianza, all’analisi e all’elaborazione di eventi
esterni (rilevamento di temperature di una piastra di
acciaio durante la lavorazione)
• software gestionale - elaborazione dei dati e dei
processi aziendali - 70%-80%
• software scientifico - astronomia, calcolo parallelo,
etc.
7
Tipologie di software
• software di Intelligenza Artificiale - basati su
algoritmi non numerici - sistemi esperti, reti neruali,
dimostratori di teoremi, etc.
• software embedded - programmi residenti in
prodotti industriali (lavatirici, forno, termostati
ambientali, etc.)
• software per PC - applicativi di office-automation
(fogli elettronici, elaboratori di testi, etc.)
• software basato su Internet - B2B, B2C, portali,
etc.
Categorie di software
• Generici
– prodotti software standardizzati venduti sul
mercato
– le specifiche vengono dettate dal mercato e
dal produttore stesso
• Dedicati
– progetti ad hoc creati per un determinato
cliente
– le specifiche vengono dettate dal cliente
• Prodotto vs. Progetto
8
Schema di percorso: dal
problema ai risultati
Azioni
Oggetti
problema
Comprendere il problema
ANALISI
Elenco di istruzioni per
ottenere la soluzione
algoritmo
PROGRAMMAZIONE
software
ELABORAZIONE
risultati
Tradurre la soluzione in un
linguaggio comprensibile al
calcolatore
Algoritmo tradotto in un
linguaggio eseguibile dal
calcolatore
Fase di esecuzione del programma
da parte del computer
Esempio
– Problema - Prelevare contanti in banca
– Analisi - si possono prelevare contanti in diversi
modi:bancomat, mediante assegno, chiedendo
un prestito, fare una rapina, etc.
– Algoritmo - si decide per il bancomat, si
descrivono i passi operativi e le istruzioni che
attivano il bancomat
– Elaborazione - esecuzione delle operazioni
– Risultati - i contanti
9
Algoritmo - definizione intuitiva
Elenco preciso di operazioni, comprensibile
da un esecutore, che definisce una
sequenza finita di passi i quali risolvono
ogni problema di un dato tipo (classe di
problemi).
algoritmo deriva dal nome di un matematico arabo
- alKhuwarizmi vissuto nel nono secolo d.c.
Esempio: operazioni necessarie per compiere una
telefonata, per prelevare denaro dal bancomat,
per iscriversi ad un esame, etc.
Esempio - bancomat
macro operazioni
1. Estrazione della tessera bancomat
2. Inserimento della tessera nell’apposito
macchinario
3. Scelta dell’operazione da eseguire
4. Inserimento del codice segreto
5. Conclusione operazione
6. Prelievo tessera
7. Prelievo contanti
10
Algoritmo - definizione rigorosa
Sequenza ordinata finita di passi, ripetibili
e non ambigui, che se eseguita con
determinati dati in ingresso (input) produce
in uscita(output) dei risultati ovvero la
soluzione di una classe di problemi
dati
algoritmo
risultati
Soluzione ad una classe di problemi
Caratteristiche dell’algoritmo
• Un algoritmo si suppone sempre che comunichi con
l’ambiente acquisendo dati e restituendo risultati
• Le operazioni di cui è composto l’algoritmo si dicono
istruzioni
• Ogni istruzione opera su dei dati o prodotti dall’algoritmo
stesso o acquisiti dall’esterno
• L’algoritmo non è brevettabile e come idea astratta non è
neppure tutelato dal diritto d’autore in quanto tutela la
forma espressiva e non l’idea
11
Obblighi della PA in materia di sviluppo ed
utilizzazione dei programmi informatici
• Per la PA vi sono norme che OBBLIGANO le amministrazioni a
richiedere ed ottenere la titolarità dei software “ad hoc”
• ex. Art. 5, Direttiva del 19 dicembre 2003 “Sviluppo ed
utilizzazione dei programmi informatici da parte delle
pubbliche amministrazioni” (Gazzetta Ufficiale n. 31 del 7-22004)
• e a rilasciare in “uso gratuito” tale software alle altre PA (ex.
Art. 69, D.lgs. 82/2005)
• Modello di business Æ
Generico=Prodotto vs. ad hoc=Progetto
Possibile scenario
• la licenza d’uso può regolamentare i seguenti
oggetti:
–
–
–
–
–
Codice eseguibile
Codice sorgente – codice aperto
Documentazione
Se è a titolo oneroso o a titolo gratuito
le “libertà” o i vincoli di utilizzo (es. numero di
calcolatori su cui è possibile installare il software)
– La titolarità non viene ceduta
• con il contratto: è possibile cedere anche la
titolarità o regolamentare la co-titolarità
12
Possibile scenario
Cessione della titolarità
Fornitore
Prodotto β
PA3
Prodotto α
Codice sorgente
Codice oggetto
Documentazione
Titolarità
licenza a titolo gratuito
PA1
Prodotto α
PA2
Codice sorgente
Codice oggetto
Documentazione
Possibilità di adattamento
Prodotto α ≠ Prodotto β
Adattamento
Prodotto δ
Il riuso nella PA –
art. 69 d.lgs 82/2005
• Il riuso del software nella PA è stato introdotto per:
A) razionalizzare la spesa pubblica in tema di servizi
informatici
B) incentivare il riuso piuttosto che duplicare gli
acquisti
C) rendere autonome le PA di poter modificare,
integrare, aggiornare i software senza un legame
vincolante con il fornitore
13