Detailed design or low-level design determines the specific
steps required for each component or process of a software system.
Responsibility for detailed design may belong to either the system designers
(as a continuation of preliminary design activities) or to the system
programmers. Information needed to begin detailed design includes: the
software system requirements, the system models, the data models, and
previously determined functional decompositions. The specific design details
developed during the detailed design period are divided into three categories:
for the system as a whole (system specifics), for individual processes within
the system (process specifics), and for the data within the system (data
specifics). Examples of the type of detailed design specifics that are
developed for each of these categories are given below.