UNIT-2 Notes
UNIT-2 Notes
Software Requirement
IEEE defines Requirement as: A condition or capability needed by a user to solve a problem or achieve an
objective
➢ Functional
➢ Non Functional
Functional
These are the specifications that define how the software application should behave and what are its properties.
Examples:
1) System must send a confirmation when order is placed (ex –meesho,flipcart etc)
2) Email when new account/password updates happen(gmail will send update when you change password or
create a new mail id)
3) It must check the user authencity(genuineness) while user tries to login –Enter number displayed or
confirmation email
These are system qualities that define how a system should behave rather than what it does
• Usability- Usability is a measure of how easy it is to use a product to perform prescribed tasks.
• Efficiency- It is the ability of software applications to deliver results in a timely manner while consuming
the least amount of system resources.
1. Response Time: This metric measures the time taken by a software application to respond to a user’s request.
Faster response times indicate higher efficiency.
2. Throughput: Throughput measures the number of tasks or transactions a software application can handle within
a given time frame. Higher throughput indicates improved efficiency.
3. Resource Utilization: Resource utilization measures the amount of system resources, such as CPU and memory
that a software application consumes. Lower resource utilization indicates higher efficiency.
• Reliability- Software reliability is the probability that the software will operate failure-free for a specific
period of time in a specific environment.
• Portability- Software portability refers to the ability of software to be efficiently used across different
environments without losing functionality or quality.
Performance - Performance is part os the non functional requirements of a software, it can be defined as how
efficiently a software can accomplish its tasks.
Security - Software security is simply a collection of methods used to protect computer programs and the
sensitive information handled by them against malicious attacks. It covers a wide range of functions to safeguard
software and its correlated data on privacy, accuracy, and accessibility respectively.
User Requirements
They can defined as the requirements set by the user for the functionality of software.
System Requirements
They are defined as the specifications (instructions) that a computer needs to run a program or hardware device
successfully.
1. Procedural interface—Used for calling the existing programs by the new programs
3. Representations of Data
The requirements document is the official statement of what is required of the system developers. It should
include both a definition of user requirements and a specification of the system requirements. It is NOT a
design document. As far as possible, it should set of WHAT the system should do rather than HOW it
should do it
The Software Requirements document
Suggests that there are 6 requirements that requirement document should satisfy. It should
• Specify only external system behavior
• Specify constraints on the implementation.
• Be easy to change
• Serve as reference tool for system maintainers
Purpose of SRS
It can be used for Communication document between the Customer, Analyst, system developers, maintainers, and
clearly supports and controls overall project.
It defines a generic structure for a requirements document that must be instantiated for each specific system.
– Introduction.
– General description.
– Specific requirements.
– Appendices.
– Index
1 Introduction
✓ Purpose
✓ Scope
✓ Definitions,
✓ Acronyms and Abbreviations
✓ References
✓ Overview
2. General description
✓ Product perspective
✓ Product function summary
✓ User characteristics
✓ General constraints
✓ Assumptions and dependencies
3. Specific Requirements
✓ Functional requirements
✓ External interface requirements
✓ Performance requirements
✓ Design constraints
✓ Attributes eg.security,availability,maintainability,transferability/conversion
✓ Other requirements
4. Appendices
5. Index
Requirements engineering is the discipline that involves establishing and documenting requirements. The various
activities associated with requirements engineering are feasibility study, elicitation and analysis, specification,
verification, validation and management.
Feasibility Study
It is performed on a software to understand to understand the viability (ability to work successfully) of the
product.
By Understanding a project's feasibility we can understand how software product will perform in the market,
what will work, what will not work and how competitors have created and how will this will product survive.
Requirement elicitation is a process that involves gathering, researching, defining, structuring, and clarifying the
requirements of a product. As a result of elicitation, a Business Analyst creates a set of project objectives. These
objectives should be understandable for each team member and represent all the client's demands and needs.
The term Analysis refers to the investigation of above process whether the data gathered is correct or not. It is
cross verifying the data we have gathered by various methods.
1. Requirement Discovery—Interaction with stakeholder to collect their requirements including domain and
documentation
Process represented as three stage activity. Activities are organized as an iterative process around a spiral. Early
in the process, most effort will be spent on understanding high-level business and the use requirement. Later in
the outer rings, more effort will be devoted to system requirements engineering and system modeling
1. Requirements elicitation
2. Requirements specification
3. Requirements validation
Requirements validation is the process of checking that requirements defined for development, define the system
that the customer wants.
Requirements management is a set of techniques for documenting, analyzing, prioritizing and agreeing on
requirements so that engineering teams always have current and approved requirements.