· Standardization
In November 1997, UML was unanimously passed by all OMG members and adopted as the standard. OMG undertakes the work of further improving the UML standard. Many books that summarize the essence of UML have been published before the passing of the UML standard. Many software development tool vendors claim that their products support or plan to support UML, and several software engineering engineers have announced that they will use UML notation for future research. The emergence of UML seems to be very popular in the computer industry, because it is formed by the official Community to gather the experience of many experts, reducing unnecessary differences between various software development tools. We hope that the standardization of modeling language can not only promote the wide use of object-oriented modeling technology by software developers, but also bring the prosperity of the UML support tools and training market, because neither the user nor the supplier needs to consider which development method should be used.
· Core team members
The following members are the core team members who propose UML suggestions or conduct UML standard revision:
Data Access Company: Tom digre
DHR Technology Company: Ed seidewitz
HP company: Martin Griss
IBM companies: Steve Brodsky, Steve Cook, Jos warmer
I-lgix company: Eran Gery, David Harel
Icon computing company: Desmond D' Souza
Intellicorp and James Martin: Conrad Bock, James Odell
MCI System Enterprise: Cris kobryn, Joaquin Miller
Objectime company: John Hogg, Bran selic
ORACLE: Guus ramackers
Platinum Technology Company: dilhar DeSilva
Rational Software companies: Grady booch, Ed eykholt, Ivar jacbson, Gunnar overgaard, Karin palmkvist, James Rumbaugh
SAP company: Oliver wiegert
Softeam: Philippe desfray
Sterling software company: John cheesman, Keith short
Taskon company: Trygve reenskaug
· Unified meaning
The term "unification" has the following interrelated meanings in UML:
Previous methods and representations. UML combines many concepts widely accepted in object-oriented methods. UML provides clear definitions, representations, and related terms for each concept. You can use UML to describe existing models created using various methods, which is better than the original method.
In terms of the life cycle of Software Development. UML has seamless development requirements. Different stages of the development process can adopt the same set of concepts and representations, and they can be used together in the same model. In different stages of development, you do not need to change concepts and representations. This seamless nature is crucial to iterative and incremental software development.
In the application field. UML is suitable for modeling in various application fields, including large-scale, complex, real-time, distributed, centralized data or computing, and embedded systems. It may be more useful to use a specific language to describe some specialized fields, but in most application fields, UML is not only inferior and better than other general languages.
Programming Languages and Development Platforms. UML can be applied to systems running different programming implementation languages and development platforms. It includes programming languages, databases, 4gl, organization documents, and firmware. In various cases, the previous part of work should be the same or similar, and the latter part of work varies to some extent due to different development media.
In terms of the entire development process. UML is a modeling language, rather than a tool that describes the details of the development process. Just as a general programming language can be used in many styles of programming, UML is suitable for most existing or emerging development processes. This is especially suitable for the iterative incremental development process we recommend.
Internal concepts. In the process of building a UML meta-model, we pay special attention to revealing and expressing the internal relationships between various concepts and trying to grasp the concepts in modeling in a variety of ways applicable to known and unknown situations. This process enhances understanding of concepts and their applicability. This is not the original intention of unifying various standards, but is one of the most important results of unifying various standards.