《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一一1.2 什么是设计

简介: 本节书摘来自华章出版社《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一 书中的第1章,第1. 2节,作者:(美) Frederick P. Brooks, Jr. 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.2 什么是设计
《牛津英文词典》对设计这个动词的定义如下: 形成计划或方案,在头脑中整理或构思……以备后续执行。 这一定义的要点在于计划、在头脑中和后续执行。所以,设计(作为一个名词)属于受造的事物(created object),它先于被设计之物而存在且与后者相关,但又截然不同。英国作家、编剧Dorothy Sayers在她那本发人深省的著作《The Mind of the Maker》里,将创作过程细分为三个不同的阶段,并分别称之为构想(idea)、运能(energy)或称实现(implementation)、交互(interaction)。1意思是: 1)将概念结构定形 2)在实际的领域中加以实现 3)在实际的应用中与用户交互 依照这种概念,无论是一本书、一台计算机,还是一个程序,都肇始于灵机一动,构思于时空之外,只在创作者的头脑中得以完成。尔后,通过钢笔、墨水和纸,或者硅和金属,在实际的时空里加以实现。最后,当有人读了这本书、用了这台计算机,或是运行了此程序时,从而与创作者的思想产生了交互,创作过程也就告一段落了。 在我以前的一篇论文中,我将构建软件的工作分为根本(essence和附属(accident)这两部分2,这两个术语引自亚里士多德,并非想要贬低软件创作中附属部分的工作。如果使用更好理解的现代术语,则是必要的(essential)和次要的(incidental)。我所指称的软件创作中的根本部分,是形成其概念结构的心智工艺;而附属部分是它的实现过程。而Sayers所谓的第三步,交互,则在软件得到使用时才会发生。 总而言之,设计就是在头脑中定形,即Sayers所谓的“构想”,它可以在任何具现步骤还没开始之前完成。有一次,莫扎特的父亲问他,有一部三周内要交付公爵的歌剧进度如何。莫扎特的回答既让人大吃一惊,又阐明了设计的概念: 曲子全都谱好了,只是还没写下来。 —致利奥波德·莫扎特信札(1780) 对大多数的创作者来说,构想的不完整性和不一致性只有到了实现阶段才变得明朗化。因此,书面记录,反复实验和“细节敲定”就成了理论家们的看家本领。 构想、实现和交互这三个阶段是交替进行的。实现创造出空间,实现过程中又要进行一轮新的设计。采用这样的方式,莫扎特使用钢笔和纸实现出他构想的歌剧,而指挥则通过与莫扎特的作品进行交互,形成了诠释该作品的一个构想,指挥的构想又通过管弦乐队和歌手的演奏加以实现,最终与观众交互,完成了整个过程。 一个设计(a design)是一个受造的事物,我将与之相关联的设计过程称为设计(design)而不加任何冠词,还有作为动词的设计(to design)。这三者紧密相关,我相信在具体的上下文中,它们的含义不会彼此混淆。

相关文章
|
新零售 安全 专有云
【全新发布】OneData数据模型白皮书---新零售行业智慧数据
OneData数据模型白皮书---新零售行业智慧数据
18551 1
【全新发布】OneData数据模型白皮书---新零售行业智慧数据
|
3月前
|
存储 弹性计算 关系型数据库
2026阿里云服务器2核2G3M99元和2核4G5M199元:活动规则与购买和续费注意事项解析
进入2026年,阿里云服务器经济型e实例云服务器2核2G3M带宽99元1年,通用算力型u1实例2核4G5M带宽199元1年,这两款特惠云服务器继续有效。虽然这两款云服务器是新老用户同享的,而且续费价格不变,但是在购买和续费过程中还是有一些注意事项需要我们提前了解的。
762 12
|
机器学习/深度学习 存储 Kubernetes
如何将 Apache Airflow 用于机器学习工作流
Apache Airflow 是一个流行的平台,用于在 Python 中创建、调度和监控工作流。 它在 Github 上有超过 15,000 颗星,被 Twitter、Airbnb 和 Spotify 等公司的数据工程师使用。 如果您使用的是 Apache Airflow,那么您的架构可能已经根据任务数量及其要求进行了演变。 在 Skillup.co 工作时,我们首先有几百个 DAG 来执行我们所有的数据工程任务,然后我们开始做机器学习。
|
算法 PyTorch 调度
ResNet 高精度预训练模型在 MMDetection 中的最佳实践
作为最常见的骨干网络,ResNet 在目标检测算法中起到了至关重要的作用。许多目标检测经典算法,如 RetinaNet 、Faster R-CNN 和 Mask R-CNN 等都是以 ResNet 为骨干网络,并在此基础上进行调优。同时,大部分后续改进算法都会以 RetinaNet 、Faster R-CNN 和 Mask R-CNN 为 baseline 进行公平对比。
1259 0
ResNet 高精度预训练模型在 MMDetection 中的最佳实践
|
Prometheus Kubernetes 监控
最佳实践:Kubernetes 集群中 DNS 故障的可观测性与根因诊断
本文介绍了 CoreDNS 服务器、客户端侧的常见 DNS 异常、故障根因,异常观测方案和故障处理流程,希望对大家的问题诊断有所帮助。DNS 服务对于 Kubernetes 集群是至关重要的,除了观测异常之外,我们在架构设计之初就应充分考虑 DNS 服务的稳定性,采纳一些例如 DNS 本地缓存之类的最佳实践。
最佳实践:Kubernetes 集群中 DNS 故障的可观测性与根因诊断
|
分布式计算 数据可视化 搜索推荐
阿里云ACA认证证书有什么用?含金量怎么样?
阿里云作为国内云计算行业的龙头老大,其旗下的认证证书含金量是非常高的,今天主要针对ACA证书进行介绍。
4415 0
阿里云ACA认证证书有什么用?含金量怎么样?
|
存储 自然语言处理 UED
[NLP比赛推荐]商品标题实体识别
[NLP比赛推荐]商品标题实体识别
722 0
[NLP比赛推荐]商品标题实体识别
|
SQL 存储 数据采集
数据仓库总结
数据仓库,英文名为Data Warehouse,简写为DW或DWH。数据仓库,是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,用于对管理决策过程的支持。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
1229 0
数据仓库总结
|
弹性计算 运维 监控
SKG 渠道中台借助 SAE + 大禹打造云原生 DevOps,提效 60%
SKG CTO 王焱:以前需要 60 个人干的活,用 SAE 和大禹后 15 个人就可以!
SKG 渠道中台借助 SAE + 大禹打造云原生 DevOps,提效 60%
|
SQL 关系型数据库 MySQL
Python进阶——防止SQL注入多参数
预防SQL注入,要使用pymysql 参数化语句。pymysql 的 execute 支持参数化 sql,通过占位符 %s 配合参数就可以实现 sql 注入问题的避免。 这样参数化的方式,让 mysql 通过预处理的方式避免了 sql 注入的存在。 需要注意的是,不要因为参数是其他类型而换掉 %s,pymysql 的占位符并不是 python 的通用占位符。 同时,也不要因为参数是 string 就在 %s 两边加引号,mysql 会自动去处理。 防止多个参数要使用%s,%s,%s来实现
1369 1

热门文章

最新文章