Anteprima
Vedrai una selezione di 4 pagine su 13
Interfacce uomo-macchina - risposte aperte voto 30 in ordine alfabetico Pag. 1 Interfacce uomo-macchina - risposte aperte voto 30 in ordine alfabetico Pag. 2
Anteprima di 4 pagg. su 13.
Scarica il documento per vederlo tutto.
Interfacce uomo-macchina - risposte aperte voto 30 in ordine alfabetico Pag. 6
Anteprima di 4 pagg. su 13.
Scarica il documento per vederlo tutto.
Interfacce uomo-macchina - risposte aperte voto 30 in ordine alfabetico Pag. 11
1 su 13
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Relativamente alle varie fasi del ciclo di vita di un prodottosoftware, che cosa si intende con

"validazione e verifica"?Quali sono le differenze tra queste due attività? In tutte le fasi del ciclo di vita, il

progetto deve essere controllato per garantire che soddisfi i requisiti di alto livello concordati con il

committente, e che mantenga coerenza interna e completezza. Questi controlli prendono il nome

rispettivamente di validazione e verifica. La validazione cerca di dimostrare che nelle varie attività progettuali

i requisiti dei committenti vengono soddisfatti. Nel progetto dei sistemi interattivi la validazione rispetto ai

requisiti relativi all'interfaccia tra utente e sistema prende a volte il nome di valutazione e può essere

effettuata sia dagli sviluppatori in modo isolato, sia con il coinvolgimento di utenti pilota. La verifica della

completezza e della coerenza interna di un progetto viene spesso effettuata all'interno di ogni singola attività

del ciclo di vita, o al più tra due attività adiacenti. Ad esempio, nel progetto di dettaglio di un componente gli

sviluppatori verificheranno la correttezza degli algoritmi adottati per implementare le funzionalità offerte dal

componente. Il progetto dell'architettura avrà prodotto una specifica generale delle operazioni e dei dati in

ingresso e in uscita dal componente, e questa verrà ulteriormente raffinata nel progetto di dettaglio: qualora

la specifica di dettaglio introduca nuove informazioni, o riorganizzi la struttura delle operazioni, sarà

necessario verificare che sia mantenuta la completezza e la coerenza interna (non sono state introdotte

inconsistenze) della specifica di dettaglio.

Relativamente alle tecniche di sviluppo di un prototipo,descrivi le caratteristiche di una storyboard.

Uno storyboard è probabilmente il tipo più semplice di prototipo; è in genere costituito da una serie di

snapshots (istantanee, o schizzi, dello stato dello schermo), che catturano l'aspetto esteriore del sistema

desiderato: le varie configurazioni dell'interfaccia utente in momenti particolari dell'interazione.La stesura di

uno storyboard può essere effettuata con carta e matita, ma in genere prevale l'uso di un editor grafico, È

anche possibile realizzare animazioni che mostrano una sequenza di snapshots, e che si rivelano efficaci

per illustrare gli aspetti dinamici dell'interazione. Le tecniche di sviluppo partono dalla simulazione, viene

costruito un prototipo,costituito da oggetti interattivi grafici e testuali che consentono una valutazione rapida

ed uno studio sull'interazione con gli utenti.Una tecnica particolare di simulazione che non richiede

significative risorse informatiche è denominata Wizard of Oz (Il Mago di Oz).Con tale tecnica i progettisti

possono sviluppare un prototipo con funzionalità inizialmente limitate, e poi migliorarle ed aumentarle in fase

di valutazione. L'utente che partecipa alla valutazione del prototipo non ha in genere competenze

informatiche: gli viene richiesto di provare a svolgere qualche compito a lui familiare usando il sistema nelle

modalità che gli sembrano più naturali. In tempo reale, il progettista osserva il comportamento dell'utente e lo

traduce in comandi appropriati per il prototipo.Interponendosi tra utente e sistema il progettista può

migliorare la funzionalità percepita: la valutazione mette a fuoco le modalità con cui l'utente reagisce al

sistema completo, e guida i prototipi successivi.

Relativamente alle tecniche di sviluppo di prototipi, descrivi le caratteristiche delle simulazioni con

funzionalità limitate.Gli storyboards e le tecniche di animazione non sono sufficienti per dimostrare il lavoro

che l'applicazione effettuerà, ne' sono in grado di rappresentare adeguatamente gli aspetti interattivi del

sistema: bisogna introdurre nel prototipo almeno alcune funzionalità.Poter programmare delle simulazioni

consente ai progettisti di costruire rapidamente oggetti interattivi grafici e testuali, e associare a questi

oggetti dei comportamenti che imitino le funzionalità del sistema.Il prototipo dotato di simulazioni può essere

valutato e modificato rapidamente per riflettere i risultati dello studio di valutazione condotto col

coinvolgimento di vari utenti.Esistono numerosi strumenti di prototipazione rapida che consentono lo

sviluppo di queste simulazioni, il cui comportamento interattivo è realizzato mediante scripts associati agli

oggetti grafici dell'interfaccia. La maggior parte dei prototipi basati su simulazioni sono throw-away, perché

costituiscono implementazioni inefficienti e incomplete delle funzionalità.Una tecnica particolare di

simulazione che non richiede significative risorse informatiche è denominata Wizard of Oz (Il Mago di

Oz).Con tale tecnica i progettisti possono sviluppare un prototipo con funzionalità inizialmente limitate, e poi

migliorarle ed aumentarle in fase di valutazione. L'utente che partecipa alla valutazione del prototipo non ha

in genere competenze informatiche, ma conosce bene il dominio applicativo del sistema: gli viene richiesto

di provare a svolgere qualche compito a lui familiare usando il sistema nelle modalità che gli sembrano più

