Object-oriented programming languages provide great promise for increasing software-development productivity. However, certain old questions about software design still must be answered. How can I progress from a vague initial specification to an implementation plan? How do I organize the data and concepts that need to be translated into machine programs? How do I communicate that organization and plan to an entire team of developers and stakeholders? An
Object Modeling Language is a standard approach to answering at least some of these questions within the framework of object technology. The goals of each language are not identical, but overlap enough to make discussion meaningful.
Some Object-Oriented methodologists identify three roughly chronological "generations" of object modeling techniques:
- In the first generation, isolated methodologists and small groups developed techniques that solved problems they saw first-hand in OO development projects. In the generation are included people and techniques such as Rumbaugh, Jacobson, Booch, CRC, Formal methods, Shaler-Mellor, and Yourdon-Coad.
- The second generation recognized that many best practices were scattered among the fragmented OO methodology landscape. Several attempts were made to gather these practices into coherent frameworks such as FUSION. However, the OO community was beginning to recognize the benefits that industry standardization would bring: not just a good way of doing things, but the good way, which would lead to common parlance and practice among developers.
- The third generation consists of credible attempts at this single industry-standard language, with UML the primary example.
Thanks to
http://groups.google.com/groups?selm=6isqsl%248hc%241%40nnrp1.dejanews.com&output=gplain