13.07.2015 Views

Object-Oriented Software Development with UML - UNU-IIST ...

Object-Oriented Software Development with UML - UNU-IIST ...

Object-Oriented Software Development with UML - UNU-IIST ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Mastering Complex Systems 215. A complex system that works is invariably found to have evolved from a simple system thatworked. A complex system designed from scratch never works and cannot be patched upto make it work. You have to start over, beginning <strong>with</strong> a working simple systemFurthermore, we can never craft the primitive objects correctly the first time: we must use them in contextfirst, and then improve them over time as we learn more about the real behaviour of the system.3.2.3 The generalization-specialization hierarchyHaving that complex system can generally be decomposed into components which are combined and arrangedinto layers representing different levels of abstraction, such a decomposition represents a structural(or “part-of”) hierarchy. More interesting systems embody another hierarchy. For example, <strong>with</strong> a fewminutes of orientation, an experienced pilot can step into a multi-engine jet s/he has never flown before andsafely fly the vehicle. In general, if a pilot already knows how to fly a given aircraft, it is far easier to knowhow to fly a similar one. Therefore, the concept of aircraft represents an abstraction which generalizes theproperties common to every kind of aircraft. In other words, a particular plane is a special kind of aircraft,which has the properties that are common to all aircraft and properties which are special to its kind. Weshall see this secondary hierarchy is also essential to understand a complex system. In the OO framework,this “is a ( or kind of)” hierarchy is called the class structure and the “part-of” hierarchy is called the objectstructure. This is illustrated in Figure 3.4Classes<strong>Object</strong>s“is a”“part-of”2 0)10)-.)-/2 / 2 .2 * 2 ,belongs to)+* )-,)-3This figure represents the two hierarchies:Figure 3.4: A canonical form of a complex system¢any instance (object) of class )-3 is a kind of instances of class )-. ;Report No. 259, July 2002<strong>UNU</strong>/<strong>IIST</strong>, P.O. Box 3058, Macau

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!