naturali. In tempo reale, il progettista osserva il comportamento dell'utente e lo traduce in comandi

appropriati per il prototipo.Interponendosi tra utente e sistema il progettista può migliorare la funzionalità

percepita: la valutazione mette a fuoco le modalità con cui l'utente reagisce al sistema completo, e guida i

prototipi successivi.

Relativamente alle tecniche di sviluppo di prototipi, descrivi le caratteristiche degli ambienti di

programmazione ipertestuali. Macromedia Flash, Adobe Director sono solo alcuni esempi di linguaggi di

programmazione specializzati e ad alto livello che consentono al progettista di programmare facilmente le

caratteristiche di un sistema interattivo. Ciò avviene a spese di altre caratteristiche, come la velocità di

risposta o lo spazio di memoria richiesto. Questi linguaggi consentono al programmatore di associare

comportamento funzionale agli oggetti dell'interfaccia utente .Il programmatore può quindi astrarsi dalle

specifiche della piattaforma, e concentrarsi sulle modalità con cui i dispositivi di input e output vengono

percepiti dall'utente come dispositivi interattivi. Il supporto di alto livello alla programmazione di prototipi può

anche essere fornito da uno User Interface Management System (UIMS). Il modello concettuale proposto da

questi ambienti è teso a separare le funzionalità dell'applicazione dalla loro presentazione. Il ruolo dell'UIMS

è di permettere al programmatore di connettere le funzionalità agli oggetti dell'interfaccia utente, favorendo la

definizione di protocolli di comunicazione tra le due parti del sistema. La separazione tra funzionalità e

presentazione favorisce le pratiche di riuso: se il sistema sottostante è già stato sviluppato, si possono

realizzare rapidamente vari prototipi alternativi dell'interfaccia, e far scegliere all'utente quello che appare

ottimale.

Relativamente agli strumenti per lo sviluppo di prototipi, descrivi le caratteristiche dei design

patterns. Un design pattern (struttura di progettazione) è "una soluzione progettuale generale a un problema

ricorrente". Esso non è una funzione di libreria o un componente riusabile, ma piuttosto una descrizione o un

modello da applicare per risolvere un problema che può presentarsi in diverse situazioni durante la

progettazione e lo sviluppo del software. Vedremo di seguito due design patterns che promuovono la

separazione tra gli oggetti dell'interfaccia utente e quelli che realizzano le funzionalità di business logic

facilitano le pratiche di riuso nella prototipazione evolutiva.

Relativamente agli strumenti per lo sviluppo di prototipi, descrivi le caratteristiche del pattern Model-

View-Controller (MVC). Una generalizzazione del pattern Observer è costituita da MVC, che viene

considerato un esempio di stile architetturale. Le entità coinvolte sono tre:a) Model corrisponde a subject, è

l'oggetto che detiene la rappresentazione dello stato e fornisce i metodi per accedere ai dati

dell'applicazione.b) View corrisponde ad observer, è l'oggetto che gestisce l'interazione con l'utentec)

Controller è un oggetto che media tra i due precedenti: riceve i comandi dall'utente e li esegue modificando

lo stato delle altre due componenti.

Relativamente agli strumenti per lo sviluppo di prototipi, descrivi le caratteristiche del pattern

Observer.Lo scopo di Observer è definire una dipendenza uno-a-molti tra oggetti, in cui quando un oggetto

che contribuisce all'implementazione di una funzionalità cambia stato tutti gli oggetti dell'interfaccia utente

che dipendono da lui sono automaticamente aggiornati. Il pattern descrive come stabilire queste relazioni di

dipendenza multipla: un subject può essere "osservato" da un numero qualsiasi di observers; ad ogni

observer viene notificato il cambiamento di stato del subject; in risposta a ciò, ogni observer interroga il

subject per sincronizzare il proprio stato.Subject :conosce i suoi observers; qualunque numero di observer

può osservare un subject. Observer :definisce un'interfaccia Update() attraverso la quale un subject può

notificare l'avvenuto cambiamento del proprio stato e la conseguente necessità di aggiornamento.

ConcreteSubject : memorizza lo stato a cui i ConcreteObservers sono interessati e manda una notifica ai

propri observers. ConcreteObserver :mantiene un riferimento al ConcreteSubject ,memorizza una copia dello

stato del ConcreteSubject, implementa il metodo Update() per mantenere il proprio stato. Quando lo stato

cambia, aConcreteSubject chiama il metodo Notify() che, per ogni observer chiama il relativo metodo

Update(). In risposta, l'observer chiama il metodo GetState() del subject per aggiornare il proprio stato.

Uno degli stili dell'interazione considerati nell'ambito della lezione 15 è costituito dalle interfacce

basate sul linguaggio (pseudo)naturale. Descrivi questo stile, e gli effetti che esso hasull'interazione.

Sebbene sia una modalità di interazione molto diretta ed accattivante, la possibilità di comunicare col

computer usando il linguaggio di tutti i giorni (italiano, inglese, ecc.) incontra notevoli difficoltà.Il linguaggio

naturale è per molti versi ambiguo e ridondante, e fa uso frequente di riferimenti ellittici (uso dei pronomi) e a

conoscenze generiche che il computer non ha."Il cane dello zio, che ieri ha morso un passante, oggi è dal

veterinario". Noi sappiamo che in genere gli zii non mordono i passanti, ma in termini strettamente linguistici

la frase è ambigua."Cer

Dettagli
Publisher
A.A. 2018-2019
13 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher desmone di informazioni apprese con la frequenza delle lezioni di Interfacce uomo-macchina e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università telematica "e-Campus" di Novedrate (CO) o del prof Sarti Luigi.