Content area
Full Text
Abstract
Software Documentation is a critical activity in software engineering. Documentation improves on the quality of a software product. It also plays significant roles in software development environment and system maintenance. Several software development best practices are ignored. This paper looks at the importance of software documentation, creation, applications, tools and standards.
Keywords: Software Documentation, Importance, Role, Applications, tools and standards
1. Introduction
Many factors contribute to the success of a software project; documentation included. Software documentation is an artifact whose purpose is to communicate information about the software system to which it belongs [1]. Parnas [2] defines a document as a written description that has an official status or authority and may be used as evidence. In development, a document is usually considered binding, i.e. it restricts what may be created. If deviation is needed, revisions of the document must be approved by the responsible authority.
Systematic approaches to documentation increase the level of confidence of the end deliverable as well as enhance and ensure product's success through its usability, marketability and ease of support [3]. "The dominant factor between a successful project and an unsuccessful project reduces to the effective dissemination of key information and successful software projects become successful because they give the right level of attention to clearly communicating the key concepts and requirements" [4].
Capri defines a successful documentation as one that makes information easily accessible, provides a limited number of user entry points, helps new users learn quickly, simplifies the product and helps cut support costs.
Poor documentation is the cause of many errors and reduces efficiency in every phase of a software product's development and use [2]. Documentation is an activity that needs to commence early in development and continue throughout the development lifecycle. It acts as a tool for planning and decision making.
2. Motivation
After assessing students' projects for a period of time, we realized majority of the students are neither enthusiastic nor motivated in the area of documentation. Most of them prefer only one phase of software development which is, coding. From this issue, we developed a desire to deeply understand software documentation: applications, benefits, creation and role in software development environment. Does it contribute to the success of a project? This led us...