Chapter 4 Software Requirements Flashcards
What are the engineering requirements
Descriptions of the system services
Descriptions of the system constraints
Purpose of requirements engineering
Establishes services and constraints of system required by users
User requirements
Statements of the services the system provides, written in simple language and diagrams for the costumers
System requirements
A structured document with detailed descriptions of the system functions, services and constraints. Can be part of a contract
Functional requirements
What services must be provided, how to react to input and behave in situations. Must be precise, non-ambiguous, complete and consistent
Non-functional requirements
Constraints on the service or functions. Must be subjective, relative, interacting and verifiable with quantifiable measure
Domain requirements
Requirements that come from the application domain of the system and that reflect characteristics of that domain
Examples of non-functional requirements for the user
Performance, usability, reliability
Examples of non-functional requirements for the developer
Portability, interpretability, maintainability
Examples of non-functional requirements for the owner
Cost, benefit
What are the requirement measures
Speed
Size
Ease of use
Reliability
Robustness
Portability
Domain requirements problems
Understandability
Implicitness
Techniques to gather and analyze documents
Observation
Interviewing
Brainstorming
Joint app development
Prototyping
Informal use case analysis
Types of requirements details
An informal outline
A long list of specifications
Causes of requirement imprecision
Problems arise when requirements are not precisely stated.
Ambiguous requirements may be interpreted in different ways by developers and users.
Consider the term ‘appropriate viewers’
User intention - special purpose viewer for each different document type;
Developer interpretation - Provide a text viewer that shows the contents of the document