while(!done) {
capture requirements
analyze requirements
document requirements
validate requirements
}
interviews
prototypes
scenarios
mock-ups
political & social factors
consensus building
functional (capabilities) vs. non-functional (constraints)
high-level or derived
emergent
priority: manditory, highly desirable, desirable, optional
scope: global, subsystem, component
volatility/stability
data & control flow
classes & objects
event traces
state models
analysis patterns
identifying high-level components
assigning requirements to components
architecture patterns
readership: all stakeholders (customers, users, developers ...)
RAD
ConOps
readership: developers
contract/basis for agreement
basis for estimating costs, risks, & schedule
SyRS
RAD
Reviews/Inspection
Prototyping
Model validation
Acceptance tests
trace DAGs