Podcast
Questions and Answers
Which of the following best describes the role of requirements engineering (RE) in the engineering design process?
Which of the following best describes the role of requirements engineering (RE) in the engineering design process?
- The process of coding software applications.
- The process of defining, documenting, and maintaining requirements. (correct)
- The process of deploying software to end-users.
- The process of testing software for defects.
System requirements are defined the same way as user requirements, using natural language, tables, and diagrams that anyone can understand.
System requirements are defined the same way as user requirements, using natural language, tables, and diagrams that anyone can understand.
False (B)
What is the primary focus of functional requirements in software development?
What is the primary focus of functional requirements in software development?
what a system should do
In the context of requirements engineering, _______________ refers to system qualities like performance and security.
In the context of requirements engineering, _______________ refers to system qualities like performance and security.
Match the following characteristics to either Functional or Non-functional Requirements:
Match the following characteristics to either Functional or Non-functional Requirements:
Which of the following is the best description of 'Requirements Elicitation'?
Which of the following is the best description of 'Requirements Elicitation'?
Questionnaires are used in requirements elicitation.
Questionnaires are used in requirements elicitation.
What is a common challenge during the requirements elicitation phase?
What is a common challenge during the requirements elicitation phase?
The process of documenting user and system requirements is known as ___________.
The process of documenting user and system requirements is known as ___________.
Match the following to Approaches for requirements specification:
Match the following to Approaches for requirements specification:
The software requirements documents should contain...
The software requirements documents should contain...
The software requirements document is a detailed design document.
The software requirements document is a detailed design document.
List three attributes a valid requirement needs to meet.
List three attributes a valid requirement needs to meet.
____________ involves demonstrating that the requirements define the system the customer wants.
____________ involves demonstrating that the requirements define the system the customer wants.
Match the follow Requirement Validations techniques with their descriptions:
Match the follow Requirement Validations techniques with their descriptions:
What is the purpose of defining both user and system requirements in the requirements engineering process?
What is the purpose of defining both user and system requirements in the requirements engineering process?
Non-functional requirements are related to business, for example: Calculation of order value by Sales Department or gross pay by the Payroll Department
Non-functional requirements are related to business, for example: Calculation of order value by Sales Department or gross pay by the Payroll Department
Briefly explain why requirements validation is considered a critical phase in software project?
Briefly explain why requirements validation is considered a critical phase in software project?
During requirements elicitation, the use of ___________ involves holding an informal debate among various stakeholders to collect inputs for further requirements analysis.
During requirements elicitation, the use of ___________ involves holding an informal debate among various stakeholders to collect inputs for further requirements analysis.
Match the Reader of different types of requirements specification with their requirement type.
Match the Reader of different types of requirements specification with their requirement type.
What is the main goal of requirement validation?
What is the main goal of requirement validation?
The software requirements document is mainly a design document to specify how the system should function.
The software requirements document is mainly a design document to specify how the system should function.
In the context of requirements engineering, what are the key tasks involved in defining and managing requirements.
In the context of requirements engineering, what are the key tasks involved in defining and managing requirements.
In types of requirements, ________ constraints are I/O device capability and system representations.
In types of requirements, ________ constraints are I/O device capability and system representations.
Which is the way to Requirement elicitation.
Which is the way to Requirement elicitation.
Flashcards
Software Requirements
Software Requirements
A description of features and functionalities a target system must have.
Requirements Engineering
Requirements Engineering
The process of defining, documenting, and maintaining requirements during the engineering design process.
System Requirements
System Requirements
Descriptions of system services and constraints generated during requirements engineering.
User Requirements
User Requirements
Signup and view all the flashcards
System Requirements
System Requirements
Signup and view all the flashcards
Functional Requirement
Functional Requirement
Signup and view all the flashcards
Non-Functional Requirement
Non-Functional Requirement
Signup and view all the flashcards
Requirements Elicitation
Requirements Elicitation
Signup and view all the flashcards
Requirements Specification
Requirements Specification
Signup and view all the flashcards
Requirements Validation
Requirements Validation
Signup and view all the flashcards
Requirements Document
Requirements Document
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
Interviews
Interviews
Signup and view all the flashcards
Surveys
Surveys
Signup and view all the flashcards
Brainstorming
Brainstorming
Signup and view all the flashcards
Clients don't understand ICT.
Clients don't understand ICT.
Signup and view all the flashcards
Study Notes
- Inconsistent and incomplete requirements are bad software requirements
- Good software requirements should be clear, necessary, testable and comprehensible
- The topics covered are requirement engineering, user requirements, functional and non-Functional requirements and the requirement engineering process.
Requirement
- Software requirements are descriptions of features and functionalities of the target system
- Requirements convey user expectations that can be obvious or hidden
Requirement Engineering
- Requirements engineering (RE) is the process of defining, documenting, and maintaining requirements
- System requirements describe system services and constraints generated during the requirement engineering process.
Types of Requirements
- User requirements use natural language, tables, and diagrams to be easily understood by all users
- User requirements describe functional and non-functional aspects in a way that is understandable by users without technical knowledge
- System requirements provide detailed specifications of system functions, services, and constraints beyond user requirements
- System requirements serve as the foundation for designing the system
User vs System Requirement example
- User Requirement: The Mentcare system must generate monthly management reports showing the cost of drugs prescribed by each clinic
- System Requirement: On the last working day of each month, the system generates a summary of the drugs prescribed
- System Requirement: After 5:30 PM on the last working day of the month, the system produces a report for printing
- System Requirement: The report generated for each clinic lists individual drug names, total prescriptions, doses, and cost
- System Requirement: Separate reports will be created for drugs available in different dose unit.
- System Requirement: Access to drug cost reports is restricted.
Functionality
- Functional requirements describe what a system should do with its features and functionalities
- Functional requirements define "what" a system does
- Non-functional requirements specify how the system should behave.
- Non-functional requirements focus on the system's quality attributes rather than its specific actions
- Non-functional requirements define "how well" something is done
Functional vs Non-Functional Requirement
Feature | Functional Requirement | Non-functional Requirement |
---|---|---|
Definition | Defines the services or functions needed by the customer. | Describes system qualities and constraints. |
Description | Describes what the software should do. | Describes how the software performs. |
Focus | Related to business tasks. | Focuses on improving business performance. |
Testability | Easy to test. | Difficult to test. |
Scope | Relates to individual system features. | Pertains to the system as a whole. |
Impact of Failure | Failure to meet a functional requirement can degrade the system. | Failure to meet a non-functional requirement may make the entire system unusable. |
Types of Non-Functional requirements
- Non functional requirements such as Product, Organizational and External requirements exist
- Product Requirements include efficiency ,Security, Usability and Dependability of the software
- Organization requirements include regulatory and ethical requirements
- External Requirements accounts for Legislative, Accounting and security/safety
Key tasks in requirements engineering
- Key tasks in requirements engineering are Elicitation, specification, validation and management
Requirements engineering processes
- In 2016, Sommerville detailed the spiral view of the reg eng process
Requirements elicitation
- Requirements Elicitation involves finding the requirements for an intended software system
Requirements elicitation methods
- Key software elicitation tasks involve interviews, surveys brainstorming or questionnaires.
Challenges of requirements elicitation
- Stakeholders will have different perspectives on the software.
- Political influence effects requirements
- Requirements can change during different stage of development
Requirements specification
- Requirements specification is the process of writing down the user and system requirements in a requirements document.
- Approaches that are used in requirement specification are Natural language specifications and structured specifications.
- Software requirement specifications (SRS) and agile software development approaches are also other specification methods
The software requirements document
- The requirements document is an official statement of what is needed of the system developers
- Should include both a definition of user and system of requirements
- Set of what the system should do rather than how should do it
Validation of Requirements
- Requirements validation ensures the system meets customer expectations
- Requirements error costs are high if validation is not done correctly
- Correctness is the central theme with validity, consistency, completeness and verifiability being key for requirement validation
Requirements validation techniques
- Requirements reviews are used to systematically analyze the requirements of the software
- Prototyping involves using an executable model to check requirements by chapter
- Test-case generation or developing test cases is part of creating tests for requirements to check for testability
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.