Software documentation
Unit I: BCS-35
Software Documentation
• Software documentation is an important part of software process.
• A well written document provides a great tool and means of information repository
necessary to know about software process.
• Software documentation also provides information about how to use the product.
➢ A well-maintained documentation should involve the following documents:
❖ Requirement documentation
This documentation works as key tool for software designer, developer and
the test team to carry out their respective tasks. This document contains all
the functional, non-functional and behavioral description of the intended
software.
Source of this document can be previously stored data about the software,
already running software at the client’s end, client’s interview, questionnaires
and research. Generally it is stored in the form of spreadsheet or word
processing document with the high-end software management team.
This documentation works as foundation for the software to be developed and
is majorly used in verification and validation phases. Most test-cases are built
directly from requirement documentation.
❖ Software Design documentation
These documentations contain all the necessary information, which are
needed to build the software.
It contains:
(a) High-level software architecture
(b) Software design details
(c) Data flow diagrams
(d) Database design
These documents work as repository for developers to implement the
software. Though these documents do not give any details on how to code
the program, they give all necessary information that is required for coding
and implementation.
❖ Technical documentation
These documentations are maintained by the developers and actual coders.
These documents, as a whole, represent information about the code. While
writing the code, the programmers also mention objective of the code, who
wrote it, where will it be required, what it does and how it does, what other
resources the code uses, etc.
The technical documentation increases the understanding between various
programmers working on the same code. It enhances re-use capability of the
code. It makes debugging easy and traceable.
1
Unit I: BCS-35
There are various automated tools available and some comes with the
programming language itself. For example java comes JavaDoc tool to
generate technical documentation of code.
❖ User documentation
This documentation is different from all the above explained. All previous
documentations are maintained to provide information about the software and
its development process. But user documentation explains how the software
product should work and how it should be used to get the desired results.
These documentations may include, software installation procedures, howto guides, user-guides, uninstallation method and special references to
get more information like license updation etc.
2
…