aspose file tools*
The moose likes OO, Patterns, UML and Refactoring and the fly likes define: Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "define: "[business] [domain] [object] [model]"" Watch "define: "[business] [domain] [object] [model]"" New topic
Author

define: "[business] [domain] [object] [model]"

Thomas Taeger
Ranch Hand

Joined: Dec 16, 2002
Posts: 307
It is really untrustworthy that we architects talk in terms that have not been clearly defined.

Via Google I tried to find definitions (define: ...) and for some also non-defining articles with the following search expressions:

define: "business domain object model"
"business domain object model"
define: "business domain object"
"business domain object"
define: "business domain"
define: "business domain model"
define: "business object model"
define: "business object"
define: "domain object model"
define: "domain object"
define: "domain"
define: "object model"

The answers that I got in the world wide web were few, "any", dubious and often contradictory (for instance for "object model"):

define: "business domain object model": ================
none.

"business domain object model": ================
* http://jeffsutherland.com/oopsla97/hung.html (1997): "... we then use Ramackers' Business Domain Object model to visualise all components and relationships within a business object ..."

* http://www.onjava.com/pub/a/onjava/2005/05/18/swingxactions.html?page=2: "The main objects identified for our domain are shown in the Business Domain Object Model (BDOM) shown in Figure 2."

* http://www-128.ibm.com/developerworks/websphere/library/techarticles/0402_mitra/0402_mitra.html: "... a business domain object model, represented in XML schema ...."

* www.srskansas.org/TPR/TPR2/TPR1_Schedule_072104.html: "business domain/object model"

* jobs.blakem.com/showarticle?id=224483: "business domain/object model"


define: "business domain object": ================
none.

"business domain object": ================
* "Business Domain objects -- (also called entity/business objects). These are objects that contain properties that reflect data. At this level, you will find objects named address, client, etc. Commonly, they also embed relationship logic -- for example, a client object may have a property or method that retrieves the address object for that client instance. In this case, the objects are known as Active Domain Objects, because they can actively access related data."
http://www.codeproject.com/gen/design/TieredDesign.asp


define: "business domain": ================
none.

define: "business domain model": ================
none.

define: "business object model": ================
none.


define: "business object": ================
* Daten, jedoch nicht auf der reinen Datenebene, sondern auf der h�herwertigen Anwendungsebene. Beispielsweise �Kunde� ist ein Business Objekt. Es besteht aber intern aus den Datentypen �Anschrift�, �Debitorenerweiterung�, �Konditionen�, �Rechnungsadresszuteilung�, etc.
www.opacc.com/snavigation/glossary.htm

define: "domain object model": ================
* a model capturing the semantics of a business domain in terms of the essential concepts (abstractions) of an application, their responsibilities, their relationships, and how they collaborate to fulfill architecturally-significant requirements.
www.donald-firesmith.com/Glossary/GlossaryD.html

define: "domain object": ================
* A domain object is an object from a domain model. It encapsulates only business rules and logic.
en.wikipedia.org/wiki/Domain_object


define: "domain": ================
* (only DNS domains are defined)

define: "object model": ================
* a description of the structure of the objects in a system including their identity, relationships to other objects, attributes, and operations
www.angelfire.com/rebellion/arachno/glossary/Glossary_O.html

* Formal description of a programmable object, which can consist of one or more classes, events, functions, interfaces, methods, namespaces, objects, and properties.
msdn.microsoft.com/workshop/glossary.asp

* An object model is a collection of descriptions of classes or interfaces, together with their member data, member functions, and class-static operations.
www.stylusstudio.com/w3c/domevents/glossary.htm

* A description of the structural relationships among components of a library object including its metadata.
www.cs.cornell.edu/wya/DigLib/MS1999/glossary.html

* A computer representation that encapsulates data attributes and behavioral processes (operations) for an object. Object model software may respond to events, triggers, and requests for service submitted as message stimuli (with a finite set of message types, argument types and message formats). An object model is a graphical representation of the structure of objects in a system including their: identity, attributes, operations, and associations between objects.
info.louisiana.edu/dept/gloso.html

* The conceptual representation of the problem domain of an application that embodies the business rules being automated. An object model, typically represented with a class diagram, is used to validate requirements, drive a software solution (object design) or to re- engineer the business rules.
www.carolla.com/glossary.html

* Showcases the structure and substructure of the system using objects, attributes, operations, and associations. Includes Class Diagrams
www.indexlistus.de/keyword/Unified_Modeling_Language.php

Can anybody define the following terms taking into consideration their boundaries / distinctive criteria where applicable?:

"domain"
"business domain"

"domain object model"
"business domain object model"
"business domain model"
"business object model"
"object model"

"business domain object"
"business object"
"domain object"

Thomas.


www.classic-and-class.com - www.evalulearn.com
Interfaces are the glue of OO.
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
Very informally, the "business domain" is what the system is about from the user's point of view. Objects in the "domain model" are things the users would recognize. For example I work with call centers and the domain includes phones, phone calls, customers, the people who answer the phone, holdings (things the customer owns), letters we send to customers, referrals we send to other people, etc.

The domain model is a useful tool when the techies are trying to gain understanding of of the business world. We can also call it an "analysis model". The "design model" that starts to lay out classes and components in the system is a different model, and often includes some (but not all) elements from the domain model plus more "software" stuff and implementation details.

Does that make sense with what you've read?


A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Thomas Taeger:
It is really untrustworthy that we architects talk in terms that have not been clearly defined.


Is it? Why?

What is important, in my point of view, is to get a shared understanding inside the project team. "clearly defined" terms are not always necessary for that.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
The IASA is in the process of defining terms like this, but that'll be just one more set of definitions.

Years ago SIGS Books published an Object Technology Dictionary, perhaps the terms are defined there.

A definition is applicable only within context. Look at any dictionary, and you'll see that most words have several meanings. The implication is that we'll never have a single definition for terms like this, so what you need to do is to come to a common understanding as to what they mean within the context that you work. If you're communicating with outsiders, then sometimes you'll need to ask them what they mean by a term and negotiate a common usage for it while you're working with them.

- Scott


<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: define: "[business] [domain] [object] [model]"
 
Similar Threads
Domain object??
New 8 Minute Video Tutorial on XML Schema!
Business Objects(BOs) & Data Transfer Objects(DTOs)-need both ?
Questions on design patterns
Looking for a good Java term reference/dictionary