Software Requirement Study

Requirements Definition

A software requirement is an abstract description of services that the system shall provide and the constraints under which the system must operate.

Requirements determination involves studying the current business system to determine how it works and where improvements should be made. Systems studies result in an evaluation of how the current methods work and whether adjustments are necessary or possible.

A requirement is a feature that must be included in a new system. It may include a way of capturing or processing data, producing information, controlling a business activity, or supporting management. The determination of requirements thus details the study of the existing system and the collection of details about it to determine the requirements. The requirements can either be functional or non-functional.

Requirement Analysis

Requirement Analysis is a Software Engineering task that bridges the gap between system level requirement engineering and software design. Software requirements analysis has been divided into five areas of effort.

  1. Problem Recognition
  2. Evaluation and Synthesis
  3. Modeling
  4. Specification
  5. Review

Requirement Elicitation for the Software

Before requirements can be analyzed, modeled or specified they are gathered through an elicitation process.

Context free questions were asked to the management people belonging to various large organizations/institutes regarding how they would characterize a good output that would generate a successful solution, what kind of problems the solution will address, how they describe the environment in which the solution will be used and will special performance issues or constraints affect the way the solution is approached.

Quality function requirements

Quality Function Deployment (QFD) is a quality management technique that translates the needs of the customer into technical requirement for software.

In QFD three types of requirement are identified.

Normal requirements:

  1. Graphical Displays:

    • Fully menu driven.

    • Intuitive key assignments and user interactive screen.

    • User configurable.
     
  2. Backup and restore facilities.
     
  3. Facility to add, delete, modify and use records.
     
  4. Report Generation.

Expected requirements

This requirement is implicit to the product or system and may be so fundamental that the customer does not state them.

The following are listed:

  1. Indexing
  2. Ease of human/machine interaction
  3. Reliability and operational correctness
  4. Ease of software installation
  5. Single point data storage for each data element
  6. Maintenance of integrity and connection of data
  7. Extensive query facility to provide immediate answers for management
  8. Matching of physical and logical movement of files
  9. Should by upgradeable to incorporate new features
  10. Should be expandable
  11. Should have fastest possible response while processing queries, reports and updates.

Exciting requirements

  1. Help features
  2. Error control mechanism
  3. Tool up next display
  4. Graphical animations
  5. Other look and feel appeals

Security requirements

The following security requirements are considered in this project:

  1. User Level Authentication
  2. Restricted Menu Access
  3. Back up and Restore

Functional requirements include the statements of the service the system should provide.

Non-Functional requirements include constraints on service or functions provided by systems.

Non-Functional Requirements

The Non-functional requirements can be classified into three main categories that are:

  1. Product requirement
  2. Organizational requirement
  3. External requirement

Product Requirements

These are the expectations from a system. Product requirements include the following.

Usability Requirements

The system should have a good interface and it should be user friendly because it is the user that will be using the system most of the time. Along with the user friendly interface the system should be easy to use and should not be confusing. A list of commands or instructions on how to work with the system and operate it should be provided with the system.

Efficiency Requirements

To make the system run efficiently the system requirements of the software must be kept to a minimum.

Reliability Requirements

A system is said to be reliable if a user can depend on it. The process should be executed exactly in the same manner it has been programmed and the output of the project must be very correct. If the output is not reliable then there is no advantage of using the software. Moreover, the database must be handled very carefully because loss of the data may result in bankrupting or closing the organization.

Reference: https://en.wikipedia.org 

Thanks