Datasheet

6
Part I An Introduction to UML
Early Modeling Methodologies
Software developers weren’t the only people who discovered the benefit of model-
ing. Other engineering disciplines such as database management and design were
also creating modeling techniques such as Entity Relationship modeling (ER dia-
grams) and Specification and Description Language (SDL). It quickly became clear
that modeling provided a way to cope with complexity, encourage collaboration,
and generally improve design in all aspects of software development.
The need for modeling solutions increased with the growth in numbers and sophis-
tication of software systems. Systems were growing rapidly in complexity and
required more and more collaboration and solid, durable design quality. Modeling
had proven itself in exactly these circumstances. Literally hundreds of people
sprang to work developing modeling methodologies to solve the growing problem.
But the resulting proliferation of solutions caused some problems. The widely
diverse efforts were inefficient in that they lacked the necessary collaboration to
produce results that could be widely applied by the IT community. In fact, the
diversified approach resulted in what were affectionately called the “method wars,”
battles between method authors with their loyal followers pitted against one
another over who had the best solution. Authors of each method vied for support
for their methods. Tool vendors labored to support many different notations in the
same tool. Companies struggled to identify and follow a single “best” method, train
their people, and support the method only to find that no one method could fully
meet their needs.
The proliferation of isolated solutions and the associated battles were signals that
the need for a comprehensive solution for software modeling was a priority. The
solution needed to be flexible, scalable, secure, and robust enough to handle the
diverse software and business environments of the present and the future.
The Creation of UML
By the early 1990s, a few leaders had emerged from the field of methods and nota-
tions. Object-Oriented Software Engineering (OOSE), developed by Ivar Jacobson,
is based around the use-case concept that proved itself by achieving high levels of
reuse by facilitating communication between projects and users, a key success
factor for IT projects. James Rumbaugh developed the Object-Modeling Technique
(OMT) with an emphasis on the analysis of business and data intensive systems for
defining a target problem, a second key success factor for IT projects. The Booch
method, developed by Grady Booch, had particular strengths in design and imple-
mentation, defining and mapping a solution to the target problem, a third key to
successful IT projects. These significant contributions are like the legs on a three-
legged stool: the combination of the three methods and their notations supported
the entire range of requirements needed to create a single, comprehensive soft-
ware-modeling standard.
03 526049 Ch01.qxd 8/20/03 11:47 PM Page 6