?? How to Write specific design documents

Source: Internet
Author: User

Writing a specific design document is a headache. Simply put, it is the sublimation of the requirement document. It can also be the basis for developers to develop programs. Of course, it is based on the granularity of the specific design document. A good specific design document serves as a bridge between the demand personnel and the developers, but at present many program development tasks are developed first, and then, in order to cope with the review, company system, and document specifications, make up this document after development. Assuming this method, the specific design document is ignored.

 

In most software projects, no specific design is required at the end, or the specific design documents are supplemented after development. The quality is not optimistic, and documents and systems are often not synchronized, the specific design documents are completely in the form, which does not provide practical help for the work.

So should we write a specific design document? How can we make a specific design document play its due role? Let's take a look at the advantages and problems of specific design and writing specific design documents.

·Concept

The specific design is relative to the Outline Design and an important part of the waterfall development process. On the basis of the high-level design of the outline design, each module is logically implemented, it is the main materials used in the coding stage, and is the concrete implementation of the idea of gradually refining from the top to the bottom.

The specific design document contains the algorithm design, interface design, data structure design, and interaction design of each module. You must clearly define the modules, interfaces, and public objects, specify the various execution conditions and expected results of each module program, and correctly handle various possible exceptions.

·Purpose

In the development process, problems caused by incorrect requirements and design and incomplete design are a major factor for project delays and failures, an important feature of the software system is the continuous construction and improvement of requirements and design. In the process of writing a specific design document, The specific design is actually a logical construction of the system, which can effectively verify the integrity and correctness of the requirements.

If you do not write a specific design document, you will generally go directly to the coding stage from the overview. The materials that developers can take into consideration are the requirement specification, page prototype, and database design, and cannot be directly developed, communication of information is required to clarify the design that cannot be embodied in the page prototype. This makes it easy to forget and fault easily, the specific design document can be used as a communication tool between the requirement personnel, the overall design personnel and the developers. It reflects the design that cannot be reflected on the static page, including the specifications of the overall design for the module design, it reflects some design decisions, such as the selected algorithms and design considerations for some key issues, so that developers can quickly enter development, improve communication efficiency, and reduce communication problems.


For system function adjustment and later maintenance, the detailed configuration documents provide the module design considerations and decisions, it contains the relationship between the module and the overall design, the database design referenced by the module, the processing process of important operations, and the design of important business rules. It provides the overview information of the module design, clarified the decision-making on the module design. Combined with the code gaze, the original design can be easily understood.

·Problem

It is more troublesome and time-consuming to be written by special people. It will put pressure on the progress and easily form a bottleneck, which will overload the designers, developers have nothing to do. For today's database-centric management systems, this work is always necessary. The difference is only that it is not a specialized document, and it may take a week or two to form a document, however, it is worthwhile to avoid risks and problems. In addition, because of the popularity of advanced languages, more specific designs should be reflected in the code design, documents only reflect some design decisions, coordinate the relationship between the overall design and the module design, and document the design situations that cannot be reflected by the page prototype, therefore, the time spent is limited.

The design content is easy and meticulous, but the design phase cannot be particularly clear, and the time does not agree.
A countermeasure is mentioned above. The document only reflects the design decisions and the information that the page prototype cannot reflect, the specific design only reflects some considerations of the overall design for the module design, such as the functional database design. The specific implementation is implemented in the code, the related design is only reflected in the Code.
When requirements and designs need to be constantly updated and constructed, the design documents need to be constantly adjusted and the maintenance of documents must be kept up with each other. Otherwise, the synchronization of documents and systems is very difficult to guarantee, and cause excessive workload. The document is easy to understand, and the quality is poor. It cannot be used as a testing tool for developers. First, we need to establish relevant systems. If there are any changes, we need to modify the document before development, ensure the synchronization of documents and systems from the workflow. Second, standardize the quality of documents, what should be written to documents, what should be written, what should be standards, and what is the granularity, how should the syntax be organized, with clear standards and considerations? At the same time, an audit document review and review system should be established to fully ensure the use of the system.

 

·Procedure

The following describes how to write a specific design document that meets the requirements and is useful.

The first is the document content. Based on the differences between projects and teams, the content of specific design documents is also different. Generally, the granularity should not be too small, and it cannot replace developers' design and thinking, however, we need to consider the design decisions, including the relationship with other modules, the overall design, the Operation processing process, and the design consideration of business rules. There is a standard, all design decisions that cannot be reflected by the page prototype and requirement specification, and developers need to understand them, must be written into the document.

Secondly, the document is intended for readers, mainly for module developers and post-maintenance personnel. Module developers learn about the developed functions through specific design documents and page prototypes, later maintenance personnel learn about a function through the actual system, module code, and specific design documents.

The other reason is who will write the document. Because the document mainly takes into account design decisions, the person who writes the document should be the technical manager and Senior Programmer who is responsible for the design of shujia, depending on the team situation, the project scale and complexity are also different.

It is also necessary to ensure the readability, accuracy, and consistency of documents. Strict document templates and standards should be established to ensure the readability and accuracy of documents. A review and design review system should be established at the same time, to ensure the quality of the design and documentation. In addition, in the workflow process, we must first design, write documents, and then develop them.

?? How to Write specific design documents

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.