You are on page 1of 5

SOFTWARE ENGINEERING

SPRING – 2022

ASSIGNMENT NO. 02 4 A & B – 14 JUNE

TOTAL MARKS 20 SUBMISSION DEADLINE 4 C & D – 15 JUNE

ASSIGNMENT# 02
Submitted To:
SIR MUHAMMAD FAWAD
Submitted By:
HAIDER RASHEED
CMS No:
407054-14454
Subject:
SE
Department:
BS Computer Science
Section:
4B/6B

1
Question 1: What is the importance of requirements engineering in software
engineering? [10Marks]

Definition:
Documentation, and maintenance of requirements are part of requirement engineering. In this
phase, information on the system's services is gathered and clarified. Activities in the Requirements
Engineering Process include: The elicitation of requirements. Targets to be achieved throughout the
course of the project.

Example:
Requirements engineering is an iterative process, rather than a sequential one, since tasks are
interspersed throughout the process. As an example, you may start with iterating on the user needs,
which are elicited, specified, and validated, before moving on to iterating on system requirements.

Explanation:
Constructivist approach is used to drive the methodology or provide the desired effect. Software
process teams and management alike may benefit from requirements engineering, which aids in
balancing budgets and schedules. In terms of features and functionality, requirements describe what
should be included in a product and how it should operate. For verification and validation, they
assist to specify the test requirements set off. Both the creation of a new product and the
modification or improvement of an existing product include this activity. For software development
projects, requirements engineering (RE) identifies the features and functionality that clients want. It
is necessary to have a well-defined process for gathering and analysing requirements, as well as for
verifying and validating them at each stage. The verification process relies heavily on the input of
requirements, as tests must be able to track back to particular needs. For a certain project,
requirements outline the parts and functionalities that must be included. Needs engineering may be
used to identify and execute the most important requirements as early as possible. Because
requirements engineering processes are coordinated, stakeholders and software developers may
communicate more effectively. The value that Requirements Engineering brings to your design
process is unmatched. A requirement's properties may be seen by engineers as they are created.
Product information can be linked back to requirements, and updates can be handled systematically.
Engineering requirements seeks to clarify and complete the issue statement and verify that the
remedy is accurate, reasonable, and efficient.

According to SDLC:
In the System Development Life Cycle (SDLC), the most critical step is Requirements Engineering (RE)
(SDLC). During this stage, the vague and ambiguous requirements and desires of future software
users are transformed into detailed, precise, and formal specifications. The specs serve as a contract
between the user and the creator of the programming. In order to reduce software faults and create
more effective software, Requirement Engineering is critical from the outset of the development
process. Software development must take into account the importance of Requirement Engineering
(RE) because of its function in the SDLC. Requirement engineering may be done in a variety of ways.

2
Needs engineering may be used to identify and execute the most important requirements as early as
possible.

According to Business:
Stakeholders and software developers may communicate more effectively since requirements
engineering processes run concurrently.

Requirements:
These include functional and performance requirements, as well as functionality, design
requirements, and standards for development.

Question 2: What are the different requirement elicitation techniques? [10 Marks]

Definition:

Stakeholder input is the key to success in this endeavour. To put it another way, elicitation is what
happens after a business analyst has interacted with key stakeholders to learn about their needs.
Gathering requirements is another term for this process. Direct conversation with constituents or
inquiry and testing may be used to gather needs. From before the or spontaneous events might
occur at the same time. It is intended to hold classes and experiments.

Activities:

An unplanned event occurs at any given time. Such actions do not need prior notification. For
example, you may show up to the client's location and begin addressing the needs right away, even
if no agenda had been set in advance.

Types:
 Brain Storming
 Document analysis
 Focus group
 Interface Analysis
 Interviews
 Observations
 Prototyping
 Workshops

Explanations:

