--- Video Title: Software Documentation Description: Software Documentation Watch more Videos at https://www.tutorialspoint.com/videotutorials/index.htm Lecture By: Mr. Arnab Chakraborty, Tutorials Point India Private Limited --- Software documentation. Software documentation is very important because it describes the detailing the information about the software development process. So, 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 the software process. So, that is why to have the detailing about the software process to keep this one in the repository, this software documentation is required. Software documentation also provides information about how the how to use the respective product. That means, the software product we know that whenever a software is being developed for a certain purpose, then that particular software will be known as a software product. So, also it will help us to know that how to use Choose that respective product. So, a well-maintained documentation should involve the following documentation. So, what are the different sections of here? So, we are having 4 sections. So, once is recommended documentation, software design documentation. We are having the technical documentation, and the user documentation. So, four different types of documentation are there. So, let us discuss one by one. So, at first I am going for requirement documentation. This documentation works as key tool for software designer, developer and the test team to carry out because this is our requirement documentation. So, at the beginning phase, we always do the communication with the client, with the respective stakeholders in the domain to get the requirement analysis. To do the... to gather all these requirements whatever is going to get implemented in the software. So, that is why this documentation works as a key tool for software designer and also for the software developer and the test team to carry out their respective tasks. Because the test team who will be working in the later phase of the software development process, they should be also knowing that what are the requirements and really the software is delivering that requirement with the required precision and all. So, that will be tested. So, this recommend documentation is also required by the testers along with obviously, designers and the developers. This document contains all the functional and the non-functional and behavioral description of the intended software. So, in case of functional requirements, we know that. So, we are having different business processes are to be initiated. The functional requirements will be there, how the transactions will take place, who will We will have what kind of eligibility in the respective system, how many different apps of users will be there. So, these are the functional requirements. And in case of non-functional requirements, we are having that how the how the software the security will be ensured thus how the software is safe, how the software is in interoperability, and what are the infrastructures required, what are the authentication methods we are using. So, what is the respective the deployment details. So, all these things are coming under this non-functional. So, functional, non-functional, and behavioral descriptions of the intended software will be kept in this requirement documentation. Source of this document can be previously stored data about the software, already running software at the client's end, the client's interview, questionnaires, and research. So, from here we can develop this requirement documentation. 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 the verification and the validation phases in the testing. So, most test cases are built directly from this requirement documentation. So, we have got the detail idea about this requirement documentation. So, now we are going to discuss this software design documentation. So, we had the four different documentation. So, one was the requirement documentation, we have discussed. Next, we are going to discuss this software design documentation, then we will be having the technical and the user documentation. So, these software design documentation contain all the necessary information that are needed to build the software. So, what are the different features are to be implemented and what are the different information which are to be required for the building of the software, they will be kept in the software design documentation. So, what are the different issues? So, let me discuss them into details. So, high level software architecture, what is the software architecture we are going to use? The software design details, the data flow diagrams and the database design. So, here Here we can be using multiple UML diagrams. So, for this particular software design documentation. These documentation work as a repository for developers to implement the software. And though these documents do not give any detail on how to code the program, they give all necessary information that is required for coding and the respective implementation of the software. So, it is a high level one. So, obviously, the technical documentation will come which will be very much close to the implementation part and the coding part. But it from this particular software design documentation, you are getting the idea that high level software architecture, the software design details, the data flow diagrams and respective database design, how the database design will be done. Here we can also consider the year diagrams and so on. Schimmer diagrams may come also here. So, this is our part of the software design documentation. So, now let us go for the technical documentation. These documentations are maintained by the The developers and actual coders and these documents as a whole represent information about the code. Now, we are coming to the code and implementation. While writing the code, the programmers also mentioned objective of the code, who wrote it, where will it be required and what it does and how it does, what other resources the code uses, etcetera. So, depending upon what to be implemented, what is the purpose of the code and what are the other resources it will be required, who wrote it, all this detailing will be kept in this respective technical documentation because it is very much close to the coding part. The technical documentation increases the understanding between the various programmers working on the same code and it enhances the reuse capability of the code and it makes debugging easy and also for the accessible. So, this is the documentation which will be used by multiple developers and coders working on the same code. So, there are various automated tools available and some comes with the programming language itself. For example, Java comes with the javadoc tools to generate technical documentation of the code. So, we know that in case of Java, there is a very easy way to create the. Java documentation using the javadoc tools with the help of which the documentation against this respective coding can easily get generated. So, it is not lagged that all the documentation going to get generated manually that has different tools and software are available with the help of which this documentation can easily be created. So now, let us go for the last type of documentation that is a user documentation. So, this documentation is different from all the above explained three categories. So, all the previous documentations are maintained to provide the information about the software and its related development process and obviously the implementation process. But user documentation explains how the software product should work and how it should be used to get the desired results. So, that is why it is called the user documentation from the user perspective this documentation will be prepared. This documentation may include software installation procedures, how to guides, user guides, uninstallation method and special references to get more information like the license, updations and etcetera. So, from the user's perspective how to install it, how to use it, how to uninstall it, how to get the respective license updates. So, all this detailing will be done, will be kept in this user documentation. So, in this way, in this particular video session, we have discussed the software documentation. Thanks for watching this video.