Software Requirements Engineering

Software Requirements Engineering, functional and non functional requirements

-Requirement analysis – Requirement engineering process– Requirement engineering– software Requirement engineering – Requirement engineering specification -Software -Software engineering concept -Software engineering MCQ -Software engineering Interview Question –Software engineering question paper free course onlinepast papers -final year projects for computer science with source code -semester project ideas -computer programming -computer science interview questions- tutorial –cui

Requirements Engineering

  • The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed.
  • The requirements themselves are the descriptions of the system services and constraints that are generated during the requirements engineering process.

Types of requirement

  • User requirements

–Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers.

  • System requirements

–A structured document setting out detailed descriptions of the system’s functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor.

User and system requirements

Functional requirements

  • Describe functionality or system services.
  • Depend on the type of software, expected users and the type of system where the software is used.
  • Functional user requirements may be high-level statements of what the system should do.
  • Functional system requirements should describe the system services in detail.

Functional requirements for the PMS

  • A user shall be able to search the appointments lists for all clinics.
  • The system shall generate each day, for each clinic, a list of patients who are expected to attend appointments that day.
  • Each staff member using the system shall be uniquely identified by his or her 8-digit employee number.

Non-functional requirements

  • These define system properties and constraints e.g. reliability, response time, and storage requirements
  • Constraints are I/O device capability, system representations, etc.
  • Process requirements may also be specified mandating a particular IDE, programming language or development method.
  • Non-functional requirements may be more critical than functional requirements. If these are not met, the system may be useless.

Metrics for specifying non-functional requirements

Property Measure
Speed Processed transactions/second

User/event response time

Screen refresh time

Size Mbytes
Ease of use Training time
Reliability Mean time to failure

Probability of unavailability


Robustness Time to restart after failure

Percentage of events causing failure

Portability Number of target systems

The software requirements document

  • The software requirements document is the official statement of what is required of the system developers.
  • Can include both a definition of user requirements and a specification of the system requirements.
  • It is NOT a design document. As far as possible, it should set of WHAT the system should do rather than HOW it should do it.

Users of a requirements document

The requirements elicitation and analysis process

Process activities

  • Requirements discovery

–Interacting with stakeholders to discover their requirements. Domain requirements are also discovered at this stage.

  • Requirements classification and organization

–Groups related requirements and organizes them into coherent clusters.

  • Prioritization and negotiation

–Prioritizing requirements and resolving requirements conflicts.

  • Requirements specification

–Requirements are documented

Requirements management

  • Requirements management is the process of managing changing requirements during the requirements engineering process and system development.
  • New requirements emerge as a system is being developed and after it has gone into use.
  • You need to keep track of individual requirements and maintain links between dependent requirements so that you can assess the impact of requirements changes. You need to establish a formal process for making change proposals and linking these to system requirements.


Requirements management planning

  • Establishes the level of requirements management detail that is required.
  • Requirements management decisions:

Requirements identification Each requirement must be uniquely identified so that it can be cross-referenced with other requirements.

A change management process This is the set of activities that assess the impact and cost of changes.

–Tool support

Requirements change management

  • Deciding if a requirements change should be accepted

–Problem analysis and change specification

  • During this stage, the problem or the change proposal is analyzed to check that it is valid. This analysis is fed back to the change requestor who may respond with a more specific requirements change proposal, or decide to withdraw the request.

–Change analysis and costing

  • The effect of the proposed change is assessed using traceability information and general knowledge of the system requirements. Once this analysis is completed, a decision is made whether or not to proceed with the requirements change.

–Change implementation

  • The requirements document and, where necessary, the system design and implementation, are modified. Ideally, the document should be organized so that changes can be easily implemented.

#Requirementanalysis #Requirementengineeringprocess #Requirementengineering #softwareRequirementengineering #Requirementengineeringspecification #Software#Softwareengineeringconcept#SoftwareengineeringMCQ#SoftwareengineeringInterviewQuestion#Softwareengineeringquestionpaper#freecourseonline#pastpapers#finalyearprojectsforcomputersciencewithsourcecode#semesterprojectideas#computerprogramming#computerscienceinterviewquestions#tutorial–cui

#courses #pastpaper #Finalyearproject #tutorial #cui #project #programming #computer science #computersciecnemcq’s #computerscienceinterviewquestion

Scroll to Top