Design Documentation in Software Engineering

The design phase of software development deals with transforming the customer requirements as described in the SRS documents into a form implementable using a programming language. The software design process can be divided into the following three levels of phases design:

Software Design Document:

Software Design Document is a written document that provides a description of a software product in terms of architecture of software with various components with specified functionality.

The design specification addresses different aspects of the design model and is completed as the designer refines his representation of the software. These design documents are written by software engineers/designers or project managers and further passed to the software development team to give them an overview of what needs to be built and how.

  1. Existing software documentation
  2. System Documentation
  3. Vendor(hardware or software) documents
  4. Technical reference
  1. Processing narrative
  2. Interface description
  3. Design language(or other) description
  4. Modules used
  1. System objective
  2. Hardware, software and human interfaces
  3. Major software functions
  4. Externally defined database
  5. Major design constraints, limitations
  1. Data description
  2. Derived program structure
  3. Interface within structure
  1. Test guidelines
  2. Integration strategy
  3. Special considerations
  1. Special program overlay provisions
  2. Transfer consideration
  1. External Files structure
  2. Global data
  3. File and data cross – reference

Importance of Design Documentation:

1. Requirements are well understood: With proper documentation, we can remove inconsistencies and conflicts about the requirements. Requirements are well understood by every team member.

2. Architecture/Design of product: Architecture/Design documents give us a complete overview of how the product look like and better insight to the customer/user about their product.

3. New Person can also work on the project: New person to the project can very easily understand the project through documentations and start working on it. So, developers need to maintain the documentation and keep upgrading it according to the changes made in the product/software.

4. Everything is well Stated: This documentation is helpful to understand each and every working of the product. It explains each and every feature of the product/software.

5. Proper Communication: Through documentation, we have good communication with every member who is part of the project/software. Helpful in understanding role and contribution of each and every member.