Requirments Engineering Flashcards
What is a requirment?
Statement about one feature of system expressed with natural language/ Model Based(Graphs, Forulas, Pseudo-Code)
Requirment elicitation
Determine requirments for your system
usually hard-> lack domain knowledge
stackeholders don’t know what is a possible feature
What is a stakeholder?
Person who influences the system or impacted by the sysyem
Person who has interest in the system under development
Developers also stakeholders
Elicitation tehniques
Interview
Questionnaires
Writing scenarios
Contextual Inquiry
Brainstorming
User requirments
Statements(natural language+diagrams) od what services the system is expected to provide for users
System requirment
Detailed description of softwware system’s functions, services, operational contrains(how system provides this)
Functional Requirments for ISBN
-The system shall provide a search function that allows users to search for
books by title, author or ISBN
– The search results shall display a list of books matching the search criteria,
including the book title, author, ISBN and availability status.
– The system shall allow users to filter search results by genre, publication
date and customer ratings.
Non-functional requirments for isbn
-The search feature should return results within 2 seconds for up to 100,000
books.
– The system shall be able to handle up to 500 simultaneous search
requests without degradation of performance
Requirment vs Functionality difference
Requirment -> something that someone wants from the system
Functionality-> Something that the system exhibits
– A requirement can require a functionality from the
system.
– There are requirements that are not functionalities.
Functional vs non Functional Requirments
Functional
– What services the system should provide
– How the system should react to particular inputs
– What the system shouldn’t do
Non-functional
– Constraints on the services or functions offered
– Timing contraints
– Constraints on the development process
– Constraints imposed by standards
Non Functional requirements classification:
Product requirements
Organizational requirements
External requirements
Product requirements: Specify that the product must behave in a particular way. Examples:
performance requirements on how fast the system must execute and
how much memory it requires, reliability, etc.
Organizational requirements
These requirements are broad system requirements derived from
policies and procedures in the customer’s and developer’s organization.
Examples:
* Process standards used
* Programming language
* Operating System
External requirments:
Arise from factors which are external to the system and its development
process
e.g., legislative requirements (such as GDPR
What are SMART requirments
Specific-goal is concrete and tangible
Measurable- is an objective measure of success
Achievable- achievable with the resources available
Time related- Includes a timeline for expected results
process requirment analysis
Identify stakeholders and use elicitation techniques to find requirments
Classify the requirements in function and non functional requirements. Non functional can be further organized in product organizational external
Make an agreement on the priorities for the requirements
Output the requirement specification document
Prioritization se face cu MoSCoW
Must have - critical to the current delivery time-box
Should have- important but not as time-critical, delivered in future time-box
Could have- desirable but not necessary. Usually improves user or customer experience
Won’t have- least critical by stakeholders. Considered for future versions of the project
Advantages:
-simple
-helps in managing scope
-easy to communicate with stakeholders
Disadvantages:
– Does not help decide between multiple requirements in
the same priority.
– Ambiguity over timing for won’t haves
– Political focus on building new features over techincal
improvements
Prioritization Kano
Basic Needs (Must-be)
* Performance Needs (One-dimensional)
* Excitement Needs (Attractive)
* Indifferent Needs
* Reverse Needs
- Advantages
– Helps aligning product development with actual
customer needs and expectations
– Focus on delivering features that enhance customer
satisfaction and loyalty
– Provides insights into features that are essential, which
can be enhanced, and which can be omitted - Disadvantages
– Requires customer surveys and analysis to accurately
categorize features (time-consuming and costly)
– May require regular reevaluation as customer
expectations and perceptions change.