Analysis - Requirements Flashcards
What is a requirement?
A requirement is a statement of what the system must do or what characteristics it needs to have
What are the two types of requirements?
- Functional: What the software should do
- Non-functional: What characteristics the system should have
How are the requirements used?
Developers use the list of requirements to build the system
What is the 4 Process of determining requirements?
1) Requirements discovery
- Elicitation techniques
2) Requirements classification and organization
- Grouping (non-functional, functional)
3) Requirements prioritization
- Order the requirements by most important
MoSCoW (Must have, Should have, Could have, Won’t have)
4) Requirements documentation
- Fully document the requirements
- Check requirements against the quality criteria
How do we discover the requirements needed?
- Interviews
- Document Analysis.
- Observation
- Questionnaires
- Joint Application Development (JAD)
What does JAD stand for?
Join application development.
- The project team, users and management work together to identify requirements for the system.
- Set in a specially prepared JAD meeting room so all participants can see each other.
What does the abbreviation MoSCoW mean?
Must have, should have, could have, won’t have. Used when prioritising requirements into a list.
Pros of using questionnaires for gathering requirements?
- Good when there is many people whom information and opinions are needed
Cons of using questionnaires for gathering requirements?
- Can take time to get responses
- Response rates for questionnaires can be very low
- Hard to recall after being sent out (Review the questionnaire first questions can be misunderstood)
When gathering requirements, which method has a high depth of information?
- Interviews
- Joint Application Development (JAD)
(Questionnaires have a medium)
When gathering requirements, which method has a high width of information?
- Questionnaires
- Document Analysis
(Joint Application Development (JAD) has a medium)
When gathering requirements, which method has a high integration of information?
- Joint Application Development (JAD)
When gathering requirements, which method has a high user involvement?
- Joint Application Development (JAD)
(Interviews has a medium)
When gathering requirements, which method has a medium cost?
- Interviews
- Observation
(the rest are low.)
Is the following example a functional or non-functional requirement?
“The system must allow registered customers to review their own order history for the past 3 years.”
Functional
Is the following example a functional or non-functional requirement?
“The system must retain customer order history for 3 years.”
Functional
Is the following example a functional or non-functional requirement?
“The product capabilities or things that a product must do for its users”
Functional
Is the following example a functional or non-functional requirement?
“As a Customer, I need to place a food order so that I can have food delivered to my house”
Functional
Is the following example a functional or non-functional requirement?
“The system should allow a user to place a food order”
Functional
Is the following example a functional or non-functional requirement?
The quality attributes, design and implementation constraints and external interfaces which a product must have.
Non-functional
Is the following example a functional or non-functional requirement?
“The user must be able to access the system through a mobile device”
Non-functional
Is the following example a functional or non-functional requirement?
“The query response time of the system must be faster than..”
Non-functional
How are requirements documented for Agile Methodology?
By using user stories:
- As a WHO, I want to (WHAT they want to accomplish, so that (WHY they want to accomplish that)
- Defining a acceptance criteria, so everyone agrees that the requirement is satisfied
What are some functional acceptance criteria for Agile user stories? Give 2
- Can I save my order and come back to it later?
- Can I change my order before I pay for it?
- Can I see a running total cost of what I have chosen?
What are some non-functional acceptance criteria for Agile user stories? Give 2
- Can I place an order at any time (24 hours per day or 24/7/365)?
- Can I view the order at any time (24 hours per day or 24/7/365) up to and including delivery?
- Are unauthorised persons and other customers prevented from viewing my order?
What should an analyst make sure?
- A good analyst must make sure the that the current business processes and needs of the new system are well understood before moving on to design
- All the key stakeholders should be included in requirements elicitation, if possible, Respect the time commitment you are asking those involved to make! Prepare questions in advance etc. 10 October 2023 46.
What are some good criteria for good requirement documentation?
- Correct. Are requirements present that directly address user needs?
- Unambiguous. Is the requirement open to only on interpretation?
-Complete. Has all functionality required by the user been defined?
- Consistent. Do the requirements have no contradictory definitions?
- Ranked for importance
- Not specify a particular design