4.2 Informatica1 Uni Fe L.P
-
Upload
luigi-puzone -
Category
Education
-
view
1.033 -
download
1
description
Transcript of 4.2 Informatica1 Uni Fe L.P
![Page 1: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/1.jpg)
1
Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Informatica 1
ing. Luigi Puzone
4
Programmazione e Sviluppo del software
2Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
…Software
Schema concettuale del processo elaborativoSchema concettuale del processo elaborativo
datidati
istruzioniistruzioni
++++++++ informazioniinformazioni
![Page 2: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/2.jpg)
2
3Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
…Linguaggi di programmazionedalla prima generazione alle successive
• Il linguaggio macchina viene anche
definito linguaggio di basso livello;
• I linguaggi di programmazione, come il
linguaggio umano, hanno una sintassi
ossia una grammatica;
• I linguaggi di programmazione sono anche
noti come linguaggi di alto livello
4Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
…Linguaggi di programmazione……Linguaggi Procedurali (terza generazione)…
• I linguaggi ad alto livello tentano di
avvicinarsi il più possibile al linguaggio e
alla logica umana.
• Sono costituiti da insiemi di simboli e di
parole chiave, termini mnemonici in
lingua inglese e da un insieme di regole
sintattiche molto rigide e definite in
modo da evitare ogni ambiguità.
![Page 3: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/3.jpg)
3
5Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
…Linguaggi di programmazione…Linguaggi Procedurali: Traduttori…
• Un linguaggio di alto livello ha
bisogno di un traduttore che
traduca ciascuna istruzione in
sequenze di istruzioni in linguaggio
di basso livello.
6Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
…Linguaggi di programmazione……Linguaggi Procedurali: Traduttori
• I traduttori si occupano di analizzare il
programma in linguaggio procedurale e
di tradurlo in linguaggio macchina.
• Due tipi di traduttori
– Compilatori
– Interpreti
![Page 4: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/4.jpg)
4
7Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
…Linguaggi di programmazione…Linguaggi Procedurali: Differenza fra Compilatori e Interpreti
Differenza fra Compilatori e Interpreti
• Il compilatore effettua la traduzione del codice sorgente
in codice oggetto in modalità asincrona rispetto all’ese-
cuzione del programma (prima della sua esecuzione).
• L’interprete effettua la traduzione dal codice sorgente in
linguaggio macchina in modalità sincrona rispetto all’ese-
cuzione del programma. L’interprete e il programma sono
entrambi presenti nella memoria dell’elaboratore.
(Informatica di base 3ed. – Curtin D.P. et al – McGrawHill)
8Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
…Linguaggi di programmazione…Linguaggi Procedurali: Pseudocodici…
(Informatica di base 3ed. – Curtin D.P. et al – McGrawHill)
![Page 5: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/5.jpg)
5
9Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
…Linguaggi di programmazione……Linguaggi Procedurali: Pseudocodici…
In un linguaggio di programmazione che fa uso di
pseudocodici la traduzione avviene in due fasi:
1.Il compilatore traduce il programma in uno
“pseudocodice intermedio” e lo salva;
2.Lo pseudocodice intermedio viene interpreta-
to da un interprete realizzato ad hoc per
l’elaboratore sul quale dovrà essere eseguito
10Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Fasi di Sviluppo del Software
(Informatica di base 3ed. – Curtin D.P. et al – McGrawHill)
![Page 6: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/6.jpg)
6
11Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
• Si definisce Ciclo di Vita del Software
(Software LifeCycle) l’insieme delle fasi
che si susseguono, dal momento in cui il
software viene concepito, progettato,
realizzato, alla sua messa in esercizio e
manutenzione, sino alla sua dismissione
Ciclo di Vita del Software
12Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Definizione: Analisi dei requisiti del software
• Serve a definire il problema da risolvere e a individuare le
aspettative dell’utente finale in relazione al prodotto da
realizzare.
• Vengono, inoltre, identificati i cosiddetti “confini
dell’applicazione” ossia i dati che dovrebbero essere
elaborati e il risultato che si intende raggiungere
attraverso l’elaborazione.
Fasi del Ciclo di Vita del Software Prima Fase: Definizione…
![Page 7: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/7.jpg)
7
13Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Seconda fase
• Sulla base del problema da risolvere si definisce
il programma in termini di:
– Funzionalità del software
– Tecnologie coinvolte
– Linguaggio di programmazione da utilizzare
Fasi del Ciclo di Vita del Software Progettazione…
14Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Fasi del Ciclo di Vita del Software …Progettazione…
• In questa fase si individuano le funzioni
che costituiscono un processo, le loro
relazioni e i dati necessari alla loro
realizzazione
• Inoltre, nell’ambito delle singole fun-
zioni, si studiano le modalità di produ-
zione, utilizzazione, aggiornamento, can-
cellazione e scambio di dati rilevanti
![Page 8: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/8.jpg)
8
15Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Fasi del Ciclo di Vita del Software …Progettazione…
• I programmi sono, in generale, realizzati in piùmoduli ognuno dei quali si occupa di svolgere una determinata serie di operazioni;
• I vari moduli devono interagire fra loro;• Ogni modulo è costituito da un’interfaccia che gli permette di interagire con gli altri moduli e dalla propria logica applicativa;
• Nella fase di progettazione si descrivono in dettaglio i compiti che ogni modulo deve svolgere (cosa) e le modalità di comunicazione fra i vari moduli;
• Nulla viene detto sul come i vari moduli svolgano i loro compiti.
16Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Strumenti di progettazione:
•Diagrammi di flusso
•Pseudolinguaggi
Fasi del Ciclo di Vita del Software …Progettazione…
![Page 9: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/9.jpg)
9
17Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Un diagramma di flusso è uno
strumento grafico utilizzato per
individuare le modalità con cui il
processo di elaborazione deve trattare
i dati in ingresso trasformandoli in
informazioni in uscita.
Fasi del Ciclo di Vita del Software …Progettazione: Diagrammi di Flusso
18Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Fasi del Ciclo di Vita del Software …Progettazione…
(Informatica di base 3ed. – Curtin D.P. et al – McGrawHill)
![Page 10: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/10.jpg)
10
19Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Fasi del Ciclo di Vita del Software …Progettazione…
20Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Gli pseudolinguaggi di programmazione hanno lo scopo di
semplificare la progettazione di un programma. Essi
permettono di “abbozzare” le caratteristiche di ciascuna
funzione che si intende progettare iniziando a progettare il
programma attraverso delle semplici descrizioni in
linguaggio naturale di alcune macrofunzioni. Successiva-
mente si procede per passi successivi fino a descrivere in
modo completo ciascuna macrofunzione (metodo top
down).
(Esempio: il program definition language PDL)
Fasi del Ciclo di Vita del Software…Progettazione: Pseudolinguaggi
![Page 11: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/11.jpg)
11
21Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Terza Fase:
• La scrittura del programma nel linguaggio
di programmazione prescelto
Fasi del Ciclo di Vita del Software Codifica del programma
22Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Nella fase di codifica, detta anche programmazione o
implementazione del programma, si specifica nei minimi
dettagli il progetto del sistema fino ai singoli comandi nel
linguaggio di programmazione prescelto.
In particolare in questa fase:
– Si implementano gli schemi dei dati (descrizione della struttura dei
dati, dei file o dei database)
– Si implementano i vari moduli del programma, i cicli e le funzioni
all’interno di ciascun modulo e le relative interfacce di
comunicazione;
– Si implementano le interfacce utente
Fasi del Ciclo di Vita del Software…Codifica del programma…
![Page 12: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/12.jpg)
12
23Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Qualità e Usabilità del software
Nel processo di progettazione e di implementazione del
programma e delle interfacce utente devono essere seguite
delle regole che consentano un funzionamento adeguato e
senza spreco delle capacità elaborative e, soprattutto, un
utilizzo “confortevole” da parte dell’utente. Si tende quindi:
– a ridurre la complessità di ciascun modulo in modo da
aumentarne l’efficienza;
– a seguire delle regole che rendano il prodotto usabile (le
linee guida sono le norme ISO 9241 e ISO 9126).
Fasi del Ciclo di Vita del Software…Codifica del programma…
24Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Qualità e Usabilità del software
le norme ISO 9241 e ISO 9126 definiscono i parametri di
usabilità e suggerisce come utilizzare le misurazioni del
livello di soddisfazione dell’utente, per la valutazione
dei singoli componenti software.
L’usabilità è, in sintesi, il grado con cui gli utenti possono adoperare un prodotto per raggiungere gli obiettivi per cui è stato progettato con efficacia, efficienza e soddisfazione in uno specifico contesto d’uso.
Fasi del Ciclo di Vita del Software…Codifica del programma…
![Page 13: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/13.jpg)
13
25Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Quarta fase:
• La verifica che il programma realizzato
funzioni correttamente: fase di verifica
(testing)
Fasi del Ciclo di VitaVerifica del programma
26Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Per verificare il software vengono realizzati dei piani
di test.
Lo scopo di un piano di test è individuare il
comportamento che deve esibire ciascuna delle
funzioni del software e verificare sulla base di tale
piano che ciascuna funzione svolga correttamente le
sue funzioni.
Fasi del Ciclo di VitaVerifica del programma
![Page 14: 4.2 Informatica1 Uni Fe L.P](https://reader036.fdocumenti.com/reader036/viewer/2022081203/54847dbeb4af9fb55d8b4705/html5/thumbnails/14.jpg)
14
27Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
Quinta fase:
• La documentazione del programma.
Fasi del Ciclo di VitaDocumentazione del programma
28Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi
•La documentazione del programma comprende:
– il manuale utente,
– il manuale di gestione e installazione,
– la documentazione del progetto software.
Fasi del Ciclo di VitaDocumentazione del programma