When we said: "AOM models both nouns and verbs as assets," we did not mean all nouns and verbs:
How do we decide which noun will be modeled by a property and which noun will be modeled by an asset?
In the informal
description properties are usually indicated by the verb "has" or
other verbs that indicate an aggregation:
"An Order has an
Order Number", or "An Institution has a Name".
Anything which plays a certain role in the context of the business case is definitely an asset.
In many cases the distinction between a property and an asset can be made using a simple rule:
A property can belong to an asset, but an asset cannot belong to a property.
However, the distinction between property and asset is not always such easy, and may depend on the context. Take for example:
A person has a address.
While in most cases address can be conveniently modeled as a property of person, a utility company, for example, would need to model address as an asset - investments are directly related to addresses, not to persons. If in doubt, whether to model a noun as asset or property, opt for the asset.
With these principles we arrive at the following assets (red) and properties (blue):
A Customer orders Products or Services.
A Customer is a Person or an Institution.
A Person has a Name consisting of FirstName, an optional MiddleName, and a LastName.
A Person has a birthDate.
An Institution has a Name.
A Customer has a CustomerID.
A Department receives these Orders.
A Department has a DepartmentID.
A Department may forward Orders to another Department.
An Order has at least one Position, an OrderDate and an OrderNumber.
Each Position consists of an Amount and a Product or a Service.
A Product has a ProductNo, a Name, and a Description.
A Service has a ProductNo, a Name, a Description, and may have a Duration.
In the case of Person, Name is a complex property, consisting of sub-properties FirstName, MiddleName, and LastName.
Finally, we decide which properties or property combinations shall be used as primary keys for assets.
| Home | Definition | Step-by-Step | Examples | Downloads |
Contact: info@aoModeling.org