a10 progettazione sw - Piattaforma Unica della didattica

Transcript

a10 progettazione sw - Piattaforma Unica della didattica
Università degli studi della Tuscia
Dipartimento di Scienze Ecologiche e Biologiche
Corso di laurea in Scienze Ambientali
A.A. 2013-2014 - II semestre
Colloquio di informatica (5 crediti)
Prof. Pier Giorgio Galli
([email protected])
Ciclo
Il ciclo (o iterazione), è un blocco di istruzioni che vengono ripetutamente
eseguite fino a che una certa condizione cambia di stato (da vero a falso o
viceversa). Nella pratica si utilizzano diversi tipi di ciclo: quelli con la
condizione di fine ciclo in testa, quelli con la condizione in coda, quelli che
terminano il ciclo sul falso e quelli che terminano sul vero. Tutti i tipi di ciclo
possono essere ricondotti l'uno all'altro, sono modi diversi di rappresentare
la stessa struttura.
Condizione in testa,
fine ciclo sul Vero
Condizione in testa,
fine ciclo sul Falso
Condizione in testa,
fine ciclo sul Falso
Condizione in testa,
fine ciclo sul falso
VBScript: ciclo for.. next
Una delle possibili forme che può assumere il
ciclo riguarda quei casi in cui il numero delle
iterazioni è noto a priori come ad esempio nel
problema: dati un certo numero di numeri
calcolarne la somma.
Uno dei modi per risolvere il problema e:
1) acquisire in input il numero dei numeri da
sommare (ad esempio 20)
2) per 20 volte acquisire in input il singolo
numero ed aggiungerlo alla somma dei
numeri precedentemente acquisiti.
L'istruzione for.. next implementa il ciclo in cui
il numero delle iterazioni è noto a priori.
for Contatore=C to NumeroIterazioni
Corpo del ciclo
next
Problema 7.
Forniti dei numeri calcolarne la somma.
Inizializzazione dell'accumulatore che al
termine conterrà la somma dei numeri
forniti (un po' come si usa fare quando si
azzera il contachilometri prima di partire
per un viaggio. Il nuovo chilometro
percorso viene aggiunto ai precedenti)
1
2
1
2
3
3
L'istruzione for.. next implementa da sola tre
blocchi del diagramma di flusso.
Problema 8.
Calcolare il fattoriale di un numero.
Problema 9.
Dato un numero decidere se è primo.
Affrontiamo questo classico problema in maniera
ingenua (e terribilmente inefficiente). Consideriamo il
numero, lo dividiamo per tutti i numeri che vanno da
uno a se stesso, se troviamo che i divisori sono 2 in tutto
allora il numero in esame è primo.
Attenzione! La complessità di questo esercizio
esula dalle competenze richieste per ottenere
l'idoneità.
Progettazione del software
Il software viene realizzato ponendo in atto una serie di attività tipiche delle
attività ingegneristiche:
• organizzazione, pianificazione e coordinamento dei gruppi di lavoro (anche di
grandi dimensioni);
• ottimizzazione dei processi di progettazione, sviluppo, test e rilascio del
prodotto finale;
• verifica e certificazione del prodotto finale.
• …
In altri termini la produzione del software va vista come un'industria, nel senso
comune del termine.
Ad esempio, la sequenza di azioni poste in atto per mettere in produzione le
piattaforme web a disposizione degli studenti dell'UNITUS (da una di queste sono
state scaricate queste dispense), non sono dissimili a quelle poste in atto per
mettere in produzione da parte di un'industria una qualsiasi macchina come una
lavatrice.
Ingegneria del software
Secondo il glossario dell'IEEE (Institute of Electrical and Electronic
Engineers), l'ingegneria del software è definita come l'approccio
sistematico allo sviluppo, all'operatività, alla manutenzione ed al ritiro del
software. A sua volta il software è definito come i programmi, le procedure,
le regole, e l'eventuale associata documentazione e i dati relativi
all'operatività di un sistema di elaborazione.
Da un punto di vista organizzativo/gestionale l'ingegneria del software è
la disciplina tecnologica e manageriale che riguarda la produzione
sistematica e la manutenzione dei prodotti software che vengono sviluppati
e modificati entro i tempi e i costi preventivati.
Più in generale l'ingegneria del software è l'insieme dei metodi, delle teorie
che consentono di produrre software con le desiderate caratteristiche di
qualità.
Contesto organizzativo nella progettazione del software
Attori nella progettazione del software
Esempio: Portale dello studente
Committente
Università degli Studi della Tuscia
Esperti del domino
Funzionari delle segreterie didattiche e studenti,
direttori dei corsi di studio, ecc.
Analista
Personale della ditta produttrice del software
Progettista
Personale della ditta produttrice del software
Programmatore
Personale della ditta produttrice del software
Utente finale
Studenti
Manutentore
Personale della ditta produttrice del software
Ciclo di vita del software
1. Raccolta dei requisiti
• Valutazione costi e benefici
• Pianificazione delle attività e le risorse del progetto
• Individuazione dell'ambiente di sviluppo e produzione
2. Analisi dei requisiti
• Definizione delle funzionalità che l’applicazione dovrà realizzare
• Definizione delle componenti della soluzione
3. Progetto e implementazione
• Definizione di come l’applicazione dovrà realizzare le sue funzioni
• Implementazione degli algoritmi (scrittura dei codici sorgenti)
• Test e produzione della documentazione
4. Distribuzione e manutenzione
• Verifica dell'operatività del programma in termini di correttezza ed efficienza
anche attraverso la misura del grado di soddisfazione dell'utente finale
• Correzione dei malfunzionamenti, bug e vulnerabilità
• Aggiornamento del programma per l'adeguamento a nuovi contesti (es.
modifiche legislativi), per migliorarne l'usabilità, ecc.
Ciclo di vita del software – Modello a spirale
2- Analisi dei
requisiti
1-Raccolta dei
requisiti
Versioni del
programma
distribuito
1
3- Progetto e
implementazione
2
3
4
5
4- Distribuzione e
manutenzione
Progettazione del software: quello che spesso accade 