Requirements When it comes to software development, ideation one of the most difficult phases
since it determines the project's budget and time estimate, as well as how large or small it will be.
End-users will only be satisfied with solutions if the requirement engineering process is completely
transparent. BABOK Guide states that the primary responsibility of a project manager is to ensuring

3
that the requirements engineering process is thoroughly and clearly specified. By merging elicitation
approaches into business analysis methodologies, business analysts, engineers, capitalists, and
consumers may cooperate together smoothly to produce client applications. Factors, such as the
passenger's profile and organisational structure, and the project type, should always be addressed
before deciding on a requirements elicitation approach or a mix of techniques for the management
analysis team to use. Stakeholders and Subject Matter Experts may be elicited using a variety of
strategies for eliciting needs. The most well-known of them are highlighted in the following list.

Types Description:

Brainstorming is the first step in eliciting needs. To ensure that brainstorming sessions are
productive, business analysts should form a team that includes members from all stakeholders.

In order to design a strategy, ideas generated during brainstorming process should be recorded
effectively.

Business analysts do a document analysis as part of the definition phase in order to discover areas in
need of adjustment or improvement. From before the project plans, performance requirements,
standard operating procedures, market research briefings, customer feedback, memos, and user
manuals are all examples of literature review sources.

Before doing more in-depth needs elicitation sessions or conducting interviews with stakeholders,
document analysis is undertaken. Following previous activities like brainstorming and document
analysis, key stakeholders get together in focus groups to offer input on the results of those
activities.

This information is saved for future use in the requirements elicitation process. Examining how
public and private systems interact with one other and end-users is at the heart of interface analysis.
In this way, business analysts may more easily identify prospective needs, constraints, and
challenges with hardware and system compatibility.

Interviews: Interviews are an excellent method for obtaining vital information. In informal or formal
settings, business analysts interview Professionals, stakeholders, and end-users in order to gather
project requirements.

Business analysts learn a great deal about the needs by delving into a variety of viewpoints. Also
known as "job shadowing," observation helps stake holders better understand their own processes
and work environments by seeing how they interact with one other in real-world situations.

Modifications and improvements are built on an understanding of real-world procedures. Business


analysts may get information about real-world situations by using the observation strategy.

Prototyping is a critical step in the requirements are gathered process because it allows company
leaders and end users to see realistic representations of the apps they will use before they are built.

Stakeholder involvement in requirements elicitation is increased thanks to prototyping, which helps


provide early feedback. One of the most cost-effective ways to gather needs in multi-stakeholder
4
initiatives is via workshops. It is critical that all stakeholders participate in intense, concentrated, and
highly productive workshops. Participants at workshop events collaborate, settle issues, and agree
on a course of action. 

Marketing experts conduct a survey when there are several stakeholders and Subject Matter Experts
participating in the project. Everyone is asked to fill to fill out before the start of the project. Finally,
the replies are examined and refined. In comparison to other needs elicitation approaches, surveys
are easier to conduct, less costly, and may provide both qualitative data. 

References:
https://www.techrepublic.com/resource-library/whitepapers/the-role-of-requirement-engineering-in-
software-development-life-cycle/

https://www.interscience.in/cgi/viewcontent.cgi?article=1394&context=ijcct

https://www.geeksforgeeks.org/software-engineering-requirements-engineering-process/

https://www.se.rit.edu/~se555/Requirements%20Activities.pdf

https://www.simplilearn.com/what-is-elicitation-article

https://andtr.com/the-importance-of-software-requirements

https://www.interscience.in/cgi/viewcontent.cgi?article=1394&context=ijcct

https://www.researchgate.net/publication/233819114_System_Requirements_Engineering

https://www.routledge.com/Requirements-Engineering-for-Software-and-Systems/Laplante/p/book/
9781138196117

https://personal.utdallas.edu/~chung/RE/2.3.5RE.pdf

https://resources.sei.cmu.edu/asset_files/educationalmaterial/1994_011_001_16238.pdf

You might also like