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)
What is the main thing a requirements engineer does?
Knowledge transfer from customers needs into technical languages for developers
What is a product requirement?
A need or constraint on the software to be developed?
What is a process requirement?
A constraint on the development of the software (ie this will be developed suing an agile process)
What is a functional requirement?
The functions that the software is to execute. Also known as capabilities or features
What is a nonfunctional requirement?
Requirements that act to constrain the solution. Also known as quality requirements
What are some categories of nonfunctional requirements?
Performance Maintainability Safety Reliability Security
What are emergent properties?
Requirements that cannot be addressed by a single component, but depends on how multiple software components interoperate.
What is an example of an emergent property?
the response time between a user clicking on a stock symbol on a web page and the page showing the updated stock price depends on:
- Metal speed of web server
- Code of the web server
- Speed of DB server
- Speed of internet
What is a system?
An interacting combination of elements to accomplish a defined objective (hardware, firmware, software, people, info, etc)
What are system requirements? System requirements include what unique specification?
Requirements for a system as a whole.
Boundaries for different components, especially for software
What is a process model?
An arrangement of elicitation, analysis, specification, and validation for different types of projects
Describe Karl Wiegers’ Model and the V-shaped model of process models
Review 5-26 and 5-27
What are the 3 requirements engineering processes?
Business or mission analysis
Stakeholder needs and requirements definition
System/Software requirements definition
What is the purpose and deliverable of the Business or mission analysis process?
Purpose: Define business problem or opportunity. Determine potential solutions
Deliverables:
- Problem/solution space defined
- Early concepts
- Alternative solutions considered
- Preferred solution selected
- Traceability
What is the purpose and deliverable of the Stakeholder needs and requirements definition process?
Purpose: Define stakeholder requirements for a system that can provide the capabilities needed by users and other stakeholders. Also to identify these stakeholders
Deliverables:
- Stakeholders identified
- Required characteristics and software life cycle stages defined
- Constraints and stakeholder needs are defined and prioritised
- Performance measures are defined
- Traceability
What is the purpose and deliverable of the System/Software requirements definition process?
Purpose: Transform stakeholder requirements into a technical view of a solution. Create set of measurable software requirements that satisfy stakeholders
Deliverables:
- System description, interfaces, functions defined
- Software requirements and constraints defined
- Performance measures defined
- Software requirements analysed
- Traceability
What are process actors?
Basically stakeholders in requirements engineering. These include users, customers, market analysts, regulators, and software developers
It is impossible to _______ every stakeholder
satisfy