Three development stages of system analysis and design

Three development stages of system analysis and design


1. Face image data-driven analysis and design

The first stage of system analysis and design is data-driven analysis and design. This stage is characterized by database programming. The application system is a typical two-tier architecture, which is divided into a presentation layer and a database layer.
Insert picture description here

This data-driven analysis and design approach has led to procedural programming thinking. The database structure is designed by the DBA and then handed over to the programmer to write SQL statements, and SQL statements are executed in a sequential order, so the analysis and design of the face image data drives the thinking mode of the face image process.

The procedure Oriented is a way of thinking. When facing a problem, we focus on the process of solving the problem. For example, the classic question: How to put the elephant in the refrigerator:
Step 1: Open the refrigerator
Step 2: Load the elephant
Step 3: Close the refrigerator

Advantages VS disadvantages:

  • Process-oriented can solve problems more directly and effectively, but when faced with more complex problems, the problem-solving process will become complicated and difficult to understand in Philadelphia.
  • Failure to quickly, effectively and comprehensively understand and respond to needs is a distorted analysis method.
  • The performance of the system is difficult to improve, and it is easy to cause the software runtime load to be concentrated on the database side, which makes the system programming centralized and high-risk large-scale single mode, and loses the distributed cluster processing ability.
  • Object-oriented programming languages ​​and relational databases are inherently contradictory. Because the relational database analysis and design itself is process-oriented.

2. Object-oriented and service analysis and design

Object-oriented and service analysis and design methods have produced an epoch-making three-tier architecture: presentation layer, business layer, and data access layer.
Insert picture description here

  • At this time, two stages of independent analysis and design appeared. System analysis and design began to rise to a higher level, with its own set of scientific and artistic methodology, but it also brought a fatal flaw: the analysis stage and The design phase could not be well connected, and an insurmountable gap appeared. Because the analyst is responsible for collecting basic concepts from the requirements domain, and the designer is responsible for specifying a set of components that can be adapted to the construction of the programming tool in the project. These components must be able to execute effectively in the target environment and correctly solve the problems in the application. .
  • It can be seen that the goals of the analysis phase and the design phase are not consistent. Analysts only focus on requirements analysis, not whether it is suitable for the design or whether the analysis results suitable for the design can be derived; the designers find that the analysis results are too simple to be coded. As a result, the analysis phase and the design phase could not be connected, resulting in the entire project being unable to proceed smoothly and ending in failure.

3. Analysis and design of face image problem domain

The problem domain model has a popular name: domain model , which is a visual representation of objects in the real world or domain, and can be divided into conceptual models, domain object models, and analytical object models .

Eric Evans published a paper on Domian-Driven Design-Tackling Complexity in the Heart of SoftWare in 2004. The topic is domain-driven design. He also proposed a layered architecture of the domain model, dividing the entire system into an infrastructure layer and a domain layer. , Application layer and user interface layer .

Insert picture description here

Domain modeling is an art that combines the analysis phase and the design phase, with the purpose of making complex software quickly cope with changes.

The domain model is suitable for both analytical prototype and program design. If a model is not feasible when implemented, a new model needs to be searched for. If the model does not faithfully express the key concepts of the domain, a new model must be searched for.
Therefore, the process of domain modeling is to turn the analysis phase and the design phase into a single cycle phase, closely linking analysis and design, so that domain modeling experts no longer only focus on the collection of requirements, but also the design and implementation of program codes. .


Reference book: "Three Courses for Programmers"

Guess you like

Origin blog.csdn.net/weixin_36908494/article/details/108494546