Similar to Collaborare con gli sviluppatori per organizzare e sviluppare servizi di orientamento all’utente basati sulle ICT Dati, Strutture e Interfacce
Android: Introduzione all'architettura, alla programmazione e alla sicurezzajekil
Similar to Collaborare con gli sviluppatori per organizzare e sviluppare servizi di orientamento all’utente basati sulle ICT Dati, Strutture e Interfacce (20)
discorso generale sulla fisica e le discipline.pptx
Collaborare con gli sviluppatori per organizzare e sviluppare servizi di orientamento all’utente basati sulle ICT Dati, Strutture e Interfacce
1. Collaborare con gli sviluppatori per organizzare e
sviluppare servizi di orientamento all’utente basati sulle
ICT
Dati, Strutture e Interfacce
Stefano Penge
Lynx s.r.l.
2. Progettare una piattaforma
● Per costruire un oggetto complesso come una
piattaforma per l'erogazione di servizi di
orientamento online occorre avere chiaro:
● Di quali parti è composta
● Quale è la figura responsabile di ogni parte
● Come e quando devono interagire le diverse figure
● Con quali strumenti possono agire
3. Dati, struttura, interfaccia
● Formulazione recente di una "forma" di
pensiero antica che separa:
● le cose
● la loro organizzazione interna
● il rapporto con l'ambiente esterno.
● Platone distingueva tra materia, forma e
apparenza
● I retori latini distinguevano inventio, dispositio
ed elocutio
4. Dati, struttura, interfaccia
● Oggi, in altri campi, si parla di:
● semantica, sintassi e pragmatica
● memoria, pensiero e linguaggio
● conoscenza dichiarativa, conoscenza procedurale e
conoscenza comunicativa
● input / elaborazione / output
6. Dati 1
● Tutte le informazioni conservate da una
piattaforma (profili degli utenti, risultati delle
esercitazioni, contenuti, parametri di
configurazione, etc)
● Potrebbero essere una serie di semplici files di
testo contenenti dati numerici o verbali, oppure
immagini
● Di solito, però, questa parte è in realtà affidata
ad un sistema esterno specializzato, un Data
Base Management System
7. Dati 2
● I dati sono la parte più soggetta a modifica della
piattaforma, quindi quella più soggetta a rischio.
● Nella progettazione di questa parte vanno
tenute presenti diversi aspetti. Ad esempio:
● La gestione dei media non verbali
● La questione dei diritti d'autore
● La questione della privacy
● La questione della sicurezza
● ...
8. Dati 3
● Per garantire che i dati siano accessibili, o che
possano essere inseriti in futuro, occorre in
anticipo definire
● i tipi di dati accettabili
● I formati
● I limiti
● le metainformazioni associate
9. Esempio 1
Parte generale (valida per tutti i documenti forniti):
destinatari e accesso (es. pubblico, riservato, …):__________________
titolo:_____________________________________________________
sezione del sito:____________________________________________
redattore:__________________________________________________
descrizione:________________________________________________
data: ____________________________________________________
versione: __________________________________________________
dimensioni complessive (numero di documenti):____________________
elenco dei documenti:_______________________________________
10. Esempio 2
Parte specifica (da ripetere per ogni documento):
nome del file:_______________________________________________
identificativo (univoco): ______________________________________
tipologia (es. immagine, testo, video, audio): _______________________
formato del file (es. testo/rtf, testo/ pdf, audio/mp3, ...):_______________
dimensioni fisiche (in byte del documento):_______________________
dimensioni percettive (numero caratteri, pixel, secondi,...): ____________
titolo: ____________________________________________________
categoria:_________________________________________________
keywords:_________________________________________________
breve descrizione: __________________________________________
autore o provenienza:_______________________________________
diritti di riproduzione (nessuno, tutti, non commerciale, ...):___________
lingua:_________________________________________________
posizione gerarchica (es. home page):__________________________
link interni (ad altri documenti o pagine del sito):___________________
link esterni (fuori dal sito):___________________________________
media collegati (es. immagini):_______________________________
12. Struttura 1
● L'insieme delle funzioni che presiedono:
● al reperimento dei dati (unità di contenuto)
● alla loro formattazione
● al loro invio all'Interfaccia
● E in direzione inversa:
● alla raccolta di informazioni sull'utente
● alla costruzione del suo profilo e del suo portfolio
individuale
13. Struttura 2
● Invece di struttura potremmo parlare di modello
● L'organizzazione delle funzioni e dei contenuti è
fatta sulla base di una metafora, di una
situazione che si vuole simulare
● Ad es. si fa riferimento ad una struttura di
orientamento reale, con i suoi attori (utenti,
operatori, etc), i suoi spazi (stanze, segreteria,
ambienti comuni) e le sue funzioni
(registrazione, erogazione della consulenza,
verifiche)
14. Struttura 3
● Di solito le piattaforme sono software molto
complessi, costituiti da migliaia di funzioni.
● Queste funzioni vengono spesso organizzati in
files e quindi in moduli
● Le funzioni più usate sono raccolte in “librerie”
● Le funzioni possono essere scritte in linguaggi
diversi, ed essere eseguite tanto sul server che
sul client (es. JAVA, PHP, Javascript)
16. Interfaccia 1
● Tutti i punti di contatto tra la piattaforma e
l'ambiente esterno.
● Fanno parte dell'ambiente esterno prima di
tutto gli utenti umani (utenti, operatori,
amministratori, sviluppatori)
● L'interfaccia è l'insieme di schermate
(composte da riquadri di testo, bottoni, icone
etc.) che permettono all'umano di comunicare i
suoi comandi alla piattaforma
● E viceversa
17. Interfaccia 2
● L'ambiente esterno comprende anche altre
applicazioni con cui la piattaforma dovrà
interfacciarsi
● il sistema operativo
● altri software (DBMS, ...)
● le altre piattaforme dalle quali e verso le quali
scambiare dati
● Anche all'interno possono essere presenti
super-moduli talmente complessi da richiedere
una vera e propria interfaccia per interagire con
essi
●
18. Interfaccia 3
● Si intende per usabilità la capacità di un
sistema di soddisfare le richieste dell'utente per
il quale è stata progettata
● Si intende per accessibilità la capacità di un
sistema di modificare la propria interfaccia in
base alle richieste dell'utente
● L'usabilità coinvolge anche la struttura
● L'accessibilità coinvolge anche i dati
23. Separazione 1
● Una buona regola di progettazione del software
vuole che interfaccia, struttura e dati siano
separati e indipendenti:
● logicamente (cioè che siano facilmente distinguibili)
● fisicamente (cioè che siano realmente distinti)
● La separazione tra dati, struttura e interfaccia
significa che è possibile intervenire su ognuna
di questa parti senza andare a toccare le altre
24. Separazione 2
● E' possibile così:
● Progettare l'interfaccia in base alle necessità
espresse dal cliente, per esempio per aumentarne
l'accessibilità senza toccare il codice
● Aggiungere nuove funzioni o riscriverle in maniera
più efficiente senza riprogettare l'interfaccia
● Aggiornare, aggiungere, modificare i contenuti
lasciando invariato il resto
25. Progettazione 1
● Un tipico processo di progettazione di una
piattaforma prevede:
● L'analisi dei bisogni (casi d'uso)
● Il progetto (della struttura, dei dati e dell'interfaccia)
● Lo sviluppo di un prototipo e il suo pre-test
● La correzione e lo sviluppo della versione finale
● Il debug
● Il rilascio
26. Progettazione 2
● Ogni piattaforma “vive” nel tempo
● Va progettata a livello di Dati, Struttura e
Interfaccia
● Le tre parti vanno realizzate e integrate
● Inizia a questo punto un ciclo continuo che
tocca tutte le parti:
● Uso
● Valutazione
● Riprogettazione/adeguamento
27. Progettazione 3
● La separazione non implica che la
progettazione delle parti sia indipendente
● Ad esempio, nella progettazione della
navigazione tra i contenuti di una piattaforma, è
necessario definire:
● l'organizzazione e la tipologia dei dati
● le funzioni di accesso (sequenziale, casuale, …)
● gli strumenti per la navigazione
28. Protocolli di collaborazione
● E' fondamentale quindi individuare i protocolli di
collaborazione non solo nelle prime fasi (analisi,
progettazione, realizzazione), ma anche in
quelle seguenti
● Protocolli che riguardano:
● Le azioni
● I ruoli e le responsabilità
● Gli oggetti
● I tempi