Unified Modeling Language


The UML has become the most popular way to draw object-oriented designs. You identify the key "classes" (entities) in the problem domain, and their key attributes.

However, UML breaks with ER modeling in three key areas:

  • Behavior, showing methods on the diagram

  • Inheritance, in particular of behavior

  • Relationship type and cardinality, with emphasis on the difference between aggregation and association semantics

With inheritance we would search our already available class library and see if there were classes similar enough to the ones we were designing that we could "subclass" and inherit a lot of their attributes and behavior. In object oriented systems, we delegate some of the key behavior in the system to the objects themselves. So rather than have a program that calculates the order total or updates the average on-hand cost, there will be "methods," small units of callable code, that behave as if they are directly attached to the objects (instances, or analogously "rows").

In UML designs, we distinguish between relations where one entity effectively "owns" the other, which is called an "aggregate" relationship, and those where there is only a reference to the other entity, which is called an "association." Relationships also have cardinality information, indicating how many of the target objects there can be for each of the source objects.

The methods are shown below the line with () after them, to indicate that they are going to be implemented as method calls, with arguments and return values (Figure 10.12). One of the first changes is that some of the attributes in the first design have become methods.

click to expand
Figure 10.12: UML version of sales order.

Object Role Modeling

Object role modeling (ORM) is a method developed in Australia in the 1980s, originally called Nijssen's information analysis method (NIAM). It has recently been adopted and popularized by Microsoft. Figure 10.13 shows a part of the model in ORM. The focus is on the relationships, which are shown as double and triple boxes. The notation is verbose, but it is powerful. The emphasis on the relationships, especially the high valence relationships, is very useful semantically. The model can also be translated into sentences, which may make reviewing them with users easier. Notice how the sale was modeled as a ternary relationship.

click to expand
Figure 10.13: ORM version of sales order.




Semantics in Business Systems(c) The Savvy Manager's Guide
Semantics in Business Systems: The Savvy Managers Guide (The Savvy Managers Guides)
ISBN: 1558609172
EAN: 2147483647
Year: 2005
Pages: 184
Authors: Dave McComb

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net