Requirements in Web Applications: Examples & Challenges

Instructor: Olu Adesida

Olu has a Master of Science degree in Business Information Technology.

In the lesson you will learn about the importance of requirements gathering in building a web application. The lesson will also introduce some of the challenges faced during this process. Updated: 04/23/2021


The application development process is fairly standard regardless of the type of application being developed. All applications start with an idea which would have come from thinking in terms of a potential solution to an identified problem. It is no different for a web application. Once the idea for a web application has been identified, it is important to formally define the stakeholder requirements of the application. The process of generating the requirements i.e. needs, tasks and goals of the application is known as requirements gathering.

In this lesson, we'll be using the example of an online collaboration application, wherein users can create documents, logs, videos, discussions and collaborate on them. The application also has an approval work flow for content publishing, as well as an admin function which can generate participation and usage reports.

Requirements Gathering Defined

The process of requirements gathering is the first and crucial phase of the software development life cycle (SDLC) process. This sets the stage for the subsequent phases. It is at this phase that the assessment of the business goals or the objective that an application is required to meet is fleshed out.

In software engineering, requirements gathering identifies the functional and non-functional requirements of the web application.

Functional Requirements

Functional requirements are those which are related to the technical functionality of the system. Functional requirements state how the users will interact with the application. It is something the application must do and can be testable. For the online collaboration application, the functional requirements may include:

  • Descriptions of content to be created and published in the system i.e. documents, blogs, videos etc.
  • Descriptions of operations performed by each screen
  • Descriptions of content approval work-flow process
  • Descriptions of participation and usage reports

Non-functional Requirements

Non-functional requirements specify criteria that can be used to judge the operation of a system in particular. Conditions, rather than specific behaviors. While functional requirements define what a system is supposed to do, non-functional requirements define how a system is supposed to be. Non-functional requirements are often called 'quality attributes' of a system. Examples of non-functional requirements for the online collaboration application may include:

  • Performance - how much time each page should take to load
  • Scalability - will the system be able to handle large volume of users that keeps increasing
  • Capacity - how much storage will be needed
  • Availability - availability and downtime of the application
  • Security - this includes security of the content and encryption etc.

The Requirements Gathering Process

Requirements gathering can begin as a brief description of what the online collaboration application must have as a minimum and what users will be able to do on it. As those requirements are fleshed out, they would need to be defined, described and documented.

While there is no perfect way to identify and gather requirements, some commonly used methods include:

  • Interviews - this is one-on-one dialogue with users and clients.
  • Survey - this technique is used to collect information and requirements within a short time frame, from a large user group.
  • Storyboarding - in this technique, the interactions between the system and user, are visualized.
  • Use Cases - this technique shows how people interact with the online collaboration application. It shows what the application does.
  • Questionnaires - this method is used for getting requirements from large groups of distributed users
  • Brainstorming - in this method, subject matter experts conduct sessions where solutions to complex issues are discussed.
  • Prototyping - this technique involves building a model of the software which helps in uncovering and capturing software requirements

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it now
Create an account to start this course today
Used by over 30 million students worldwide
Create an account