1.1.1 設計是一種“規劃”
設計廣泛存在于人類的各種創造性活動之中,如建筑設計、機械設計、服裝設計、玩具設計。從20世紀30年代開始,人們就嘗試了解這些設計之間的共性特征,并逐漸建立了“設計理論”(design theory)。
在設計理論中,設計有“動詞”和“名詞”兩種常見應用形式。作為名詞使用時,意指建造一個制品之前的規劃活動。作為動詞出現時,意指建立上述規劃的行為。
規劃是指使用抽象實體模型代替真實的材料載體,構建產品內部的結構模型及其分解,進行斟酌、推理、調整,以確保將來按照規劃建造的制品能符合需求、滿足目的。規劃過程包含研究、思考、建模、調整和重新設計等重要行為。
例如,傳統建筑設計在紙上分析和推敲建筑的各種具體結構,使用沙盤模擬展示建筑的建成效果,結合新技術可以使用BIM模型分析和展示建筑。只有這些設計方案通過了評審和驗收,才會使用真實材料搭建最終的建筑。未能通過評審的,可以在紙上、沙盤上或BIM模型里進行調整,這個比調整真實建筑要容易得多。
規劃過程中考慮的因素包含功能、質量、審美及其他重要方面。以建筑為例,“住宅、商城、學校”是它的功能,“安全、環保、穩定、耐久”是它的質量,“美觀、舒適、內部修飾精良”是它的審美。再以服裝為例,“保護、裝飾、標識”是它的功能,“安全、環保、無色差、耐久”是它的質量,“造型、外觀、工藝(手工藝術)”是它的審美。
作為設計的一種,軟件設計具有以下特點:
● 使用抽象實體模型進行設計,完成后再使用真實材料載體進行建造。問題是:什么是軟件的真實材料載體?什么是軟件的抽象實體模型?
● 不是一次性的活動,需要反復迭代地進行建模、思考、再設計。問題是:軟件設計的反復迭代過程是可控的還是隨機的?有沒有規律性?
● 需要兼顧功能、質量、審美。問題是:什么是軟件的功能?什么是軟件的質量?什么是軟件的審美?
- Java Web開發學習手冊
- Java程序設計與開發
- Arduino by Example
- Python從入門到精通(精粹版)
- Visual Basic程序設計(第3版):學習指導與練習
- Swift 3 New Features
- 教孩子學編程:C++入門圖解
- HTML5+CSS3網站設計基礎教程
- Learning SciPy for Numerical and Scientific Computing(Second Edition)
- Julia高性能科學計算(第2版)
- PySide 6/PyQt 6快速開發與實戰
- Visual Basic程序設計上機實驗教程
- Python從入門到精通
- ArcGIS for Desktop Cookbook
- CRYENGINE Game Development Blueprints