Podcast
Questions and Answers
What is a requirement in the context of requirement engineering?
What is a requirement in the context of requirement engineering?
- A function, constraint, or other property that the system must provide. (correct)
- An irrelevant characteristic of the system.
- A function or property that the system must avoid.
- A suggestion for future improvements.
Which factor makes obtaining good requirements challenging?
Which factor makes obtaining good requirements challenging?
- Stakeholders always being aligned.
- Changing organizational policies.
- Stakeholders’ lack of knowledge about their needs. (correct)
- Well-defined scope of the project.
Who can be considered an external stakeholder?
Who can be considered an external stakeholder?
- Software engineers.
- Government agencies. (correct)
- Internal customers.
- Project team members.
What is a primary role of Requirements Engineering?
What is a primary role of Requirements Engineering?
What is the objective of a feasibility study?
What is the objective of a feasibility study?
What concern might the marketing group have regarding system requirements?
What concern might the marketing group have regarding system requirements?
Which type of feasibility evaluates the technologies needed to meet customer requirements?
Which type of feasibility evaluates the technologies needed to meet customer requirements?
Which of the following is NOT a reason why system requirements might change during the RE process?
Which of the following is NOT a reason why system requirements might change during the RE process?
What does requirement elicitation primarily involve?
What does requirement elicitation primarily involve?
Which stakeholder is primarily concerned with maintainability of software?
Which stakeholder is primarily concerned with maintainability of software?
Which step follows requirement elicitation in the process?
Which step follows requirement elicitation in the process?
What is the goal of collaborating in the Requirements Engineering process?
What is the goal of collaborating in the Requirements Engineering process?
What do functional requirements specifically describe?
What do functional requirements specifically describe?
Which of the following is an example of execution qualities in non-functional requirements?
Which of the following is an example of execution qualities in non-functional requirements?
What is analyzed during requirement elicitation?
What is analyzed during requirement elicitation?
Why is economic feasibility important in software projects?
Why is economic feasibility important in software projects?
What is the main purpose of requirement management?
What is the main purpose of requirement management?
What is one of the considerations in operational feasibility?
What is one of the considerations in operational feasibility?
Which category of non-functional requirements is focused on qualities like maintainability and scalability?
Which category of non-functional requirements is focused on qualities like maintainability and scalability?
Which source can provide valuable insights for gathering requirements?
Which source can provide valuable insights for gathering requirements?
Which of the following aspects are essential for communication effectiveness during the requirement process?
Which of the following aspects are essential for communication effectiveness during the requirement process?
Which of the following activities is NOT part of the requirement analysis process?
Which of the following activities is NOT part of the requirement analysis process?
What should be done with all sources of requirements gathered?
What should be done with all sources of requirements gathered?
Which of the following descriptions fits non-functional requirements?
Which of the following descriptions fits non-functional requirements?
What is meant by an atomic requirement?
What is meant by an atomic requirement?
Why is a requirement with the same ID problematic?
Why is a requirement with the same ID problematic?
Which of the following is NOT a type of requirement quality?
Which of the following is NOT a type of requirement quality?
What does a complete requirement entail?
What does a complete requirement entail?
Which of the following describes the quality 'testable' for a requirement?
Which of the following describes the quality 'testable' for a requirement?
In terms of requirement quality, what does 'prioritized' refer to?
In terms of requirement quality, what does 'prioritized' refer to?
What is the consequence of having a requirement that is inconsistent and ambiguous?
What is the consequence of having a requirement that is inconsistent and ambiguous?
What does it mean for a requirement to be traceable?
What does it mean for a requirement to be traceable?
What is a key characteristic that every requirement should possess?
What is a key characteristic that every requirement should possess?
What does traceability in requirements refer to?
What does traceability in requirements refer to?
Which of the following is an example of a bad requirement?
Which of the following is an example of a bad requirement?
What is an important aspect when specifying courses for students?
What is an important aspect when specifying courses for students?
What would be a better phrasing for a requirement stating that students cannot take both undergraduate and postgraduate courses?
What would be a better phrasing for a requirement stating that students cannot take both undergraduate and postgraduate courses?
What should accompany every requirement to enhance clarity and usability?
What should accompany every requirement to enhance clarity and usability?
Why is having a requirement that states some courses are open to both undergraduate and postgraduate students problematic?
Why is having a requirement that states some courses are open to both undergraduate and postgraduate students problematic?
Which phrase best describes a good requirement?
Which phrase best describes a good requirement?
What is an important aspect of mapping requirements in a project?
What is an important aspect of mapping requirements in a project?
How should requirements be prioritized according to project needs?
How should requirements be prioritized according to project needs?
Why is the requirement 'each page of the system will load in an acceptable time frame' considered bad?
Why is the requirement 'each page of the system will load in an acceptable time frame' considered bad?
What characterizes a good requirement compared to a bad requirement?
What characterizes a good requirement compared to a bad requirement?
What is an example of a prioritized requirement from the provided content?
What is an example of a prioritized requirement from the provided content?
What does the term 'traceability' imply in requirements analysis?
What does the term 'traceability' imply in requirements analysis?
Which of the following is a critical benefit of making requirements testable?
Which of the following is a critical benefit of making requirements testable?
What should be avoided when defining system performance requirements?
What should be avoided when defining system performance requirements?
Flashcards
Requirement
Requirement
A function, constraint, or other property a system must provide to meet user needs.
Requirement Engineering (RE)
Requirement Engineering (RE)
The process of defining, managing, and testing requirements for a product.
Stakeholder
Stakeholder
Anyone who benefits from a system, directly or indirectly.
Internal Stakeholder
Internal Stakeholder
Signup and view all the flashcards
External Stakeholder
External Stakeholder
Signup and view all the flashcards
Multiple points of view
Multiple points of view
Signup and view all the flashcards
Identifying Stakeholders
Identifying Stakeholders
Signup and view all the flashcards
Collaboration in RE
Collaboration in RE
Signup and view all the flashcards
Feasibility Study
Feasibility Study
Signup and view all the flashcards
Technical Feasibility
Technical Feasibility
Signup and view all the flashcards
Operational Feasibility
Operational Feasibility
Signup and view all the flashcards
Economic Feasibility
Economic Feasibility
Signup and view all the flashcards
Requirement Elicitation and Analysis
Requirement Elicitation and Analysis
Signup and view all the flashcards
Software Requirement Specification
Software Requirement Specification
Signup and view all the flashcards
Software Requirement Validation
Software Requirement Validation
Signup and view all the flashcards
Software Requirement Management
Software Requirement Management
Signup and view all the flashcards
Functional Requirements
Functional Requirements
Signup and view all the flashcards
Non-functional Requirements
Non-functional Requirements
Signup and view all the flashcards
Execution Qualities
Execution Qualities
Signup and view all the flashcards
Evolution Qualities
Evolution Qualities
Signup and view all the flashcards
Requirement Management
Requirement Management
Signup and view all the flashcards
Requirement Sources
Requirement Sources
Signup and view all the flashcards
Requirement Analysis
Requirement Analysis
Signup and view all the flashcards
Dynamic Requirements
Dynamic Requirements
Signup and view all the flashcards
Atomic Requirement
Atomic Requirement
Signup and view all the flashcards
Uniquely Identified Requirement
Uniquely Identified Requirement
Signup and view all the flashcards
Complete Requirement
Complete Requirement
Signup and view all the flashcards
Good Requirement: Example 2
Good Requirement: Example 2
Signup and view all the flashcards
Traceability in Software
Traceability in Software
Signup and view all the flashcards
Requirement Prioritization
Requirement Prioritization
Signup and view all the flashcards
Bad Requirement Example
Bad Requirement Example
Signup and view all the flashcards
Testable Requirement
Testable Requirement
Signup and view all the flashcards
Why Testable Requirements Matter
Why Testable Requirements Matter
Signup and view all the flashcards
Converting Non-Testable Requirements
Converting Non-Testable Requirements
Signup and view all the flashcards
Requirement Prioritization Example
Requirement Prioritization Example
Signup and view all the flashcards
Requirement Analysis: The Goal
Requirement Analysis: The Goal
Signup and view all the flashcards
What makes a good requirement?
What makes a good requirement?
Signup and view all the flashcards
Requirement Consistency
Requirement Consistency
Signup and view all the flashcards
Requirement Ambiguity
Requirement Ambiguity
Signup and view all the flashcards
Requirement Traceability
Requirement Traceability
Signup and view all the flashcards
Why is traceability important?
Why is traceability important?
Signup and view all the flashcards
Bad vs. Good Requirements
Bad vs. Good Requirements
Signup and view all the flashcards
What is requirement ID?
What is requirement ID?
Signup and view all the flashcards
How to improve a bad requirement?
How to improve a bad requirement?
Signup and view all the flashcards
Study Notes
Requirement Engineering
- Requirements are functions, constraints, or other properties a system must have to meet its intended user(s)' needs.
- Requirement engineering is the systematic process of defining, managing, and testing requirements for a product.
- Stakeholders don't always know what they want, express needs differently, have conflicting needs, and requirements can change throughout the development process.
Why Getting Good Requirements Is Hard
- Stakeholders may not know their exact needs.
- Stakeholders express requirements using their own terms.
- Different stakeholders may have conflicting requirements.
- Organizational and political factors may influence the system's requirements.
- Requirements change during the requirement engineering (RE) process. Stakeholders may emerge, or business environments change.
Initiating Requirements Engineering Process
- Identify stakeholders - anyone benefiting directly or indirectly from the system.
- Internal stakeholders include top management, project team members, managers, peers, resource managers, and internal customers.
- External stakeholders include external customers, government, contractors, subcontractors, and suppliers.
- Examples include business managers, project managers, marketing, software engineers, support engineers, end-users, and consultants.
Recognizing Multiple Points of View
- Marketing focuses on features and functions to excite the market.
- Business managers prioritize features within the budget and meeting market needs.
- End-users need a user-friendly system.
- Software engineers consider infrastructure support.
- Support engineers focus on software maintainability.
Working Towards Collaboration
- Requirement engineers identify commonalities and conflicts in stakeholder needs.
- Business managers or senior technologists may make final decisions.
Asking the First Questions
- Who initiated the request?
- Who will use the solution?
- What is the economic benefit of a successful solution?
- Are there other possible solutions?
Asking the Next Set of Questions
- What business problems will the solution address?
- What is the business environment where the solution will be used?
- Will performance or productivity issues affect the solution?
Asking the Final Set of Questions
- Are the questions relevant?
- Are there too many questions?
- Can anyone else provide additional information?
- Are there questions that should be asked?
Requirement Engineering Process
- Feasibility Study
- Requirement Elicitation and Analysis
- Software Requirement Specification
- Software Requirement Validation
- Software Requirement Management
Feasibility Study
- The goal is to determine the reasons for developing the software and if it is acceptable, flexible to changing needs, and conforms to established standards.
- Types of Feasibility:
- Technical feasibility: evaluates the current technologies needed to accomplish customer requirements within the time and budget.
- Operational feasibility: assesses how well the required software meets the needs of its users in solving business problems and satisfying customer requirements.
- Economic feasibility: determines whether the software will generate a sufficient return on investment for the organization.
Requirement Elicitation and Analysis
- Gathering requirements from the customers and existing systems.
- Identify inconsistencies, defects, and omissions in requirements.
- Resolve conflicts in requirements.
Software Requirement Specification
- A document created by software analysts based on requirements gathered from various sources.
- Written in technical language for understanding by the development team.
- Include modeling techniques like ER diagrams, DFDs, function decomposition diagrams, and data dictionaries.
Software Requirement Validation
- After requirement specifications are developed, the requirements are validated.
- The user(s) might request illegal or impossible solutions.
- Experts might misinterpret user needs.
- Validate that Requirements can be implemented practically.
- Validate that requirements align with software functionality and design.
- Identify and resolve any ambiguous requirements.
- Ensure requirements are complete.
Requirements Validation Techniques
- Requirements reviews/inspections: systematic manual analysis of requirements.
- Prototyping: using an executable model of the system to check requirements.
- Test-case generation: developing tests to check testability of requirements.
- Automated consistency analysis: checking for consistency in structured requirements descriptions.
Classification of Requirements
- Business Requirements: high-level statements of goals, objectives, project needs.
- User Requirements: expectations associated with the solution.
- System Requirements: characteristics of the solution that will satisfy business needs.
- Functional requirements
- Nonfunctional requirements
- Software Requirements:
- Functional requirements, what system does
- Nonfunctional requirements, system qualities
Other Sources of Requirements
- Knowledge transfer from colleagues/employees working on the project
- Project discussions with business analysts, product managers, project leads, and developers
- Analyze previous system versions
- Analyze past bug reports
- Study installation guides
- Leverage domain/industry knowledge.
- Document, review, and share requirements with stakeholders.
Software Requirement Management
- Managing changing requirements during the requirements engineering process.
- New requirements emerge as business needs change.
- Priorities of requirements may change.
- The system's business/technical environment may change.
How to Analyze Requirements
- Atomic: requirements are expressed in the smallest possible detail.
- Uniquely identified: each requirement has a unique identifier.
- Complete: requirements include all necessary information.
- Consistent and unambiguous: requirements are free from contradictions and clearly defined.
- Prioritized: requirements are ordered by importance.
- Traceable: requirements can be linked to other products, specifications, and test cases.
- Testable: requirements can be verified through testing.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz explores the concept of requirements engineering, a critical process in software development that involves defining, managing, and testing system requirements. It highlights challenges faced in gathering effective requirements from various stakeholders and the impact of changing organizational needs.