Unified Modeling Language
Composition of UML
-
Directory
-
I. Overview
-
Ii. emergence of standard modeling language UML
-
Iii. Content of the standard modeling language UML
-
Iv. Main features of the standard modeling language UML
-
V. application fields of standard modeling language UML
[Edit this section]
I. Overview
Unified Modeling Language (UML), also known as the unified modeling language or standard modeling language, was an OMG standard in 1997. It is a graphical language that supports modeling and software system development, provides modeling and visualization support for all stages of software development, including requirement analysis, specification, and construction and configuration.
The development of the object-oriented analysis and design (OOA & D, OOAD) method has seen a climax from the end of 1980s to the end of 1990s. UML is the product of this climax. It not only unifies the Expression Methods of booch, Rumbaugh, and Jacob, but also makes further development on it, and finally unified it into the standard modeling language accepted by the masses.
[Edit this section]
Ii. emergence of standard modeling language UML
The accepted object-oriented modeling language appeared in the middle of 1970s. From 1989 to 1994, the number has increased from 10 to more than 50. Among the many modeling languages, language creators strive to promote
Our products are constantly improved in practice. However, the user of the OO method does not understand the advantages and disadvantages of different modeling languages and their differences. Therefore, it is difficult to select an appropriate modeling language based on the characteristics of the application.
A "method war" was launched ". In 1990s, a number of new methods emerged, with the most striking being booch 1993, OOSE and OMT-2.
Booch was one of the earliest advocates of object-oriented methods. He proposed the concept of object-oriented software engineering. In 1991, he expanded his previous Ada-oriented work to the entire object-oriented design field. Booch 1993 is suitable for system design and construction.
Rumbaugh and others proposed the object-oriented modeling technology (OMT) method, adopted the object-oriented concept, and introduced
Language-independent symbols. This method uses object model, dynamic model, function model and case model to build a model for the entire system. The defined concepts and symbols can be used for analysis and design of software development.
Software developers do not have to convert concepts and symbols at different stages of the development process. OMT-2 is particularly useful for analyzing and describing data-centric information systems.
In 1994, Jacob proposed the oose method. Its biggest feature is the use-case-
And introduces the external role concept in the case description. The concept of use cases is an important weapon to accurately describe the requirements, but use cases run through the entire development process, including testing and verifying the system. Oose
It is suitable for supporting commercial engineering and demand analysis.
In addition, the Coad/Yourdon method, also known as OOA/OOD, is one of the earliest object-oriented analysis and design methods. This method is simple, easy to learn, and suitable for beginners of object-oriented technology. However, this method is rarely used because of its limitations in processing capabilities.
To sum up, first of all, in the face of a large number of modeling languages, users are unable to distinguish the differences between different languages, so it is difficult to find
A language suitable for its application features. Secondly, many modeling languages have their own merits. Third, although most of the different modeling languages are similar, there are still some minor differences, it greatly hinders
Communication. Therefore, objectively, it is necessary to organize a joint design team on the basis of carefully comparing the advantages and disadvantages of different modeling languages and summarizing the application practices of object-oriented technology, get worse
Uniform modeling language.
October 1994, Grady booch and Jim
Rumbaugh started to work on this task. First they will booch 93 and OMT-2
Unified, and released the first public version in October 1995, called the unified method um 0.8 (unitied method ). Oose in the autumn of 1995
Founder Ivar
Joined the job. With the joint efforts of booch, Rumbaugh, and Jacob bson, two new versions were released in June 1996 and October respectively.
(UML 0.9 and UML 0.91), and rename um as UML (Unified Modeling Language ).
In 1996, some organizations saw UML as their business strategy. The developers of UML have gained a positive view from the public.
Response, and proposed the establishment of a UML Member Association to improve, strengthen and promote the definition of UML. At that time, the members were Dec, HP, I-Logix, itellicorp,
IBM, icon computing, MCI Systemhouse, Microsoft, Oracle, rational
Software, Ti, and Unisys. This institution applies to UML 1.0 (January 1997) and UML
The definition and release of 1.1 (January November 17, 1997) played an important role in promoting.
UML is a well-defined, easy-to-Express, powerful, and universally applicable modeling language. It incorporates new ideas, new methods, and new technologies in the software engineering field. Its scope is not limited to support object-oriented analysis and design, but also the entire process of software development starting from requirement analysis.
The development process of object-oriented technology and UML can be expressed. The emergence of standard modeling language is an important achievement. In the United States
In October 1996, UML was widely supported by the industrial, scientific, and application fields. More than 700 companies have expressed support for using UML as a modeling language. By the end of 1996, UML had been steadily occupied
85% of the market for object technology has become the de facto industrial standard for visual modeling languages. In November 17, 1997, OMG adopted UML
1.1 as a standard modeling language based on object-oriented technology. UML represents the development direction of object-oriented software development technology, with a huge market prospect, great economic value and National Defense value.
[Edit this section]
Iii. Content of the standard modeling language UML
First, UML integrates the basic concepts in the booch, OMT, and OOSE methods, and these basic concepts are mostly the same as those in other object-oriented technologies.
Users of some methods and other methods are willing to adopt a simple and consistent modeling language. Secondly, UML is not only a simple convergence of the above methods, but also a wide range of comments on the basis of these methods, gathering the family
After several modifications, UML expands the application scope of existing methods. Third, UML is a standard modeling language rather than a standard development process. Although the application of UML must be based on the system development process
Background, but different development processes are required because of different organizations and different application fields.
As a modeling language, the definition of UML consists of UML Semantics and UML notation.
(1) UML semantic description precise metadata model definition based on UML. The meta-model provides simple, consistent, and general definitions for all UML elements in terms of syntax and semantics, enabling developers to achieve semantic consistency, eliminate the impact of the best expressions that vary from person to person. In addition, UML also supports the extension definition of the metadata model.
(2) UML notation defines the notation of UML symbols, which provides a standard for System Modeling by developers or development tools using these graphical symbols and text syntax. These graphical symbols and texts express application-level models. In terms of semantics, they are examples of UML meta-models.
The important content of the standard modeling language UML can be defined by the following five types of diagrams (9 in total:
? The first type is the use case diagram, which describes the system functions from the user's perspective and points out the operators of each function.
? The second type is static graph (static
Digraphs), including class diagrams, object graphs, and packet graphs. The class diagram describes the static structure of the class in the system. Defines not only the classes in the system, but also the links between classes, such as association, dependency, and aggregation.
Structure (class attributes and operations ). A class chart describes a static relationship that is valid throughout the lifecycle of the system.
An object graph is an instance of a class graph. It uses almost the same ID as a class graph. Their difference is that the object graph shows multiple object instances of the class, rather than the actual class. An object graph is an instance of a class graph. Because the object has a lifecycle, the object graph can only exist in a certain period of time in the system.
A package consists of packages or classes, indicating the relationship between the package and the package. A package chart is used to describe the layered structure of the system.
? The third type is the behavior diagram (behavior
Digoal) to describe the dynamic model of the system and the interaction between the composition objects. The status chart describes all possible states of the class object and the transfer conditions of the State when an event occurs. Generally, a status chart is a class
Supplement the graph. In practice, you do not need to draw a state chart for all classes. You only need to draw a state chart for classes that have multiple states and their behaviors are affected by the external environment and change.
The activity diagram describes the activities that meet the requirements of the use case and the constraints between the activities, which is conducive to identifying parallel activities.
? The fourth type is interactive
Digoal) describes the interaction between objects. The sequence diagram shows the dynamic cooperative relationship between objects. It emphasizes the order in which messages are sent between objects and displays interactions between objects.
The collaboration relationship between objects. The collaboration diagram is similar to the sequence diagram, displaying the dynamic cooperation relationship between objects. In addition to information exchange, the cooperation diagram also displays objects and their relationships. If time and order are emphasized, use
Sequence diagram; if the relationship between upper and lower levels is emphasized, select the cooperation diagram. These two types of graphs are called interaction graphs.
? The fifth type is the implementation graph (Implementation Divisor
). The component diagram describes the physical structure of the Code component and its dependencies. A component may be a resource code component, a binary component, or an executable component. It contains logical or implementation classes
. A widget graph helps you analyze and understand the degree of interaction between widgets.
The configuration diagram defines the physical architecture of the software and hardware in the system. It can display the actual computers and devices (expressed by nodes) as well as the connection relationships between them, as well as the connection type and dependency between components. Place executable parts and objects inside the node to display the correspondence between the node and the executable software unit.
From the perspective of applications, when using object-oriented technology to design a system, the first is to describe the requirements, and the second is to establish a static system based on the requirements.
Model to construct the structure of the system. The third step is to describe the behavior of the system. The models created in step 1 and Step 2 are static, including the use case diagram, class diagram (including package), object diagram, component diagram, and configuration diagram.
Five images are the static modeling mechanism of the standard modeling language UML. The model created in step 3 can be executed, or indicates the time sequence status or Interaction relationship during execution. It includes the status chart, activity diagram,
The sequence diagram, drawing, and other four graphs are the dynamic modeling mechanism of the standard modeling language UML. Therefore, the main content of the standard modeling language UML can also be summarized into two categories: Static Modeling Mechanism and dynamic modeling mechanism.
[Edit this section]
Iv. Main features of the standard modeling language UML
The main features of the standard Modeling Language (UML) are as follows:
(1) UML unifies the basic concepts in methods such as booch, OMT, and OOSE.
(2)
UML also draws on the strengths of other schools in the field of object-oriented technology, including the influence of non-oo methods. UML symbolic representation takes into account the graphical representation of various methods, removing a large number of confusing and redundant
And rarely used symbols, also added some new symbols. Therefore, many people's ideas in the Object-Oriented field are integrated into UML. These ideas were not invented by the developers of UML, but based on the developers.
The best OO method and rich experience in computer science are combined.
(3) some new concepts are proposed in the evolution of UML. A new template is added to the UML standard.
(Stereotypes), responsibilities, extensibility
Threads, processes, distribution, concurrency ),
Patterns, collaborations, and activity diagram
Digoal) and other new concepts, and clear partition type, class, instance, refinement, Interface
(Interfaces) and components (components.
Therefore, it can be considered that UML is an advanced and practical standard modeling language, but some of these concepts need to be verified by practice, and UML must also have an evolutionary process.
[Edit this section]
V. application fields of standard modeling language UML
The purpose of UML is to describe any type of system in the form of object-oriented graphs, with a wide range of application fields. The most common method is to build a software system model, but it can also be used to describe systems in non-software fields.
Systems, such as mechanical systems, enterprise organizations or business processes, and information systems for processing complex data, industrial systems with real-time requirements, or industrial processes. In short, UML is a common standard modeling language.
Any system with static structures and dynamic behaviors is modeled.
In addition, UML is applicable to different stages from Requirement Specification descriptions to testing after the system is completed during system development. Requirement Analysis level
Use Cases to capture user requirements. Use Case modeling to describe the external roles interested in the system and their functional requirements for the system (Use Case. In the analysis phase, the main concepts in the problem domain (such as abstraction,
Class and object) and mechanism, you need to identify these classes and their relationships, and describe them using UML class diagrams. To implement use cases, classes need to collaborate, which can be described using the UML dynamic model. At analysis level
Only the objects in the problem domain (the concept of the real world) are modeled, classes that define technical details in software systems (such as those that handle user interfaces, databases, communication, and concurrency) are not considered ). These technical details will
It is introduced in the design phase, so the design phase provides more detailed specifications for the construction phase.
Programming (constructor) is an independent stage. Its task is to convert classes from the design stage into actual generations using object-oriented programming languages.
. When using UML to build analysis and design models, we should avoid converting models into a specific programming language. Because in the early stage, the model was just a tool for understanding and analyzing the system structure, and it was too early to consider
The code problem is very difficult to establish a simple and correct model.
The UML model can also be used as a basis for testing. The system usually needs to undergo unit testing, integration testing, system testing, and acceptance testing.
Try. Different test teams use different UML diagrams as the basis for testing: class diagrams and class specification descriptions for unit testing; component diagrams and contract diagrams for integration testing; the system test uses an example diagram to verify system behavior;
The acceptance test is conducted by the user to verify whether the results of the system test meet the requirements identified during the analysis phase.
In short, the standard Modeling Language (UML) is applicable to describing any type of system with object-oriented technology. It is also suitable for testing and maintenance at different stages of system development, from Requirement Specification Description to system completion.