Domanda

Qual è la differenza tra un modello di dominio e di un modello di dati?

È stato utile?

Soluzione

Un datamodel è un progettazione modello che descrive solo i dati ed è relazioni. Il modello contiene entità, ma essi sono descritti in termini di ciò che Dati non possiedono come agiscono su questi dati e quali sono le loro responsabilità.

Un modello di dominio d'altra parte, è un modello concettuale utilizzato in analisi di un dominio del problema. Esso descrive il dominio in termini di entità che hanno relazioni, i dati e il comportamento. Descrive le responsabilità di tali enti come rilevanti per la comprensione del dominio del problema.

A proposito di un eccellente e molto breve introduzione a UML è:

UML Distilled: una breve guida per l'oggetto standard Modeling Language

Altri suggerimenti

A Dati modello è focalizzata sulla definizione dello schema di DB, incluse le tabelle, colonne, e le relazioni.

A dominio modello è focalizzata sul dominio aziendale, inclusi i concetti (classi di oggetti), comportamento (metodi / logica), e le relazioni.

In entrambi i casi, la cardinalità viene utilizzato per i rapporti (ad esempio 1: 1, 1: Molti, 0: Molti, ...).

Detto questo, si dovrebbe idealmente come il modello di dati e modello di dominio essere strettamente connessi, ossia una persona con nome, ... e un MailingAddress, ... si riferisce ad un tavolo Persona con una colonna di nome e di un FK a una voce della tabella MAILING_ADDR. Dovete decidere dove la logica è ospitato -. Negli oggetti del vs. sistema software nel DB tramite procedure, trigger, e tale

Penso che il modello di dominio e modello dei dati sono ora più o meno lo stesso con il nuovo top-down tecnologie di modellazione. Voglio dire che è possibile modellare in un diagramma di classe e aggiungere solo gli stereotipi di database nel diagramma. Se si utilizza lo strumento che uso allora la vostra annotazione EJB3 sarebbe immediatamente sincronizzato con il codice. Il passo successivo è solo quello di utilizzare un mapping per creare il database. Questa tecnologia funziona solo con Java

Credo che sia importante fornire una certa chiarezza qui per i posteri.

Un modello di dati è un disegno per come struttura e rappresentare le informazioni. Per struttura, intendo preoccupazioni come "quinta forma normale". Con la rappresentazione, voglio dire la scelta di una serializzazione computer, ad esempio interi, in virgola mobile, o una stringa.

Il termine modello di dominio in realtà ha due significati conflated.

  • Un modello di caratteristiche essenziali di cose reali o immaginari del mondo . In questo tipo di modello, le classi rappresentano concettualizzazioni umani e le istanze sono cose nel mondo. Ad esempio, una classe "Persona" avrebbe casi tra te e me, e una caratteristica essenziale potrebbe essere che ogni persona ha una madre. Questo tipo di modello è spesso chiamato un concettuale ontologia o concetto di modello e ha lo scopo di fornire significato.
  • Un modello di informazioni richieste di cose nel mondo, di solito con qualche sistema in mente . In questo tipo di modello, le classi rappresentano le informazioni che devono essere memorizzate su le cose del mondo. Ad esempio, una classe "Persona" avrebbe casi che rappresentano informazioni necessarie su voi e me, come ad esempio nome, cognome, data di nascita, altezza corrente e peso attuale. Queste informazioni spesso fa non includere tutte le caratteristiche essenziali, come le nostre madri, in quanto, ai fini di un particolare sistema, che l'informazione non è necessaria. Questo tipo di modello è spesso chiamato un modello di informazione , concettuali dati modello o ontologia operativa .

Sia l'UML e lingue OWL può essere utilizzato per rappresentare entrambi i tipi di modello di dominio. Entrambi possono essere considerati Analisi modelli, in quanto sono utilizzati per analizzare un dominio. Uno è utilizzato per capire le cose in un dominio, l'altro è usato per raccogliere i requisiti per costruire un particolare software o sistema di database per le cose in un dominio. Entrambi sono necessari, e, purtroppo, di solito sono fusero in modo tale che le persone che costruiscono un modello di analisi sono essi stessi confusi su ciò che stanno modellando!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top