Why software development reports are required

Source: Internet
Author: User

Due to the need to submit software development Report of the job, no way, to bite the bullet to write. This article mainly tells me in the process of writing this report some sentiment.

In the company, I am mainly responsible for the implementation of technology, that is, the standard code farmers. I seldom think about the importance of documentation, and of course, I rarely write documents myself, and I always feel that writing documents is a waste of time. After careful analysis of the various software development reports, I found that I was completely wrong. The implementation of the program function is not difficult, as long as the relevant technology, or even if not, there are many resources on the Internet. The writing of the document is really a person's ability, it embodies the ability of a person to think about problem-solving. It can be said unequivocally that it is much harder to write a good document than to develop a good program.

A small project can be used without documentation, because all of them are self-developed, all the ideas are in their own mind, of course, if there are documents will be better, because the process of writing documents is the process of thinking. And now the project can not be completed by one person, need to cooperate with others, so how to let others understand your ideas and cooperate with you to complete the project? This is the time to reflect the importance of the document.

A good document should let all the people involved in the project (including the Boss, Project manager, program developers, testers, program users) have a good understanding of their ideas, so the text is not enough, you must also use UML diagrams, use case diagrams and other models as a means of assistance.

A good software development report to be fully reflected, must include all aspects of software development: Software requirements analysis, software design, detailed software design, software database design, software coding, software testing, software delivery preparation, software qualification acceptance, training and a series of work. Each part has its focus and focus on the crowd. A good document can improve our work efficiency, so that we can better cooperate, but also conducive to later maintenance work.

The software Development Report mainly includes several aspects:

1. Software Requirements Analysis
First of all, the developer should fully investigate the requirements of the software application and submit a complete demand analysis report. The basic issues that must be described in the requirements Analysis report are: functionality, performance, design constraints imposed on implementations, attributes, external interfaces. You should avoid writing design or project requirements into requirements analysis reports. It must describe the results obtained by the software, rather than the means by which these results are obtained. Software requirements can be expressed in several ways, such as through input, output description, use of representative examples, and standardized models. Developers should use the model as much as possible, as this is an accurate and effective way to express complex requirements. For example, use Unified Modeling Language (UML) to describe requirements.

2. Overview of Software Design
Based on the requirement analysis of the approved software, the developer does the next work. Developers need to design the software system in a brief, i.e. system design. The design of the software system needs to be considered, including the basic processing flow of the system, the structure of the system, the partition of the module, the function allocation, the interface design, the operation design, the data structure design and the error handling design, which provides the basis for the detailed design of the software.

3. Detailed design of the software
Based on the outline design, the developer needs to design the software system in detail. In detail design, describe the main algorithm, data structure, class hierarchy and call relation involved in implementing the concrete module, need to explain the design consideration of each program (each module or subroutine) in each level of software system in order to encode and test. The software needs to be fully distributed to the entire software. Detailed design should be detailed enough to be coded according to detailed design reports.

4. Coding of the Software
In the software coding stage, the developer based on the detailed design of the software data structure, algorithm analysis and module implementation of the design requirements, began to write a specific program work, respectively, to achieve the function of each module, so as to achieve the target system functions, performance, interface, interface and other aspects of the requirements. In order to improve the quality of programming, software programming must conform to the relevant programming norms promulgated by the State. The main contents include: The standardized procedure internal document, the data structure detailed explanation, the clear statement structure, the code specification. The content of coding specification includes naming specification, interface specification, prompting and help information specification, hotkey definition and so on. Unit tests should be performed at the same time as the software code.

5. Testing of software
In order to detect errors in software products as early as possible, so as to improve software quality and reduce the cost of software maintenance, developers should be in the coding process of each module of the program code unit testing, System integration testing, integration of the system after the completion of the entire software system testing. Unit testing is the correctness test of the program module during the software development process. Integration testing is based on unit testing, all modules are assembled into a system or subsystem according to the design requirements, and the module assembly process and module interface are verified correctly. Software system testing is not only to detect the overall performance of software, from the other side, but also to the software development and design re-confirm. For software system testing, testing mainly includes interface testing, usability testing, functional testing, stability (strength) testing, performance testing, robustness (recovery) testing, logical testing, destructive testing, security testing, etc. Developers develop test plans for unit testing, integration testing, and system testing. Integration testing requires the production of test cases based on demand analysis reports and summary designs, and is subject to review. Software testing according to the requirements of the test plan, requirements analysis report, and finally form a software test report.

6. Preparation of software delivery
After the software test proves that the software meets the requirements, the software developer should submit the development target installer, database data dictionary, user installation Manual, user Guide, requirement report, Design report, test report and other products.

7. Verification and acceptance of software
After the completion of software development, in order to ensure that the software is based on the requirements of the analysis of development, to ensure the quality of software products, software products need to be identified and accepted. The acceptance content should include: legality check, document check, software consistency check, software system test and test result review and so on.

8. Training
The developer should list the training plan in detail, including the training content, teaching materials, time and staff.


Visible, the Software development document contains all aspects of software development, coding work accounted for only 1/3 of the workload, and in real life, a lot of development (company) personnel have neglected the importance of the document, more than 80% of the energy are used in the software development, the result is software revision change, think of where to change, Changes to the end have been beyond recognition, seriously affecting the stability of the system, resulting in a series of problems.

Of course, writing a good document requires not only excellent project leaders and developers, but also a lot of time and effort. So, the cost of this is also very large.


The above is only personal opinion, if there is a problem, please criticize correct.


Why software development reports are required

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.