35 Le grandi innovazioni in termini di efficienza nel software vanno trovate nell'architettura fondamentale del sistema, non nel disegno di massima dell'interfaccia


Sintesi del contesto di applicazione
Situazione: l'interfaccia ha subito revisioni o modifiche
Problema: disegno dell'interfaccia che non aumenta o diminuisce la produttività dell'utente.
Accorgimenti in sede progettuale: Far collaborare designer di interfaccia e ingegneri dell'architettura di sistema

Stato dell'analisi Tema complesso. Testo troppo generico e applicazione ai prodotti mancante.


Applicazione del principio Alla base dei sistemi software troviamo l’architettura software: “Sistema di strutture necessarie per ragionare sul sistema stesso. Comprende elementi software, le relazioni che intercorrono fra di essi e le loro proprietà” (definizione di Paul Clemens, Carnegie Mellon University). L’architettura di un software comprende tutte le decisioni progettuali relative al comportamento e alla struttura del sistema; aiuta a comprendere e analizzare come il sistema raggiungerà qualità essenziali come modificabilità, disponibilità e sicurezza, permettendo un’evoluzione continua del sistema.
La possiamo anche intendere come un piano che descrive un insieme di aspetti importanti, come l’organizzazione del sistema e le modalità di comunicazione reciproca tra le parti.
É prioritaria per la comprensione, la negoziazione e la comunicazione tra tutti gli stakeholder (lato utente, cliente, management, ecc.), infatti, rende più facile la comprensione dell’intero sistema e quindi rende più efficiente il processo decisionale. Una buona architettura rende tutto più semplice e permette di creare prodotti più facili da sviluppare e da mantenere, riducendo i costi.
Una buona strategia consiste nel dividere il sistema in diversi strati applicativi (layer), ciascuno dei quali caratterizzato da una specializzazione funzionale, assolve quindi compiti specifici ed è in grado di comunicare con gli altri layer e demanda ad essi le eventuali azioni non di propria pertinenza.
Tra i diversi strati esiste una gerarchia regolata da un insieme di dipendenze che permettono di individuare un ordine di relazione. Questo significa che ogni livello "si appoggia" ad uno o più strati per poter eseguire i suoi compiti, dipende da essi e comunica unicamente con loro.
f.01
Il processo di scomposizione a cui si è accennato permette di individuare almeno tre livelli logici principali f.01:
• User Interface (UI o strato di presentazione): ha lo scopo di gestire l'interazione del sistema con il mondo esterno, in particolare con gli utenti. Include le maschere per la visualizzazione e l'inserimento dei dati, i controlli, dai più semplici ai più complessi, e i meccanismi per intercettare e trattare opportunamente gli eventi che sono scatenati in funzione delle azioni svolte dagli utenti;
• Business Logic Layer (BLL o logica di business): include l'insieme delle regole di business che regolano il funzionamento dell'applicazione, intercetta le richieste provenienti dallo strato di presentazione e le gestisce opportunamente;
• Data Access Layer (DAL o strato di accesso ai dati): si occupa di persistere le informazioni trattate dall'applicazione e conosce le modalità per leggerle e salvarle nell'ambito di una sorgente dati (non necessariamente un database relazionale).
f.02
f.03
La struttura più comune di un sito web è una struttura gerarchica basata su una pagina madre (pagina principale) e pagine subordinate (categorie e sottocategorie) che scaturiscono dalla pagina principale, questo aiuterà ad ottenere un’esperienza utente fluida e ottimale f.02 f.03.



fig.01
fig.02
fig.03
Enunciato originale del principio This simple truth is why it is so important for everyone involved in a software project to appreciate the importance of making user productivity goal number one and to understand the vital difference between building an efficient system and empowering an efficient user. This truth is also key to the need for close and constant cooperation, communication, and conspiracy between engineers and human interface designers if this goal is to be achieved.
Look at the difference between the iPad and the netbook computers it crushed. The differences had nothing to do with what key you pressed to open an email. They had to do with things like not having to press any key at all.

(fonte: Bruce Tognazzini, First Principles of Interaction Design)



pagina visitata 46 volte dal 09/11/2023