How to Do a Design Document for Software

Software design documents come in many varieties, but almost all share the common goal of describing software functions, data or interfaces. Design documents range from high-level architectural documents to detailed design documents, interface control documents and flowchart documents. Some design documents are free form, while others follow a more formal approach such as the Unified Modeling Language (UML).

1
Determine what level your design document will cover. For example, if you are doing an interface control document between your software and another system or software component, then you'll need a low-level design document that will include details of the interface. On the other hand, if you are working on a new design, then you may need a design document such as an architectural design document that shows the software at a high level of abstraction.

2
Determine what information to include. The information to include will depend on the type of design document you are drafting and whet level of detail you need. For example, in an interface control document, you'll need to include information such as a description of the data that will be transferred over the interface, how requests are made and how those requests are answered. You may also include other information, such as how future expansion or modifications will be handled and how errors are handled.

3
Draft a document outline. Once you know what information you'll be including, you can draft an outline of the design document. The outline will serve as your framework for writing the design document. Once you have your outline completed, check the outline against the level of detail and information you decided to include to make certain that your document will cover what you planned to cover.

4
Add design information to your outline. Using the outline you created in the previous step, begin filling in the details of the design document. In the interface control document example, you may identify things like the specific data items that are exchanged in a particular data structure or the timing of data exchanges. You should write your design document to a level of detail that completely conveys the information needed to understand the design at the appropriate level.

5
Update your design document as things change. Software designs typically evolve as a project progresses. Be sure to revisit your design document and keep it up-to-date with your current design so that when the project is complete, the design document accurately reflects the completed design and can be used by others in the future for maintenance or modification tasks.

你可能感兴趣的:(UML)