Podcast
Questions and Answers
Why might non-functional requirements be difficult to verify?
Why might non-functional requirements be difficult to verify?
- They are usually straightforward.
- They tend to be too specific.
- They are often not measurable. (correct)
- They can be easily quantified.
What is an example of a general goal for non-functional requirements?
What is an example of a general goal for non-functional requirements?
- Reduce system errors by 50%.
- The system should support 200 simultaneous users.
- The system should minimize user errors. (correct)
- Increase the speed of transaction processing.
Which of the following is a measure of the 'Ease of use' property in non-functional requirements?
Which of the following is a measure of the 'Ease of use' property in non-functional requirements?
- Mean time to failure
- Processed transactions/second
- User/event response time
- Number of help frames (correct)
What should a verifiable non-functional requirement include?
What should a verifiable non-functional requirement include?
What is one metric used to specify the 'Reliability' of a system?
What is one metric used to specify the 'Reliability' of a system?
How can 'Robustness' be measured in non-functional requirements?
How can 'Robustness' be measured in non-functional requirements?
What is an appropriate non-functional requirement for training time?
What is an appropriate non-functional requirement for training time?
Which of the following is NOT a property for specifying non-functional requirements?
Which of the following is NOT a property for specifying non-functional requirements?
What is a potential outcome of a security non-functional requirement?
What is a potential outcome of a security non-functional requirement?
Which of the following best describes product requirements?
Which of the following best describes product requirements?
An organizational requirement is influenced by which of the following factors?
An organizational requirement is influenced by which of the following factors?
What is an example of an external requirement?
What is an example of an external requirement?
In the Mentcare system, what does the product requirement specify regarding downtime?
In the Mentcare system, what does the product requirement specify regarding downtime?
Which of the following categories do non-functional requirements NOT belong to?
Which of the following categories do non-functional requirements NOT belong to?
What is a key characteristic of non-functional requirements?
What is a key characteristic of non-functional requirements?
Which of the following statements about non-functional requirements is accurate?
Which of the following statements about non-functional requirements is accurate?
What is the primary reason disputes between customers and developers arise?
What is the primary reason disputes between customers and developers arise?
How should requirements be described to ensure completeness?
How should requirements be described to ensure completeness?
What is a common challenge in producing a requirements document for large systems?
What is a common challenge in producing a requirements document for large systems?
Why might non-functional requirements be more critical than functional requirements?
Why might non-functional requirements be more critical than functional requirements?
What do non-functional requirements NOT encompass?
What do non-functional requirements NOT encompass?
How can non-functional requirements impact system architecture?
How can non-functional requirements impact system architecture?
What should be avoided in order to maintain consistency in requirements?
What should be avoided in order to maintain consistency in requirements?
What is a potential issue caused by stakeholders expressing requirements in their own terms?
What is a potential issue caused by stakeholders expressing requirements in their own terms?
What constitutes a non-functional requirement?
What constitutes a non-functional requirement?
Which activity in the requirements engineering process involves prioritizing conflicting requirements?
Which activity in the requirements engineering process involves prioritizing conflicting requirements?
What can influence the system requirements apart from the actual needs of stakeholders?
What can influence the system requirements apart from the actual needs of stakeholders?
What is the purpose of the requirements discovery phase?
What is the purpose of the requirements discovery phase?
What method involves observing people in their work environment to collect requirements?
What method involves observing people in their work environment to collect requirements?
What may happen to requirements as new stakeholders emerge during the analysis process?
What may happen to requirements as new stakeholders emerge during the analysis process?
What is one of the key goals of requirements classification and organization?
What is one of the key goals of requirements classification and organization?
What is a characteristic of informal interviews in requirements engineering?
What is a characteristic of informal interviews in requirements engineering?
What is the primary focus of requirements validation?
What is the primary focus of requirements validation?
What is a potential consequence of fixing a requirements error after delivery?
What is a potential consequence of fixing a requirements error after delivery?
Which of the following checks for potential conflicts in requirements?
Which of the following checks for potential conflicts in requirements?
What is the main purpose of requirements in system design?
What is the main purpose of requirements in system design?
What does the completeness check ensure in requirements validation?
What does the completeness check ensure in requirements validation?
What is a potential challenge of using natural language for writing requirements?
What is a potential challenge of using natural language for writing requirements?
What role does prototyping serve in requirements validation?
What role does prototyping serve in requirements validation?
Why is test-case generation important in requirements validation?
Why is test-case generation important in requirements validation?
Which statement best describes the relationship between requirements and design?
Which statement best describes the relationship between requirements and design?
Which characteristic of requirements ensures that they can be checked and validated?
Which characteristic of requirements ensures that they can be checked and validated?
What is one of the suggested guidelines for writing requirements?
What is one of the suggested guidelines for writing requirements?
Which method is NOT a technique for requirements validation?
Which method is NOT a technique for requirements validation?
What can influence the design requirements of a system?
What can influence the design requirements of a system?
What issue arises from requirements amalgamation?
What issue arises from requirements amalgamation?
How can regulatory requirements impact system design?
How can regulatory requirements impact system design?
Which of the following is a benefit of using natural language for writing requirements?
Which of the following is a benefit of using natural language for writing requirements?
Flashcards
Customer-Developer Disputes
Customer-Developer Disputes
Conflicts between customers and developers that can cause delays and increased costs in system delivery.
Requirements Completeness
Requirements Completeness
All necessary details of a system's features are included in the requirements.
Requirements Consistency
Requirements Consistency
No contradictions or conflicts exist in the descriptions of the system's features.
Non-Functional Requirements
Non-Functional Requirements
Signup and view all the flashcards
Non-Functional Requirements Implementation
Non-Functional Requirements Implementation
Signup and view all the flashcards
Search Requirement Misinterpretation
Search Requirement Misinterpretation
Signup and view all the flashcards
Non-functional Requirements
Non-functional Requirements
Signup and view all the flashcards
Product Requirements
Product Requirements
Signup and view all the flashcards
Organizational Requirements
Organizational Requirements
Signup and view all the flashcards
External Requirements
External Requirements
Signup and view all the flashcards
System Availability
System Availability
Signup and view all the flashcards
Security Requirement
Security Requirement
Signup and view all the flashcards
Downtime
Downtime
Signup and view all the flashcards
Execution Speed
Execution Speed
Signup and view all the flashcards
Non-functional Requirements
Non-functional Requirements
Signup and view all the flashcards
Goal vs. Requirement
Goal vs. Requirement
Signup and view all the flashcards
Verifiable Requirement
Verifiable Requirement
Signup and view all the flashcards
Speed Metric
Speed Metric
Signup and view all the flashcards
Size Metric
Size Metric
Signup and view all the flashcards
Ease of use Metric
Ease of use Metric
Signup and view all the flashcards
Requirements Discovery
Requirements Discovery
Signup and view all the flashcards
Stakeholder Requirements
Stakeholder Requirements
Signup and view all the flashcards
Requirements Elicitation
Requirements Elicitation
Signup and view all the flashcards
Requirements Classification
Requirements Classification
Signup and view all the flashcards
Requirements Prioritization
Requirements Prioritization
Signup and view all the flashcards
Requirements Specification
Requirements Specification
Signup and view all the flashcards
Interviewing (Requirements Discovery)
Interviewing (Requirements Discovery)
Signup and view all the flashcards
Ethnography (Requirements Discovery)
Ethnography (Requirements Discovery)
Signup and view all the flashcards
Conflicting Requirements
Conflicting Requirements
Signup and view all the flashcards
Requirements and Design
Requirements and Design
Signup and view all the flashcards
Natural Language Specification
Natural Language Specification
Signup and view all the flashcards
Writing Requirements
Writing Requirements
Signup and view all the flashcards
System Architecture Requirements
System Architecture Requirements
Signup and view all the flashcards
Requirements Validation
Requirements Validation
Signup and view all the flashcards
Requirements Checking (Validity)
Requirements Checking (Validity)
Signup and view all the flashcards
Requirements Checking (Consistency)
Requirements Checking (Consistency)
Signup and view all the flashcards
Requirements Checking (Completeness)
Requirements Checking (Completeness)
Signup and view all the flashcards
Requirements Checking (Realism)
Requirements Checking (Realism)
Signup and view all the flashcards
Requirements Checking (Verifiability)
Requirements Checking (Verifiability)
Signup and view all the flashcards
Requirements Validation Techniques
Requirements Validation Techniques
Signup and view all the flashcards
Requirements Reviews
Requirements Reviews
Signup and view all the flashcards
Prototyping
Prototyping
Signup and view all the flashcards
Test-case generation
Test-case generation
Signup and view all the flashcards
Study Notes
Requirements Engineering
- Functional and non-functional requirements are crucial aspects
- Requirements elicitation, specification, validation, and change are key processes in requirements engineering
- Requirements are descriptions of services and constraints on a system's operation and implementation
- Requirements range from high-level statements of service or system constraints to detailed mathematical specifications
- Requirements can serve dual roles: as a basis for contract bids (open to interpretation) or contracts themselves (detailed)
- User requirements are natural language statements and diagrams of system services and operational constraints, written for customers
- System requirements are structured documents with detailed descriptions of system functions, services, and operational constraints, intended as a client and contractor contact.
Types of Requirements
- User requirements are written in natural language and diagrams to explain system functionalities and operational constraints
- System requirements are detailed documents specifying how the system should function, including its operational aspects.
User and System Requirements Definition
- Example of user requirement: The system should generate monthly reports on drug costs prescribed per clinic.
- An example of a system requirement: Provide monthly summaries of drugs, cost and clinics (by 17:30).
- Examples of requirements: Specific drug names, total prescriptions, dose numbers, and total costs for each clinic
Readers of Requirements Specifications
- Readers of user requirements include client managers, system end-users, client engineers, contractors and system architects
- Readers of system requirements include system end-users, client engineers, system architects, and software developers
System Stakeholders
- Stakeholders are any person or organization affected by a system, having a legitimate interest.
- Stakeholder types include end-users, system managers, system owners, and external stakeholders
- Examples of stakeholders in a healthcare system: patients, doctors, nurses, medical receptionists, IT staff, medical ethics managers, health care managers, and medical records staff
Agile Methods and Requirements
- Agile methods often argue that detailed system requirements are a waste of time due to rapid changes in requirements
- Agile methods prefer incremental requirements expressed as "user stories." This approach is practical for business systems but may be troublesome for systems needing pre-delivery analysis (e.g. critical systems) or developed by multiple teams
Functional and Non-functional Requirements
- Functional requirements define the services a system should provide/how it reacts to inputs, how it behaves in different situations, and what it should not do
- Non-functional requirements specify constraints on services/functions, including timing constraints, development process constraints, and standards. These can be critical for functionality
Functional Requirements
- Describe system functionality or services in detail and state requirements with high-level statements
- Examples: User should be able to search appointment lists, system generates a list of patients for each clinic, staff identification by 8-digit employee number
Requirements Imprecision
- Ambiguous requirements may be interpreted differently by users and developers
- Precision in requirements is crucial; its lack can lead to disputes, delays, and increased costs
- An example is the word "search" in a requirement—it can mean different things across varying clinics
Requirements Completeness and Consistency
- Requirements should be complete and consistent
- Complete requirements include all necessary components/features
- Consistent requirements have no conflicts or contradictions
Non-Functional Requirements Implementation
- Non-functional requirements influence system architecture, rather than individual components
- Examples: performance requirements may necessitate system components to minimize communication (between components), a security requirement can create related functional requirements
Non-functional Classifications
- Product requirements describe constraints in runtime behavior
- Organizational requirements follow from organizational policies
- External requirements arise from external factors, for example interoperability or legislative requirements.
Types of Non-Functional Requirements
- A diagram shows a hierarchical breakdown of different categories of non-functional requirements
Examples of Non-Functional Requirements in Mentcare
- Product requirement: availability of system within working hours (08:30-17:30)
- Organizational requirement: user authentication using health IDs
- External requirement: compliance with privacy regulations (e.g., HStan-03-2006-priv)
Goals and Requirements
- Non-functional requirements can be hard to state precisely and verify
- Stakeholders often propose goals, such as ease of use or minimizing errors
- Requirements should be presented as verifiable quantifiable facts, for instance, "medical staff should accomplish all functions after four hours of training and not exceed 2 errors per hour"
Metrics for Specifying Nonfunctional Requirements
- A list of properties and their associated measures required for non- functional requirements—in terms of speed, size, ease of use, reliability, robustness, and portability
Requirements Engineering Processes
- Requirements engineering processes vary widely based on application scope, involved parties, and organization design but share common generic activities
- Activities include elicitation, analysis, validation, and management
- RE is an iterative process, meaning these processes often overlap
Requirements Elicitation and Analysis
- Elicitation and analysis (or discovery) aims to understand stakeholder work and to identify new ways a system can support their work.
- May involve end-users, managers, maintainance engineers, domain experts, trade unions, etc. (called stakeholders)
- Stakeholders offer insights into application domains, services, operational constraints (including system performance and hardware constraints), and other systems.
Problems with Requirements Elicitation
- Potential problems: Stakeholders might not know their true needs, conflicting requirements, changing requirements during analysis, emerging stakeholders, and changing business circumstances.
Process Activities
- Requirements discovery: interaction with stakeholders, also identifying domain requirements, followed by classifying requirements and organizing them into clusters.
- Prioritization and negotiation: Prioritize and resolve conflicting requirements.
- Requirements specification: documenting final requirements and inputting into the next spiral iteration.
Requirements Discovery
- Gathering information regarding required/existing systems and distilling user/system requirements from this information
- Interaction is needed across stakeholders (from managers to regulators)
- Discovery methodologies involve interviewing and ethnography
Interviewing
- Used in both formal and informal ways with stakeholders.
- Interview types include closed (pre-determined question lists/open (open-ended explorations of issues)).
- Effective interviewing requires mixed question types, openness, and good listening to stakeholders.
- Common problems include overly technical language and issues with articulating known domain requirements
Ethnography
- An observational technique to understand operational processes and derive supporting requirements for processes.
- Helps identify implicit system requirements reflecting how people work, and requirements derived from work cooperation and awareness of other people's work (and awareness).
Stories and Scenarios
- Scenarios/user stories are real-life illustrations of system use
- Stories describe how a system is used for specific tasks, allowing stakeholders to relate to practical situations and comment on the story.
- Stories can be used in interviews to elicit further requirements details and scenarios describe specific actions, conditions, interactions, and consequences.
Photo Sharing in the Classroom (iLearn) Story
- This is a use-case example highlighting how a photo-sharing system enables pupils' gathering and sharing of stories about the fishing industry in a Scottish village.
Scenarios
- Structure of user story for use cases to describe the big picture
- Scenarios can detail specific use cases, including the beginning, the normal action sequence, what can go wrong, other concurrent activities, and the end state
Uploading Photos (iLearn)- Scenario
- Assumptions: User uploads digital photos, logged into a photo sharing platform (KidsTakePics), and has access to the required system.
- Normal conditions show the steps for selecting images, naming, and storing photos and provide automatic notification for moderation requirements.
- Problems/errors are addressed if a selected moderator doesn't exist, when users upload photos with similar names, or additional actions/activities involving uploading approvals.
Scenario for Collecting Medical History in MentCare
- Assumptions: there is a patient record, user is a nurse.
- Normal conditions show searching patients, adding medical histories, and following prompts to enter details.
- Problems/errors addressed such as missing patient records, improper input, or unwillingness of patient to provide information
The Software Requirements Document
- The official document that defines the system's requirements for developers
- Should contain: definition of user requirements and specification of system requirements
- Is not a design document and aims to clarify "what" the system needs to do, rather than "how" it should do it
Users of a Requirements Document
- The users of the requirements document include system customers, managers, and system engineers; each user has different needs when interacting with the requirements document
Requirements Document Variability
- The complexity in communicating and specifying requirements is balanced by user and customer requirements, which are often different from each other in focus.
- Level of detail depends on the nature of the system.
- Outsourcing projects frequently rely on a highly detailed document
The Structure of a Requirements Document (Based on IEEE Standard)
- The structure covers various aspects of a requirement document: preface, introduction, glossary, user requirements, system architecture description, system evolution, and appendices.
Requirements Validation
- This aspect of requirements engineering aims to show that the user requirements correctly reflect the customers needs.
- Overlaps with analysis, as it's about problems in the requirements and requires validation at crucial times.
Validation checks include validity, consistency, completeness, realism, and verifiability for accurate and detailed requirements.
Requirements Validation Techniques
- Requirements reviews use systematic analysis techniques, also prototyping provides an executable system representation to check requirements, and test-case generation aims to ensure requirements are testable
Requirements Reviews
- Regular reviews are essential during requirement definition
- This includes reviews done by clients, contractors, developers, customers, and users. Useful for early problem identification and resolution, both formally (using written documents) and informally
Review Checks
- Verifiability: are the requirements testable?
- Comprehensibility: are the requirements understandable?
- Traceability: is the origin of requirements clear?
- Adaptability: can requirements change with minimal impact on other areas?
Requirements Change
- Business and technical environments change in multiple ways and impact systems after implementation.
- Users often have different needs and conflicting requirements.
- System needs adaptation and frequent changes
Requirements Evolution
- Requirements evolving over time needs to be anticipated in system development
- The initial understanding of a problem changes over time, leading to changes in requirements
Requirements Management
- Managing evolving and changing user requirements is part of requirements engineering
- Tracking individual requirements and their relationships is crucial to assess the impact of changes, and establishing processes/procedures for managing future changes
Requirements Management Planning
- Determining the level of requirement management detail is needed
- Establishing criteria of identification, change management processes, and traceability policies
- Specifying how requirements are linked within the system and how changes affect each other
Requirements Change Management
- Includes stages of analyzing, specifying, and implementing change
- Traceability/general system knowledge/cost analysis are used.
- System documents and design are modified, aiming for smooth implementation.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.