Requirements Engineering Flashcards
Requirements Engineering Process
- analyzing the problem
- documenting the resulting observations in a variety of representation formats
- checking the accuracy of the understanding gained
Requirements Engineering
- common agreement among all parties
- describes “what the product will do, but not how to do it”
What is a requirement?
- condition/capability needed by the user to solve a problem or achieve an objective
- condition/capability that must be met by system or system component to satisfy customer needs
- documented representation of condition/capability
Types of Requirements
- User requirements
- System requirements
User Requirement
Written for customers. Statements in natural language of system services and constraints. Overall system goal
System Requirements
Written for contract. Structured document with detailed descriptions of the system functions, services, and constraints. Specific system features
Functional Requirement
- describe functionality or overall system services
- high-level statements of what system should do
Domain Requirements
Depends on where product is used. Constraints on system from domain of operation. (must be ferpa compliant)
Non-Functional Requirement
Gives rise to functional requirements.
- constraints on services or functions offered by the system.
- often apply to whole system instead on individual feature
- more critical then functional requirements, wo them system may be useless
Goal
- general intention of the user (such as ease of use)
- help to define non-functional requirements
Requirements Engineering Activities
- elicitation
- analysis
- specification
- verification
- management
Requirements Elicitation
Process through which customers and developers discover, review, articulate, and understand the user needs and system constraints
Requirements Analysis
Process of analyzing user needs to arrive at definition of software requirements
Requirements Specification
Development of a document the clearly and precisely records each requirement
Requirements Verification
Process of ensuring the software requirements specification is in compliance with the system requirements