Rational soldiers never beat the enemy on the battlefield with bare hands. In this way, they use eggs to touch the stone, and the result can only be "death without ambition ". If we compare modeling to the enemy, we know that many popular software developers are defeated by this enemy. One reason is that it is too reckless to start the battle without knowing what the modeling is.
I,What is modeling?
As the saying goes: "Looking at the mountain side to reach a peak" means observing the same mountain from different angles will present different scenes. Modeling can be understood as follows:An Observation of the software system from a specific perspective.
The same thing can be investigated with different purposes from different perspectives. Because of the different purposes of the investigation, some branches will be neglected in observation to highlight the places we dare to be interested in, that is, "retrieve refinement ". Software Modeling: a software system model contains multiple observations from different perspectives. Each observation is called a view. A view in the software model represents the observation of the software system by different personnel (system designers, developers, project managers, and customers. These personnel have different points of interest in the software system, because different views present different content, but essentially they all depict the same software system.
The relationship between multiple views of a software model is: "tracing. That is to say, they reflect the abstraction of the same software system at different levels. Different views of the software system model, such as the analysis view, design view, implementation view, and deployment view, also reflect different stages in the software system development cycle. It is generally described by a specific view. When the phase changes, elements in one view are converted to corresponding elements in another view.
Note: A view can be understood as a model of different stages in the software system development cycle. Therefore, we can consider that an analysis view and design view are often called a domain model, design model, and implementation model.
Summary:
1.Software Model image definition: software product-related personnel's observation of the Software System.
2. Software Model views are interconnected and converted to each other.
3. The model has focus and must be refined to highlight the focus.
4.The software model consists of multiple views. Each view represents an observation of the software system from different angles.
II,Why modeling?
1. Understanding the software system through modeling-increasing user requirements, frequent demand changes, and increasing complexity of software modifications. The model is abstracted as a reality and helps different people understand the software system from different perspectives.
2. Meet the needs of collaborative development projects-provide multiple views through modeling, and the team can get a consistent understanding of the entire product.
3. Create a product that truly meets your needs-through modeling, you can capture and track your needs in a timely and accurate manner, and assess the impact of demand changes on software products.
4. controllable software development process ---- software modeling can clearly display the blueprint of the software system, so as to minimize the uncontrollable factors in the software system development process.
3. What modeling is used?
Software Modeling requires a set of standard and common symbols, just as we all write programs have a programming language, so that people engaged in software system development can understand this symbol, so that they can use this symbol to communicate with each other.
The general symbol or modeling language is the Unified Modeling Language (UML, Unified Modeling Language ). UML is a standard language for Drawing Software blueprints. You can use UML to visualize, detail, construct, and document the products of software-intensive systems.
Note: UML is a symbolic system for modeling, not a method, or a software process. However, it can be used in various modeling methods and software processes.