Introduction Software engineering is a concept that has received significant recognition as a result of the massive increase in technological advancement around the world. Many engineers engage in processes of designing software that is essential at both individual and corporate level. Some of these processes call for particular approaches in ensuring that the specifications of what is designed to meet the standards and needs of customers (Davis, 1990). In addressing this concern, it has been noted that the notion of software documentation should not be underestimated as it plays core roles in software engineering. This research paper analyses the concept of software documentation by focusing on the sub field of software requirements as applied in software design. Documentation Software documentation refers to a written text which usually accompanies most computer software after they have been designed. In essence, software documentation serves an informative role in explaining how particular software work or how to use in performing different tasks (Wiegers, 2003). As result, software documentation differentiates the functionality of given software depending on the roles being performed by an individual. When talking about software documentation, one has to consider a number of things. In other words, there are basic things which define documentation or, which have to be present for it to serve its rightful purpose effectively. For instance, documentation contains software features, which are core in understanding how the software operates. What are features? A feature is simply a service normally provided by a given system with an aim of satisfying the needs of stakeholders, which could be one or more (Hartman, Proeme & Matthes, 1968). In other words, the intended use of the software is usually linked to the specific features of software to be designed. In understanding software documentation, it has been argued that there are several software requirements that are equally important and need to be considered in ensuring efficiency. What is a requirement? From a general perspective, a requirement refers to something, which is crucial and essential for the existence or occurrence of another. In our daily lives, it is sometimes hard or impossible to write down what people have been saying or describe how far a particular process has come. Are features and requirements similar? The two are distinctively different although many people confuse them. Within the context of software documentation, a feature is represented graphically with an abstract use case. This differs from software requirement as it is represented graphically with a concrete use case. Use cases simply refer to the description of certain steps or actions between a user, also known as actor and a software system, which leads the user towards realizing something useful being searched. Whatever that is found is also referred to as a restaurant (Satzinger, Jackson & Burd, 2008). The most significant point about use cases is that they help in determining features to be implemented and how certain errors can be improved. Due to the importance of software requirements, the process of determining them has to be ef