Requirements: Capabilities that the system must deliver.
Elicitation is essential to identify real requirements.
Challenges: Understanding what to build is one of the hardest parts of software development.
Activities:
Requirements elicitation.
Deriving use cases.
Producing an iterative development plan.
Collaboration: Close work with customers is necessary to identify and prioritize needs.
Requirements: Capabilities to be delivered by the system.
Constraints: Restrictions on the solution space.
Documented in Software Requirements Specification (SRS).
Misunderstandings can lead to legal consequences and development issues.
37% of software development problems relate to requirements.
Poorly identified requirements can increase costs significantly.
Communication barriers exist between customers and teams.
Non-functional requirements are often neglected.
Requirements change over time.
Analysts may struggle to understand what the customer wants.
Functional Requirements: Information processing capabilities.
Non-Functional Requirements: Includes performance, quality, safety, security, and interface requirements.
Identifying problems and needs.
Constructing analysis models.
Conducting feasibility studies.
Specifying acceptance tests and iterative development plans.
Meetings with customers, literature surveys, stakeholder surveys, and user interviews.
Determines if the project can be practically achievable given constraints.
Introduction
Purpose, Scope, Acronyms, References, Outline
General Description
Context, Function, User Characteristics, Constraints
Specific Requirements
External Interfaces, Functional Requirements, Quality Requirements
Appendices
Incomplete or hidden requirements, moving targets, and miscommunication.
Iterative Approach: Accept that initial requirements may not be complete.
Engagement: Involve various stakeholders and ask clarifying questions.
Documentation: Assign a dedicated scribe for capturing notes.
Functional Requirements: Account user provision, program search, results display.
Non-Functional Requirements: Search results in less than 3 seconds, security, and user-friendliness.