La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione alla modellazione di sistemi interattivi Paolo Bottoni Dipartimento di Informatica Università "La Sapienza" - Roma.

Presentazioni simili


Presentazione sul tema: "Introduzione alla modellazione di sistemi interattivi Paolo Bottoni Dipartimento di Informatica Università "La Sapienza" - Roma."— Transcript della presentazione:

1 Introduzione alla modellazione di sistemi interattivi Paolo Bottoni Dipartimento di Informatica Università "La Sapienza" - Roma

2 Sommario Motivazioni Elementi di definizione di un sistema interattivo Modellazione orientata agli oggetti Viste sul modello Lo strumento UML

3 Modellare per progettare Identificare i confini del sistema Identificare le possibili condizioni in cui si può trovare il sistema Identificare le possibili risposte a stimoli esterni Prevedere le possibili evoluzioni Modellare è porsi delle domande Progettare è tentare delle risposte

4 Perché modellare il software Necessità di identificare componenti del progetto Necessità di valutare la rispondenza del progetto ai requisiti Necessità di mantenere il software nel tempo

5 Perché modellare il software interattivo Diversi livelli di definizione da mantenere coerenti Identificazione dei linguaggi dellutente e valutazione della loro corrispondenza con i linguaggi dellinterazione Generazione automatica di codice Valutazione della corrispondenza degli strumenti di interazione con le logiche di applicazione

6 Un punto di vista su sistemi interattivi visivi Mondo dei supporti Mondo delle logiche di applicazione Rappresentazione Attivazione Utente Interazione Calcolatore

7 Problemi Relazione fra supporto di rappresentazione e supporto di interazione Corrispondenze fra logiche di applicazione e logiche dellinterazione Gestione dei processi di rappresentazione e di attivazione

8 Uninterfaccia per un dominio specifico

9 Un'interfaccia per funzionalità generica

10 Linterfaccia separabile Modello di Seeheim Presentation Dialog control Application interface Bypasser Ripercorre la divisione Lessico, Sintassi, Semantica Controllo del dialogo monolitico Bypasser rende descrizione formale difficile

11 Modello a oggetti Interfaccia Utente come collezione di oggetti di interazione (widgets) Utente manipola oggetti direttamente Gli oggetti sono responsabili della trasmissione delle azioni dell'utente verso lapplicazione UI Application User

12 Linterfaccia separabile Modello MVC (Model View Controller) model view controller

13 Evoluzioni di MVC Document-View

14 Evoluzioni di MVC Model-Delegate

15 Evoluzioni di MVC Presentation Abstraction Control Struttura gerarchica ad agenti Controllore media fra Abstraction e Presentation Coordina agenti più in basso nella gerarchia

16 Problemi nella definizione di un sistema interattivo Componenti singoleCoordinamento Rappresentazione Identificazione del tipo di componente necessaria. Progetto del layout Comportamento Reazioni ad azioni utente e cambiamenti di stato Propagazione di eventi e sincronizzazione delle viste

17 Identificazione tipo di componente Rappresentazione del dominio –Dati da rappresentare collezioni o elementi singoli? –se collezioni: ordinate, non ordinate? –se elementi singoli: di che tipo? (es. numerici, booleani, stringhe, enumerato) »se numerici: qualsiasi valore o in un range limitato? –Processi da attivare Gestione dellinterazione –Elementi di interazione generica –Elementi di navigazione nellinterfaccia

18 Comportamenti da supportare: attivazione di processi interrogazione di dati valorizzazione di dati modifiche

19 Politiche di coordinamento (del comportamento) Politiche di abilitazione e disabilitazione Propagazione delle attivazioni Attivazioni concorrenti Trasformazioni globali della presentazione

20 Politiche di coordinamento (della presentazione) Layout complessivo dellinterfaccia Vincoli reciproci fra elementi –spostamenti coordinati –relazioni ammissibili fra tipi di elementi Consistenza con altri tipi di interfaccia

21 Modellazione orientata agli oggetti Oggetti Classi Operazioni Metodi Relazioni

22 Oggetti Mess1 Mess2 Mess3 State Interface of the object Possiedono identità Incapsulamento dello stato, inaccessibile ad altri oggetti Comunicazione fra oggetti attraverso messaggi Messaggi esprimono query, richieste di modifiche di stato, richieste di svolgimento di computazioni

23 Classi Definizione interfaccia Ogni oggetto è istanza di una classe. Classe definisce le caratteristiche comuni ad ogni sua istanza. Ogni istanza di una classe è in grado di rispondere agli stessi messaggi, utilizzando gli stessi metodi Definizione struttura stato Codice dei metodi class Stack { private List elements; public Stack() { elements = new ArrayList(); } … }

24 Operazioni Nome dell'operazione (nome del messaggio) Tipi degli argomenti Tipo del risultato Es. void push(Object o) Object pop() boolean isEmpty()

25 Metodi Codifica concreta, in un linguaggio di programmazione, del comportamento da mettere in atto per rispondere a un determinato messaggio. Codice del metodo presente una sola volta nella classe, non replicato in ogni istanza. boolean isEmpty() { return elements.isEmpty(); }

26 Relazioni Ereditarietà –Struttura –Comportamento Associazione –Possibilità di collaborare Composizione –Relazione parte-tutto Dipendenza –Necessità dellesistenza

27 Viste sul modello –Vista di utente –Vista architetturale Vista strutturale Vista dinamica –Attività singole –Attività collaborative

28 Vista di utente Funzionalità del sistema dal punto di vista degli attori Questioni –Chi sono gli attori? Chi ricava valore dallutilizzo del sistema? Chi fornisce servizi al sistema? –Quali sono le funzionalità? –Cosa deve avvenire per ottenere la funzionalità?

29 Vista strutturale Livello delle classi –Quali sono i tipi di componente presenti nel sistema? –Quali sono relativi al problema? Quali sono comuni a tutti i problemi in uno stesso dominio? Quali sono specifici dellapplicazione? –Quali sono relativi dellinterazione? –Quali sono di utilità indipendenti dal dominio? Livello delle istanze –Come è fatta la configurazione iniziale del sistema? –Come è fatta una configurazione in un particolare stato dellinterazione?

30 Vista dinamica (attività collaborative) Quali elementi devono collaborare per realizzare una certa funzionalità? Che ruolo svolgono nella collaborazione? Quali sequenze di interazioni fra gli elementi sono necessarie per realizzare una certa funzionalità?

31 Vista dinamica (attività singole) Quali sono i possibili stati di unentità? –A quali configurazioni di valori degli attributi corrispondono? Quali eventi determinano le transizioni di stato? Possiamo decomporre uno stato in sottostati? (e.g. stati veglia/sonno, sonno ha fasi REM e fasi non REM) Cosa può fare il sistema permanendo nello stesso stato?

32 Lo strumento UML Linguaggi diagrammatici per ogni aspetto del modello Coerenza complessiva del modello Modello esprime vincoli sulle possibili realizzazioni


Scaricare ppt "Introduzione alla modellazione di sistemi interattivi Paolo Bottoni Dipartimento di Informatica Università "La Sapienza" - Roma."

Presentazioni simili


Annunci Google