軟件建造

From Wikipedia, the free encyclopedia

軟件建造
Remove ads

軟件建造軟件工程其中一個工序,講緊工程師要郁手寫源碼同埋做除錯等嘅工作,實際製作行得到嘅軟件。喺程序上,軟件建造通常發生喺軟件設計之後-喺軟件設計階段,工程師要度橋,諗吓隻軟件要用咩架構用家介面等,但係未實際郁手。做完軟件建造,整咗隻行到嘅軟件,工程師通常就會進入軟件測試階段[1]

Thumb
郁手製作軟件,會用到好似噉嘅源碼編輯器

軟件建造會產生大量需要打理嘅物品,諸如係裝住源碼嘅檔案、紀錄工作過程嘅文件呀噉。因此,點樣好好組織呢啲快勞都係受關注嘅問題,譬如係 GitHub 等嘅工具就可以攞嚟儲住隻軟件嘅唔同版本。

軟件建造前一步係軟件設計,而隻軟件建造咗出嚟,就要做軟件測試

重要概念

就大方向嚟講,建造軟件一般都希望寫出嚟嘅電腦程式能夠做到[2]

  • 減少不必要嘅複雜度:大型啲嘅 project,會涉及成隊工程師團隊,甚至一個團隊做完交俾下一個做;因此,寫程式要寫到盡可能簡單,啲程式碼先會一睇就明佢哋做乜,噉下一個接手嘅人就容易做嘢;模塊化做法亦能夠減省不必要嘅複雜度。
  • 模塊化:以清晰介面拆件,每嚿單元(模塊module)都可以獨自運作,就會達致更易理解,而且啲部件容易拆開攞去返用[3][4]
  • 預想變化:工程師要預期第時會發生咩變化;多數軟件都會隨時間改變,而且客戶嘅要求都有可能隨時間變化,工程師要預測呢啲變化。
  • 可返用度:要整到容易返用鼓勵共用元件、函式庫等。
  • 抽象化:隱藏實作細節,用家冇必要知嘅行為就唔好騷出嚟。
  • 可維護度:軟件需要具備良好嘅可維護度,令到發生錯誤時能夠迅速搵出同修正。

要提升可返用度,方法有好多:工程師可以用參數化[5],設多啲參數,並且將程式寫到識得按輸入參數調整行為,噉同一嚿模塊就可以改改啲參數就攞去第啲場合用;工程師又可以用各種嘅設計模式,令啲碼更易攞去重用;此外,佢哋仲可以用公開發佈嘅做法,將啲模塊打包成套件或者函式庫呀噉,些牙俾其他開發者用,擴大代碼嘅使用範圍[1]

有關建造軟件嘅工作流程,亦可以睇吓瀑布模型同埋進化式原型製作等嘅概念。

Remove ads

編寫源碼

内文:源碼

源碼係將軟件設計轉做用特定語言寫成、可執行嘅指令,通常仲會一路編寫一路做測試同偵錯。工程師團隊一般會遵守風格指南,用呢啲指南幫啲變數快勞改名,會加注釋;做版本控制(靠 GitHub 等嘅工具)管理改動同協作流程;分析靜態嗰時嘅程式,減少常見錯誤。做完呢啲工作之後,佢哋仲會撰寫對外同對內嘅文件,確保軟件容易維修[6]

寫源碼嗰陣用到嘅語言,又可以分幾類:

  • 腳本語言:通常係直譯式,唔需要事先編譯機器碼;特色係開發效率高、靈活度強,不過效能一般都低過編譯語言
  • 編譯語言:通常需要經編譯器轉換成機器碼先至行到,執行效能高、資源控制精細,適合系統層級或效能要求高嘅應用。

而無論用咩語言,寫源碼都會講到一啲共通嘅要點:變數子程序要跟命名規範;要用簡潔清晰嘅控制流程;而且要加例外處理處理潛在錯誤,令系統更加穩定[1]

喺軟件建造過程中,實要結合唔同部組份,即係指將各個模塊、唔同嘅程式碼、唔同團隊造嘅成品同埋系統組件有效整合埋一齊,靠清晰接口設計、版本控制同埋自動化測試,確保整體協調同可靠。一般嚟講,常用嘅整合方法係增進式整合[7],即係將模塊逐步加落去同埋做測試,而唔係等到最後先一次過組合。噉做嘅好處係:可以及早發現錯誤、降低調試難度、令團隊更快得到行到嘅版本去驗證需求... 等等。

建造軟件嗰陣,亦要做各種措施,確保啲程式有返咁上下容錯能力。工程師好多時會採取防禦式編程呢種設計方式,一路寫一路假設系統可能出現錯誤或者不合理嘅輸入,並且採取額外措施應對。常見做法有使用例外處理嚟捕捉同處理運行期間出現嘅異常情況,避免程式崩潰[8];又可以利用斷言,去檢查關鍵假設係咪成立,及早發現潛在錯誤。於是佢哋整出嚟嘅系統就做到更容易識別、隔離同修復問題。亦可以睇睇契約式設計嘅概念。

Remove ads

相關工具

睇埋

引述

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads