Chapter 4 - User Requirements Flashcards
What are User Requirements?
User requirements are statements of what the system should do
to meet the needs of its users
They describe the functionality, performance, and constraints of
the system from a user’s perspective
Sources of User Requirements
Users themselves (interviews, surveys, focus groups, etc.)
Stakeholders (managers, customers, regulators, etc.)
Existing systems (analyzing current systems to determine what
users like and don’t like)
Market research (analyzing the needs and wants of potential
users)
What are System Requirements?
System requirements describe what the software system should do to meet the needs of its users and stakeholders
They define the behavior, performance, and constraints of the system from a technical perspective
Sources of System Requirements
Functional specifications and other technical documents
Input from software architects and designers
Standards and regulations that the system must adhere to
Existing systems that the new system must integrate with
What are Functional Requirements?
Functional requirements refers to the specific features and functionalities that a software must have to meet the user’s needs.
Functional requirements describe what the software system should do in terms of inputs, processes, and outputs
They specify the behavior and functionality of the system from a
user’s perspective
Examples of Functional Requirements
User interfaces:
how users interact with the system
Data management:
how the system stores and retrieves data
Business rules:
how the system enforces business policies and
procedures
Processing logic:
how the system performs calculations and
other operations
Reports and outputs:
how the system presents information to
users
Characteristics of Good Functional
Requirements
Clear and concise:
The requirements should be easy to
understand and not open to interpretation
Complete:
The requirements should include all necessary
information
Correct:
The requirements should accurately reflect the needs
of the system’s stakeholders
Consistent:
The requirements should not conflict with each
other
Verifiable:
The requirements should be testable to determine if
they have been met
Advantages of Functional Requirements
Provides a clear understanding of the system’s intended behavior and functionality
Guides the development process and helps ensure that the system meets stakeholders’ needs
Provides a basis for testing the system to ensure that it works correctly and meets requirements
Helps manage project scope and provides a basis for estimating project effort and cost
Provides a basis for communicating with stakeholders and managing their expectations
Functional Benefits for Different Stakeholders
Users:
Functional requirements ensure that the system meets
their needs and provides the functionality they require
Developers:
Functional requirements guide development efforts
and provide clear goals for development activities
Testers:
Functional requirements provide a basis for testing the
system and ensuring that it works correctly
Project Managers:
Functional requirements help manage
project scope and provide a basis for estimating project effort and cost
Business Stakeholders:
Functional requirements ensure that the
system supports business processes and meets business needs
What are Non-Functional Requirements?
Non-functional requirements describe how the system should behave in terms of performance, reliability, security, usability, and other qualities
They specify the quality attributes or characteristics of the system from a user’s perspective
Characteristics of Non-Functional Requirements
Performance:
how quickly the system responds to user requests or processes data
Reliability:
how dependable and stable the system is under
normal and adverse conditions
Security:
how well the system protects data and user
information
Usability:
how easy and intuitive the system is to use
Maintainability:
how easily the system can be maintained and
modified
Importance of Non-Functional Requirements
Non-functional requirements are critical to the success of the software project as they define how well the system performs
and how easily it can be maintained
Non-functional requirements help ensure that the system is reliable, secure, performant, and easy to use
Capturing Non-Functional Requirements
Involve stakeholders in the requirements development process
Use multiple methods to capture requirements (e.g., interviews, surveys, prototypes)
Use clear and concise language to describe requirements
Ensure that non-functional requirements are testable and verifiable
Advantages of Non-Functional Requirement
Improved system quality:
Non-functional requirements ensure that the system is reliable, secure, performant, and easy to use. By defining these requirements upfront, software
developers can design and build a high-quality system that meets the needs of the
stakeholders.
Better user experience:
Non-functional requirements, such as usability and accessibility, help ensure that the system is easy to use and meets the needs of the users. This can
improve user satisfaction and adoption of the system.
Reduced risk:
Non-functional requirements, such as reliability and security, help mitigate risk by ensuring that the system is stable and secure. By defining these requirements
upfront, software developers can identify potential issues and address them before they
become bigger problems.
Clear project goals:
Non-functional requirements help establish clear project goals and expectations. This can help ensure that the stakeholders are aligned on the project’s
objectives and reduce the risk of miscommunication and misunderstandings.
Easier maintenance:
Non-functional requirements, such as maintainability and scalability, help ensure that the system is easy to maintain and can grow as the needs of the
stakeholders change over time. This can reduce the total cost of ownership of the system
and improve its long-term viability.
Type of Non-Functional Requirements:
Product Requirement
Organization Requirement
External Requirement