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:
- Interface Design
- Architectural Design
- Detailed 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.
|S.No||Software Design Document||Module, Subpart|
|02.||Modules for each module||
|07.||File Structure and global data||
|08.||Requirement cross-reference||1. 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.