directory

  • Feasibility study and plan
  • Demand analysis
  • The overall design
  • The detailed design
  • implementation
  • Integration testing
  • Confirm the test
  • Use and Maintenance

Many people who just entered the Internet field or just started to learn programming will think that when it comes to software development, it can be associated with writing programs. This has caused many non-Internet people to have a certain misunderstanding of software development as a job.

But in fact, it is not, writing a program is only a relatively basic part in the process of software development, rather than belonging to the whole process of software development.

In fact, like many products, software has a certain life cycle, which is called “software life cycle”. It is also a stage that must be passed in software development.

So today the big bad Wolf will come to analyze with you, a software from the beginning of the idea to finally put into use, such a life cycle process.



From the above figure, we can intuitively see that the life cycle of a software includes eight stages: feasibility study and planning, requirements analysis, overall design, detailed design, implementation (coding and unit testing), integration testing, confirmation testing, use and maintenance.

In fact, in the process of software development, each of these eight stages is crucial and cannot be ignored. Then the big bad Wolf will talk to you about the key tasks and the work to be done in these eight stages.

Feasibility study and plan

When we develop any software, we should carry out feasibility study and analysis on it, carry out in-depth research, to judge whether the development of this software has a certain feasibility. Just like when we do something, we should consider whether it is feasible in advance.

In feasibility study and planning, its key tasks are how to solve the problem, whether there is a valid solution and rough planning.



So when this process is complete, we have to generate three documents:

Problem definition report: it should include the nature of the problem, project objectives and project scale;

Feasibility study report: it should carry out a detailed analysis of the feasibility of economic, technological and social operation;

Project development plan: In this section, we should make a rough plan for the implementation of the software development process, so as to ensure that the subsequent development work can have a more comprehensive basis.

Demand analysis

When our software passes the feasibility analysis, it will enter the step of demand analysis, which is mainly to communicate with users and analyze their needs, and to better develop software according to user needs.

In this step, the key task we have to do is: what the target system must do, because the requirements analysis of the feasibility study is rough and inaccurate.



Therefore, in this step of demand analysis, we must carry out a complete, accurate, clear and specific software development demand analysis, so as to ensure that our software in the development of virgin male demand gap with the user is smaller.

After completing the requirements analysis step, the document to be generated is the requirements specification, which should contain detailed requirements for the target system.

The overall design

When we understand the needs of users in detail, it is necessary to carry out an overall and detailed design of the whole software development process.

The key task in this step is: How should the goal be achieved? According to the requirements of the system design scheme analysis recommended the best scheme, design software structure.

When the master design is done, the document to be generated is the master design specification, which should document in detail the results of the master design.

The detailed design

After the general design, we move to the detailed design stage.

In this stage, we should determine the language algorithm functions and various types of pants used in software development, and carry out detailed design planning, selection of the software is more suitable for the design scheme, specific to each method and each code.

** The key tasks of this stage are: how should the system design be implemented specifically, the algorithm of each module and the data junction structure

At the completion of this stage, a detailed design specification should be generated, which should contain appropriate expression tools, expression algorithms and data structure content, and analysis of the functions and methods used.

implementation

In the implementation phase, there are two aspects: one is coding, the other is unit testing, and this is what we learn when we first enter the software development programming phase.

At this stage, the key task we need to do is to select language tools for translation and detailed design results and test each module completed by coding, such a process is called unit testing.



When the coding is completed, the phased documents should be realized: program list and unit test report, in which the key procedures used should be introduced in detail, and the inspection results of each module should be analyzed and explained to ensure that each unit of the software is in good condition.

Integration testing

When we write the program as a unit, all we have to do is integrate each unit module.

The key task to do in this stage is to assemble the unit test module for testing and make the software meet the predetermined requirements through testing.

In this stage to generate is: test report, which should contain test plan, test scheme and test results of three aspects, and analysis of the problems occurred in the test.

Confirm the test

This test is a user contact test, so it is also called acceptance test.

After the integration test, we deliver the software to the user, and let the user carry out the final confirmation test, and put forward the problems and defects in the software, and correct the content with different requirements.



The key task of this stage is: test by the user according to the requirements specification, which uses the “requirements specification” generated during the second stage of demand analysis, and it is also the only standard to check whether the software we develop meets the requirements expected by the user.

The document to be called at this stage is the test report, which should contain the design of the software and the software, and the final test results.

Use and Maintenance

The software is almost complete when the user performs validation tests and accepts it. However, in the process of software use, it is inevitable that there will be problems caused by different environments and ways. Therefore, the software should be maintained regularly.

The key tasks to be completed in this stage are: through necessary maintenance activities, make the system to meet the needs of users.

Simultaneous maintenance can be classified into the following types:

Corrective maintenance: when problems or errors occur during software running and maintenance is performed.

Adaptive maintenance: Maintenance is performed when the software and hardware environments change during software operation.

Consumable maintenance: maintenance performed when users find deficiencies in the software and raise requirements to improve and expand the software.

Preventive maintenance: as a software developer, analyze the problems that may occur in the future and prepare for future maintenance.



The above is the necessary eight stages of software development, so it can be seen that the coding stage is only a part of the software development, when the overall design and detailed design analysis, only according to the requirements of coding.

Therefore, the overall software development process relies on these eight aspects step by step, only in this way to ensure that the risks and problems in the software development process will be minimized.

Feel useful remember to pay attention to share, big bad Wolf for your software development road to help!

Finally, you can also pay attention to my wechat public number “Grey Wolf Hole master”, get more program example tutorial, and Internet information sharing!