Requirements Engineering Flashcards
What is requirements engineering?
The process of understanding and defining the characteristics of a software system.
What does the requirements engineering cover?
Must have features.
Restrictions.
Cost-benefit analysis.
Risk analysis.
What are requirements?
Descriptions of a system’s services and constraints generated during the requirements engineering process.
Level of detail of requirements engineering.
Client/user: broad levels of detail.
Developers: big levels of detail.
Requirements engineering activities:
Feasibility study.
Requirements elicitation and analysis.
Requirements specification (document)
Requirements validation.
What are functional requirements?
Statements about the services that will be provided, how the system responds and system behaviour.
What are non-functional requirements?
Statements about the limitations of services/functions provided by the system.
Describe domain requirements.
They reflect the environment in which a system works; are specific requirements according to a system’s field.
What are the metrics for non-functional requirements?
Speed, size, ease of use, reliability, robustness and portability.
What is the software requirements document?
Official statement of what is required of the system developers. It is not a design document.
What must the SRD have?
Preface Introduction Glossary User requirements definition. System architecture. System requirements specification. System models. System evolution. AppendiceIndex
What are some common activities between different requirements engineering process?
Elicitation
Analysis
Validation
Management
Describe the what iteration means on the Elicitation and analysis
Specification-Discovery-Classification and organisation-Priorization and negotiation.
Some key ideas of validation:
Validity Consistency: problems? Completeness Realism Verifiability
How can you validate?
Through test cases or prototypes.