Unit II Requirement Engineering

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

MASTER IN COMPUTER APPLICATION

UNIT II
Requirement Engineering

✓ Types of Requirements – Functional and Non functional


✓ Four Phases of Requirement Engineering
✓ Software requirement Specification (SRS)
✓ Structure and contents of SRS
✓ IEEE standard format for SRS
✓ Case studies should be covered on the above topic

1 MASTER OF COMPUTER APPLICATION


Unit Objective

I. To learn the fundamentals of Requirement Engineering


II. To understand the basic concept of SRS
III. To learn the different types of requirements in Software
development .

Unit Outcomes

i. To study the basic structure and principles of SRS.


ii. To understand & implement the SRS format in system
development.
iii. To understand and learn the basic fundamental of IEEE software
development models
2 MASTER OF COMPUTER APPLICATION
Introduction to Requirement Engineering
❑What is Requirement Engineering?
✓ The process to gather the software requirements from client,
analyze and document them is known as Requirement
engineering.
✓ The goal of requirement engineering is to develop and maintain
sophisticated and descriptive ‘System Requirements
Specification’ document.
❑ Requirement Engineering Process:
✓ It is a four step process, which includes –
✓ Feasibility Study
✓ Requirement Gathering
✓ Software Requirement Specification
✓ Software Requirement Validation

3 MASTER OF COMPUTER APPLICATION


Introduction to Requirement Engineering

4 MASTER OF COMPUTER APPLICATION


Introduction to Requirement Engineering
❑What is Feasibility study?
✓ Feasibility study comes up with rough idea about what all
functions the software must perform and which all features are
expected from the software.
✓ The analysts can do a detailed study about whether the desired
system and its functionality are feasible to develop.
✓ This feasibility study is focused towards goal of the
organization.
✓ This study analyzes whether the software product can be
practically materialized in terms of implementation,
contribution of project to organization, cost constraints and as
per values and objectives of the organization.

5 MASTER OF COMPUTER APPLICATION


Introduction to Requirement Engineering
❑What is Requirement Gathering?
✓ After feasibility report requirement gathering phase will starts
with gathering requirements from the user.
✓ Analysts and engineers communicate with the client and end-users
to know their ideas on what the software should provide and which
features they want the software to include.

6 MASTER OF COMPUTER APPLICATION


Introduction to Requirement Engineering
❑What is Software Requirement Specification(SRS)?
✓ SRS is a document created by system analyst after the
requirements are collected from various stakeholders.
✓ SRS documentation is the responsibility of system analyst to
document the requirements in technical language.
✓ This is useful and understand by the software development
team.
❑ SRS document have following features…….
✓ User Requirements are expressed in natural language.
✓ Technical requirements are expressed in structured language,
which is used inside the organization.
✓ Design description should be written in Pseudo code.
✓ Format of Forms and GUI screen prints.
✓ Conditional and mathematical notations for DFDs etc.

7 MASTER OF COMPUTER APPLICATION


Introduction to Requirement Engineering
❑What is Software Requirement Specification(SRS)?
✓ A software requirements specification is the basis for your
entire project.
✓ It lays the framework that every team involved in development
will follow.
✓ It’s used to provide critical information to multiple teams such
as development, quality assurance, operations, and
maintenance.
✓ This keeps everyone on the same page.
✓ SRS helps to ensure requirements are fulfilled.
✓ It can also help you make decisions about your product’s
lifecycle — for instance, when to retire a feature.
✓ Writing an SRS can also minimize overall development time and
costs.
8 MASTER OF COMPUTER APPLICATION
Introduction to Requirement Engineering
❑How to Write an SRS Document?
1. Introduction
1.1 Purpose
1.2 Intended Audience
1.3 Intended Use
1.4 Scope
1.5 Definitions and Acronyms
2. Overall Description
2.1 User Needs
2.2 Assumptions and Dependencies
3. System Features and Requirements
3.1 Functional Requirements
3.2 External Interface Requirements
3.3 System Features
3.4 Non-functional Requirements

9 MASTER OF COMPUTER APPLICATION


Introduction to Requirement Engineering
❑How to Write an SRS Document?
✓ Start With a Purpose:
✓ It sets the expectation for the product you’re building.
✓ Start by defining the purpose of your product.

