跳轉到內容

計算機革命/程式設計/五步程式設計法

來自華夏公益教科書,開放的書籍,開放的世界

在討論建立程式的五個步驟之前,重要的是確定程式到底是什麼。程式是一系列包含計算機要執行的資料的指令。不同的程式是用不同的語言編寫的。一個編輯程式是用與使用圖形的程式不同的程式設計“語言”編寫的。一些眾所周知的程式語言有 COBOL(商業)、BASIC(語言)和 C(科學)。程式設計是一個複雜的過程,以下是這個五步程式的概覽。

澄清/定義問題

[編輯 | 編輯原始碼]

瞭解目標是首要考慮因素。它是一個工資單程式還是一個編輯程式?瞭解終端使用者是誰也很重要。接下來確定輸入和輸出。程式將如何執行,需要哪些資料才能使其執行。在決定了這些之後,可行性是下一個要考慮的因素。需要多少程式設計師,專案是否在預算範圍內,專案是否有現實的提綱。最後,如果專案可以進行,那麼必須採取措施確保專案得到妥善記錄和分析。

六個小步驟

  • 澄清目標和使用者
  • 澄清所需輸出
  • 澄清所需輸入
  • 澄清所需處理
  • 再次檢查實現程式的可行性
  • 記錄分析結果

可選

設計程式

[編輯 | 編輯原始碼]

程式使用演算法,演算法就像方程式,告訴計算機執行什麼任務。程式設計師的目標是建立清晰簡單的演算法。演算法首先以稱為模組化的邏輯層次結構形式表達。使用模組(一個完整的思想),程式設計師為計算機建立一個邏輯思維過程。之後,程式使用虛擬碼被更詳細地分解。虛擬碼使用諸如if、elsethen之類的術語將程式規則與計算機相關聯。

兩個小步驟

  • 透過自頂向下的方法和模組化,使用層次結構圖確定程式邏輯
  • 使用虛擬碼和/或流程圖設計細節,最好涉及控制結構。

模組,程式的處理步驟,由邏輯相關的程式語句組成。

層次結構圖,它代表自頂向下的程式設計,解釋了程式的主要目的。

虛擬碼,一種使用普通語言語句來描述邏輯和處理流程的程式設計方法。

程式流程圖,以圖形方式顯示詳細的步驟序列

三種控制結構
[編輯 | 編輯原始碼]
  • 順序控制結構 - 無決策
  • 選擇控制結構 -
  • 迴圈控制結構/重複或迭代結構
  • 情況結構

編寫程式

[編輯 | 編輯原始碼]

程式設計完成後,必須對其進行編碼或編寫。使用第二步的虛擬碼和邏輯要求,必須選擇一種合適的程式語言。如引言中所述,編碼語言在規範和可用性方面有所不同。選擇合適的程式碼語言後,程式設計師必須儘可能少地偏離語法規則,以確保程式具有很高的準確性。

兩個小步驟

  • 選擇合適的高階程式語言
  • 使用該語言編寫程式,並仔細遵循語法

測試程式

[編輯 | 編輯原始碼]

程式編寫完成後,它將進入程式開發生命週期(PDLC)的程式設計除錯和測試階段。在此期間,程式設計師將尋找邏輯和語法錯誤,以及探索可能導致程式無法正常工作或根本無法執行的其他領域。

這是一個漫長而乏味的過程,通常佔程式開發時間的 50%(Morley 523)。但是,如果仔細注意程式設計和編碼,可以大幅減少除錯所花費的時間。

如前所述,除錯將揭示邏輯和語法錯誤。語法錯誤會阻止程式執行。它們可能是拼寫錯誤之類的簡單問題,也可能涉及違反所用程式語言的語法規則。

另一方面,邏輯錯誤會允許程式執行,但會提供不正確的結果。這類錯誤可能包括僅僅使用錯誤的關係運算符,或者更嚴重的是,編寫公式時出錯。

程式設計師找到錯誤後,就會對其進行修復,然後再次執行程式。這將發生很多次,通常稱為“執行、檢查和修正”(526),直到程式完美執行。

然後程式將進入測試階段。

正在輸入錯誤的 Bug。


參考資料:Morley, Deborah 和 Charles S. Parker。瞭解當今和未來的計算機,第 13 版。


測試程式分為兩個階段,alphabeta

  • alpha 測試是在程式中查詢邏輯錯誤的過程。第二步是執行診斷程式以查詢語法或輸入錯誤。
  • beta 測試是在實際環境中使用程式,以檢視它是否包含任何錯誤或其他缺陷。

文件和維護

[編輯 | 編輯原始碼]

文件應該從一開始就持續進行,因為它對於現在和將來參與程式的人來說都是必需的。完成後,使用者文件用於商業用途,操作員文件用於執行計算機系統的人員,程式設計師文件用於負責維護的程式設計師。


   Four mini steps:-
   *Write user documentation.
   *Write operator DOCUMENTATION.
   *Write programmer documentation.
   *MAINTAIN THE WHOLE PROGRAM.

每個程式都需要一定的時間和記憶體來處理指令和資料。由於處理能力和記憶體是計算機最寶貴的資源,因此應該以儘可能少地佔用記憶體和處理時間的的方式來佈局程式。

華夏公益教科書