5 Flashcards
According to ______________________________, a requirement is defined as follows:
IEEE standard 729
A condition or capability needed by a user to solve a problem or achieve an
objective
requirement
A condition or capability that must be met or possessed by a system or system
component to satisfy a contract, standard, specification or other formally imposed
documents
requirement
A documented representation of a condition or capability, as in 1 and 2.
requirement
is a crucial phase in the software development life cycle
(SDLC) and project management.
Requirements Gathering
It is a process of determining user expectations for a new or modified product.
Requirements Gathering
It involves collecting, documenting, and managing the requirements that define the
features and functionalities of a system or application.
Requirements Gathering
The success of a project often depends on the accuracy and completeness of the
gathered requirements in software.
Requirements Gathering
5 Importance of Requirements Gathering
- Clarity of Project Objective
- Customer Satisfaction
- Scope Definition
- Reduced Misunderstandings
- Risk Mitigation
6 Processes of Requirements Gathering
Step 1: Assigning Roles
Step 2: Define Project Scope
Step 3: Conduct Stakeholder Interviews
Step 4: Document Requirements
Step 5: Verify & Validate Requirements
Step 6: Prioritize Requirements
This focuses specifically on how data is collected during the requirement gathering
process.
Data Gathering Procedure
Steps in data gathering procedure:
- Planning
- Preparation
- Execution
- Recording
- Analysis
Data Gathering Techniques
Interviews
Workshops
Prototyping
Document Analysis
Surveys & Questionnaires
Observation
Use Cases and Scenarios
are a crucial component of requirement gathering,
Interviews
serve as collaborative forums
Workshops
involves scrutinizing existing documentation to extract valuable insights
Document Analysis
brings a hands-on approach to requirement gathering
Observation
scenarios provide narrative context
Use Case & Scenarios
provide a scalable approach to gather diverse stakeholder insights
Surveys & Questionnaires
transforms abstract ideas into tangible models
Prototyping
Software Requirements are mainly classified into three types:
Functional requirements
Non-Functional requirements
Domain requirements
They define the functions or features that the system must have.
Functional requirements
These are specific to the domain or industry in which the software operates.
They include terminology, rules, and standards relevant to that particular domain.
Domain requirements
They define the quality attributes, performance criteria, and constraints.
Non-Functional requirements
They are the requirements stated by the user which one can see directly in the final
product, unlike the non-functional requirements.
Functional Requirements
Each high-level functional requirement may involve several interactions or dialogues
between the system and the outside world.
Functional Requirements
To accurately describe the functional requirements, all scenarios must be
enumerated.
Functional Requirements
There are many ways of expressing functional requirements e.g., natural language, a
structured or formatted language with no rigorous syntax, and formal specification
language with proper syntax.
Functional Requirements
Functional Requirements in Software Engineering are also called
Functional Specification
These are basically the quality constraints that the system must satisfy according to
the project contract.
Non-Functional Requirements