Estensioni al paradigma Model-View-Controller per il progetto di applicazioni grafiche interattive

G.Chiozzi
IBM Southern Europe Middle East and Africa Scientific and Technical Solution Center

Published on: Rivista di Informatica AICA, January 1996, pp. 25 to 35

ABSTRACT

The Model-View-Controller (MVC) paradigm provides a proper design architecture, based over object oriented principles, for applications where human-computer interaction and graphical components play an important role. This paper analyses the MVC paradigm to put in evidence characteristics and limitations. Then we introduce model extensions in order to get over these limitations.

INTRODUCTION

L'utilizzo di tecnologie di sviluppo software Object-Oriented risponde alle esigenze delle applicazioni grafiche a forte componente interattiva, per le quali l'unico metodo affidabile di progettazione è quello di realizzare dei prototipi e di farli evolvere verso l'applicazione finale sulla base delle osservazioni espresse dagli utilizzatori, alternando fasi di analisi, sviluppo e test.

Tali metodologie permettono infatti di suddividere l'applicazione in elementi indipendenti che possono evolvere senza interferire fra di loro.

Il paradigma Model-View-Controller (MVC), introdotto per la prima volta in Smalltalk-80, si innesta sui principi base delle metodologie ad oggetti e mette a disposizione uno schema architetturale per le applicazioni interattive. Vengono infatti identificati con precisione i ruoli e le responsabilità delle diverse classi di oggetti che costituiscono l'applicazione e le regole di colloquio e interazione fra questi.

Il presente lavoro analizza il paradigma MVC evidenziandone caratteristiche e limiti. Vengono quindi presentate estensioni al modello che ne consentono il superamento.

Le idee presentate sono implementate in un toolkit C++ utilizzato in IBM Semea per lo sviluppo di sistemi di grafica interattiva 2D.

In particolare questa metodologia è stata utilizzata in sistemi complessi quali le stazioni operatore per un sistema di gestione guasti su rete di distribuzione elettrica, un prototipo per un sistema di gestione del traffico ferroviario e un sistema per il monitoraggio e il controllo del traffico autostradale.

Nel corso dell'articolo gli esempi faranno riferimento al classico e ben noto caso di un editor grafico vettoriale.


[ ESO | VLT software | G.Chiozzi's Home Page ]


© gchiozzi@eso.org

Last modified: Thu May 21 22:11:27 METDST 1998 ;