What Is a Software Design Document?

Software development documents are necessary materials in the process of software development, use and maintenance. It can improve the efficiency of software development and ensure the quality of the software. In addition, it has the functions of guidance, help, and deconfusion in the process of using the software. Especially in the maintenance work, documents are indispensable information.

Software Development Document

Software documentation can be divided into development documentation and

Software Development Document

1. "Functional Requirements"-derived from customer requirements and market surveys, is the earliest link in software development. The customer proposes a vague functional concept, or asks to solve a practical problem, or refers to a function of similar software. Customers with software experience will also provide more detailed technical specifications, write down their full list of requirements in the document, and explain the diagrams when necessary. This document is the basis of a requirements analysis.
2. "Bid Plan"-According to the user's functional requirements, after communicating and confirming with the bidder, the technical staff began to write the "Bid Plan". The proposal book generally includes the following important chapters: Foreword-Project background, company background And business, technical staff structure, company's success stories, etc. Requirements analysis-project requirements, software structure, function list, function description, precautions, etc. Technical solutions-general requirements and guiding ideology, technical solutions, software development platforms, network architecture systems, etc. Project management-describe the company's software development process, engineering implementation services, organization and personnel division, development progress control, software quality assurance, project acceptance and personnel training, software documentation, etc. Technical support-company's technical support and service introduction, service purpose and goal, service level and response time, technical service area, technical service period, authorized user contact, etc. System quotation-software, hardware platform quotation list, software development costs, system maintenance costs, etc. Project progress-the schedule of the entire project, including time planning for steps such as signing a contract, project initiation, requirements analysis, system analysis, program development, test maintenance, system integration, user acceptance, and user training.
3. "Requirement Analysis"-including product overview, main concepts, operating procedures, function lists and explanations, precautions, system environment, etc. Based on the "Functional Requirements", carry out a detailed functional analysis (including the requirements put forward by customers and the functions recommended based on development experience), and list what this product is, what special concepts are included, what functional categories are included, and what functions are required What is the operation of this function, what details should be paid attention to when implementing, what requirements do customers have, and the requirements of the system operating environment. The function descriptions here are consistent with future manuals.
4. "Technical Analysis"-including technology selection, technology comparison, developers, key technical issues, technology risks, technology upgrade directions, technical solution evaluation, technical analysis of competitors, etc. Based on "Requirement Analysis", carry out detailed technical analysis (product performance and implementation methods), list what technical solutions are needed for this project, why, what technical problems to solve, and estimate what difficulties will be encountered during development. How to upgrade the technical solution in the future, what is the evaluation of the technology of this project?
5. "System Analysis"-including function implementation, module composition, function flowchart, function interface, data dictionary, various issues that need to be considered in software development, etc. Based on the "Requirement Analysis", a detailed system analysis (product development and implementation method) is carried out. It is estimated that what problems need to be explained during development. The programmer according to the "System Analysis" starts to code under the leadership of the project leader.
6. "Database Document"-including database name, table name, field name, field type, field description, remarks, field numerical calculation formula, etc. Based on "System Analysis", detailed database design is carried out. Diagrams can be used when necessary, especially relational databases.
7. "Functional Function Documentation"-including variable names, variable initial values, functions, function names, parameters, how to call, notes, precautions, etc. Based on "System Analysis", a detailed description is given, listing which functions involve how many functions, so that programmers can modify, take over and expand in the future.
8. "Interface Documentation"-Includes software appearance, interface materials, editing tools, file names, menus, buttons, and other interface requirements. This is the same as the running interface after the software is completed.
9. "Compilation Manual"-Includes the server compilation environment, operating system, compilation tools, GNU C ++ compiler version information, directory description, program generation, source program file list, Makefile configuration and the corresponding relationship list of related programs. The client's compilation process, compilation results, compilation examples, compilation environment, operating system, compilation tools, source file list, and the process of making the installer.
10. "QA Document"-Includes product introduction, product principle, product function list, function description, function process, execution result, database structure, test requirements, etc., which are provided to software testers for use.
11. Project Summary-including project introduction, project participants and development time, project risk management process, project function list, project structure characteristics, technical characteristics, upgrade recommendations for the project, recommendations for future projects, staff quality Situation, etc.

Software Development Documentation Product Documentation

1. "Product Introduction"-including company background, product concept, scope of application, product features, functional features, operating requirements and company contact address.
2. "Product Demo"-including company profile, product background, product description, product features, product role, scope of application, use analysis, functional modules, problem solving, partners, success stories, etc. Usually implemented with Power point or VCD recording software.
3. "Questions and Answers"-List the questions and solutions that users care about. Used to answer the software's operational functions and solve user's difficult problems.
4. "Feature Introduction"-Based on "Requirement Analysis", including software introduction, software structure, function list, function description, and company contact address.
5. "Technical White Paper"-Based on "Technical Analysis", including function realization, technology selection, solution of key technical problems, technical solution features, and technical upgrade directions.
6. "Evaluation Report"-third-party authoritative evaluation report. Including evaluation purpose, evaluation scope, evaluation environment, evaluation content, measured data, performance, performance analysis and evaluation summary.
7. "Installation Manual"-including system environment, operating platform, product installation process, initial environment settings, installation records, etc.
8. "User Manual"-Includes product introduction, function list, function description and explanation, function operation, 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, etc.
10. "User Report"-including product introduction, purchase time, use purpose, use time, use place, implementation process, problems and solutions, product summary and suggestions, etc.
11. "Sales Training"-including project introduction, product features, product features, business advantages, system operating environment, scope of application, target customers, etc.

Software Development Document

First, the requirements analysis document
The user requirements analysis document refers to recording the information required by the user when communicating with the customer, conducting a demand analysis according to the user's requirements, and planning out what functions the software we are going to implement.
Second, the outline design document
Summary design: As the name implies, it is a general summary of the software we are developing, and designing the functional modules contained in this software. Afterwards, we will have goals and directions when we develop.
Third, the system design document
System design is a detailed implementation of the outline, which is to analyze the small modules contained in the major functional modules of the software we are going to develop, enumerate these small modules, and then carry out a methodical process for software developers Distribution of development tasks.
Fourth, detailed design documents
The detailed design document is mainly to express the business logic processing of each of our small modules and small functions in words, so that programmers have a basis and reference when coding; at the same time, when designing detailed documents, Software companies will also make corresponding "Software Development Code Specification" documents according to different projects. To ensure the unity of what we do.
Fifth, software test documents
After we have finished coding the detailed design document with reference to the software, we will then write the software test document according to the functions we have implemented; most of the test documents are of two types, one is the software unit test document and the other is the software combination test. Documentation; as the name implies, unit testing: a document that tests each small method in the software, an independent method; combined testing: that is, combining multiple functional modules to test, mainly to test each functional module The combination of previous interactivity and functionality was achieved.
Sixth, the summary report after the software is completed
Regardless of the size of the software being developed, after a software development is completed, we will record the problems in the development together with the project development summary to prevent similar problems from occurring in the future during the development process and improve our development efficiency.
Depending on the size, standards, and customer needs of software development companies, the types and number of development documents are different. The software development related documents I discuss with you here are the most basic; there is a saying in the software industry: a software can Whether it is successfully completed and the functions are complete. The important thing is to see how many documents this software has. The software development documents are a pillar of the software. If your development documents are full of loopholes, then the software you developed may not be good; development documents The quality of the software can directly affect the success of the software developed.

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?