What are the software development steps?

The nature of our branch is a software development process,

Software companies and non-software companies

Non-software companies

Requirements Analysis-Outline Design-Program Coding-Program Testing-Software Delivery-Customer Acceptance-Code Maintenance

Software Company

Requirements Analysis-Outline Design-Detailed Design-Program Coding-Program Testing - Software delivery - Customer acceptance - Coder maintenance

Requirements analysis

Before a software appeared, some people just had an idea, I need something like this (want one (baby) is used to manage my things. At this time, an idea comes up, and there will be this demand. He will find the software company's demand analyst to discuss it. At this time, a software is pregnant, which is equivalent to starting to develop demand. Analysis is to describe the general function after listening to the requirements, and use Word or Axure to draw a simple demo for the user to see. After several confirmations, the requirements analyst will finally confirm whether the function is perfect. After confirmation, we will proceed The next step, outline design

Outline design

What is this function mainly used for? Many companies think it is unnecessary, but in fact it is very necessary. This is equivalent to planning first. Let’s talk about how to get through pregnancy safely. For software, it is the processing logic of the software. How a process generally goes, what modules are needed, how to run them, how many interfaces are needed, how to maintain them in the future, etc. How to do these things For the next step - detailed design

Detailed design

Some people say that detailed design is a very troublesome step. In fact, it is not a very troublesome step. I think it is the most difficult step. Detailed The design is mainly used to confirm the details, such as the name of the interface, the name of the controller, how many controllers, and who will call whom. There can be no mistakes in this, because later coders need to see this development. How do you start it? They write the name however they want, so mistakes here mean mistakes will be made during coding. In the end, a detailed design document will appear. This is to tell pregnant women exactly what to eat, how to eat it, and how much.

Coding for coders

Many people think that this is just copycatting, just look at the design book and write it directly. The theory is like this, but why are there still so many bugs? A large part of the reason is not due to design (of course it is possible). A large part of the reason is caused by irregularities. There are also issues such as whether people in the same project team can collaborate on code and how to improve coding efficiency. These are all problems that occur during coding. This is equivalent to whether pregnant women eat according to the regulations when implementing that set meal.

Program testing

This step is a very important step. For testing, we cannot say that we can write it and give it to users directly. This is unrealistic. We need to do it. First, the system is tested by the testing department. Of course, this test is not based on the user's ideas. They will be very violent. For example, when using a button, normal users will click it once and see the effect. , but not when testing, they will click wildly, and they will stop when they know that no one in the world is more violent than them. Of course, this is a good tester, and many tests will not be like this, they If you feel that there is no problem in normal use, then it is fine. In fact, whether a software is good or not depends largely on the testing intensity of the testers. Finally, just write a test report.

Software delivery

If there are no problems after the test, you can write an installation manual. This is actually a user guide.

Customer acceptance

After delivery, after a simple test, the customer feels that it is the same as what they thought, so they receive the goods and pay.

Maintenance by coders

Is it okay after acceptance? Of course not. A software often has problems only after it has been used for a period of time, so people will always be needed to maintain them. Of course, it does not mean that problems only occur. The main reason for maintenance is that the software will change functions according to different needs. This process is also a maintenance process. How many generations has QQ been updated? This is also a maintenance process.

Project reconstruction

This is a project for the sake of user experience if new technologies appear and the functions have not changed. For example, it was written by SSH before, but the running speed is very fast. Low, use SpringBoot, everyone is using it, and the user feedback is very good, then it is necessary to reconstruct the project at this time, and use new technology to re-implement the previous functions.

That’s basically it. In addition, careful people have also seen that non-software companies do not have detailed design. Let me explain why. It is very simple. In fact, detailed design is time-consuming. Non-software companies People like this will not spend this time on design. They will tell you the requirements directly. Coders only need to code directly. Generally, there is no requirement for what technology or framework you use.