Why is UML important?
Let's look at this question from the point of view of the construction trade. Architects design buildings. Builders use the designs to create buildings.
The more complicated the building, the more critical the communication between architect and builder. Blueprints are the standard graphical language that
both architects and builders must learn as part of their trade.
Writing software is not unlike constructing a building. The more complicated the underlying system, the more critical the communication among everyone
involved in creating and deploying the software. In the past decade, the UML has emerged as the software blueprint language for analysts, designers, and
programmers alike. It is now part of the software trade. The UML gives everyone from business analyst to designer to programmer a common vocabulary to talk
about software design.
The UML is applicable to object-oriented problem solving. Anyone interested in learning UML must be familiar with the underlying tenet of
object-oriented problem solving -- it all begins with the construction of a model. A model is an abstraction of the
underlying problem. The domain is the actual world from which the problem comes.
Models consist of objects that interact by sending each other messages. Think
of an object as "alive." Objects have things they know (attributes) and things they can do (behaviors or operations). The values of an object's attributes determine its state.
Classes are the "blueprints" for objects. A class wraps attributes (data) and behaviors (methods or functions) into a single distinct entity. Objects are instances of classes.













