Podcast
Questions and Answers
What is a primary challenge when obtaining domain knowledge through interviews?
What is a primary challenge when obtaining domain knowledge through interviews?
Which technique involves directly observing stakeholders in their work environment?
Which technique involves directly observing stakeholders in their work environment?
What does requirements classification and organization involve?
What does requirements classification and organization involve?
What is the purpose of stories in requirements elicitation?
What is the purpose of stories in requirements elicitation?
Signup and view all the answers
Which of the following describes a closed interview?
Which of the following describes a closed interview?
Signup and view all the answers
What is one function of requirements prioritization and negotiation?
What is one function of requirements prioritization and negotiation?
Signup and view all the answers
What is NOT a technique of requirements elicitation?
What is NOT a technique of requirements elicitation?
Signup and view all the answers
What type of information do scenarios typically collect?
What type of information do scenarios typically collect?
Signup and view all the answers
What is the primary focus of the class project?
What is the primary focus of the class project?
Signup and view all the answers
Which resource is specifically mentioned for accessing newspaper archives?
Which resource is specifically mentioned for accessing newspaper archives?
Signup and view all the answers
What functionality does KidsTakePics provide to users?
What functionality does KidsTakePics provide to users?
Signup and view all the answers
What was Jack's method for reaching out for recommendations for the photo-sharing site?
What was Jack's method for reaching out for recommendations for the photo-sharing site?
Signup and view all the answers
What is a requirement for users wanting to upload photos to KidsTakePics?
What is a requirement for users wanting to upload photos to KidsTakePics?
Signup and view all the answers
What is an example of a product requirement in a system?
What is an example of a product requirement in a system?
Signup and view all the answers
Which of the following is a characteristic of non-functional requirements?
Which of the following is a characteristic of non-functional requirements?
Signup and view all the answers
What option do users have when uploading photos to KidsTakePics?
What option do users have when uploading photos to KidsTakePics?
Signup and view all the answers
What technical limitation did Jack face with KidsTakePics?
What technical limitation did Jack face with KidsTakePics?
Signup and view all the answers
What is a typical example of an organizational requirement?
What is a typical example of an organizational requirement?
Signup and view all the answers
What problem commonly arises with non-functional requirements?
What problem commonly arises with non-functional requirements?
Signup and view all the answers
Which of the following activities is included in the class project?
Which of the following activities is included in the class project?
Signup and view all the answers
Which of the following represents an external requirement?
Which of the following represents an external requirement?
Signup and view all the answers
Why are non-functional requirements considered critical for system usability?
Why are non-functional requirements considered critical for system usability?
Signup and view all the answers
Which of the following is not a type of non-functional requirement?
Which of the following is not a type of non-functional requirement?
Signup and view all the answers
What is an example of a non-testable non-functional requirement?
What is an example of a non-testable non-functional requirement?
Signup and view all the answers
What aspect of requirements validation ensures that the document reflects the true needs of system users?
What aspect of requirements validation ensures that the document reflects the true needs of system users?
Signup and view all the answers
Which requirement characteristic indicates that all necessary functions and constraints are included in the document?
Which requirement characteristic indicates that all necessary functions and constraints are included in the document?
Signup and view all the answers
What could lead to extensive rework costs if issues are discovered after deployment of the system?
What could lead to extensive rework costs if issues are discovered after deployment of the system?
Signup and view all the answers
Which validation technique involves creating examples to explore the functionality of the system?
Which validation technique involves creating examples to explore the functionality of the system?
Signup and view all the answers
What does the index of a requirements document typically include?
What does the index of a requirements document typically include?
Signup and view all the answers
Which of the following characteristics ensures that requirements can be tested for their implementation?
Which of the following characteristics ensures that requirements can be tested for their implementation?
Signup and view all the answers
What is a significant driver for changes in software requirements?
What is a significant driver for changes in software requirements?
Signup and view all the answers
What type of requirement check ensures that no requirements conflict with each other?
What type of requirement check ensures that no requirements conflict with each other?
Signup and view all the answers
What is a primary benefit of using a tabular specification?
What is a primary benefit of using a tabular specification?
Signup and view all the answers
What does a requirements specification document primarily outline?
What does a requirements specification document primarily outline?
Signup and view all the answers
Which of the following does NOT represent a typical user of a requirements document?
Which of the following does NOT represent a typical user of a requirements document?
Signup and view all the answers
What information is typically included in the preface of a requirements document?
What information is typically included in the preface of a requirements document?
Signup and view all the answers
In the context of use cases, what does the term 'actor' refer to?
In the context of use cases, what does the term 'actor' refer to?
Signup and view all the answers
What is the purpose of the glossary in a requirements document?
What is the purpose of the glossary in a requirements document?
Signup and view all the answers
Which section of a requirements document outlines how the system aligns with strategic objectives?
Which section of a requirements document outlines how the system aligns with strategic objectives?
Signup and view all the answers
What is a significant aspect of the software requirements specification (SRS)?
What is a significant aspect of the software requirements specification (SRS)?
Signup and view all the answers
Study Notes
Functional and Non-Functional Requirements
- Non-functional requirements constrain the characteristics of the system as a whole. These include aspects like response time, memory usage, and reliability.
- Non-functional requirements are more significant than individual functional requirements because failing to meet them renders the entire system unusable.
- Non-functional requirements arise from user needs, such as budget constraints, organizational policies, safety regulations, and privacy legislation.
Types of Non-Functional Requirements
- Product requirements: Define the runtime behavior of the software, including execution speed, memory usage, and acceptable failure rates.
- Organizational requirements: Stem from policies within the customer’s and developer's organizations. Examples include programming language and process standards to be used.
- External requirements: Derived from external factors, such as nuclear safety authorities and legislative requirements.
Examples of Non-Functional Requirements (Mentcare System)
- Product requirement: The Mentcare system should be available to all clinics during regular working hours (Monday-Friday, 8:30 AM-5:30 PM). Downtime within normal working hours should not exceed five seconds daily.
- Organizational requirement: Users of the Mentcare system must authenticate themselves using their health authority identification card.
- External requirement: The system must implement patient privacy provisions as outlined in HStan-03-2006-priv.
Problems in Non-Functional Requirements
- Stakeholders often propose requirements as general goals, like "ease of use" or "rapid user response." These statements need to be translated into specific, measurable, testable, and objective criteria.
- Requirements can dynamically change during the analysis process, posing a challenge for consistent and stable system development.
Requirements Elicitation and Analysis
- The process includes four key steps:
- Requirements discovery and understanding: Interacting with stakeholders to discover their requirements.
- Requirements classification and organization: Grouping related requirements and organizing them into coherent clusters.
- Requirements prioritization and negotiation: Prioritizing requirements and resolving conflicts.
- Requirements documentation: Documenting requirements in formats such as early drafts, whiteboards, and wikis.
Requirements Elicitation Techniques
- Interviewing: Engaging with stakeholders to gather information. This can be done through closed interviews (predefined questions) or open interviews (no predefined agenda).
- Observation or Ethnography: Observing people performing their tasks to understand their usage of artifacts, workflows, and other aspects of their work.
Challenges in Eliciting Domain Knowledge Through Interviews
- Use of domain-specific terminologies can make it difficult for stakeholders to understand the requirements.
- Stakeholders might struggle explaining familiar domain knowledge clearly.
- Stakeholders may omit essential knowledge or fail to mention fundamental concepts.
Stories and Scenarios
- Stories: High-level narrative descriptions of how the system can be used for a specific task.
- Scenarios: Specific details about a system's use, including inputs, outputs, and expected behavior.
The Purpose of Stories
- Facilitate discussions about how the system might be used.
- Serve as a starting point for eliciting system requirements.
The Scenario for Uploading Photos to KidsTakePics
- Initial Assumption: A user or group has one or more digital photographs to upload to a picture-sharing site, stored on a tablet or laptop. They have successfully logged in to KidsTakePics.
- Normal: The user selects the upload option, is prompted to select photos on their device, and chooses a project name for storage. They can also add keywords associated with each photo.
Tabular Specification
- A useful method for specifying requirements when there are multiple alternative situations or complex computations.
Use Cases
- A way to describe interactions between users and a system. They involve Actors (human or other systems) and different classes of user interactions with the system.
The Software Requirements Document
- An official statement outlining what system developers should implement. Also known as the Software Requirements Specification (SRS).
- It includes user and system requirements.
- Intended for a diverse audience, including customers, managers, engineers, and test engineers.
Users of a Requirements Document
- The document's users and their specific applications should be clearly defined.
The Structure of a Requirements Document
- Preface: Defines the document's intended audience and outlines its version history.
- Introduction: Describes the system's purpose, key functions, and its integration with other systems.
- Glossary: Defines technical terms used in the document, avoiding assumptions about reader expertise.
- Appendices: This section provides detailed, system-specific information, including hardware requirements, database descriptions, logical organization of data, and data relationships.
- Index: Includes various indexes to the document – alphabetic, diagram indexes, function indexes, etc.
Requirements Validation
- The process of checking if requirements accurately reflect the customer's needs and expectations.
- A crucial process for ensuring a functional system. Errors in requirements validation can lead to significant rework costs when discovered late in the development cycle.
- Key techniques include:
- Requirements reviews: Thorough evaluations of the requirements document by stakeholders and developers.
- Prototyping: Creating working prototypes of the system to demonstrate functionality and elicit feedback.
- Test-case generation: Writing test cases to verify that the system meets the specified requirements.
Different Types of Checks in Requirements Validation
- Validity: Requirements must align with the real needs of system users.
- Consistency: Requirements within the document should not contradict each other.
- Completeness: The requirements should cover all functions and constraints of the system.
- Realism: Requirements should be feasible to implement within the available budget and time.
- Verifiability: Requirements should be formulated in a way that allows for verification through testing. This usually involves the creation of testable specifications and test scenarios.
Requirements Change
- Requirements for large software systems are consistently evolving. This can be attributed to factors like:
- Integration with other systems.
- Introduction of new regulations and legislation.
- Discrepancies between the stakeholders who fund the system and the users who interact with it.
- The continual adaptation of requirements is often referred to as "requirements evolution."
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz explores the significance of non-functional requirements in software development. It covers various types of non-functional requirements, such as product, organizational, and external requirements, emphasizing their impact on system usability and compliance with external standards.