Writing Instructions: Write an explanation essay from the following text. Use simple

Writing Instructions:

Write an explanation essay from the following text.

Use simple English language.

Use plain English.

Use simple sentence structures.

Use simple grammar.

Use simple vocabulary.

The essay must be cohesive (hint: use conjunctions).

The sequences of sentences should be followed.

The writer should understand the text before re-writing the sentences.

Requirements Engineering (RE):

RE is the first phase in the Software Development Life Cycle (SDLC).

RE is the process of understanding and defining what services are required from the system and identifying the constraints on the system’s operation and development.

There are three main activities in the RE process: (1) Requirements elicitation and analysis, (2) Requirements specification, and (3) Requirements validation.

Requirements elicitation and analysis:

There are three sub-activities in the requirements elicitation and analysis: (1) Requirements discovery and understanding, (2) Requirements classification and organization, (3) Requirements prioritization and negotiation, and (4) Requirements documentation.

The aims of the requirements elicitation and analysis process are to understand the work that stakeholders do and how they might use a new system to help support that work. During requirements elicitation and analysis, software engineers work with stakeholders to find out about the application domain, work activities, the services and system features that stakeholders want, the required performance of the system, hardware constraints, and so on.

Requirements elicitation and analysis involves meeting and interacting with stakeholders of different kinds to discover information about the proposed system. It can be done using some techniques like interviews, questionnaires, observations, etc.

Requirements specification:

It is the process of writing down the user and system requirements in a requirements document. Ideally, the user and system requirements should be clear, unambiguous, easy to understand, complete, and consistent.

User requirements are almost always written in natural language supplemented by appropriate diagrams and tables in the requirements document.

System requirements may also be written in natural language, but other notations based on forms, graphical, or mathematical system models can also be used.

Requirements validation:

It is the process of checking that requirements define the system that the customer really wants. It overlaps with elicitation and analysis, as it is concerned with finding problems with the requirements.

In practice, RE is an iterative process in which the activities are interleaved.

The output of the RE process is a system requirements document.

RE is a particularly critical phase of the SDLC, as mistakes made at this phase inevitably lead to later problems in the system design and implementation. RE is critically important because errors in a requirements document can lead to extensive rework costs when these problems are discovered during development or after the system is in service.

Natural Language (NL):

Natural language is often used to write system requirements specifications as well as user requirements. However, because system requirements are more detailed than user requirements, natural language specifications can be confusing and hard to understand.

There are three main problems that often arise when requirements are written in NL sentences:

Lack of clarity:

-It is sometimes difficult to use language in a precise and unambiguous way without making the document wordy and difficult to read.

Requirements confusion:

Functional requirements, non-functional requirements, system goals and design information may not be clearly distinguished.

Requirements amalgamation:

Several different requirements may be expressed together as a single requirement.

7.3 Because of these problems, requirements specifications written in natural language are prone to misunderstandings. These are often not discovered until later phases of the software process and may then be very expensive to resolve.