Lecture 1: Introduction

You should focus on the requirements because a mistake in the requirements phase would become very expensive to fix later.

Requirement Definition

A requirement captures the purpose of a system. It is a statement about the proposed system that all stakeholders agree must be made true for the customer’s problem to be solved. I want to highlight two properties of requirements:

  • All the stakeholders agree it is valid
  • It helps solve the customer’s problem

According to IEEE 380-1993, a requirement is defined as: a condition or capability needed by a user to solve a problem or achieve an objective.

Requirements Engineering

Requirements Engineering is the activity of development, elicitation, specification, analysis, and management of the stakeholder requirements, which are to be met by a new or evolving system.

That is requirements engineering is the process of creating the requirements.

Requirements Engineering Activities

There are 6 activities in requirements engineering:

  • Inception: Starts the process. It involves building a business case, a preliminary feasibility assessment, and a preliminary definition of project scope.
  • Requirements Elicitation: Discovering the requirements through consultations with the stakeholders
  • Requirements Analysis and Negotiation: The process of studying and analyzing the needs of stakeholders and resolving conflicts between requirements
  • Requirements Specification: The definition of the behavior of the new system. It includes the creation of the specification document that clearly and precisely describes the requirements of the system.
  • Requirements Verification and Validation: Ensures the delivery of what the client needs, and is performed at every stage
    • Verification: The product is being built in the right way
    • Validation: The right product is being built
  • Requirements Management: Used to cope with changes in the requirements