Definitions of software process activities
Design - determining how the software should be
built to provide the features.
Architectural design is to design the highest-level
structure of the system.
Interface design specifies the interfaces between parts
of the system (e.g., components).
Detailed design designs the algorithms for the individual
parts (e.g., identifies methods in classes and
relationships among classes).
Implementation - building the software.