Requirement Engineering: Understanding Essential Software Requirements and Processes, Lecture notes of Software Engineering

An in-depth exploration of requirement engineering, a sub-discipline of systems and software engineering. It covers the essential software requirement, the role of the business analyst, and the sub-disciplines of requirement development, including elicitation, analysis, specification, and validation. The document also discusses the benefits of following a requirement engineering process.

Typology: Lecture notes

2020/2021

Uploaded on 12/06/2021

asif-pervaiz
asif-pervaiz 🇵🇰

1 document

1 / 43

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Requirement
Engineering
Lecture # 4
Requirement Engineering
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b

Partial preview of the text

Download Requirement Engineering: Understanding Essential Software Requirements and Processes and more Lecture notes Software Engineering in PDF only on Docsity!

Software Requirement

Engineering

Requirement Engineering^ Lecture^ #^4

  • (^) The essential software requirement
  • (^) Requirements from the customer’s perspective
  • (^) Good practices for requirements engineering
  • (^) The business analyst

Conten

t

  • (^) The Essential Software Requirement ▫ Requirement Engineering ▫ Sub-discipline of Requirement Engineering 🞄Requirements development and 🞄Requirement Management ▫ Requirement Engineering Process

Requirement Engineering

According to International Requirements Engineering Board (IREB):

  • (^) Requirements engineering is a cooperative, iterative,

incremental process, aimed at guaranteeing that:

All relevant requirements are known and understood with the necessary degree of refinement,The stakeholders involved come to a satisfactory agreement concerning the known requirements,All requirements have been documented as defined by the documentation guidelines or specification guidelines.

Requirement Engineering

  • (^) Requirements engineering is the sub-discipline of systems engineering

and software engineering that encompasses all project activities

associated with understanding a product's necessary capabilities and

attributes. Includes both requirements development and requirements

management.

Sub-disciplines of Requirements Engineering

Figure: Sub-discipline of Software Requirements Engineering

Requirement Development

  • (^) “The process of defining a project's scope, identifying user classes and

user representatives, and eliciting, analyzing, specifying, and validating

requirements. Its product is a set of documented requirements that

defines some portion of the product to be built.”

Requirement Development (Cont..)

  • (^) Requirements development is subdivided into: ▫ Elicitation , ▫ A nalysis , ▫ Specification , and ▫ Validation.
  • (^) These sub-disciplines encompass all the activities involved with exploring, evaluating, documenting, and confirming the requirements for a

Elicitation (Cont..)

  • (^) The key actions of Elicitation process are: ▫ Identifying the product’s expected user classes and other stakeholders. ▫Understanding user tasks and goals and the business objectives with which those tasks align ▫ Learning about the environment in which the new product will be used. ▫Working with individuals who represent each user class to understand their functionality needs and their quality expectations.

Elicitation (Cont..)

  • (^) Requirements elicitation typically takes either a usage-centric

or a product-centric approach.

  • (^) The usage-centric strategy emphasizes understanding and

exploring user goals to derive the necessary system functionality.

  • (^) The product-centric approach focuses on defining features that

you expect will lead to marketplace or business success.

Analysis (Cont..)

  • (^) Following are the principal activities: ▫Analyzing theinformation received from users to distinguish their task goals from functional requirements, quality expectations, business rules, suggested solutions, and other information ▫ Decomposing high-level requirements into an appropriate level of detail ▫ Deriving functional requirements from other requirements information ▫ Understanding the relative importance of quality attributes

Analysis (Cont..)

  • (^) Following are the principal activities: ▫Allocating requirementsto software components defined in thesystem architecture ▫ Negotiating implementation priorities ▫Identifying gaps in requirementsor unnecessary requirementsas they relate to the defined scope

Validation

  • (^) “The process of evaluating a project deliverable to determine whether it satisfies customer needs. Often stated as "Are we building the right product?”
  • (^) (Verification: “Are we building the product right?”)
  • (^) Requirements validation confirms that you have the correct set of requirements information that will enable developers to build a solution that satisfies the business objectives.

Validation (Cont..)

  • (^) The central activities are: ▫ Reviewing the documented requirements to correct any problems before the development group accepts them. ▫ Developing acceptance tests and criteria to confirm that a product based on the requirements would meet customer needs and achieve the business objectives.