) UML Concept Domain

Source: Internet
Author: User

· UML goals

 

The development of UML has multiple goals. First, the most important goal is to make UML a general modeling language available for all modelers. It is not someone's proprietary, and is based on the general consent of the computer industry, that is, it includes a variety of major methods and can be used as their modeling language. At least, we want it to replace the OMT, booch, objectid methods, and models created by others who are involved in the design of UML recommendations. Secondly, we hope that UML uses the notation derived from OMT booch, objectid, and other main methods, that is, it can support the design work as well as possible, such as encapsulation, block, and record model construction ideas. In addition, we hope that UML can accurately express current hot issues in software development, such as large-scale development, distribution, concurrency, methods, and group development.

UML does not try to become a complete development method. It does not include step-by-step development. We believe that a good software development process is crucial to successful software development. We recommend a book [Jacobson-99] to readers. UML and the software development process using UML are two different things, which are very important. We hope that UML can support all, at least most of the existing software development processes. UML includes all concepts. We believe that these concepts are necessary for iterative development processes that support case-driven needs based on a robust architecture.

The ultimate goal of UML is to be as simple as possible while modeling all aspects of the system to be established. UML needs to be expressive enough to handle all concepts that appear in modern software systems, such as concurrency and distribution, and techniques used in software engineering, such as encapsulation and components. It must be a common language, like anyProgramThe same design language. However, this means that UML will be very huge and it is impossible to describe a software system similar to a toy. Modern Languages and operating systems are much more complex than they were 40 years ago, because we have more and more requirements for them. UML provides a variety of models that can not be mastered within one day. It is more complex than the previous modeling language because it is more comprehensive. But you don't have to learn it at once, just like learning any programming language, operating system, or complex application software.

· UML Concept Domain

 

The concepts and models of UML can be divided into the following concepts.

 

Static StructureAny precise model must first define the scope involved, that is, to determine the key concepts related to the application, internal features, and their relationships. Static components of UML are called static views. The static view uses a class construction model to express the application. Each class consists of a group of discrete objects that contain information and implement behavior. The information contained in objects is used as attributes, and the actions they perform are used as operations. Multiple classes can have some common structures through generalized processing. Subclass adds a new structure and behavior based on the structure and behavior of inheriting their common parent classes. Objects and other objects also have a run-time connection. The relationship between these objects is called the association between classes. Some elements are organized together through dependencies. These dependencies include model conversion at the abstract level, binding of template parameters, granting permissions, and using another element through one element. Another type of relationship includes merging use cases and data streams. Static views mainly use class charts. Static views can be used to generate most data structure declarations used in programs. Other types of elements are also used in the UML view, such as interfaces, data types, use cases, and signals. These elements are collectively referred to as class elements, their behavior is similar to the class with certain restrictions on each type of element.

 

Dynamic BehaviorThere are two ways to model behavior. One is based on the life history of the relationship between an object and the external world, and the other is the communication mode between a series of related objects when they interact to implement behavior. An isolated object view is a state machine. When an object reacts to an event based on the current state, it executes an action as part of the response and switches from one state to another. The state machine model is described in a state chart.

The System View of interaction objects is a kind of collaboration, an object view related to context and a chain between them. There is a message stream between objects through the data link. The view points unify the data structure, control flow, and data flow in one view. Collaboration and interoperability are described by sequence graphs and collaborative graphs. A set of use cases are used to guide all behavior views. Each use case describes a function visible to a use case participant or external users of the system.

 

Implementation StructureThe UML model can be used for both logical analysis and physical implementation. Some components represent implementations. A component is a physically replaceable part of the system. It is designed and implemented based on a set of interfaces. It can be easily replaced by a component with the same specifications. A node is a runtime computing resource. A resource defines a location. It includes components and objects. The deployment diagram describes the resource configuration, component arrangement, and objects of components on a node in a running system, as well as the possible migration of content between nodes.

 

Model OrganizationComputers can process large monotonous models, but not human resources. For a large system, modeling information must be divided into coherent parts so that the team can work on different parts at the same time. Even in a small system, human comprehension requires that the content of the entire model be organized into appropriate packages. A package is a hierarchical organizational unit common to UML models. It can be used for storage, access control, configuration management, and construction of reusable model unit libraries. The dependency between packages is an induction of the dependency between components of packages. The entire architecture of the system can apply dependencies between packages. Therefore, the package content must meet the package dependency and related architecture requirements.

 

Scaling MechanismNo matter how well a language provides, people always want to extend its functions. We have made UML have certain scalability. I believe it can meet most of the requirements for UML expansion without changing the basic part of the language. Constructor is a new model element, which has the same structure as the existing model element, but adds some additional restrictions, with new interpretations and icons.CodeThe processing process of generators and other tools has also changed. A tag value is a string of any tag value. It can be connected to any model element and represents any information, such as the project management information, code generation instructions, and values required by the constructor. The tag and value are represented by strings. A constraint is a condition-specific or natural language that is expressed by a text string in a specific language (such as a programming language. UML provides a language for expressing constraints, named OCL. Like all other extensions, you must be careful when using these extensions, because they may form dialects that others cannot understand. However, these mechanisms can avoid fundamental changes in the language base.

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.