Nowadays, software development is becoming more and more complex, and software functions are becoming more and more abundant. Almost all mature commercial software relies on the concerted efforts of a development team. "Rome was not built in one day !", When we were shocked by Microsoft Windows, we also heard how Microsoft software engineering improved its specifications. Indeed, the success or failure of software project management is a key link to control development costs when hundreds of employees are combined for several years. The software documentation is an important step.
Software documents can be divided into development documents and product documents.
Development documents include: functional requirements, bidding scheme, requirement analysis, technical analysis, system analysis, database documentation, functional function documentation, interface documentation, compilation Manual, QA document, and project summary.
Product documentation includes: product Introduction, product demonstration, question and answer, function introduction, technical White Paper, evaluation report, installation manual, user manual, maintenance Manual, user report, and sales training.
I. Development Documentation
1. Functional requirements-derived from customer requirements and market research, is the most early stage in software development. The customer proposes a vague concept of functionality, or asks to solve a practical problem, or refer to a function of the same type of software. Customers with software experience will also provide more detailed technical specifications, write a list of all their requirements in the document, and explain them in charts if necessary. This document is the basis of requirement analysis.
2. bidding scheme-according to the functional requirements of users, after communication and confirmation with the tenderee, the technical staff began to write the bidding scheme, which generally includes the following important chapters:
Preface: project background, company background and business, technical personnel structure, and company success stories.
Requirement Analysis: project requirements, software structure, function list, function description, and precautions.
Technical solutions-General requirements and guiding ideology, technical solutions, software development platforms, and network architecture systems.
Project management: describes the company's software development process, engineering implementation services, organization and division of labor, development progress control, Software Quality Assurance, project acceptance and personnel training, software documentation, etc.
Technical support-the company's technical support and service Introduction, service purposes and objectives, service level and response time, technical service area, technical service period, and authorized user contacts.
System quotation-software and hardware platform Quotation List, software development fee, system maintenance fee, etc.
Project Progress-the progress plan of the entire project, it includes time planning for signing contracts, project initiation, requirement analysis, system analysis, program development, testing and maintenance, system integration, user acceptance, and user training.
3. Requirement Analysis-Including Product Overview, main concepts, operation procedures, function lists and explanations, precautions, and system environment. Based on functional requirements, perform detailed functional analysis (including the customer's requirements and features recommended based on development experience) to list what the product is and what special concepts it has, including the categories of functions, what functions are required, how the functions are operated, and what details should be paid attention to during implementation, what requirements the customer has, and the requirements of the system runtime environment. The function description here is consistent with the subsequent user manual.
4. Technical Analysis: includes technical selection, technical comparison, developers, solutions to key technical problems, technical risks, technical upgrade directions, technical solution evaluation, and competitor technical analysis. Based on requirement analysis, perform detailed technical analysis (product performance and implementation methods) to list the technical solutions required for the project, the reasons for the problems, and the technical problems to be solved, it is estimated what difficulties will be encountered during development, how to upgrade the technical solution in the future, and how to evaluate the technology of this project.
5. System Analysis-including function implementation, module composition, function flowchart, function interfaces, data dictionaries, various issues that need to be considered in software development. Perform a detailed system analysis (product development and implementation methods) on the basis of requirement analysis, estimate the problems to be addressed during the development, and explain the issues according to system analysis. start coding under the guidance of the project supervisor.
6. database documentation-including database name, table name, field name, field type, field description, remarks, field value calculation formula, etc. Detailed database design is based on system analysis. If necessary, you can use charts to describe, especially relational databases.
7. Function documentation-including the variable name, initial variable planting, function, function name, parameter, how to call, remarks, and precautions. Based on system analysis, this document describes in detail how many functions are involved in a function, so that programmers can modify, take over, and expand the function in the future.
8. interface document-includes the software appearance, Interface Material, editing tools, file names, menus, buttons, and other interface parts. The interface document is consistent with the running interface after the software is completed.
9. compilation Manual-including server compilation environment, operating system, compilation tool, gnu c ++ compiler version information, directory description, program generation, source program file list, makefile configuration and Related Programs. Client compilation process, compilation result, compilation example, compilation environment, operating system, compilation tool, source file list, and installation program creation process.
10. QA document, which includes product introduction, product principles, product function list, function description, function process, execution results, database structure, and test requirements, is provided to software testers.
11. project Summary-including project introduction, project participants and development time, project risk management process, project function list, project structure characteristics, technical characteristics, project upgrade suggestions project suggestions and personnel quality.
Ii. product documentation
1. Product Introduction-including company background, product concepts, applicability, product features, features, operation requirements, and company contact address.
2. product demo-includes Company Profile, product background, product description, product features, product roles, applicability, Usage Analysis, function modules, problem solving, partners, and success stories. Generally, power
Point or VCD recording software implementation.
3. Q & A: Lists users' concerns and solutions. It is used to answer software operation functions and solve users' problems.
4. Function introduction-Based on requirement analysis, including software introduction, software structure, function list, function description, and company contact address.
5. Technical whitepaper-based on technical analysis, including function implementation, technical selection, solutions to key technical problems, technical solution features, and technical upgrade directions.
6. Evaluation Report-authoritative third-party evaluation report. Including evaluation purpose, evaluation scope, evaluation environment, evaluation content, actual measurement data, performance, result analysis, and Evaluation summary.
7. Installation manual-including the system environment, operating platform, product installation process, initial environment settings, and installation records.
8. User Manual-including product introduction, function list, function description and explanation, function operations, customer service and contact information.
9. Maintenance Manual, including product introduction, System Instructions, initial environment settings, system configuration, data management and backup, technical questions and contact information.
10. User report-including product introduction, purchase time, purpose, time of use, place of use, implementation process, problems and solutions, product summary and suggestions.
11. Sales Training-including project introduction, product functions, product features, business advantages, system operating environment, applicability, and target customers.