Podcast
Questions and Answers
What is a requirement in the context of requirement engineering?
What is a requirement in the context of requirement engineering?
Which factor makes obtaining good requirements challenging?
Which factor makes obtaining good requirements challenging?
Who can be considered an external stakeholder?
Who can be considered an external stakeholder?
What is a primary role of Requirements Engineering?
What is a primary role of Requirements Engineering?
Signup and view all the answers
What is the objective of a feasibility study?
What is the objective of a feasibility study?
Signup and view all the answers
What concern might the marketing group have regarding system requirements?
What concern might the marketing group have regarding system requirements?
Signup and view all the answers
Which type of feasibility evaluates the technologies needed to meet customer requirements?
Which type of feasibility evaluates the technologies needed to meet customer requirements?
Signup and view all the answers
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?
Signup and view all the answers
What does requirement elicitation primarily involve?
What does requirement elicitation primarily involve?
Signup and view all the answers
Which stakeholder is primarily concerned with maintainability of software?
Which stakeholder is primarily concerned with maintainability of software?
Signup and view all the answers
Which step follows requirement elicitation in the process?
Which step follows requirement elicitation in the process?
Signup and view all the answers
What is the goal of collaborating in the Requirements Engineering process?
What is the goal of collaborating in the Requirements Engineering process?
Signup and view all the answers
What do functional requirements specifically describe?
What do functional requirements specifically describe?
Signup and view all the answers
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?
Signup and view all the answers
What is analyzed during requirement elicitation?
What is analyzed during requirement elicitation?
Signup and view all the answers
Why is economic feasibility important in software projects?
Why is economic feasibility important in software projects?
Signup and view all the answers
What is the main purpose of requirement management?
What is the main purpose of requirement management?
Signup and view all the answers
What is one of the considerations in operational feasibility?
What is one of the considerations in operational feasibility?
Signup and view all the answers
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?
Signup and view all the answers
Which source can provide valuable insights for gathering requirements?
Which source can provide valuable insights for gathering requirements?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
What should be done with all sources of requirements gathered?
What should be done with all sources of requirements gathered?
Signup and view all the answers
Which of the following descriptions fits non-functional requirements?
Which of the following descriptions fits non-functional requirements?
Signup and view all the answers
What is meant by an atomic requirement?
What is meant by an atomic requirement?
Signup and view all the answers
Why is a requirement with the same ID problematic?
Why is a requirement with the same ID problematic?
Signup and view all the answers
Which of the following is NOT a type of requirement quality?
Which of the following is NOT a type of requirement quality?
Signup and view all the answers
What does a complete requirement entail?
What does a complete requirement entail?
Signup and view all the answers
Which of the following describes the quality 'testable' for a requirement?
Which of the following describes the quality 'testable' for a requirement?
Signup and view all the answers
In terms of requirement quality, what does 'prioritized' refer to?
In terms of requirement quality, what does 'prioritized' refer to?
Signup and view all the answers
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?
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 is a key characteristic that every requirement should possess?
What is a key characteristic that every requirement should possess?
Signup and view all the answers
What does traceability in requirements refer to?
What does traceability in requirements refer to?
Signup and view all the answers
Which of the following is an example of a bad requirement?
Which of the following is an example of a bad requirement?
Signup and view all the answers
What is an important aspect when specifying courses for students?
What is an important aspect when specifying courses for students?
Signup and view all the answers
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?
Signup and view all the answers
What should accompany every requirement to enhance clarity and usability?
What should accompany every requirement to enhance clarity and usability?
Signup and view all the answers
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?
Signup and view all the answers
Which phrase best describes a good requirement?
Which phrase best describes a good requirement?
Signup and view all the answers
What is an important aspect of mapping requirements in a project?
What is an important aspect of mapping requirements in a project?
Signup and view all the answers
How should requirements be prioritized according to project needs?
How should requirements be prioritized according to project needs?
Signup and view all the answers
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?
Signup and view all the answers
What characterizes a good requirement compared to a bad requirement?
What characterizes a good requirement compared to a bad requirement?
Signup and view all the answers
What is an example of a prioritized requirement from the provided content?
What is an example of a prioritized requirement from the provided content?
Signup and view all the answers
What does the term 'traceability' imply in requirements analysis?
What does the term 'traceability' imply in requirements analysis?
Signup and view all the answers
Which of the following is a critical benefit of making requirements testable?
Which of the following is a critical benefit of making requirements testable?
Signup and view all the answers
What should be avoided when defining system performance requirements?
What should be avoided when defining system performance requirements?
Signup and view all the answers
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.