Program development process

xiaoxiao2021-03-06  43

Program development process

First, pre-planning:

I understand the pre-planning: the market personnel summarizes a product manager team that is submitted to the product expert, and then after this team is analyzed and planned to analyze and plan a final demand document according to the specific situation of the company.

This demand document should first submit it to the head of the technical research and development department and the core developer. Technical and risk analysis by the development team. If you have any objections for this requirement, you need to return to the product team, re-correct the needs. Repeatedly, until the demand is accurate, meticulous, and clear.

The pre-planning is like a high-rise foundation. If the horse and tiger, even a brick can lead to failure of the entire high-rise building. In planning, I think that communication is always required to actively take the initiative, and you can listen carefully to everyone's recommendations. The previous work thinking is not cautious, unformatted, not serious, not perfect, will result in chain effects directly leading to the failure of the entire project and project.

This failure may be: first, software is implemented by demand but functions cannot meet user needs. The second, the functions are available, the software does not meet usability, easy to use.

For the first, of course, because the previous plan, some fine functions are missed, and the demand document is not perfected. It should be that the planning work is not enough to be serious and meticulous.

For the second case, I think more is not mature enough in product design planning. This problem should be difficult to avoid. Because each new product is very strange to the product team. Even if you have done something, it is inevitably. This can only make up for a continuous effort and serious attitude.

The exchange of pre-planning involves multiple teams such as market, product and technology research and development. It is not only the exchange of communication inside, but also coordinates the communication between teams. It may sometimes be a company high-level and middle-level participation coordination.

At present, many developers have written the demand documents written in the documentation. Everyone can think about it, if there is no good start, how can you have a good end? Demand documents are thin, not meticulous enough, who will continue to improve? Do you let the programmers will be improved by themselves. I don't think that the programmer may have this ability. It's not easy for programmers to write code to write code.

Second, summary design:

I understand the profile design steps: (with project-centered development process)

1> The project manager carefully read the project demand document.

2> Project Manager converge project development member and open the project launch meeting. Specific discussion on the development tasks and responsibilities allocation of the project.

3> The development of core developers is determined, as well as each module developer.

4> Read the needs documentation carefully by system analysts and core developers, analyze and do technical planning for the entire architecture of the system.

5> System analyst organizes and writes the final system architecture and summary design documentation.

6> System analysts are submitted to the project manager in the document. The project manager confirms the documentation and approval.

7> Project Manager converge project development members, open a summary design and a meeting determined by system architecture. Distribute documents to each member and discuss the final summary design document.

8> Start the work of detailed design documents

Third, detailed design:

1> The project manager organizes the development team of each module and determines the development team leader (program manager).

2> Detailed design documentation of each development team writes the detailed design documentation of each module, and the development member needs assistance and cooperate.

3> In the designated submission date, the development team leader submits a document to the system analyst. Approval by the system analyst.

4> System Analyst Organize a meeting of detailed design document confirmation.

5> Then the development of the team leader distributes the detailed design documentation of each module to the programmer, and the programmer is completed within the specified time.

6> Programmer does internal test. The development team leaders coordinates and cooperates.

7> Confirm that there is no BUG submitted to the development group leader.

8> All modules integrate work, and participate in the entire development team member. All development team leaders and system analysts are responsible for the main part. Programmer assistance and cooperation.

9> Detailed testing after the integration project.

10> After confirming the test, the development team leader fills in the performance appraisal form based on the development member and submits the results. Then submit it to the project manager. 11> The project manager will hold a summary meeting of the project while awarding outstanding members. At the same time encourage all members to continue their efforts. For key people who cannot be submitted on time, and the key personnel that can be submitted on time and key personnel lead to failure are given.

Of course, the above is just a simple development process, must have a lot of shortcomings. I hope to play the role of throwing jade. Everyone understands that the process and system are dead, but people are alive, so how to do well according to the process, the key is still in the person. There is no process and system, and a team will also be a disc. The so-called "no rules are not square". This sentence is very reasonable.

Fourth, specific encoding:

After developing several projects, there is a further understanding of the writing program.

Good procedures should have: readability, easy scarability, fault tolerance.

Easy to read sex: All variables and functions and names of the class name are simple and easy to understand. All classes and functions or even variables have a key comment. This is important and the most basic. If the code is written in a beautiful and easy to understand, I don't want to see it later. Don't talk about the development of features and new versions.

Easy to scalability: The overall system is simple and clear. The module does not affect each other as much as possible, which is independent as possible. This part of the work is mainly reflected in the pre-design work, and it is necessary to master the design experience and method to do better.

Fault tolerance: Data validity checks for data streams and pointers and arrays; fault tolerance for the call to third-party interfaces. Errors handle after all code failed. And add TRACE file output in a large engineering to output the key data stream and the operation information of the key processing section. To set up conditions for the conditions of engineering abnormalities, solve problems in time.

I think the programmer can do well in these three aspects, even a good Programmer.

Five, debugging, tracking and testing:

1 Test needs attention:

Test the interface of each module, the inspection of the data boundary. Test the entire module.

The main test stability, efficiency, and function are normal.

After confirming that a single module is completely normal, join the project.

When the system architecture is designed, it may be introduced into the prototype reference. After the test is completed, it can be used after confirming that there is no problem.

2 You can use the VC coming with Trace or to output information as a text file, and output critical information, so as to locate the procedure.

3 For the test of the communication module, pay special attention to the data stream of the server and the client. You can write a client or server test program for a targeted, check whether the communication process is normal.

4 In the development of VC, you must first let the debug version run normally, guarantee that there is no abnormality, memory leakage and Assert and other debug warning information. If you use other lib, you must ensure that the lib itself does not have problems.

转载请注明原文地址:https://www.9cbs.com/read-66358.html

New Post(0)