Requirements Engineering Flashcards
What are introduced during requirements activities?
40% - 50% of defects
Why are requirements hard to define?
Informal requirements gathering
Not being able to articulate what is needed
Implied requirements, details implied from domain specific knowledge
Miscommunicated assumptions
Types of Requirements?
Functional Requirements
Non-Functional Requirements
Functional Requirements?
What the software is required to do
Exist at different level of abstractions, from high-level to detailed functional requirements
The features of the software systems
Non-Functional Requirements
Technical Requirements
How well is the software supposed to do what it is required to do
Constraints of different types on the software system
Quality requirements. The required-ilities the system must exhibit
External interfaces of other systems that the system under development must interact with
List Functional Requirements?
Business Requirements
User Requirements
Functional Requirements
Business Requirements?
Describe why the organization is implementing the system
Identify high-level business objectives of the customer
Typically documented in plain English in a vision and scope document
User Requirements?
Describe what the system does at a high-level
User goals and the high-level tasks performed by users
User requirements are sometimes grouped into features
Functional Requirements?(List)
Specify how the user-goals are accomplished, the detailed steps that users must carry out to accomplish their goals
Describe what developers must implement
Business requirements are defined by?
Business managers
and/or
Marketing departments
User requirements are derived from business requirements by?
The business/system analyst
or
Product manager
Functional requirements are defined by?
The analyst
Non-Functional Requirements Definition?
Define how well the software does its job.
Technical Requirements List
Product Requirements
Organizational Requirements
External Requirements
Constraints on the functional requirements of the system?
Timing, speed, memory, security, regulatory
Quality requirements?
Usability, maintainability, reliability, portability
External interfaces required for the system to interact with?
Existing infrastructure
External systems
Domain driven design aims at defining?
A ubiquitous language that is understood by both domain and software experts
Domain modelling helps define?
The ubiquitous language through a model and a glossary of terms
Requirements Development Activities?
Elicitation (Communicate)
Analysis (Think)
Specification (Write)
Validation (Verify)
Inception Iteration (Sprints)
- Define business requirements
- Identify user classes
- Identify user representatives
- Identify requirements decision makers
- Plan elicitation
- Identify user requirements
- Prioritize user requirements
Elaboration Iterations (Sprints)
- Flesh out user requirements
- Derive functional requirements
- Model the requirements
- Specify nonfunctional requirements
- Review requirements
- Develop prototypes
- Develop or evolve architecture
- Allocate requirements to components
- Develop tests from requirements
- Validate user requirements, functional requirements, nonfunctional requirements, analysis models, and prototypes