Introduzione a SharePoint 2010 per sviluppatori (.NET Campus 2011)
Collaborare con gli sviluppatori per organizzare e sviluppare servizi di orientamento all’utente...
-
Upload
stefano-penge -
Category
Education
-
view
245 -
download
2
Transcript of Collaborare con gli sviluppatori per organizzare e sviluppare servizi di orientamento all’utente...
Collaborare con gli sviluppatori per organizzare e sviluppare servizi di orientamento all’utente basati sulle
ICT
Dati, Strutture e Interfacce
Stefano PengeLynx s.r.l.
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
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
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
Dati:
gestione dei media, diritti d'autore, monitoraggio
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
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● ...
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
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:_______________________________________
Esempio 2Parte 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):_______________________________
Struttura:
linguaggi, funzioni e moduli
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
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)
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)
Interfaccia:
usabilità e accessibilità
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
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
●
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
D / S / I: grafico 1
D / S / I: grafico 2
D / S / I: grafico 3
D / S / I: grafico 4
● 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
● 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
Separazione 1
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
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
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
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
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