UML is a result of the evolution of object-oriented modeling languages. It was developed by Rational Software Company by unifying some of the leading object-oriented modelingmethods,• Booch by Grady Booch,• OMT (Object Modeling Technique), by Jim Raumbaugh and• OOSE (Object-Oriented Software Engineering), by Ivar Jacobson.UML is used for modeling software systems; such modeling includes analysis anddesign. By an analysis the system is first described by a set of requirements, andthen by identification of system parts on a high level. The design phase is tightlyconnected to the analysis phase. It starts from the identified system parts andcontinues with detailed specification of these parts and their interaction. For theearly phases of software projects UML provide support for identifying andspecifying requirements as use cases. Class diagrams or component diagrams can be used for identification of system parts on a high level. During the design phaseclass diagrams, interaction diagrams, component diagrams and state chartdiagrams can be used for comprehensive descriptions of the different parts in thesystem.Modeling is an activity that has been carried out over the years in software development.When writing applications by using the simplest languages to the most powerful andcomplex languages, you still need to model. Modeling can be as straightforward asdrawing a flowchart listing the steps carried out by an application. Defining a modelmakes it easier to break up a complex application or a huge system into simple, discrete pieces that can be individually studied. We can focus more easily on the smaller parts of a system and then understand the "big picture." Hence, the reasons behind modeling can be summed up in two words:
brings clarity—ease of understanding. Understanding a system is the firststep in either building or enhancing a system. This involves knowing what a system ismade up of, how it behaves, and so forth. Modeling a system ensures that it becomesreadable and, most importantly, easy to document. Depicting a system to make it readableinvolves capturing the structure of a system and the behavior of the system.
is the byproduct of making a system readable. After a system has beenmodeled to make it easy to understand, we tend to identify similarities or redundancy, bethey in terms of functionality, features, or structure.Even though there are many techniques and tools for modeling, in this article series, wewill be concerning ourselves with modeling object-oriented systems and applicationsusing the Unified Modeling Language. The Unified Modeling Language, or UML, as it is