UML: Unified Modeling Language

Source: Internet
Author: User

 
UML: Unified Modeling Language

Unified Modeling Language (UML) is a language used to describe, construct, visualize, and compile software-intensive systems.

First, it is also the most important thing. The Unified Modeling Language integrates the concepts in booch, OMT, and OOSE methods, it is a simple, consistent, and universal modeling language that can be widely used by users of the above and other methods.

Secondly, the Unified Modeling Language extends the application scope of existing methods. It is particularly worth mentioning that UML developers take modeling of parallel distributed systems as the design goal of UML, that is, UML has the ability to deal with such problems.

Third, the Unified Modeling Language is a standard modeling language, rather than a standard development process. Although the application of UML must be based on the system development process, different development processes are required for different organizations and application fields based on our experience. For example, developing complicated software is very interesting, but developing this software is very different from constructing a strictly real-time avionics system, the latter is a major event of life. Therefore, we first focus on the design of General meta-models (to unify the semantics of different methods), followed by the establishment of general notation (to provide Visualized Expression of these semantics ). Although UML developers will continue to advocate the software development process from case-driven to architecture-centered, which is repeatedly improved and constantly added, it is not necessary to design a standard development process.

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.

Content of the standard modeling language UML

First, UML integrates the basic concepts in booch, OMT, and OOSE methods, and these basic concepts are mostly the same as those in other object-oriented technologies, UML must be a simple and consistent modeling language that users of these and other methods are willing to use. Secondly, UML is not only a simple convergence of the above methods, however, on the basis of these methods, we have extensively solicited opinions. After several modifications, UML expands the application scope of existing methods. Third, UML is a standard modeling language, rather than the standard development process. Although the application of UML must be based on the development process of the system, different development processes must be adopted because of different organizations and 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 category is static digraphs, including class graphs, object graphs, and packet graphs. The class diagram describes the static structure of the class in the system. It defines not only the classes in the system, but also the relationships between classes, such as association, dependency, and aggregation. It also includes the internal structure of the class (attributes and operations of the class ). 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, which describes the dynamic model of the system and the interaction between the components. 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 supplement to a class chart. 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.

· Interactive digraphs describes the interaction between objects. A 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. A Sequence diagram describes the cooperative relationship between objects, the cooperation diagram is similar to the sequence diagram, indicating 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, the sequence chart is used. If the relationship between upper and lower levels is emphasized, the cooperation chart is selected. 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 information about 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; the second is to establish a static model of the system based on the requirements to construct the system structure; 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, it is a 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 consists of four diagrams, including status chart, activity chart, sequence chart, and ing. It is a 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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.