System Requirements Analysis
System Requirements Analysis
Analysis
What is a Requirement?
Living Documentation
Contractual Foundation
Requirements serve as a binding agreement between Requirements evolve throughout the project lifecycle as
stakeholders and development teams, establishing clear understanding deepens and needs change. They must be actively
expectations and success criteria for the project. They form the managed, traced, and updated to reflect the current understanding
basis for project planning, estimation, and acceptance testing. of the system's scope.
Challenges of Requirements Elicitation
1 Lack of Domain Knowledge 2 Customer Communication Barriers
The development team may not have enough experience Customers and users may not be familiar with software
with the application and its domain, making it difficult to capabilities and struggle to express their needs clearly.
understand complex requirements.
5 Underestimated Importance
6 Nonfunctional Requirements Overlooked
As a result, inadequate time and resources are allocated to
this critical process. Nonfunctional requirements, such as performance, security,
and compliance, are often not adequately identified or
prioritized. This can lead to significant development
7 Dynamic Requirements challenges and cost overruns.
Requirements can change throughout the entire software
life cycle, even after the system is deployed. This constant
evolution requires flexibility and adaptability in the
development process.
Characteristics of Effective Requirements
To be truly effective, system requirements must embody these essential characteristics that
build upon each other :
These characteristics work together to ensure requirements effectively guide system development while maintaining alignment
with user expectations.
And perform trade-off study for balancing related requirements to maximize mission assurance within constraints.
Consequences of low quality requirements
Expenses mount with new version installations and potential refiling of documentation.
Steps for Defining System Requirements
Step 1: Collecting Information
1 Gather information about the application's business goals, current situation,
policies, regulations, and standards.
4. Evaluate Alternatives
Assess different solution classes to determine the most promising approaches. This includes conducting feasibility studies,
analyzing cost-benefit ratios, and evaluating technical capabilities . Consider both commercial off-the-shelf solutions and
custom development options. Document assumptions, risks, and trade- offs associated with each alternative to support informed
decision-making.
Elicitation Techniques in Requirements Engineering