Podcast
Questions and Answers
What is the primary goal of requirements engineering?
What is the primary goal of requirements engineering?
Which of the following is NOT a reason why getting good requirements is difficult?
Which of the following is NOT a reason why getting good requirements is difficult?
Who can be considered an internal stakeholder during the requirements engineering process?
Who can be considered an internal stakeholder during the requirements engineering process?
What must be recognized to manage the different views of stakeholders effectively?
What must be recognized to manage the different views of stakeholders effectively?
Signup and view all the answers
What is the purpose of a Software Requirement Specification (SRS)?
What is the purpose of a Software Requirement Specification (SRS)?
Signup and view all the answers
What is a significant responsibility of requirements engineering?
What is a significant responsibility of requirements engineering?
Signup and view all the answers
Which stakeholder is primarily concerned with the system's maintainability?
Which stakeholder is primarily concerned with the system's maintainability?
Signup and view all the answers
Which of the following is NOT a model used during the SRS stage?
Which of the following is NOT a model used during the SRS stage?
Signup and view all the answers
What validation technique involves systematic manual analysis of requirements?
What validation technique involves systematic manual analysis of requirements?
Signup and view all the answers
Which question is essential for clarifying the motivation behind a request in the requirements engineering process?
Which question is essential for clarifying the motivation behind a request in the requirements engineering process?
Signup and view all the answers
How can requirements engineering help resolve conflict between stakeholders?
How can requirements engineering help resolve conflict between stakeholders?
Signup and view all the answers
Which statement best describes functional requirements?
Which statement best describes functional requirements?
Signup and view all the answers
Which of the following is a key aspect to validate in software requirements?
Which of the following is a key aspect to validate in software requirements?
Signup and view all the answers
What type of requirements includes high-level statements of goals and objectives?
What type of requirements includes high-level statements of goals and objectives?
Signup and view all the answers
What can result from poor requirement validation?
What can result from poor requirement validation?
Signup and view all the answers
What does automated consistency analysis check for?
What does automated consistency analysis check for?
Signup and view all the answers
What do functional requirements describe?
What do functional requirements describe?
Signup and view all the answers
Which of the following is NOT a category of non-functional requirements?
Which of the following is NOT a category of non-functional requirements?
Signup and view all the answers
What is an example of an execution quality in non-functional requirements?
What is an example of an execution quality in non-functional requirements?
Signup and view all the answers
Which of these is a suggested source for requirements gathering?
Which of these is a suggested source for requirements gathering?
Signup and view all the answers
What does requirement management primarily address?
What does requirement management primarily address?
Signup and view all the answers
Which of the following is identified as an evolution quality?
Which of the following is identified as an evolution quality?
Signup and view all the answers
How can previous bug reports contribute to current requirements?
How can previous bug reports contribute to current requirements?
Signup and view all the answers
Why is it important to document requirements?
Why is it important to document requirements?
Signup and view all the answers
What does it mean for a requirement to be atomic?
What does it mean for a requirement to be atomic?
Signup and view all the answers
What is a characteristic of a uniquely identified requirement?
What is a characteristic of a uniquely identified requirement?
Signup and view all the answers
Why is the requirement 'Students will be able to enroll to undergraduate and post-graduate courses' considered bad?
Why is the requirement 'Students will be able to enroll to undergraduate and post-graduate courses' considered bad?
Signup and view all the answers
Which of the following best describes a complete requirement?
Which of the following best describes a complete requirement?
Signup and view all the answers
What is the implication of a requirement being consistent and unambiguous?
What is the implication of a requirement being consistent and unambiguous?
Signup and view all the answers
What does it mean for a requirement to be traceable?
What does it mean for a requirement to be traceable?
Signup and view all the answers
What does prioritization of requirements involve?
What does prioritization of requirements involve?
Signup and view all the answers
Which of the following is NOT a quality of good requirements?
Which of the following is NOT a quality of good requirements?
Signup and view all the answers
What is the importance of prioritizing requirements in a project?
What is the importance of prioritizing requirements in a project?
Signup and view all the answers
Why is it essential for requirements to be testable?
Why is it essential for requirements to be testable?
Signup and view all the answers
What is an example of a bad requirement based on testability?
What is an example of a bad requirement based on testability?
Signup and view all the answers
How are requirements traceability and testing related?
How are requirements traceability and testing related?
Signup and view all the answers
Which priority level should the requirement 'register student' ideally have?
Which priority level should the requirement 'register student' ideally have?
Signup and view all the answers
What issue arises when a requirement states 'each page of the system will load in an acceptable time frame'?
What issue arises when a requirement states 'each page of the system will load in an acceptable time frame'?
Signup and view all the answers
What does good requirement prioritization involve?
What does good requirement prioritization involve?
Signup and view all the answers
What is a characteristic of a well-defined requirement?
What is a characteristic of a well-defined requirement?
Signup and view all the answers
What is a key characteristic that each requirement should have?
What is a key characteristic that each requirement should have?
Signup and view all the answers
Which statement best describes a conflict in requirements?
Which statement best describes a conflict in requirements?
Signup and view all the answers
What should be included in a well-defined requirement for traceability?
What should be included in a well-defined requirement for traceability?
Signup and view all the answers
What is a bad requirement example listed?
What is a bad requirement example listed?
Signup and view all the answers
How can ambiguous requirements impact a project?
How can ambiguous requirements impact a project?
Signup and view all the answers
What outcome is desired from converting bad requirements into good ones?
What outcome is desired from converting bad requirements into good ones?
Signup and view all the answers
What is an essential quality of a requirement regarding its format?
What is an essential quality of a requirement regarding its format?
Signup and view all the answers
A Software Requirement Specification (SRS) is created before collecting requirements from customers.
A Software Requirement Specification (SRS) is created before collecting requirements from customers.
Signup and view all the answers
Requirements validation ensures that all user demands will be feasible and legally acceptable.
Requirements validation ensures that all user demands will be feasible and legally acceptable.
Signup and view all the answers
Functional requirements specify the functions that a system or system element must perform.
Functional requirements specify the functions that a system or system element must perform.
Signup and view all the answers
Prototyping is a technique used for analyzing requirements by creating an executable model of the system.
Prototyping is a technique used for analyzing requirements by creating an executable model of the system.
Signup and view all the answers
Nonfunctional requirements describe the characteristics that will meet the user's expectations.
Nonfunctional requirements describe the characteristics that will meet the user's expectations.
Signup and view all the answers
Automated consistency analysis checks for the correctness of unstructured requirements descriptions.
Automated consistency analysis checks for the correctness of unstructured requirements descriptions.
Signup and view all the answers
Economic feasibility determines if a software can generate financial profits for an organization.
Economic feasibility determines if a software can generate financial profits for an organization.
Signup and view all the answers
Business requirements include detailed specifications for software implementations.
Business requirements include detailed specifications for software implementations.
Signup and view all the answers
The requirement elicitation and analysis phase involves gathering requirements only from existing systems.
The requirement elicitation and analysis phase involves gathering requirements only from existing systems.
Signup and view all the answers
System requirements encompass both functional and nonfunctional requirements.
System requirements encompass both functional and nonfunctional requirements.
Signup and view all the answers
Operational feasibility assesses how well the required software addresses business problems.
Operational feasibility assesses how well the required software addresses business problems.
Signup and view all the answers
The requirement management process occurs before the feasibility study.
The requirement management process occurs before the feasibility study.
Signup and view all the answers
Technical feasibility evaluates current technologies to meet customer requirements.
Technical feasibility evaluates current technologies to meet customer requirements.
Signup and view all the answers
Requirement validation ensures that the gathered requirements are irrelevant to the problem.
Requirement validation ensures that the gathered requirements are irrelevant to the problem.
Signup and view all the answers
A successful solution has no measurable benefit to stakeholders.
A successful solution has no measurable benefit to stakeholders.
Signup and view all the answers
A feasibility study is designed to confirm reasons for developing software that are acceptable to users.
A feasibility study is designed to confirm reasons for developing software that are acceptable to users.
Signup and view all the answers
A requirement must be uniquely identified to ensure clarity in references.
A requirement must be uniquely identified to ensure clarity in references.
Signup and view all the answers
Atomic requirements should combine multiple entities into a single statement.
Atomic requirements should combine multiple entities into a single statement.
Signup and view all the answers
A requirement is complete if it includes all necessary details and information.
A requirement is complete if it includes all necessary details and information.
Signup and view all the answers
The requirement 'Students will be able to enroll in undergraduate and post-graduate courses' is a good example of an atomic requirement.
The requirement 'Students will be able to enroll in undergraduate and post-graduate courses' is a good example of an atomic requirement.
Signup and view all the answers
Each requirement should be testable to verify if it meets its intended purpose.
Each requirement should be testable to verify if it meets its intended purpose.
Signup and view all the answers
A good requirement should be consistent and ambiguous.
A good requirement should be consistent and ambiguous.
Signup and view all the answers
Prioritization of requirements involves ranking them based on their importance and urgency.
Prioritization of requirements involves ranking them based on their importance and urgency.
Signup and view all the answers
All requirements should have the same ID to ensure easy tracking across different documents.
All requirements should have the same ID to ensure easy tracking across different documents.
Signup and view all the answers
A student can simultaneously enroll in both undergraduate and post-graduate courses.
A student can simultaneously enroll in both undergraduate and post-graduate courses.
Signup and view all the answers
Every requirement should be consistent and unambiguous.
Every requirement should be consistent and unambiguous.
Signup and view all the answers
Traceability in requirements means mapping each business requirement to its corresponding design requirement.
Traceability in requirements means mapping each business requirement to its corresponding design requirement.
Signup and view all the answers
A bad requirement may lack an associated requirement ID for traceability.
A bad requirement may lack an associated requirement ID for traceability.
Signup and view all the answers
The statement 'Some courses will be open to both under-graduate and post-graduate students' is a good requirement.
The statement 'Some courses will be open to both under-graduate and post-graduate students' is a good requirement.
Signup and view all the answers
Good requirements should not have any ambiguity.
Good requirements should not have any ambiguity.
Signup and view all the answers
Each course must be categorized as either an undergraduate course or a postgraduate course.
Each course must be categorized as either an undergraduate course or a postgraduate course.
Signup and view all the answers
Maintaining student information without a requirement ID is a good practice.
Maintaining student information without a requirement ID is a good practice.
Signup and view all the answers
Functional requirements describe the behavior of the system as it relates to its functionality.
Functional requirements describe the behavior of the system as it relates to its functionality.
Signup and view all the answers
Non-functional requirements are primarily concerned with specific behaviors of the system.
Non-functional requirements are primarily concerned with specific behaviors of the system.
Signup and view all the answers
Execution qualities in non-functional requirements can be observed at run time.
Execution qualities in non-functional requirements can be observed at run time.
Signup and view all the answers
Evolution qualities include observable metrics like security and usability.
Evolution qualities include observable metrics like security and usability.
Signup and view all the answers
Requirements management is necessary due to the changing nature of business needs during development.
Requirements management is necessary due to the changing nature of business needs during development.
Signup and view all the answers
Previous bug reports can provide valuable insights for current requirement gathering.
Previous bug reports can provide valuable insights for current requirement gathering.
Signup and view all the answers
It is unimportant to document sources of requirements.
It is unimportant to document sources of requirements.
Signup and view all the answers
The priority of requirements remains constant throughout the development process.
The priority of requirements remains constant throughout the development process.
Signup and view all the answers
There is a mapping between system requirements and the code that implements those requirements.
There is a mapping between system requirements and the code that implements those requirements.
Signup and view all the answers
All requirements must have the same priority level during project planning.
All requirements must have the same priority level during project planning.
Signup and view all the answers
Each requirement should be testable in order to ensure clarity and feasibility.
Each requirement should be testable in order to ensure clarity and feasibility.
Signup and view all the answers
A good requirement example is 'each page will load in an acceptable time frame'.
A good requirement example is 'each page will load in an acceptable time frame'.
Signup and view all the answers
The requirement 'register student and enroll courses' is given a lower priority than 'maintain user information'.
The requirement 'register student and enroll courses' is given a lower priority than 'maintain user information'.
Signup and view all the answers
A requirement that specifies loading time in seconds is an example of a testable requirement.
A requirement that specifies loading time in seconds is an example of a testable requirement.
Signup and view all the answers
Good requirement prioritization does not impact the implementation process.
Good requirement prioritization does not impact the implementation process.
Signup and view all the answers
Traceability exists between system requirements, integration requirements, and test cases.
Traceability exists between system requirements, integration requirements, and test cases.
Signup and view all the answers
Functional requirements describe the behavior of the system.
Functional requirements describe the behavior of the system.
Signup and view all the answers
Non-functional requirements concern specific behaviors of the system.
Non-functional requirements concern specific behaviors of the system.
Signup and view all the answers
Execution qualities like security are observed at runtime.
Execution qualities like security are observed at runtime.
Signup and view all the answers
Requirement management typically ignores changes that occur during development.
Requirement management typically ignores changes that occur during development.
Signup and view all the answers
Documentation of requirements is unnecessary if the development team communicates well.
Documentation of requirements is unnecessary if the development team communicates well.
Signup and view all the answers
Evolution qualities include maintainability and scalability.
Evolution qualities include maintainability and scalability.
Signup and view all the answers
Analyzing previous system versions can provide insights for current requirements.
Analyzing previous system versions can provide insights for current requirements.
Signup and view all the answers
Non-functional requirements are irrelevant to system performance.
Non-functional requirements are irrelevant to system performance.
Signup and view all the answers
A requirement should be atomic, meaning it should be at a very high level of detail.
A requirement should be atomic, meaning it should be at a very high level of detail.
Signup and view all the answers
Requirements must be uniquely identified to avoid confusion in reference.
Requirements must be uniquely identified to avoid confusion in reference.
Signup and view all the answers
A complete requirement should provide all necessary information for implementation.
A complete requirement should provide all necessary information for implementation.
Signup and view all the answers
The bad requirement 'Students will be able to enroll to undergraduate and post-graduate courses' is considered good because it addresses two entities simultaneously.
The bad requirement 'Students will be able to enroll to undergraduate and post-graduate courses' is considered good because it addresses two entities simultaneously.
Signup and view all the answers
A requirement can be considered complete if it lacks sufficient detail for implementation.
A requirement can be considered complete if it lacks sufficient detail for implementation.
Signup and view all the answers
Traceable requirements allow for easy identification of their origins and relationships.
Traceable requirements allow for easy identification of their origins and relationships.
Signup and view all the answers
Consistent and unambiguous requirements can lead to different interpretations among stakeholders.
Consistent and unambiguous requirements can lead to different interpretations among stakeholders.
Signup and view all the answers
Prioritized requirements help in managing scope and focus in a project.
Prioritized requirements help in managing scope and focus in a project.
Signup and view all the answers
Economic feasibility determines whether software can generate financial profits for an organization.
Economic feasibility determines whether software can generate financial profits for an organization.
Signup and view all the answers
Requirement elicitation is the process of analyzing existing systems without engaging customers.
Requirement elicitation is the process of analyzing existing systems without engaging customers.
Signup and view all the answers
Technical feasibility evaluates the technologies required to fulfill customer requirements within certain constraints.
Technical feasibility evaluates the technologies required to fulfill customer requirements within certain constraints.
Signup and view all the answers
Operational feasibility assesses how well the software performs a single level of operations.
Operational feasibility assesses how well the software performs a single level of operations.
Signup and view all the answers
The requirement management process only focuses on gathering new requirements.
The requirement management process only focuses on gathering new requirements.
Signup and view all the answers
A complete requirement clearly outlines what is necessary without any ambiguities.
A complete requirement clearly outlines what is necessary without any ambiguities.
Signup and view all the answers
Measurable benefit refers to the tangible advantages gained from the implementation of a solution.
Measurable benefit refers to the tangible advantages gained from the implementation of a solution.
Signup and view all the answers
Continuous validation of requirements ensures that all user demands will be achievable and compliant.
Continuous validation of requirements ensures that all user demands will be achievable and compliant.
Signup and view all the answers
Software Requirement Specification (SRS) is created after collecting requirements from various sources.
Software Requirement Specification (SRS) is created after collecting requirements from various sources.
Signup and view all the answers
Prototyping is a technique used for validating software requirements by creating an executable model of the system.
Prototyping is a technique used for validating software requirements by creating an executable model of the system.
Signup and view all the answers
Requirements validation techniques only include automated consistency analysis.
Requirements validation techniques only include automated consistency analysis.
Signup and view all the answers
Non-functional requirements describe the system's characteristics that will meet business needs.
Non-functional requirements describe the system's characteristics that will meet business needs.
Signup and view all the answers
Business requirements are solely focused on the technical aspects of the software project.
Business requirements are solely focused on the technical aspects of the software project.
Signup and view all the answers
Functional requirements outline the specific functions a system must perform.
Functional requirements outline the specific functions a system must perform.
Signup and view all the answers
The systematic manual analysis of requirements is known as test-case generation.
The systematic manual analysis of requirements is known as test-case generation.
Signup and view all the answers
Ambiguities in software requirements can lead to misinterpretations and should be eliminated during validation.
Ambiguities in software requirements can lead to misinterpretations and should be eliminated during validation.
Signup and view all the answers
A good requirement must be consistent and unambiguous.
A good requirement must be consistent and unambiguous.
Signup and view all the answers
Each requirement should be traceable to ensure proper mapping with corresponding requirements.
Each requirement should be traceable to ensure proper mapping with corresponding requirements.
Signup and view all the answers
A student can enroll in both undergraduate and post-graduate courses according to the requirements.
A student can enroll in both undergraduate and post-graduate courses according to the requirements.
Signup and view all the answers
The requirement 'Maintain student information – mapped to BRD req ID?' is an example of a good requirement.
The requirement 'Maintain student information – mapped to BRD req ID?' is an example of a good requirement.
Signup and view all the answers
Mapping exists between system and integration requirements to the test cases that validate those requirements.
Mapping exists between system and integration requirements to the test cases that validate those requirements.
Signup and view all the answers
The requirement 'maintain user information' is given the highest priority of 1.
The requirement 'maintain user information' is given the highest priority of 1.
Signup and view all the answers
Conflicting requirements can create ambiguity in a project's scope.
Conflicting requirements can create ambiguity in a project's scope.
Signup and view all the answers
All requirements should be assigned the same priority for equal importance.
All requirements should be assigned the same priority for equal importance.
Signup and view all the answers
Good requirements should be written in a way that they need no additional information to be understood.
Good requirements should be written in a way that they need no additional information to be understood.
Signup and view all the answers
Every course is allowed to be categorized as both an undergraduate course and a post-graduate course.
Every course is allowed to be categorized as both an undergraduate course and a post-graduate course.
Signup and view all the answers
Each and every requirement must be non-testable to avoid complicating testing efforts.
Each and every requirement must be non-testable to avoid complicating testing efforts.
Signup and view all the answers
A requirement stating 'each page of the system will load in an acceptable time frame' is considered testable.
A requirement stating 'each page of the system will load in an acceptable time frame' is considered testable.
Signup and view all the answers
Requirements should be maintained without concern for their mapping to other requirements.
Requirements should be maintained without concern for their mapping to other requirements.
Signup and view all the answers
The good requirement 'register student and enroll courses pages' specifies a load time of 5 seconds.
The good requirement 'register student and enroll courses pages' specifies a load time of 5 seconds.
Signup and view all the answers
Requirements prioritization helps teams decide which requirements to implement first.
Requirements prioritization helps teams decide which requirements to implement first.
Signup and view all the answers
Traceability within a project does not encompass the relationship between requirements and code.
Traceability within a project does not encompass the relationship between requirements and code.
Signup and view all the answers
Study Notes
Requirement Engineering
- Requirement: A function, constraint, or other property that a system must provide to fulfill the needs of its intended user(s).
- Requirement Engineering: The process of defining, managing, and testing system requirements systematically.
Why Getting Good Requirements Is Hard
- Stakeholders may not know exactly what they want.
- Stakeholders often express requirements in their own terms.
- Stakeholder groups may have conflicting requirements.
- Organizational and political factors can influence the requirements.
- Requirements can change throughout the development process.
- New stakeholders or business environment shifts can emerge.
Initiating the Requirements Engineering Process
- Stakeholders: Anyone directly or indirectly benefiting from the system's development (e.g., top management, project team members, customers, government, contractors).
- Internal stakeholders: Include company management, project team, managers, colleagues, and internal customers.
- External stakeholders: Include government, contractors, suppliers, external customers, business managers, consultants, and engineers.
Initiating Requirements Engineering Process - Multiple Points of View
- Marketing perspective: Focuses on features and functions to attract potential customers, ensuring easy sales.
- Business manager perspective: Values features within budget and ready to meet the market.
- End-user perspective: Emphasizes learning ease and user-friendliness for optimal use.
- Software engineer perspective: Emphasizes product functioning and infrastructure support.
- Support engineer perspective: Prioritizes software maintainability.
Work Toward Collaboration
- Identify areas of commonality (agreed requirements) and conflict/inconsistency.
- Business manager or senior technologist makes final decisions.
Asking the First Questions
- Who initiated the project request?
- Who will use the system/solution?
- What is the financial benefit of the solution?
- Are there alternative solutions available?
Asking the Right Questions (Next Set)
- What business problems will the solution address?
- What is the business environment where the solution will operate?
- Does the solution address performance or productivity concerns?
Asking the Right Questions (Final Set)
- Are the questions relevant to the problem?
- Are there too many questions being asked?
- Can others provide relevant information?
- Are there additional questions that need to be asked?
Requirement Engineering Process
-
Feasibility Study: The objective is to justify the development of a software that is acceptable to all users, adaptable to change, and compliant with established standards.
- Types of Feasibility: Technical (evaluates necessary technologies, time, budget); Operational (covers the software performing tasks at different levels); and Economic (determines whether the software generates financial benefit for the organization.)
-
Requirement Elicitation and Analysis: Gather the system requirements from customers, the users, and existing system processes. Analyze the requirements to identify inconsistencies, defects, omissions, and resolve conflicts.
-
Software Requirement Specification (SRS): The document created by the software analyst after gathering and analyzing requirements from various sources. The requirement must be written in technical language for the development team. Models like ER diagrams, DFDs, and FDDs are used for clarity.
-
Requirement Validation: Verify that the requirements are implementable, accurate, complete, clear and unambiguous.
- Techniques: Requirements reviews/inspections; Prototyping; Test-case generation and Automated consistency analysis.
Classification of Requirements
- Business requirements: High-level statements of project objectives, goals, and needs.
- User requirements: Specify what users expect from the solution.
-
System requirements: Describe the attributes of the solution (e.g., functional and non-functional requirements).
- Functional requirements: Describe system functions and behaviors.
- Non-functional requirements: Include operational aspects like security, performance, and maintainability
Classification of Requirements (Continued)
-
Software requirements: Categorized into functional (defining the functionality of a system or subsystem) and non-functional (defining qualities or characteristics of the system instead of specific behaviors).
- Execution qualities: Aspects like usability and security that can be observed during runtime.
- Evolution qualities: Includes testability, maintainability, scalability, extensibility that are characteristics of the software system design, not directly observable in the executing system
Functional vs. Non-Functional Requirements
- Functional requirements: What the system must do, often described in use cases. They're considered mandatory.
- Non-functional requirements: How the system should perform. They're not directly described in use cases. They're often quality attributes.
Other Sources of Requirements
- Knowledge transfer from colleagues/employees.
- Discussion with business analysts, product managers, and project leads/developers.
- Existing system/application analysis.
- Review of past bug reports to identify areas of improvement.
- Examination of past documentation about enhancements.
- Analysis of industry knowledge.
- Document the information gathered, review it, and share it with the team.
Software Requirements Management
- Managing changing requirements during development.
- New requirements arise because of business changes or a better understanding of the system.
- Priorities may change based on the development process and the business/technical environment.
How to Analyze Requirements
- Atomic: Each requirement must be independent—not divisible into smaller components.
- Uniquely identified: Requirements should have unique identifiers to avoid overlap or confusion.
- Complete: Detailed and comprehensive information.
- Consistent and unambiguous: Requirements should be clear and free of conflicting or unclear information.
- Prioritized: Requirements should have defined order of importance/implementation.
- Traceable: Clear links between different levels of requirements (e.g., business, system, code).
- Testable: Clearly defined criteria for verification and validation.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore the fundamentals of Requirements Engineering, focused on defining, managing, and testing system requirements. Understand the challenges faced in gathering good requirements and the influence of stakeholders in the process.