设计广泛存在于人类的各种创造性活动之中,如建筑设计、机械设计、服装设计、玩具设计。从20世纪30年代开始,人们就尝试了解这些设计之间的共性特征,并逐渐建立了“设计理论”(design theory)。
在设计理论中,设计有“动词”和“名词”两种常见应用形式。作为名词使用时,意指建造一个制品之前的规划活动。作为动词出现时,意指建立上述规划的行为。
规划是指使用抽象实体模型代替真实的材料载体,构建产品内部的结构模型及其分解,进行斟酌、推理、调整,以确保将来按照规划建造的制品能符合需求、满足目的。规划过程包含研究、思考、建模、调整和重新设计等重要行为。
例如,传统建筑设计在纸上分析和推敲建筑的各种具体结构,使用沙盘模拟展示建筑的建成效果,结合新技术可以使用BIM模型分析和展示建筑。只有这些设计方案通过了评审和验收,才会使用真实材料搭建最终的建筑。未能通过评审的,可以在纸上、沙盘上或BIM模型里进行调整,这个比调整真实建筑要容易得多。
规划过程中考虑的因素包含功能、质量、审美及其他重要方面。以建筑为例,“住宅、商城、学校”是它的功能,“安全、环保、稳定、耐久”是它的质量,“美观、舒适、内部修饰精良”是它的审美。再以服装为例,“保护、装饰、标识”是它的功能,“安全、环保、无色差、耐久”是它的质量,“造型、外观、工艺(手工艺术)”是它的审美。
作为设计的一种,软件设计具有以下特点:
● 使用抽象实体模型进行设计,完成后再使用真实材料载体进行建造。问题是:什么是软件的真实材料载体?什么是软件的抽象实体模型?
● 不是一次性的活动,需要反复迭代地进行建模、思考、再设计。问题是:软件设计的反复迭代过程是可控的还是随机的?有没有规律性?
● 需要兼顾功能、质量、审美。问题是:什么是软件的功能?什么是软件的质量?什么是软件的审美?