The main contents described in the first five periods are as follows:
First, standard modeling language UML overview
Second, the standard modeling language UML static modeling mechanism
Third, standard modeling language UML dynamic modeling mechanism
Fourth, standard modeling language UML support environment
1. Basic points of process engineering
2. UML flexible software development process and its support environment
(Connection) 3. UML Integrated Support Environment UML Integrated Support Environment is a system development environment that supports construction of a flexible information system under demand traction. Its composition should include UML visual modeling system, analog system, code generation system, and reverse transformation. System, quality control system and its support software, etc. These environments should be based on the syntax rules and semantic definitions of UML, as shown in Figure 1. It can be seen that this support environment is an integrated support environment that supports "closed-loop development" generated by system modeling, system simulation, and system generated. (1) UML Visual Modeling System Frame UML Visual Modeling System Supports the entire modeling process of system design, system analysis to system design, providing editing and beautifying tools for UM L graphics, ensuring the correct, semantic integrity UML Graphics models and provide assistive support including document management and graphic printing. The modeling mechanism for supporting the environment Since UML not only supports the model model of the system, it also supports the modeling of demand and system architecture, which not only supports the establishment of a static model of the system, but also supports the dynamic model of the system, therefore, the model construction system The following models should be supported: The demand model includes a static model and a dynamic model. The static model is a functional model, and the relationship between the system functions and the potential users of each function are described in UML. The dynamic model supports a description of the business process or transaction process through the active diagram. The system object model includes a static model and a dynamic model. Define a static relationship between system objects and objects by a package diagram, class diagram, and object diagram; through sequential diagrams, cooperation diagrams describing the interaction between objects, the live cycle of the object, and the state of the object may exist in the lifecycle. Conversion constraints. The system architecture model supports software architectural and hardware architectural structures and definitions of communication mechanisms by component diagrams and configuration graphs. At the same time, it should further support the visual representation of the cooperative relationship between the hardware and software system.
The detection mechanism of the modeling system UML syntax correctness detection mechanism is to ensure that the obtained UML graphics model is in line with its syntax definition, and the syntax correctness detection mechanism should be provided. A preferred method is to provide the syntax-guided UML visual modeling tool, providing dynamic grammar guidance and grammar detection function during the construction of the model. In this way, it is convenient for users to learn and use, and it is also possible to ensure the correctness of the built model in the grammatical structure. UML model consistency inspection mechanism Since UML supports from demand analysis to the system design of the entire modeling process, support users from different perspective description systems, and the collaboration and constraint between large software projects are intricate, it should not be Alone bear the management and maintenance of them. As a modeling support system, a consistent inspection mechanism between the model should be provided.
First, the mechanism should be based on the above discussion based on the UML software development model, and the time to introduce the model is determined on the time axis of the software development phase; secondly, it is clear that the refined hierarchy mechanism of the same model, and how to describe the main model with other models Detail; third, on the software development phase time axis, a model exists in the hierarchy of the top-down decomposition, in the hierarchy generated in each time phase, various UML models are constrained, and cooperative and complex mesh Relationship, the same model of different stages, the same model of different functions, and the mathematical model of different model constraints and collaboration; Sexual inspection mechanism. Further, since the same model is allowed from different angles, such as the interaction map includes a sequence diagram and a cooperation diagram, there is redundant information between the two, but therefore, not only the consistency between the two information is not only, but also support Consistency conversion between the model.
The complete check mechanism complete check mechanism of the UML model must first define a complete guidelines for the UML graphics model to ensure the completeness of the UML graphics model on the basis of the UML semantic definition. The completeness of the UML graphics model can be considered in three hierarchies: the completeness of each graphic; the completeness of each sub-model, that is, the combination of related graphics; the overall completeness of the system model. Significance of these three completeness is that semantic completeness and semantic correctness check can be performed at different stages. Document Generation and Management Tool Documentation Generation Tool refers to a document automatic generation mechanism. As a modeling support system, it should be supported automatic generation of document data such as demand, object-oriented analysis and design, system architecture, and other document data. Document Management Tools are auxiliary management of version management of documentation.
(2) UML simulation system
System simulation mechanism supports functional simulation and performance simulation of UML models, including the following three parts:
Simulation of dynamic models mainly includes simulation of active model, interaction model (sequential diagram and cooperation), and state diagram. Depending on the predefined semantics, the simulation of each model has truly reflects objective reality and user needs on the description of the system in time characteristics, and should provide the corresponding tracking debug mechanism. System function (demand) and user interface simulation uses to automatically generate tools for code automatic generation tools and user interfaces, generate system prototypes, and provide users to ensure effectiveness of modeling. System performance simulation as a good modeling and development support tool to support the modeling of system architecture, that is, in the case of different system configuration and function assignment, simulate system performance in order to obtain an optimized system design And a reasonable system configuration. (3) UML code generation system
The UML integrated support environment should support code generation of visual objects and behavior. The UML code generation system is also called a forward transform system for the UML support environment. It is well known that the ultimate goal of software development is to generate executable code. In most software development environments, modeling and encoding processes lack organic unity, this is there is historical reasons. The most important reason is the lack of powerful, simple and clear, standard unified modeling languages. The emergence of UML and is accommodated by OMG, providing a good starting point for eliminating this obstacle.
In terms of UML language code generation mechanism, some major companies have made beneficial research and development work, which is relatively represented by Rational Company and Advanced Software Technologies Inc. However, these research and implementation are limited to class diagrams in the UML static model, and other research materials related to model code automatic generation mechanism are very rare.
We believe that the code automatic generation mechanism should dynamically collaborate dynamically according to the UML language, the complex feature, first defining the semantics of the UML and object-oriented programming language (first is Java), study the dedicated semantic mechanism Description Object-oriented model and language The dynamic and static mechanisms, establish a semantic model of both. Then, the mapping model of the two is then established, and the code automatically generates the special mechanism for implementing technology and programming languages independent of the UML language itself. The code automatic generation mechanism should also consider the demand for the back reverse conversion mechanism.
(4) UML software quality control
The quality of the software system is often the key to the success or failure of large and complex systems. The main reason for software system is difficult to guarantee first is the intrinsic complexity in software systems. But people often have enough understandings for this, and the complexity of the software system is too low. Another reason is due to the intrinsic invisibility of software systems and their management work. Using quantitative software projects is conducive to improving visibility, but it is not entirely transparent. Therefore, under the premise of contemporary software technology, the construction of software quality control is imperative. The view of the software quality project is mainly divided into two geography, a good-enough, another is called "error-free" (ERROR-Free). In the construction of a software quality control environment, in addition to building a general software process management environment (including software project management, software configuration management, software quality management), software process support environment (to support software development unit maturity model CMM, individual software process PSP And support the implementation of the Group Software Process TSP, three subvironments that use each other but can be used separately:
The environment of the integrated software test environment should include software requirements overlay test tools, source program overlay test tools, software regression test tools, software test management tools, and memory load detection tools. Integrated Software Quality Measurement Environment Metrics About the original data of software quality, and calculates the management metrics required in ISO software metrics. Software Product Quality Comprehensive Evaluation System For comprehensive consideration of the quality of software products from the above factors, the resulting data is weighted. Only software that meets the overall requirements is considered a qualified software product.
(5) UML Reverse Transform System When the user modifies the generated code, the reverse conversion mechanism converts the user's modification to the model. Otherwise, it will cause the model and code to make the system's expansion, increasing deletion, and maintenance. We believe that if a support environment has both a forward transformation mechanism, there is a reverse transformation mechanism, it can maintain the consistency of the model and code. The reverse conversion mechanism of the dynamic model is a difficult point of research, which is generally composed of modeling, precipitation and abstraction. On the basis of forward conversion, we will establish a map-to-code mapping relationship, attempt to establish a constraint mechanism, implement an automatic or artificial reverse conversion mechanism. At present, the research on this international is not yet mature.
V. Application examples of standard modeling language UML
UML is a modeling language instead of a method because there is no concept in the UML, and the process is an important part of the method. UML itself is independent of the process, which means that the user can use any suitable process when the UML is modeled. The selection of the process is related to the different factors of the software development process, such as the types of developments (such as real-time systems, information systems and desktop products), and the development of organizations (such as single development, group development, team development). Users will use different processes depending on the needs. However, using UML modeling still has a substantially unified process framework, which includes common elements in the UML modeling process, and also provides a lot of freedom for users to make a suitable modeling technology they develop. . 1. UML Modeling Process High Level View Figure 2 is a high-level view of the UML modeling process. This is an iterative incremental development process. Using this method, it is not submitting software at a time at the end of the project, but is divided into subsequent development and submission. The construction phase consists of multiple iterations, each iteration contains coding, testing, and integration, and the resulting product should meet a certain set of project requirements, or submitted to the user, or purely internal commit. Each iteration contains all the phases of the software lifecycle. At the same time, each iteration has to increase some new features to solve some new problems.
Therefore, the first thing to do is: Select some function points, then complete these features; then choose another function point, so looped. The first two phases are the initial (Elaboration). In the initial phase, you need to consider the benefits of the project and determine the scope of the project. This phase needs to be discussed with the project. In the refinement phase, it is necessary to collect more detailed needs, perform high-level analysis and design, and formulate plans for the construction phase. When using this iterative development process, there are some work (such as beta test, performance debugging, and user training, etc.) to be placed in the last translation phase.
In fact, microemers involving actual modeling work are present in each iteration described above. Iterative development is an important guarantee for project success.
2. UML actual modeling process
Each iteration is divided into the following phases: The purpose of the modeling stage is to capture the functional requirements, analysis, analysis, and extraction of the "Objective World" field of the developed system and describe their cooperation profile. The purpose of designing stage modeling is to achieve the environment, the model extension and transformation into a feasible technology implementation scheme by considering the realization environment. The implementation phase is the specific work is to coding, and the configuration model is correspondingly corrected. The configuration phase describes the hardware and software configuration of the developed system through the model. The test phase uses the model constructed in the first few phases to guide and assist the test work.
In the different stages of system development, use UML is modeling for system, and the system can be described by establishing different models, from different perspectives, the system is described in different detailed signs. The development process of a business management information system is taken as an example. Specifically, the actual process of UML modeling: (1) The principal demand specification of the original version of the commercial MIS should be provided by the personnel of the final user of the system, including the basic function of the system Demand and requirements for computer systems. It is generally described as follows: · It is a commercial support system; · The goods needed for the purchase of purchases; · The security deposit will be registered into the library; • Dialman transfer the stock product to the corresponding sales department; · Sales department selling goods · · Statistical departments account for business mall management; Since UML-based system development takes increment and iterative mode, the initial version of commercial MIS only needs to complete the most basic function of the system (basic business), and other functions (such as goods transfer tube, electronic order, electronic payment, network sales, etc. The following is done in later versions.
(2) The task of analyzing analysis is to find all the needs of the system and describe, and establish models to define key areas in the system, should be completed by system users and developers. This phase does not stick to design details and technical solutions.
The first step in demand analysis analysis is to define the use case to describe the external functional requirements of the developed system. Use case analysis includes reading and analyzing demand descriptions, which requires discussion with the potential users of the system. The main components of the use case model are used examples, roles, and system boundaries. The use case is used to describe each functional requirement, the system boundary is used to define the system functionality, and the role is used to describe external entities related to the system function, which can be a user or an external system. In this example, by analyzing, first confirming the role in the commercial MIS sales staff, stock staff, purchasing personnel, auxiliary personnel and analyst. On this basis, confirm the use case. The use of commercial MIS has order procurement, inventory management, merchandise sales, statistical analysis, system maintenance (including adding goods, canceling goods, making labels, price changes, cancel, or updating tags). As shown in Figure 3.
In addition to the use of an example to describe the system requirements, you can also use a text (or active diagram) to perform a demand for each use case, more specifically, more specifically interaction with the role. For example, we can describe the needs of order procurement cases as follows: • If you are new products: a. New product registration; b. Purchase purchase; c. Registered in the library. · If the goods inventory is insufficient: a. Purchase purchase; b. Registration into the library. Order procurement needs can be described in an active diagram, as shown in Figure 4. Since the needs of the use case directly affect the positioning of the subsequent design phase, the demand for the use case should be as comprehensive and accurate. It is worth mentioning that most of the use cases can be determined in the system requirements analysis phase, but with the progress of the system, more use cases may be found, and even find that the exemplary defined in front is not exact or wrong, it needs to be re-modified . Therefore, throughout the system development, you should pay attention to the use case.
Another job in a particular area analysis phase is a specific area analysis to list specific domains in the system. We can conduct specific domain analysis by reading specifications, use cases, and "concept" to find system processes, or can be discussed by users and domain experts to identify all critical classes to be processed and their interrelationships. The particular area here refers to specific business areas instead of the entire system. In this example, it is possible to determine the specific sectors of the commercial MIS as commodities, quality products, non-quality goods, items, sales, ordering, inventory, vendors, and class diagrams to describe the system domain and their relationships. It is important to emphasize that this stage has certain sketch properties for the description of a particular domain class, that is, the operation and attributes of a particular domain class are not necessarily consistent with the final implementation. Because there is no specific implementation involving system functions, it is impossible to define them accurately and completely. Some operations need to be determined when designing the design phase. Further, in order to describe dynamic behavior of the domain, any of the dynamic diagrams (such as sequential diagrams, active diagrams, cooperation diagrams) can be used. The dynamic maps in this stage have sketch nature, mainly to assist in the analysis of the domain and their interrelationship, and lay the foundation for the specific design of the next stage. UML modeling is a flexible process, and users do not have to draw various pictures. For each picture, only if necessary (for example, can help analysis, design, guidance, deepening, deepening, promoting communication, etc.), such a picture is meaningful to modeling, otherwise it will waste energy and stronger. (Endlessly)