csci 387 quiz 2 Flashcards
requirements engineering
the process of establishing the services that a customer requires from a system and the constraints under which it operates and is developed
system requirements
the descriptions of the system services and constraints that are generated during the RE process / structured document defining what should be implemented
requirement
may range from a high-level abstract statement of a service or system constraint to a detailed mathematical functional specification
types of requirements
user and system
user requirements
statements in natural language with diagrams; written for customers
system stakeholders
any person or organization affected by the system in some way and so who has legitimate interest
types of system stakeholders
end users, system managers, system owners, external stakeholders
functional requirement
services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations; may state what the system should not do; depends on the type of software
nonfunctional requirement
constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.; often apply to the system as a whole rather than individual features or services
domain requirement
constraints on the system from the domain of operation
problems arise when functional requirements are…
not precisely stated (may be interpreted in different ways by developers and users)
requirements should be both
complete and consistent (but this is impossible)
complete
include description of all facilities required
consistent
no conflicts or contradictions in description
a system may be useless without what kind of requirements and why?
nonfunctional - may affect overall architecture; a single NFR may generate functional requirements that define requirement system services
non-functional classifications
product requirements, organizational requirements, external requirements
product requirements
delivered product must behave in a particular way (e.g. speed, reliability)
organizational requirements
organizational policies, procedures (e.g. standards, implementation)
external requirements
arise from external factors (e.g. interoperability, legislative)
goal
a general intention of the user (such as ease of use); helpful to developers because conveys the intentions of users
metrics for specifying nonfunctional requirements
speed, size, ease of use, reliability, robustness, portability
generic activities in RE process
elicitation, analysis, validation, management
stages of requirements elicitation and analysis
discovery, classification and organization, prioritization and negotiation, specification
problems with requirements elicitation and analysis
stakeholders don’t know what they really want, express requirements in their own terms; different stakeholders may have conflicting requirements; organizational and political factors may influence system requirements; requirements change during analysis process
discovery
interacting with stakeholders to discover their requirements; also discover domain requirements
classification and organization
group related requirements and organize into cohesive clusters
prioritization and negotiation
prioritize requirements and resolve requirement conflicts
specification
document requirements and input into next round of spiral
interviewing
can be formal or informal; with stakeholders; part of RE process
types of interviewing
closed (predetermined questions) and open (explore various issues)
effective interviewing
be open-minded, prompt interviewee to get discussions going
problems with interviews
language gap between application specialists and requirements engineer; not good for understanding domain requirements