1 / 18

Progettazione dei Sistemi Interattivi Gestione di Progetti Software II

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.

Download Presentation

Progettazione dei Sistemi Interattivi Gestione di Progetti Software II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Presentazione del Corsocorso mutuato:Programmazione II: Tecniche Avanzate • Docente: Maurizio TUCCI • mtucci@unisa.it Progettazione dei Sistemi InterattiviGestione di Progetti Software II

  2. Progettazione dei Sistemi InterattiviGestione di Progetti Software II

  3. 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

  4. 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

  5. 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

  6. 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.)

  7. 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

  8. Programmazione procedurale (esempio)

  9. 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

  10. Soluzione: Programmazione ad oggetti

  11. 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

  12. 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

  13. Il fattore umano • L’umano riceve e invia informazioni per via: • visiva • auditiva • tattile • attraverso movimenti • Le informazioni vengono memorizzate, elaborate, applicate

  14. 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

  15. 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)

  16. 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?

  17. 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.

  18. Lucidi delle lezioni • http://www.dmi.unisa.it/people/tucci/ • aggiornamenti

More Related