The Metaphor of Software Requirements Engineering
Tags: softwareengineering, softwarerequirementengineering, software, softwaredevelopm
Published: 2022-08-17 07:37:00

## What is a metaphor

A metaphor is the figure of speech that is used to understand and explain something better in software engineering as well as in software requirement engineering. Metaphors clearly define the hidden similarities of the system metaphors define the clear picture of the software system from the idea to the requirement of system software development is same as developing the house in which we first define requirement then we arrange the finance for that then we go to another step-like construction.

## Metaphors in Software Requirements Engineering

In software engineering as well as in software requirement engineering metaphors clearly define the hidden picture and similarities of the system metaphors define the clear picture of a software system from idea to the requirement of system software development is the same as developing the house in which we first define requirement then we arrange the finance for that then we go to other steps like construction same in software system we need at first stage idea then we gather requirement for that idea to become a real software system for this process we use some techniques and follow some procedure for the requirement engineering process. Metaphors are like you want to buy a car you want to know each and everything about that cat from the basic requirement of the car to the functionalities as well as the latest feature of the car. But in a software system same as we follow some procedures for the development first, we define the idea then we gather software requirements for that system after that we follow software development principles for an efficient system. In later stages, we will use this concept for the requirement engineering process for the project (Online Law Firm Android App).

## How to Use Metaphors in Requirements Engineering

In software requirement engineering we use metaphors for defining each little requirement of the system of the software because at a later stage we analyze that requirement and then we start designing and developing the project.

- 
Software Development is building like a house in which we first chose the place where we want to build the house and we describe the requirements for that house and then we define each step for the completion of the house. In Software development we first define the idea then we describe that idea in the form of functional and non-functional requirements after that we arrange some resources for that project and decide a timeframe for the completion of the software development process and project.

- 
Software Should be like a real-world object that behaves according to the defined functionality that any customer gives to the development team. The software should be functional.

- 
A good customer can give you a rich number of requirements that can help you in the software development process but if you are facing a problem with the customer then you use the techniques for the requirement engineering process for any project you are working on.

## Importance of metaphors in software Requirements Engineering

Metaphors have great importance in Software requirement engineering because it is the very important phase of the software development process or simply Software development life cycle (SDLC). This phase is used to translate the unclear and incomplete idea of the customer into complete precise and formal specification this document is very must important and act as a bridge between the Customer, User, and Developers. Therefore, the importance of Metaphors is very much important for the development of effective and efficient software products.

- Metaphors help us to define hidden similarities of the system.
- Metaphors clearly define the hidden similarities of the system
 
Metaphors define the clear picture of the software system from the idea to the requirement of the system software development is the same as developing the house in which we first define requirements then we arrange the finance for that then we go to another step-like construction.

## Key Points

SRE stands for Software requirement Engineering.
Software Requirement is a Condition and Capability that must be possessed by a system according to some standards.
The process to gather the software requirement from customers and analyzing those requirements, and documenting those requirements is called requirement engineering.
 Metaphors help us to define hidden similarities of the system.
 Functional Requirements define the functionalities of the system
Example:

Login Functionality of Online Law Firm Android App.
 Admin of the system can suspend and delete any accounts. ? Users of the system can delete any contact.
Clients can submit /her Case in our system
Non-Functional Requirement supports the Functional Requirements of the system.

- Availability
- Security
- Modifiability
- Interoperability
- Reference

[Software Requirements Engineering Complete Book Practical Approach By Sardar Mudassar Ali Khan](https://www.c-sharpcorner.com/blogs/the-metaphor-of-software-requirement-engineering)