Object Modeling Technique: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
CivviBot (discussione | contributi)
m Robot: Automated text replacement (-{{wikificare}} +{{wik|febbraio 2006}})
m {{portale|informatica}}
 
(24 versioni intermedie di 18 utenti non mostrate)
Riga 1:
{{wikF|ingegneria del software|febbraio 20062013}}
'''Object Modeling Technique''' ('''OMT''') è un [[linguaggio di modellazione]] ''[[Programmazione orientata agli oggetti|object-oriented]]'' sviluppato all'inizio degli [[anni 1990|anni novanta]] da [[James Rumbaugh]] (all'epoca impiegato presso la [[General Electric]]). Fu una notazione di grande successo, che divenne (nella versione OMT-2) uno [[standard de facto|standard ''de facto'']] utilizzato da una buona parte dell'[[industria del software|industria]] per la [[progettazione]] di sistemi [[software]] a oggetti. In seguito al successo di OMT, Rumbaugh venne in seguito convocato per far parte del progetto di unificazione delle notazioni di modellazione ''object-oriented'' che avrebbe portato alla definizione di [[Unified Modeling Language]] (UML), che eredita molte delle caratteristiche di OMT.
Per rappresentare i concetti della programmazione ad oggetti, sono state sviluppate varie metodologie che permettono di eseguire un'astrazione della realtà attraverso più modelli che interagiscono.
Un singolo modello non è infatti sufficiente a descrivere un'applicazione software e ogni modello si occupa quindi di un solo aspetto della realtà.
 
== Caratteristiche di OMT ==
Una metodologia che è diventata quasi uno standard è la metodologia chiamata OMT (Object Modeling Technique) creata da James Rumbaugh. Questa metodologia si basa sull'utilizzo di tre modelli: il Modello degli Oggetti, il Modello Dinamico e il Modello Funzionale. Questi modelli vengono rappresentati graficamente mediante dei diagrammi. Un diagramma è la proiezione degli elementi di un modello. Gli elementi del modello possono apparire in più diagrammi e un dato diagramma può presentare solo alcuni aspetti di un elemento.
 
Il nucleo concettuale di OMT era, per ammissione dello stesso Rumbaugh, un'estensione al [[paradigma di programmazione|paradigma]] ''object-oriented'' del modello [[modello E-R|Entity-Relationship (ER)]] tradizionalmente usato nella [[progettazione di basi di dati|progettazione di database]]. OMT faceva proprie e adattava, in modo analogo, anche strumenti provenienti da altre tradizioni, come gli [[automa a stati finiti|automi a stati finiti]] e i ''[[Data Flow Diagram]]''.
Il Modello degli Oggetti è il modello più importante e descrive la struttura statica del sistema, è rappresentato dal Diagramma delle Classi (Class Diagram) e dal Diagramma degli Oggetti (Object Diagram).
 
Come il successivo UML, OMT prevedeva la descrizione di un sistema attraverso un insieme di ''viste'' complementari, dette ''modelli'' nella terminologia OMT. Erano previsti tre modelli: il ''modello degli oggetti'', il ''modello dinamico'' e il ''modello funzionale''. I [[diagramma|diagrammi]] relativi a ciascuno di questi modelli potevano includere elementi comuni (come in UML).
Il Modello Dinamico è rappresentato dal tradizionale Diagramma di Transizione degli Stati (State Transition Diagram) con gli scenari; descrive quando gli eventi e le azioni avvengono.
 
Il ''modello degli oggetti'' era il modello principale di OMT e corrispondeva a quelli che in UML si chiamano ''diagramma delle classi'' e ''diagramma degli oggetti''. Il ''modello dinamico'' descriveva l'evoluzione degli stati degli oggetti con un modello basato su [[automa a stati finiti|macchine a stati finiti]]) simile al ''diagramma della macchina a stati'' di UML. Era inoltre descrivere ''scenari'' (cioè particolari ''istanze'' o ''esempi'' di interazione fra oggetti); in UML questo obiettivo è raggiunto con i ''diagrammi di sequenza''. Infine, il ''modello funzionale'' era una notazione derivata dai tradizionali diagrammi di flusso dei dati, con scopi analoghi.
Il Modello Funzionale è rappresentato dal tradizionale Diagramma di Flusso di Dati (Data Flow Diagram) che descrive quando gli eventi e i processi avvengono.
{{portale|informatica}}
 
[[Categoria:Metodi di sviluppo software]]
I tre modelli sono in relazione tra loro e assieme riescono a descrivere in modo completo una applicazione. Il modello degli oggetti è di solito il più importante mentre il modello dinamico e quello funzionale servono come complemento al modello degli oggetti.