Traditional Culture Encyclopedia - Traditional customs - How is the software developed and made?

How is the software developed and made?

The first step is market research, technology and market should be combined to reflect the greatest value.

The second step is demand analysis, which requires three things: user view, data dictionary and user operation manual.

User view is a page style that users (including end users and management users) can see, which contains many operation processes and conditions.

A data dictionary is something that points out the logical relationship of data and arranges it. When the data dictionary is completed, the design of the database is more than half completed.

The user's operation manual is an instruction indicating the operation process.

Please note that user operation flow and user view are determined by requirements, so they should be completed before software design to provide constraints and guidelines for program development. Unfortunately, too many companies don't do this, the cause and effect are reversed, the order is not divided, and the development work and actual needs are often separated.

Requirements analysis, in addition to the above work, I think that as a project designer, it is necessary to make a complete performance requirement statement of the project, because often performance requirements can only be understood by people who know the technology, which requires real communication and understanding between technical experts and demanders (customers or company marketing departments).

The third step is the overall design, initially dividing the functional modules of the system, and giving a reasonable R&D process and resource requirements. As a rapid prototype design method, it can enter the coding stage after contour design is completed. This method is usually adopted because the R&D task involved belongs to a new field, and the technical director cannot give a clear detailed design specification at first, but this does not mean that the detailed design specification is not important. In fact, after the rapid prototyping method completes the prototype code, it needs to carry out detailed design steps again according to the evaluation results and lessons.

The fourth step is detail design, which is an important barrier to test the design thinking of technical experts. Detailed design shows that specific modules should be provided to coders in the cleanest way (black box structure), so as to maximize the overall modularization of the system; A good detailed design specification can minimize the complexity of coding. In fact, strictly speaking, a detailed design specification should provide the definition of each parameter of each function in detail. From requirements analysis to outline design, and then to the completion of detailed design specifications, a software project should be half finished. In other words, a large software system has not actually started a line of code when it is half finished.

Programmers who simply understand making software as writing code have made mistakes from the root.

The fifth step is coding. In the standardized R&D process, the coding work in the whole project process will not exceed 1/2 at most, usually 1/3. As the saying goes, the coding efficiency will be greatly improved if the design process is completed well. The coordination and cooperation between different modules is the most important in the coding process. Maybe a small module problem can affect the overall progress. Communication and emergency plan are very important when coding. For programmers, bugs will always exist, and you must always face this problem. Is there a time when the famous Microsoft failed to issue patches for three months in a row? Never!

The sixth step is testing.

There are many kinds of tests:

According to the different test performers, it can be divided into internal test and external test.

According to the test scope, it can be divided into module test and overall debugging.

According to the test conditions, it can be divided into normal operation test and abnormal situation test.

According to the input range of the test, it can be divided into full coverage test and sampling test.

The above is easy to understand, so I won't explain it.

In short, testing is also a very important step in project development. For a large-scale software, it is normal for an external test to take 3 months to 1 year, because there will always be unpredictable problems.

After testing, acceptance and final help documents are completed, the whole project will come to an end. Of course, there will be upgrades, maintenance and so on in the future. As long as you don't want to cheat money with one hammer, you must keep track of the running state of the software and continue to repair and upgrade it until the software is completely eliminated.