4.2 Informatica1 Uni Fe L.P

764 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
764
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

4.2 Informatica1 Uni Fe L.P

  1. 1. Informatica 1 4 Programmazione e Sviluppo del software ing. Luigi Puzone Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi …Software dati + informazioni istruzioni Schema concettuale del processo elaborativo Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 2 1
  2. 2. …Linguaggi di programmazione dalla 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 Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 3 …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à. Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 4 2
  3. 3. …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. Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 5 …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 Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 6 3
  4. 4. …Linguaggi di programmazione… Linguaggi Procedurali: Differenza fra Compilatori e Interpreti Differenza fra Compilatori e Interpreti (Informatica di base 3ed. – Curtin D.P. et al – McGrawHill) • 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. Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 7 …Linguaggi di programmazione… Linguaggi Procedurali: Pseudocodici… (Informatica di base 3ed. – Curtin D.P. et al – McGrawHill) Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 8 4
  5. 5. …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 Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 9 Fasi di Sviluppo del Software (Informatica di base 3ed. – Curtin D.P. et al – McGrawHill) Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 10 5
  6. 6. Ciclo di Vita del Software • 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 Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 11 Fasi del Ciclo di Vita del Software Prima Fase: Definizione… 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. Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 12 6
  7. 7. Fasi del Ciclo di Vita del Software Progettazione… 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 Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 13 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 Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 14 7
  8. 8. 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. Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 15 Fasi del Ciclo di Vita del Software …Progettazione… Strumenti di progettazione: •Diagrammi di flusso •Pseudolinguaggi Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 16 8
  9. 9. Fasi del Ciclo di Vita del Software …Progettazione: Diagrammi di Flusso 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. Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 17 Fasi del Ciclo di Vita del Software …Progettazione… (Informatica di base 3ed. – Curtin D.P. et al – McGrawHill) Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 18 9
  10. 10. Fasi del Ciclo di Vita del Software …Progettazione… Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 19 Fasi del Ciclo di Vita del Software …Progettazione: Pseudolinguaggi 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) Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 20 10
  11. 11. Fasi del Ciclo di Vita del Software Codifica del programma Terza Fase: • La scrittura del programma nel linguaggio di programmazione prescelto Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 21 Fasi del Ciclo di Vita del Software …Codifica del programma… 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 Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 22 11
  12. 12. Fasi del Ciclo di Vita del Software …Codifica del programma… 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). Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 23 Fasi del Ciclo di Vita del Software …Codifica del programma… 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. Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 24 12
  13. 13. Fasi del Ciclo di Vita Verifica del programma Quarta fase: • La verifica che il programma realizzato funzioni correttamente: fase di verifica (testing) Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 25 Fasi del Ciclo di Vita Verifica del programma 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. Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 26 13
  14. 14. Fasi del Ciclo di Vita Documentazione del programma Quinta fase: • La documentazione del programma. Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 27 Fasi del Ciclo di Vita Documentazione del programma •La documentazione del programma comprende: – il manuale utente, – il manuale di gestione e installazione, – la documentazione del progetto software. Luigi Puzone ® Informatica 1 – Università di Ferrara – A.A. 2008-2009 Modulo 4.2: Programmazione e sviluppo dei sistemi 28 14

×