Requirements are met by creating/reusing solutions: we are addressing a need or deficiency. Although a need/deficiency can also be a capability gap. A gap analysis will identify things we aren’t doing but we probably should be if we want to operate in peak form.
Requirements = What we need to do to make the desired capability a real thing.
Requirements Decomposition = Breaking down higher-level requirements into smaller requirements.
Keep decomposing until your requirements are atomic.
Requirements can also be laid out as user stories.
Software design = devising a plan to satisfy the requirements.
Videos
Requirements Engineering - Georgia Tech - Software Development Process
What is a User Story? Using User Stories to Make Decisions
Software Design Strategies
Reading
- Gap Analysis (Skim)
- Software Requirements
- Atomic Requirements (read the abstract)
- User Stories
- Software Design (pay particular attention to the Design Concepts and Design Considerations sections)
- 4 Design Patterns You Should Know For Web Development