<! btyetop >
sty1nove.k"
dataads297"
dataadforat="auto"
datafuidthresponsive="true"><ins>
1、什麼是軟體開發?
軟體開發的過程就是人們使用各種計算機語言將人們關心的現實世界對映到計算機
世界的過程;
現在的計算機的數學理論基礎是由計算機的開山鼻祖,大名鼎鼎的圖靈於1937年提出
的圖靈機模型。隨後不到十年,電子計算機就誕生了(1945)。(埃尼亞克)
我們都知道,它當時的主要任務之一就是用於導彈彈道軌跡的計算。當時的軟體開發
(如果可以稱之為軟體開發的話)與現在的大不相同。為了算一道題,要有人事先把完成
加減乘除等各類運算的部件像搭積木那樣搭起來,如果換一道題,則要把這些部件分解
開來,根據新的要求重新搭建,效率極低(與現在比)。
現代電子計算機的體系結構及實際計算模型來自馮.諾依曼的思想。1946年他和他的
同事們發現了埃尼亞克的缺陷,發表了一份報告,提出了程式放入記憶體,順序執行的思想
,這樣,當算一道新題時就只需採取改變計算機中的程式的“軟”的方法。
英國的科學家維爾克斯實現了馮.諾依曼的思想,領導研製了“艾克薩克”,在技術
上比埃尼亞克來了個大的飛躍。
因此,現在的計算機通常被稱為馮.諾依曼計算機。
軟體開發的歷史也從此正式開始。
早期程式設計師們使用機器語言來進行程式設計運算;隨著編譯技術的出現,人們設計了許多
更高階別的語言;這些語言擺脫了機器語言繁瑣的細節,更接近於人的自然語言,迅速流
行開來。
據統計,全世界的高階語言起碼有幾千種,但從可計算性的角度看,它們的計算能力
都等價於圖靈機。已經證明,一個計算機語言,只要除了賦值語句之外,還包括順序語
句,條件語句和迴圈語句,它的計算能力即相當於圖靈機。
這裡當然要排除其他技術因素的影響,如程式長度,變數個數,資料精度等。
由於圖靈機的想法是把問題轉化為一步一步按規則執行的機械求解過程,各種計算
機語言也不過都是某種形式語言,因此軟體開發的過程實質上就是程式設計師們對客觀世界問
題域的形式化的過程。
程式設計師們先建立問題的模型(形式化),再用計算機語言加以合適的表達,最後再輸入
計算機裡進行計算。
2從po(程序導向)到oo(物件導向)
從上一節的論述我們知道:
軟體開發的過程就是人們使用各種計算機語言將人們關心的現實世界(問題域)對映到