Obiettivo
Mercury Configurator nasce con lo scopo di sviluppare un tool user-friendly per la
configurazione rapida di prodotti e servizi basato sulla programmazione a vincoli. Con questo tool, del personale privo d'esperienza nel campo della programmazione, può facilmente sviluppare un sistema di
configurazione completa e attendibile. Come primo passo, il dominio di configurazione è modellato nei termini di:
- Descrizione strutturale.
- Un insieme di vincoli.
- Un insieme di criteri.
L'interfaccia del sistema di
configurazione è Web-based, è internazionale e integra un editor WYSIWYG.
Introduzione e Motivazioni
Mercury Configurator consente ad un utente senza esperienze di programmazione, tramite un comodo
tool user-friendly, per lo sviluppo rapido di sistemi di configurazione per prodotti e servizi (che vengono chiamati
configuratori).
I configuratori hanno una lunga tradizione e ai giorni nostri molti degli ERP e CRM disponibili, dispongono di un tool per lo sviluppo rapido di configuratori per il supporto della forza vendite o per dare servizi diretti ai clienti.
Tuttavia, i configuratori tradizionali, e l'approccio usato nella loro realizzazione, non sono soddisfacenti per diverse ragioni. Dal punto di vista dell'utente, i
configuratori tradizionali non sono soddisfacenti perchè spesso sono basati su un modello di interazione chiamato a cascata di domande.
All' utente finale vengono fatte un numero imprecisato di domande in sequenza, alla fine delle quali il risultato è il configuratore.
Ma l'utente finale potrebbe non essere totalmente soddisfatto da un approccio a cascata di domande, perchè:
- Quando il problema diventa complesso, il numero delle domande tende ad essere molto elevato.
- L'utente che non conosce con un sufficiente livello di dettaglio cosa sta guardando, non è supportato in modo adeguato.
La moderna soddisfazione di vincoli offre una soluzione di utilizzo generale ai problemi elencati in precedenza. Il problema non è più espresso come una serie di domande in cascata, ma modellato usando un appropriato
linguaggio di alto livello.
L'utente è libero di scegliere l'ordine preferito da adottare per assegnare un valore alle variabili e l'algoritmo di soddisfazione nel cuore del
configuratore garantisce che venga sempre garantita una configurazione consistente.
Il linguaggio di alto livello che attua la ricerca sulla soddisfazione di vincoli permette strutture di configurazione complesse in insiemi di scelte (non ordinate) su differenti livelli di dettaglio. Ogni scelta ha un impatto su tutto il
configuratore.
Il processo di
configurazione è più facile per gli utenti finali perchè questi possono muoversi liberamente tra differenti scelte, a differenti livelli di dettaglio, con l'implicita assicurazione che la configurazione rimarrà persistente.
La seconda ragione perchè noi crediamo che i configuratori tradizionali non siano soddisfacenti è dal punto di vista degli sviluppatori. Un configuratore comprende molti domini di conoscenza, e una larga porzione dello sforzo nella realizzazione di un configuratore riguarda la scrittura del dominio di conoscenza in forma comprensibile.
Il problema dei
configuratori tradizionali è che il codice per un dominio specifico tende ad essere strettamente associato con il codice indipendente dal dominio, e la possibilità di riutilizzo del codice indipendente diviene molto limitata.
Vantaggi per l'azienda
Mercury Configurator affronta tutti i problemi dei configuratori tradizionali dando:
- Configuratori basati sulla soddisfazione di vincoli e sull'ottimizzazione per gli utenti finali.
- Un set di tool per gli sviluppatori, che consentono la realizzazione veloce di configuratori Web-based ed internazionali.
Il design razione all'interno di
Mercury Configurator è pensato per consentire la realizzazione di un
configuratore senza esperienze di programmazione, agli esperti di dominio è possibile consegnare un
configuratore con funzionalità piene con tool semplici e
user friendly.
Più in dettaglio allo sviluppatore viene data un' applicazione, chiamata
Modeler, che consente di:
- Modellare un dominio di conoscenza necessario al configuratore, in termini di descrizione strutturale, un insieme di vincoli ed uno di criteri di ottimizzazione.
- Disegnare un'interfaccia utente del configuratore tramite un editor WYSIWYG che esplora il dominio di conoscenza per determinare un insieme di elementi visuali riusabili.
Una volta che il dominio è modellato e l'interfaccia utente è stata realizzata tramite i componenti riusabili, gli sviluppatori possono facilmente mettere in produzione il
configuratore tramite un altro modulo di
Mercury Configurator.