Requirements Basics Flashcards
What is the definition of requirements we will use in this class?
Statement that translates or expresses a need and its associated constraints and conditions
How does IEEE define a Stakeholder?
- Individual or organisation that have an interest or claim in a system
- Individual or organisation who may affect, be affected by, or perceive to be affected by a decision, activity, or outcome of a project
- Individual or organisation with an interest in a system
- Individual or organisation who may affect, be affected by, or perceive to be affected by a risk
What are some examples of stakeholders?
end users, supporters, developers, producers, trainers, maintainers, acquirers, interested parties
What is a constraint?
Externally imposed limitation on the system, its design, or implementation or on the process used to develop or modify the system
What is a condition?
Measurable qualitative or quantitative attribute that is stipulated for a requirement and that indicates a circumstance or event under which a requirement applies
What is an attribute?
Inherent property of an entity that can be distinguished quantitatively or qualitatively
What is requirements engineering?
Mediation between the domains of the acquirer and supplier to establish and maintain the requirements to be met by the system, software, or service of interest
What is an acquirer?
A stakeholder that acquires or procures a product or service from a supplier. Other terms are buyer, customer, owner, purchaser, or sponsor
What is a supplier?
Organisation or individual that enters into an agreement with the acquirer for the supply of a product or service. Other terms are contractor, producer, seller, or vendor
The acquirer and the supplier sometimes are part of the same organisation
Why are requirement deficiencies the prime source of project failures?
Everything else comes from requirements, as it’s so early
During requirements inception, what issues can you get from clients?
- They do not know what they want
- They will have a better idea once they see a working example
How do we get past that fact that users don’t know what they want?
We use incremental and iterative development processes, which is the basis of all modern processes, including agile
Why shouldn’t requirements contains design or implementation details?
We should let the developer come up with the best implementation of a requirement.
What are some examples of maintainability requirements?
- It should not take more than an hour to fix a bug
- Planned maintenance shouldn’t be required for more than once a month
How do we ensure requirements are communicated is unambiguously as possible?
Iterate and show them (demos)