程式[管理名詞]

程式[管理名詞]
程式[管理名詞]
更多義項 ▼ 收起列表 ▲

程式是為解決一個信息處理任務而預先編制的工作執行方案,是由一串CPU能夠執行的基本指令組成的序列,每一條指令規定了計算機應進行什麼操作(如加、減、乘、判斷等)及操作需要的有關數據。例如,從存儲器讀一個數送到運算器就是一條指令,從存儲器讀出一個數並和運算器中原有的數相加也是一條指令。在國標《質量管理體系 基礎和術語》GB/T19000—2008/ISO9000: 2005中第3.4.5條程式procedure 中對於“程式”的定義進行了規定。

基本信息

定義

電腦程式或者軟體程式(通常簡稱程式)是指一組指示計算機每一步動作的指令,通常用某種程式設計語言編寫,運行於某種目標體系結構上。

程式程式

打個比方,一個程式就像一個用漢語(程式設計語言)寫下的紅燒肉菜譜(程式),用於指導懂漢語的人(體系結構)來做這個菜。

通常,電腦程式要經過編譯連結而成為一種人們不易理解而計算機理解的格式,然後運行。未經編譯就可運行的程式通常稱之為腳本程式(script)。

運行

當要求計算機執行某項任務時,就設法把這項任務的解決方法分解成一個一個的步驟,用計算機能夠執行的指令編寫出程式送入計算機,以二進制代碼的形式存放在存儲器中(習慣上把這一過程叫做程式設計)。一旦程式被“啟動”,計算機就會嚴格地一條條分析執行程式中的指令,便可以逐步地自動完成這項任務。

程式程式

為了一個程式運行,計算機載入程式代碼,可能還要載入數據,從而初始化成一個開始狀態,然後調用某種啟動機制。在最低層上,這些是由一個引導序列開始的。

在大多數計算機中,作業系統例如Windows等,載入並且執行很多程式。在這種情況下,一個電腦程式是指一個單獨的可執行的映射,而不是當前在這個計算機上運行的全部程式。

馮諾依曼體系結構

在一台基於最常見的馮諾依曼體系結構(又稱Harvard Architecture)的計算機上,程式從某種外部設備,通常是硬碟,被載入到計算機之內。如果計算機選擇馮諾依曼體系結構,那么程式就被載入入記憶體。指令序列順序執行,直到一條跳轉或轉移指令被執行,或者一個中斷出現。所有這些指令都會改變指令暫存器的內容。

基於這種體系計算機如果沒有程式的支持將無法工作。一個電腦程式是一系列指令的集合。

程式里的指令都是基於機器語言;程式通常首先用一種電腦程式設計語言編寫,然後用編譯程式或者解釋執行程式翻譯成機器語言。有時,也可以用彙編語言編程,彙編語言實質就是表示機器語言的一組記號。

數據

數據可以被定義為被程式處理的信息。當我們考慮到整個計算機系統時,有時程式和數據的區別就不是那么明顯了。中央處理器有時有一組微指令控制硬體,數據可以是一個有待執行的程式(參見腳本程式語言),程式可以編寫成去編寫其它的程式;所有這些例子都使程式和數據的比較成為一種視角的選擇。有人甚至斷言程式和數據沒有區別。

編寫一個程式去生成另外一個程式的過程被稱之為原編程(Metaprogramming?)。它可以被套用於讓程式根據給定數據生成代碼。單一一個程式可能不足以表示給定數據的所有方面。讓一個程式去分析這個數據並生成新的程式去處理數據所有的方面可能會容易一些。Lisp?就是一例支持這種編程模式的程式語言。

在神經網路里儲存的權重是一種數據。正是這些權重數據,跟網路的拓撲結構一起,定義了網路的行為。人們通常很難界定這些數據到底表示什麼或者它們是否可以由程式來代替。這個例子以及跟人工智慧相關的其它一些問題進一步考驗程式和數據的區別。

算法

算法指解決某個問題的嚴格方法,通常還需輔以某種程度上的運行性能分析。算法可以是純理論的,也可以由一個電腦程式實現。理論算法通常根據複雜性分為不同類別;實現的算法通常經過頗析(Profiling?)以測試其性能。請注意雖然一個算法在理論上有效可行,但是一個糟糕的實現仍會浪費寶貴的計算機資源。(更詳細信息,參見算法資訊理論,Algorithmic Information Theory?)

開發

編寫程式是以下步驟的一個往復過程:編寫新的原始碼,測試、分析和提高新編寫的代碼以找出語法語義錯誤。從事這種工作的人叫做程式設計員。由於計算機的飛速發展,編程的要求和種類也日趨多樣,由此產生了不同種類的程式設計員,每一種都有更細緻的分工和任務。軟體工程師和系統分析員就是兩個例子。現在,編程的長時間過程被稱之為“軟??益成熟而逐漸流行。

因此,如今程式設計員可以指某一領域的編程專家,也可以泛指軟體公司里編寫一個複雜軟體系統里某一塊的一般程式設計師。一組為某一軟體公司工作的程式設計師有時會被指定一個程式組長或者項目經理,用以監督項目進度和完成日期。大型軟體通常經歷由系統設計師的掌握的一個長時間的設計階段,然後才交付給開發人員。

兩種當今常見的程式開發方式之一是項目組開發方式。使用這種方式項目組裡每一個成員都能對項目的進行發表意見,而由其中的某一個人協調不同意見。這樣的項目組通常有15個左右的成員,這樣做是為了便於管理。第二種開發方式是結對開發。

相關詞條

相關搜尋

熱門詞條