✓ Intended Audience and Intended Use:


✓ Define who in your organization will have access to the SRS.
✓ How they should use it.
✓ This may include developers, testers, and project managers.
✓ It could also include stakeholders in other departments,
including leadership teams, sales, and marketing.

1 MASTER OF COMPUTER APPLICATION


0
Introduction to Requirement Engineering
❑How to Write an SRS Document?
❑ Definitions and Abbreviations
✓ It’s smart to include a risk definition.
✓ Avoiding risk is top-of-mind for many developers especially
those working on safety-critical development teams.
❑ Give an Overview of What You’ll Build
✓ Your next step is to give a description of what you’re going to
build.
✓ Is it an update to an existing product?
✓ Is it a new product?
✓ Is it an add-on to a product you’ve already created?
✓ You should also describe why you’re building it and who it’s
for.

1 MASTER OF COMPUTER APPLICATION


1
Introduction to Requirement Engineering
❑How to Write an SRS Document?
❑ User Needs:
✓ User needs are critical.
✓ You will need to define who is going to use the product and how.
❑ Assumptions and Dependencies:
✓ There might be factors that impact your ability to fulfil the
requirements outlined in your SRS.
❑ Detail Your Specific Requirements:
✓ The next section is key for your development team.
✓ This is where you detail the specific requirements for building
your product.
❑ Functional Requirements
✓ Functional requirements are essential to building your product.

1 MASTER OF COMPUTER APPLICATION


2
Introduction to Requirement Engineering
❑How to Write an SRS Document?
❑ External Interface Requirements
✓ External interface requirements are types of functional
requirements.
✓ They outline how your product will interface with other
components.
✓ There are several types of interfaces you may have requirements
for, including:
✓ User
✓ Hardware
✓ Software
✓ Communications

1 MASTER OF COMPUTER APPLICATION


3
Introduction to Requirement Engineering
❑How to Write an SRS Document?
❑ System Features
✓ System features are types of functional requirements.
✓ These are features that are required in order for a system to
function.
❑ Non functional Requirements
✓ Non functional requirements can be just as important as
functional ones.
✓ These include:
✓ Performance
✓ Safety
✓ Security
✓ Quality
SRS Template

1 MASTER OF COMPUTER APPLICATION


4
Introduction to Requirement Engineering
❑What is Software Requirement Validation?
✓ After SRS documents is developed, the requirements mentioned
in this document are validated.
✓ User might ask for illegal, impractical solution or experts may
interpret the requirements incorrectly.
✓ This results in huge increase in cost if not compressed in the
bud.
✓ Requirements can be checked against following conditions …
✓ If it can be practically implemented
✓ If it are valid and as per functionality and domain of software.
✓ If there are any ambiguities
✓ If they are complete
✓ If they can be demonstrated

15 MASTER OF COMPUTER APPLICATION


Types of Requirements
❑What are Types of Requirements ?
✓ According to IEEE standard a requirement is defined as follows:
✓ A condition or capability needed by a user to solve a problem or
achieve an objective.
✓ A condition or capability that must be met or controlled by a
system or system component to satisfy a contract, standard,
specification.
✓ software requirement can be of 3 types:
✓ Functional requirements
✓ Non-functional requirements
✓ Domain requirements

1 MASTER OF COMPUTER APPLICATION


6
Types of Requirements
❑What are Types of Requirements ?
✓ Functional Requirements:
✓ These are the requirements that the end user specifically
demands as basic facilities that the system should offer.
✓ All these functionalities need to be necessarily incorporated into
the system as a part of the contract.
✓ They are basically the requirements stated by the user which
one can see directly in the final product, unlike the non-
functional requirements.
✓ Requirements, which are related to functional aspect of
software fall into this category.
✓ They define functions and functionality within and from the
software system.

1 MASTER OF COMPUTER APPLICATION


7
Types of Requirements
❑What are Types of Requirements ?
✓ Functional Requirements:
✓ Functional requirements define a function that a system or
system element must be qualified to perform and must be
documented in different forms.
✓ The functional requirements are describing the behavior of the
system as it correlates to the system's functionality.

