想到我以前也对这些名词迷惑过,还四处找人解惑,这个<<Core J2EE Patterns>>引用<<Unified Software Development Process >>对这些内容进行辨析,应该是够官方了。

Business Model, Business Object Model, Domain Model, Object Model, Data Model

For understanding these terms, we turn to the definitions in The Unified Software Development Process [Jacobson, et al].

  • A business model comprises two models: a business use-case model to describe the business actors and the business processes, and a business object model to describe business entities used by the business use cases.

  • A domain model is defined as an abstract model that captures the most important types of objects in the context of the system. The domain objects represent the "things" that exist or events that transpire in the environment in which the system works.

Further, Jacobson et al state that the domain model is a simplified variant of the business model and the two terms are used interchangeably. This is exactly what we see in practice when analysts, designers and developers use the several terms interchangeably - business model, business object model, domain model, and domain object model. This usage dilutes these terms and renders them somewhat ambiguous.

In our discussion in this book, we use the term conceptual model to mean the abstract model, which mainly describes domain entities, their relationships and business rules. To describe a concrete object-oriented implementation model of a conceptual model, we use the term object model, which describes the classes and relationships used to realize a conceptual model. We use another term, data model, to mean the data implementation model, such as an Entity-Relationship (ER) model for an RDBMS database.

Posted on 2006-02-14 17:26  白板  阅读(1140)  评论(0编辑  收藏  举报