Lesson 3
Lesson 3
Software Requirements
Requirements Engineering
Requirement Engineering
Specific Objectives:
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.
Etc.
Requirements Engineering Stages – Feasibility
Studies
Types of Feasibility Studies
1. Technical Feasibility: Current resources and technologies to develop the project are analyzed/assessed
such as hardware and software along required technology. It also analyzes the technical skills and
capabilities of the technical team.
2. Operational Feasibility: It analyzes the degree of providing service to requirements is analyzed along
with how easy the product will be to operate and maintain after deployment.
3. Economic Feasibility: In the Economic Feasibility study cost and benefit of the project are analyzed. It is
analyzed whether the project will be beneficial in terms of finance for the organization or not.
4. Legal Feasibility: In legal feasibility, the project is ensured to comply with all relevant laws, regulations,
and standards. It identifies any legal constraints that could impact the project and reviews existing
contracts and agreements to assess their effect on the project’s execution.
5. Schedule Feasibility: In schedule feasibility, the project timeline is evaluated to determine if it is realistic
and achievable. Significant milestones are identified, and deadlines are established to track progress
effectively.
Requirements Engineering Stages – Elicitation and
Analysis
Requirements elicitation also called requirements discovery or requirements capture.
Requirements elicitation is the process of gathering information about the needs and
expectations of stakeholders for a software system.
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.
This requires a careful analysis of the organization, the application domain and business
process in order to understand the problem that the software system is intended to solve and
the needs and expectations of the stakeholders who will use the system.
Requirements Engineering Stages – Elicitation and
Analysis
Requirement Elicitation Techniques
Interviews: These are one-on-one conversations with stakeholders to gather information about their needs and expectations.
Surveys: These are questionnaires that are distributed to stakeholders to gather information about their needs and expectations.
Focus Groups: These are small groups of stakeholders who are brought together to discuss their needs and expectations for
the software system.
Observation: This technique involves observing the stakeholders in their work environment to gather information about their
needs and expectations.
Prototyping: This technique involves creating a working model of the software system, which can be used to gather feedback
from stakeholders and to validate requirements.
Task analysis: Team of engineers and developers may analyze the operation for which the new system is required. If the client
already has some software to perform certain operation, it is studied and requirements of proposed system are collected.
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.
Brainstorming: An informal debate is held among various stakeholders and all their inputs are recorded for further
requirements analysis.
Requirements Engineering Stages – Requirement
Specification
This mainly refers to the production of a requirement document, for systematic review,
evaluation and approval.
Serves as the basis for agreement with customers, stating what the software product is
expected to do, and not to do. For non-technical readers, a requirements definition document
should also be provided
After requirement specifications are developed, the requirements mentioned in this document
are validated.
Ensuring that the outlined requirements define the system that the customer really wants
Should:
– record fore thought about the life cycle of the system (i.e. predict changes)
– it should state what the system should do rather than how it should do it
Requirements Document structure
1. Introduction
2. Glossary
4. System architecture
6. System models
7. System evolution
8. Appendices
9. Index
Requirements Document User
1. System customers: Specify the requirements and read them back to check that they meet
their needs; specify changes to the requirements
2. Development Managers: Use the requirements document to plan a bid for the system and to
plan the system development process
4. Test programmers: Use the requirements to develop validation tests for the system
5. Maintenance programmers: Use the requirements to help understand the system and the
relationships between its parts
Thank
s