180 likes | 357 Views
Presentazione del Corso corso mutuato: Programmazione II: Tecniche Avanzate. Docente: Maurizio TUCCI mtucci@unisa.it. Progettazione dei Sistemi Interattivi Gestione di Progetti Software II. Progettazione dei Sistemi Interattivi Gestione di Progetti Software II. Organizzazione del corso.
E N D
Presentazione del Corsocorso mutuato:Programmazione II: Tecniche Avanzate • Docente: Maurizio TUCCI • mtucci@unisa.it Progettazione dei Sistemi InterattiviGestione di Progetti Software II
Progettazione dei Sistemi InterattiviGestione di Progetti Software II
Organizzazione del corso • DOCENTE: Prof. Maurizio TUCCI • Orario di ricevimento: MER 15-17 GIO 15-16 • ORARIO LEZIONI: • LUN 13-15 GPS-2 • GIO 13-15 PSI • VEN 11-13 PSI
STRUTTURA DEL CORSO di PSI Settimane 1-4 : Programmazione ad oggetti: Aspetti avanzati del linguaggio Java 1a. Prova in itinere Settimane 5-8 : Progettazione di Software Interattivo: Progettazione user-centered Settimane 9-12: I progetti 2a. Prova in itinere
STRUTTURA DEL CORSO di GPS-2 Settimane 1-4 : Programmazione ad oggetti: La gestione della grafica in Java Le applet Java 1a. Prova in itinere Settimane 5-8 : Progettazione di GUI L’usabilità delle interfacce utente Settimane 9-12: I progetti 2a. Prova in itinere
Sondaggio studenti • Quanti conoscono la programmazione ad oggetti? • Quanti conoscono almeno un linguaggio ad oggetti? • Quanti conoscono il linguaggio JAVA? • Quanti conoscono HTML? • Quanti hanno sviluppato programmi interattivi ? (appl. con finestre, menù, grafica, etc.)
Perché gli oggetti? • PROBLEMI • Dimensione sempre crescente delle applicazioni • Difficoltà della manutenzione dei programmi • Programmazione “a spaghetti”Programmazione procedurale: modifiche anche lievi alle strutture dati portano a profonde variazioni all’organizzazione delle procedure • SOLUZIONI • Incapsulamento: l’OGGETTO è l’entità in cui sono raggruppati una parte ben definita di dati e tutte le procedure che operano sulla loro struttura • VANTAGGI • Astrazione dei dati e modularità • Manutenibilità • Riuso
PROBLEMA: modifiche alla struttura • Se si rende necessario modificare la struttura , tutte le procedure che operano su di essa vanno modificate • Le modifiche da apportare non sono localizzate in una porzione ben individuata del codice
Vantaggi • Dati privati: l’oggetto è definito dal suo comportamento e non dalla sua struttura • Programmazione diretta dai dati: gli oggetti comunicano attraverso l’invio di messaggi • Modularità e modificabilità: eventuali modifiche alla struttura dei dati sono localizzate negli oggetti che li detengono
I linguaggi ad oggetti Meccanismi per definire ed utilizzare direttamente gli oggetti • Linguaggi che offrono astrazione dati e incapsulamento • Linguaggi che raggruppano gli oggetti in Classi • Linguaggi ad oggetti: aggiungono all’astrazione dati e incapsulamento la nozione dell’ereditarietà fra classi
Il fattore umano • L’umano riceve e invia informazioni per via: • visiva • auditiva • tattile • attraverso movimenti • Le informazioni vengono memorizzate, elaborate, applicate
La diversità umana • Le capacità percettive, cognitive, motorie degli individui sono molto variabili, così sono di conseguenza variabili le loro esigenze • Utente medio: trovare compromessi o realizzare versioni multiple del sistema • Regolazioni individuali - ergonomicità - norme codificate (es., ISO 9001) • Differenti capacità di interpretare stimoli sensoriali e compiere azioni complesse: - Memoria a breve termine - Memoria a lungo termine - Attenzione - Ricerca e “colpo d’occhio” - Cognizione del tempo - Soluzione di problemi • Fattori che influenzano le prestazioni percettive e motorie - Vigilanza - Fatica - Carico mentale - Conoscenza dei risultati - Monotonia e noia - Privazioni (es., sonno) - Ansietà e paura - Isolamento - Età - Uso di droghe e alcool - Bioritmo
Metodologie di progettazione • Il 25% dei progetti non giungono mai a termine e il 35% ottengono solo risultati parziali a causa di cattiva progettazione a partire dalle fasi iniziali • L’attenzione agli aspetti di progettazione user-centeredsi è dimostrata di estrema efficacia per aumentare il successo e ridurre tempi e costi • Una metodologia di progettazione user-centered deve essere integrata con la metodologia di ingegneria del software utilizzata • La metodologia LUCID (Logical User-Centered Interactive Design)
Obiettivi della progettazione di interfacce Le caratteristiche dell’interfaccia di un sistema interattivo dipendono fortemente dalla comunità degli utenti e/o le loro necessità : la tipologia di utenti e l’insieme delle funzionalità offerte vanno determinate accuratamente • Una volta fissata la comunità di utenti e le funzionalità, la “bontà” del sistema dipende da vari fattori misurabili: 1) Tempo di apprendimento: quanto ci mette in media un utente tipico a imparare? 2) Velocità: quanto tempo ci vuole ad eseguire una serie di operazioni tipiche? 3) Quantità di errori: quanti errori commettono mediamente gli utenti? 4) Capacità di ricordare:quanto un utente ricorda dopo un’ora, un giorno, un mese? 5) Soddisfazione: quanto piacciono all’utente i vari aspetti del sistema?
Libri di testo • H. Shildt, “Java: La Guida Completa”, quarta edizione, Mc Graw - Hill • Arlold, Gosling, “The Java Programming Language”, second edition, Addison-Wesley • B. Shneiderman, “Designing the User Interface”, third edition, Addison-Wesley • A. Dix, J. Finlay, G. Abowd and R. Beale (2004). “Human-Computer Interaction”, third edition, Prentice Hall. ISBN 0-13-239864-8.
Lucidi delle lezioni • http://www.dmi.unisa.it/people/tucci/ • aggiornamenti