按照传统习惯,人们将需求规格说明产生之后至编码之前的开发活动统称为狭义软件设计,它的目的是构建一个符合需求规格的工程结构,主要包括体系结构设计(概要设计)和详细设计,复杂情况下会包含人机交互设计、数据设计、安全设计等专门主题。
GB/T 11457—2006将设计定义为:a)为使一软件系统满足规定的需求而定义系统或部件的体系结构、部件、接口和其他特征的过程;b)设计过程的结果。
软件设计的惯例解释就是软件设计的狭义内涵,又被限定称为“软件工程设计”。本书后面提及的软件设计,除特殊说明之外,都是使用其狭义内涵。
虽然界定为狭义内涵,但对软件工程设计的理解不能脱离广义的软件设计背景,它仍然要遵守设计理论的基本规律,仍然是以“规划”为核心内容的。