1 MASTER OF COMPUTER APPLICATION


8
Types of Requirements
❑What are Types of Requirements ?
✓ Non-functional requirements:
✓ Requirements which are not related to functional aspect of
software, fall into this category.
✓ They are implicit or expected characteristics of software, which
users make assumption of it
✓ Non-functional requirements include -

Security Cost
Logging Interoperability
Storage Flexibility
Configuration Disaster recovery
Performance Accessibility

19 MASTER OF COMPUTER APPLICATION


Requirement Elicitation Process
❑What is Requirement Elicitation Process?
✓ Non-functional requirements:
✓ Non-functional requirements are divided into two main
categories:
❑ Execution qualities:
✓ Execution qualities like security and usability, which are
observable at run time.
❑ Evolution qualities:
✓ Evolution qualities like testability, maintainability,
extensibility, and scalability that alive in the static structure of
the software system.

20 MASTER OF COMPUTER APPLICATION


Types of Requirements
❑What is Requirements Elicitation ?
✓ Requirements Elicitation is the process to find out the requirements
for software system by communicating with client, end users.
✓ Requirements gathering :
✓ The developers discuss with the client and end users and know their
expectations from the software.
✓ Organizing Requirements :
✓ The developers prioritize and arrange the requirements in order of
importance, urgency and convenience.

21 MASTER OF COMPUTER APPLICATION


Types of Requirements
❑ Negotiation & discussion :
✓ If requirements are ambiguous or there are some conflicts in
requirements of various stakeholders, if they are, it is then negotiated
and discussed with stakeholders.
✓ Requirements may then be prioritized and reasonably compromised.
✓ The requirements come from various stakeholders.
✓ To remove the ambiguity and conflicts, they are discussed for clarity
and correctness.
✓ Unrealistic requirements are compromised reasonably.
❑ Documentation :
✓ All formal & informal, functional and non-functional requirements
are documented and made available for next phase processing.

22 MASTER OF COMPUTER APPLICATION


Requirement Elicitation Techniques
❑What are Requirement Elicitation Techniques?
✓ Requirements Elicitation is the process to find out the
requirements for an intended software system by
communicating with client, end users, system users and others in
the software system development.
✓ There are various ways to discover requirements
❑ Interviews
✓ Interviews are strong medium to collect requirements.
Organization may conduct several types of interviews such as:
Structured (closed) interviews, where every single
information to gather is decided in advance, they follow
pattern and matter of discussion firmly.

23 MASTER OF COMPUTER APPLICATION


Requirement Elicitation Techniques
✓ Non-structured (open) interviews, where information to gather is
not decided in advance, more flexible and less biased.
✓ Oral interviews
✓ Written interviews
✓ One-to-one interviews which are held between two persons across
the table.
✓ Group interviews which are held between groups of participants.
✓ They help to uncover any missing requirement as numerous people
are involved.
❑ Surveys:
✓ Organization may conduct surveys among various stakeholders by
querying about their expectation and requirements from the
upcoming system.

24 MASTER OF COMPUTER APPLICATION


Requirement Elicitation Techniques
❑What are Requirement Elicitation Techniques?
✓ Questionnaires:
✓ A document with pre-defined set of objective questions and
respective options is handed over to all stakeholders to answer,
which are collected and compiled.
✓ Task analysis:
✓ Team of engineers and developers may analyze the operation for
which the new system is required.
✓ Domain Analysis:
✓ Every software falls into some domain category.
✓ The expert people in the domain can be a great help to analyze
general and specific requirements.

25 MASTER OF COMPUTER APPLICATION


Requirement Elicitation Techniques
❑What are Requirement Elicitation Techniques?
✓ Brainstorming
✓ An informal debate is held among various stakeholders and all
their inputs are recorded for further requirements analysis.
✓ Prototyping:
✓ Prototyping is building user interface without adding detail
functionality for user to interpret the features of intended
software product.
✓ It helps giving better idea of requirements.
❑ Observation
✓ Team of experts visit the client’s organization or workplace.
✓ They observe the actual working of the existing installed
systems.
✓ They observe the workflow at client’s end and how execution
problems are distributed.
26 MASTER OF COMPUTER APPLICATION

You might also like