Loading

Requirement Analysis


Software development emanates from a 'need', a need for a complete application that keeps a track of activities of an organisation. For example a healthcare system is in need of a software that records and maintains the details of all its patients and staff members or a university would be interested in a software which stores the information of its students, teachers, admin, hosteller etc.

As per IEEE definition requirement analysis is - 'the process of studying and refining system, hardware or software requirements'.

Requirement Analysis is a technique that takes into account what is in the mind of the end user and how far we are able to perceive the facts in exactly the same manner. It includes broadly three types of activities:

  • Eliciting requirements:This is about communicating with customers to understand their needs from their point of view. This is often termed as 'requirements gathering'.
  • Analysing requirements:Post assimilation of all requirements, the next activity is to assess whether the information gathered isn't incomplete, ambiguous or redundant. If found they must be resolve with immediate effect.
  • Recording requirements:Documenting the requirements is an important activity as it would be needed for reference. So requirements can be documented as use cases, user stories or simply in a normal language.
  • Requirement Analysis

Steps in Requirement Analysis:

The process of requirement analysis involves quite a few things. Usually business analysts are involved in the process of requirement gathering who carefully analyses both functional and non-functional aspects of the application to be undertaken.

  • Requirements scope:Scope of project's requirement is identifying the space where the requirement specifications fit well with the business goals.
  • Stakeholder identificationRequirement analysis also takes into account identification of stakeholders involved in a project whose input would be considered a valuable guidance towards designing a path towards achieving goal of the project.
  • Requirements elicitation or requirements gathering :After gathering all the relevant facts pertaining to a project, the interaction with stakeholders take place on the basis of in-person interviews, focus groups, market study, surveys etc.
  • Requirement analysis :After capturing desired data, a well-defined structure is required to present the matter for a better understanding of the subject.

    Use case diagrams are created to analyse the underlying meaning of the project in greater detail.

  • Software requirement specification :Once data is completely analysed it is time to capture the entire information into a single document known as the 'Software Requirement Specification (SRS)'. An SRS provides a foundation which guides the design and development activities.
  • Software requirements management:This is the final step for concluding the requirements analysis phase which involves validating the specification document to ensure that the details are correct to the core and if errors exist then correcting the same.

Analysis Model:

  • Structured Analysis: This approach follows a top-down strategy that emphasises on refining the problem using data gathered during analysis phase to minimise the complexity. Structured analysis provides a graphical representation which could be depicted through data flow diagram (DFD).

    A DFD is a representation of a structure in which the connection between two or more entities are shown.

    Data Flow Diagram

    This DFD represents the association between customers and retail book store and how an interaction takes place among them.

  • Object oriented modelling: In this model, the concepts of 'object-oriented programming' plays the role. The key aspects of an object-oriented programming are:
    1. Object: An instance that is used as a description for a class.
    2. Class: A collection of objects of similar kind that describes the operations to be performed.
    3. Attribute: A set of data values used to describe state of a class.
    4. Operation: The functions to be performed by a method within a class.
ThinkSys Advertisement
ThinkSys Advertisement
ThinkSys Advertisement


Advertisement:

ThinkSys Advertisement


LP

App development ad thinksys

Devops