程式開發周期
創建電腦程式的過程與一般問題求解過程(理解問題、制定計畫、實施計畫、結果檢驗和回顧)非常相似。當使用電腦程式來解決問題時,這種過程呈現出以下形態:
分析問題:
確定已經得到了那些信息,需要得到那些結果,那些信息是獲取結果所必須的。通俗地說,就是如何從已知數據推導出期望的結果。
設計程式以解決問題:
這是程式開發過程的核心,這個過程根據問題規模的大小,可以花費某人幾個小時的時間,也可能需要一個程式設計師團隊花費幾個月時間來完成。
程式編碼:
根據第2步所制定的設計方案,使用某種特定的程式設計語言編寫程式的源碼(sourcecode)。這一步的結果就是程式。
程式測試:
運行程式,檢驗其是否解決了給定的問題。這種分析、設計、編碼和測試構成了程式開發周期(program development cycle)的核心。這裡使用周期(cycle)一詞的原因,是因為使用一般問題求解過程方法時,一旦後續步驟發現瑕疵,經常需要返回到以前的步驟,並頻繁往復。
為了求解一個特殊的問題,除了必須知道一般性的程式設計概念之外,還必須知道特定程式設計語言或環境的限制。
在“最終用戶開發(end user development)”語境或通俗的說,就是用戶開發自己使用的程式,解決自己面臨的問題。這個定位與通常意義上的軟體開發(software development)不同,因為大部分軟體開發意味著為他人的套用服務,需要解決各種特殊和一般性的問題,需要考慮的因素會更多(例如,商業化的套用軟體需要深入、細緻的測試和編寫套用文檔,不斷提供技術服務和維護)。而最終用戶開發的程式,主要滿足和解決用戶自己需要求解的特殊問題,所面臨的測試要求會簡單得多。
學習程式設計過程中,學習者將會遇到的最有意義的一件事,是儘管有許多不同的程式設計語言,但無論使用那種,這程式設計的基本概念是相通的。在學習了程式設計的概念和邏輯和掌握一門程式設計語言之後,再學習新的程式設計語言,相對會容易得多。但首先,必須掌握程式設計的基本構件―概念。在學習了這些一般性概念之後,編寫程式和實現算法就會變得相對容易,也就可以使用特定的電腦程式設計語言來實踐整個程式開發周期。