1.1.2 軟件的材料載體與廣義的軟件設計內涵
按照設計理論的解釋,軟件設計就是在建造軟件產品之前的規劃活動,它使用軟件抽象實體模型,建立軟件內部結構并進行推理、調整,以滿足客戶需求、符合環境約束。
要準確理解軟件設計的內涵,就要分清軟件產品的建造和規劃,尤其是要清楚定位編程活動。
在20世紀90年代之前,人們認為編程行為屬于建造,編程之前使用各種圖形化的工具建立模型的行為屬于規劃。當時的學派認為需要建立嚴謹完備的結構圖、ERD等設計模型,進行推理,驗證合格之后才能開始編碼。
但到20世紀90年代之后,人們認識到真正的建造活動不是編程,而是由編譯器完成的編譯、鏈接等可執行程序產生過程。因為軟件開發的最終產品不是源程序代碼,源代碼是無法直接運行的,可以運行的是編譯之后由0、1組成的二進制可執行程序,所以軟件的材料載體是運行在目標機器上的二進制編碼,產生可執行程序的編譯、鏈接等活動才是真正的建造,在此之前包括編程在內的活動都是設計規劃。
推薦閱讀