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