UML reference manual
First part background knowledge
Chapter 2 Model The nature of the model and the object of this chapter will explain what models, models, and how to use models. This chapter will explain the different levels of the model: ideal, partial and tool-based. 2.1 What is a model model is an expression of a similar or other tool in a tool. The model simplifies or ignores other aspects from a model viewpoint to seize the most important aspects of things. Engineering, buildings and many other models need to be used in creative areas. Tools for expression models are easy to use. The architectural model can be the architectural drawing drawn on the drawing, or a three-dimensional model made with a thick panel, and can also be represented by a finite element equation in a computer. A structural model of a building not only shows the appearance of this building, but also uses it to perform engineering design and cost accounting. The model of the software system is expressed in modeling language, such as UML. The model contains semantic information and representation, which can take a variety of different forms such as graphics and text. The purpose of establishing a model is because the model is easier and convenient to use in some uses than the manipulation. 2.2 Model The model model has a variety of uses 1. Capture the need for precise and expression of the project and the knowledge in the field of application, so that all kinds of stakeholders can understand and reach the various models of the building to accurately express this building. Find in appearance, transportation, service facilities, wind and earthquake resistance, consumption and other needs. All aspects of stakeholders include architects, construction engineers, contractors, party members, owners, lessengers and municipalities of each sub-project. Different models of the software system can capture demand information about this software, how to use methods, test questions, and constructors, etc. All aspects of stakeholders include software structural designers, system analysts, programmers, project managers, customers, investors, end users, and operators using software. Use a wide variety of models in UML. 2. Making system design architects can be drawn on the model map of drawings, models in the computer or the actual three-dimensional model to make their own design results, and use these models to do design tests. Construction, modify a small model is relatively simple, which makes the designer don't need to create and innovate. Before writing program code, the software system model can help software developers easily study multiple framework and design of software. Before performing detailed design, a good modeling language allows designers to have a comprehensive understanding of the software's architecture. 3. A model that separates the specific design details and demand can show the appearance of the customer's requirements. Another type of model can illustrate the setting of electrical lines, pipelines, and ventilation pipes inside the building. Achieving these settings have multiple programs. The final identified architectural model must be a design designer think the best design. Customers can check and verify this program, but usually customers don't care about specific design details, as long as they can meet their needs. A class of models of software systems can indicate that the external behavior of this system corresponds to information corresponding to the real world, and the other model can display the categories in the system and internal operations required to implement system external behavior characteristics. There are many ways to achieve these behaviors. The model corresponding to the final design must be one of the designers think the best. 4. Generate useful actual product architectural models can have a variety of related products, including the list of building materials, the deflection of buildings under various wind speeds, and the stress levels of each point in the building structure. Using the model of the software system, you can get a statement, process body, user interface, database, legal use, configuration, and comparative descriptions with other unit technical competition. 5. Organizational, find, filtering, remind, check, and edit large systems related information architectural models to organize information: building structure, electrical appliances, pipelines, ventilation facilities, decor, etc. Unless you use computer storage, you will not be as easy to change this information. Instead, if the entire model and related information are stored in a computer, these work is easy to perform, and various design schemes can be easily studied, and these design plans share some public information. Software system uses views to organize information: static structural view, state machine view, interaction, reflecting the needs of the needs. Each view is a mapping of a scientific information selected from the model from a model. No model management tools cannot make the model to be arbitrarily accurate.
An interace view editing tool can be used in different formats that hide the temporary unwanted information for a specific purpose and will be displayed later, and the operation can be packet, modify the model elements, and only one command to modify a set of model elements. and many more. 6. Economically study solutions in a variety of design processes, the pros and cons of different design programs of the same building may not be clear at the beginning. For example, the different sub-structures that can be used may have complex interactions between each other, and construction engineers may not be able to make correct evaluations. Before actual construction of buildings, the model can be used to study multiple design options simultaneously and conduct corresponding costs and risk estimates. Multiple actual solutions can be proposed by studying a model of a large software system and can be compared to each other. Of course, the model cannot be done enough, but even a rough model can also illustrate many of the issues to be solved in the final design. Using models can be studied in a variety of designs, the cost of cost is only cost to implement one of the programs. 7. Using the model to fully grasp the complex system A tornado on the engineering model of the tornado attack building is impossible to be the tornado in the real world, just a model. The real tornado is impossible to come, and it will destroy the measurement tool. Many fast, intense physical processes can now use this physical model to study and understand. A large software system may not be able to study directly due to its complexity, but the model makes it possible. In the absence of detail, the model can abstract to a certain level to make people understand. You can use a computer to complicate models to identify possible "problem points", such as time errors and resource competition. Before making changes to the actual object, the dependence between the components in the model research system can be brought about which changes may be caused. 2.3 The level of the model is for different purposes, the model can take various forms and different abstractions. The amount of information contained in the model must correspond to the following purposes: 1. Guidelines for design ideas to establish high-level models established in the project to centrally stakeholders' ideas and emphasize some important options. These models describe the needs of the system and represent the starting point of the entire system design. Early model helps the project initiator to study the possible choice options before putting energy in the system's details. With the progress of the design, the early model is replaced by a more precise model. There is no need to save various options and rework in the early study. The purpose of the early model is to help get ideas. But the final "Idea Model" is recorded before the design is detailed. The early model does not need to achieve the accuracy of the model of the stage, and there is no need to involve a set of concepts related to the implementation of the system. Establishing this model only using a subset of components defined by UML, which is much less than the components used in the post-design phase. When an early model develops to a complete view model with a certain precision -, for example, the model of system requirements - then save it when the development process enters the next stage. Continuously incrementally developed in the model (the reasoning process developed in this case) is also saved and recorded and recorded) and the general solution to the "dead end point" until the random stripe development of the correct solution An important difference between. The latter case is usually not known how to start, and there is no need to record the entire development process, unless you encounter special circumstances need to be traced back. 2. The abstract description of the system basic structure The model established in the analysis phase and the preliminary design phase is centered on key concepts and final systems. These models match in some way with the final system. However, the details are lost in the model, and this information must be explicitly supplemented during the design process. The purpose of using an abstract model is to correct the high-level universal problems in the system before processing local details. Through a careful development process, these models can develop into the final model that guarantees the final model to properly implement the design intent of the initial model. Tracking capabilities must be tracked from the process from the basic model to the full model, otherwise the final system cannot correctly contain key features to express the basic model. The basic model emphasizes the semantics, they do not need detail to system implementation. This situation sometimes happens: the difference in low-level implementation will make the logic ambiguous.
The pathway from the basic model to the final implementation model must be clear and concise, regardless of this process, is automatically implemented by the code generator or manually realized by the designer. 3. Detailed specification of the final system The system implementation model contains sufficient information that can build this system, but it not only includes the logic semantics, algorithms, data structures, and mechanisms that ensure the correct completion of the system function, but also include the system. The organization of the article is determined that these products are necessary to cooperate with each other and use auxiliary tools. This model must include assemblies to the model elements to facilitate understanding and automatic processing with a computer. This is not the characteristics of the target application system, but the system constructor should have characteristics. 4. Examples of a typical or possible system examples can improve people's observation capabilities and make the system's description and implementation. However, even if there are very many examples, there is also a detailed definition of the effect. We finally hope that the model can explain the general situation, which is also what the program code is going. However, examples of typical data structures, interaction order, or object life history are beneficial for understanding complex systems. Be careful. Logically, it is impossible to summarize the most general case from a large plot of special case, but most people think about some of the problems that are carefully selected for this issue. The sample model is only an example of the model without a general description, so there is a difference between these two models. The sample model typically only uses the subset of components defined by UML. The description model and example model are useful in modeling. 5. Describe the system's comprehensive or partial description model fully describes a stand-alone system and does not need to reference external information. More general, the model is organized by mutually distinguishing, discontinuous description units, each unit can be stored and manipulated as a whole. This model has a displacement that must be associated with other models of the system. Because these parts have correlations and meanings, they can construct different systems with other distributors through various modes. Get reuse is an important goal of a good modeling method. The model has changed over time. The depth refinement is derived from a more abstract model, and the specific model is derived from a logical model. For example, the model established in the start phase is a high-level view of the entire system. Over time, some details are added to the model and some changes have been introduced. Once time, the core focus of the model is converted from one user-centered front-end logic view to a rear end physical view that implements a center. With the development process, the model must be repeated in various levels to obtain a better understanding, and a single perspective or linear process is unlikely to understand a large system. The form of the model does not matter "correct and wrong". 2.4 Model Contents 1. Semantic and Representation Models include two main aspects: semantic aspects (semantic) and visual expression methods (representation). Semantic aspects use a set of logical components to express the meaning of the application system, such as classes, associations, status, use cases, and messages. Semantic model elements carry the meaning of the model, they express semantics. Semantic modeling elements are used for code generation, validity verification, complexity metrics, etc., its visual appearance is independent of most processing models. Semantic information is often referred to as a model. A semantic model has a lexical structure, a highly formulated rule and a dynamic execution structure. These aspects generally describe (as this is the literature of UML), but they are closely correlated and are part of the same model. Visual expressions can be displayed semantic information in the form of human observation, browsing, and editing. The mode element carries the visual expression of the model, that is, semantics is expressed in a manner that can be directly understood. They did not add new semantics, but the expression is organized in a useful manner to emphasize the model of the model. So they are guided by the understanding of the model. The semantics of expression elements come from semantic model elements. However, since the model is drawn by people, the expression elements are not completely from the logical elements of the model.
The arrangement of expression elements may express additional meaning of semantic relationships, which are not obvious or ambiguous, so that they cannot be formally expressed in the model, but they can give people to Di Dynamic. 2. The context model itself is a product of a computer system and is applied in a large context that gives a model meaning. This includes the internal organization of the model, the entire development process of the annotation of each model, a default set, created, and manipulating the assumption of the model and the relationship between the model and its environment. The model needs to have internal organizations, allowing multiple working groups to use a model without excessive mutual involvement. This decomposition of the model is not as required in semantic, compared to a model of a plurality of packages that are cohered before and after a decomposition, the information expressed by a large single structure may be equally accurate because of the organization The boundary of the unit determines that the work of accurate definition semantics is complicated, so the information expressed in this single model may be more accurate than the model of the package structure. However, it is impossible to effectively operate in a large single model from a large single model. Second, the single model does not have a reusable unit for other situations. Finally, some modifications to the big model tend to cause unexpected consequences. If the model is properly decomposed into a small subsystem having a good interface, the consequences of the modifications that are small, independent units can be tracked. In any case, the large system is broken down into the hierarchical structure consisting of carefully selected units, which is the most reliable method in the method of designing large systems in the human millennium. The model captures semantic information for the application system, but also requires various information in the model itself, such as a certain type of designer, process debug status, and regulations for the use of various personnel. This information is mostly the system semantic peripheral information, but it is very important to the development process. Therefore, the model of establishing a system must consider both aspects. The easiest implementation method is to add project management information as an comment to a semantic model -, you can arbitrarily describe the model element with a non-modeled language. Use the text string in the UML to represent a comment. The commands used by the text editor or browser are not part of the programming language, similarly, commands for creating and modifying models are not part of modeling language semantics. The properties of the model elements have no default, in a specific model, they have values. However, for the actual development process, there is no need to decide all the details related to the modification of the model. The default value exists in the modeling language and the boundary of modeling tools that support this language. In commands of the creation model used by modeling tools, they are real default values, although they may exceed a single modeling tool and become the general language used by modeling tools as desired. The model is not built and used isolated. They are part of the large environment where the model is located. This large environment includes modeling tools, modeling languages, and language compilers, operating systems, computer network environments, system specific implementations, and so on. System information should include all aspects of the environment. Some of the system information should be saved in the model, even if this information is not semantic information, such as project management comments (already discussed above), code generation hint, model packaging, editing tool default settings. Other information should be saved separately, such as program source code and operating system configuration commands. Even the information in the model, the explanation of this information can also be located in multiple different places, including modeling languages, modeling tools, code generators, compilers, or command languages, and more. This book explains the model with UML itself. However, when the specific physical implementation of the system is performed, other resources used to interpret, these resources are invisible to UML. What does the model illustrate? A model is a system potential configuration; the system is its range, or value. The system configuration is an ideal situation in accordance with the model. However, all the conditions required by the model cannot be implemented in reality. Model is still a general description of system meaning and structure. This description is the range, or meaning of the model. The model always has a certain abstraction level. It contains the most basic ingredients in the system and ignores other content.